{
  "html_css_js_local_only": true,
  "javascript_syntax": "ok",
  "images_loaded_in_chrome": true,
  "desktop_chrome": "capture réelle 1440 × 1100, composition lisible",
  "mobile_chrome": "capture demandée à 390 × 844 mais largeur minimale interne de Chrome headless Windows ; résultat conservé comme limite, non présenté comme validation exacte",
  "interaction": "même chemin de clic déclenché dans Chrome ; aria-expanded=true, aria-hidden=false, texte d’état et révélation présents dans le DOM rendu",
  "keyboard_implementation": "bouton HTML natif pour Entrée/Espace ; fermeture Échap ; focus transféré puis restitué",
  "responsive_static_control": "ordre CSS : texte 1, image 1, transition, image 2, texte 2 ; box-sizing global et overflow-x masqué",
  "semantic_control": "les cercles de la porte deviennent l’itinéraire et la géométrie de la cité ; les deux images montrent volontairement des lieux différents",
  "known_limits": [
    "texte bref et archétypal",
    "animation des runes réalisée en CSS par-dessus l’image, sans modifier les pixels de la porte",
    "validation mobile Chrome exacte non obtenue à cause de la largeur minimale du mode headless Windows"
  ]
}
