--- issueRef: "#17" version: 4 updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} updatedAt: 1784324772157 --- Détail technique à respecter : - pubspec.yaml : déclarer les polices locales sous `flutter: fonts:` avec deux familles : "Anton" (assets/fonts/Anton-Regular.ttf) et "Archivo" (assets/fonts/Archivo-Variable.ttf, police variable — Flutter gère nativement FontWeight dessus, pas besoin de fichiers séparés par graisse). - Créer/étendre un fichier de thème centralisé (ex: lib/presentation/theme.dart) avec deux ThemeData (light/dark) construits depuis les tokens de la mémoire "gametime-visual-identity". Éviter de dupliquer les couleurs en dur dans chaque écran : passer par ColorScheme/TextTheme centralisés, réutilisés par tous les écrans existants (#6 à #10). - textTheme : displayLarge/headlineLarge/titleLarge etc. en Anton pour les titres ; bodyLarge/bodyMedium/labelLarge en Archivo. Les chiffres du chrono, du stepper de répétitions et du score doivent utiliser explicitement Anton (via un TextStyle dédié réutilisable, ex: `AppTextStyles.scoreNumber`), avec `fontFeatures`/`fontVariations` tabulaires si disponible pour éviter les sauts visuels. - Le sélecteur de thème clair/sombre existant (ou à créer si absent) doit permuter entre les deux ThemeData sans redémarrer l'app. - Composants : rayon de bordure global 6px (via `CardTheme`/`ButtonTheme`/etc. plutôt qu'en dur par écran), pas d'ombre portée sur les cartes (elevation 0 + bordure fine `--border`), liseré supérieur 2px couleur accent sur les cartes clés identifiées dans la mémoire (bloc chrono de l'écran d'exécution, carte d'historique, bandeau de reprise de séance). - Logo : reproduire le concept "patch" (rectangle arrondi rx~9, contour or, bande diagonale crimson clippée, point or, monogramme "GT" en Anton) en widget Flutter réutilisable (CustomPainter ou assemblage de Container/ClipPath), utilisé dans l'app bar/en-tête à la place du texte seul actuel, et comme icône d'app Android (adaptive icon) si le temps le permet — sinon signale-le comme restant à faire. - Vérifie que ce nouveau thème ne casse aucun test widget existant (les tests cherchent du texte/des types de widgets, pas des couleurs précises normalement, mais vérifie les assertions de type de bouton/style si certaines en dépendent). Rappel environnement (mémoire "gametime-dev-environment") : ton sandbox n'a pas accès pub.dev, donne les commandes exactes à lancer côté Main (pub get, analyze, test, build apk).