veza/tests/e2e/audit/results/AUDIT_REPORT.html

6761 lines
437 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="fr" data-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Audit Veza — Rapport Complet</title>
<style>
:root { --bg: #0c0c0f; --bg-card: #1a1a1f; --bg-hover: #2a2a31; --text: #f0ede8; --text-secondary: #a8a4a0; --text-muted: #706c68; --accent: #7c9dd6; --success: #7a9e6c; --error: #d4634a; --warning: #c9a84c; --border: rgba(255,255,255,0.1); --radius: 12px; --font-body: 'Inter', sans-serif; --font-heading: 'Space Grotesk', sans-serif; --font-mono: 'JetBrains Mono', monospace; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: 14px; line-height: 1.6; padding: 2rem; }
h1 { font-family: var(--font-heading); font-size: 2rem; margin-bottom: 1rem; }
h2 { font-family: var(--font-heading); font-size: 1.5rem; margin: 2rem 0 1rem; border-bottom: 1px solid var(--border); padding-bottom: 0.5rem; }
h3 { font-family: var(--font-heading); font-size: 1.125rem; margin: 1.5rem 0 0.5rem; }
.container { max-width: 1200px; margin: 0 auto; }
.score-card { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1.5rem 0; }
.score { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; flex: 1; min-width: 180px; text-align: center; }
.score .value { font-size: 2.5rem; font-weight: 700; font-family: var(--font-heading); }
.score .label { color: var(--text-secondary); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.25rem; }
.score.pass .value { color: var(--success); }
.score.fail .value { color: var(--error); }
.score.warn .value { color: var(--warning); }
.score.info .value { color: var(--accent); }
.category { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); margin: 1rem 0; overflow: hidden; }
.category-header { padding: 1rem 1.5rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.category-header:hover { background: var(--bg-hover); }
.category-body { padding: 0 1.5rem 1.5rem; }
.test-row { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.04); font-size: 0.8125rem; }
.test-row:last-child { border-bottom: none; }
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 9999px; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; }
.badge.pass { background: rgba(122,158,108,0.15); color: var(--success); }
.badge.fail { background: rgba(212,99,74,0.15); color: var(--error); }
.badge.skip { background: rgba(168,164,160,0.15); color: var(--text-secondary); }
.problem { background: rgba(212,99,74,0.08); border: 1px solid rgba(212,99,74,0.2); border-radius: 8px; padding: 1rem; margin: 0.5rem 0; }
.problem .fix { font-family: var(--font-mono); font-size: 0.75rem; color: var(--success); margin-top: 0.5rem; }
.copy-btn { background: var(--bg-hover); border: 1px solid var(--border); border-radius: 6px; color: var(--text-secondary); font-size: 0.6875rem; padding: 4px 10px; cursor: pointer; float: right; }
.copy-btn:hover { background: var(--accent); color: var(--bg); }
.error-detail { font-family: var(--font-mono); font-size: 0.75rem; color: var(--error); background: rgba(212,99,74,0.06); padding: 0.75rem; border-radius: 6px; margin-top: 0.5rem; white-space: pre-wrap; max-height: 300px; overflow-y: auto; }
.progress-bar { height: 8px; background: rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; margin: 0.5rem 0; }
.progress-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
details summary { cursor: pointer; color: var(--accent); font-size: 0.8125rem; }
details summary:hover { text-decoration: underline; }
.timestamp { color: var(--text-muted); font-size: 0.75rem; }
.screenshot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; margin: 1rem 0; }
.screenshot-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.screenshot-card img { width: 100%; height: auto; }
.screenshot-card .caption { padding: 0.5rem; font-size: 0.75rem; color: var(--text-secondary); }
</style>
</head>
<body>
<div class="container">
<h1>Audit Veza — Rapport Complet</h1>
<p class="timestamp">Généré le 2026-03-20 à 12:17:05</p>
<div class="score-card">
<div class="score warn">
<div class="value">70%</div>
<div class="label">Score Global</div>
<div class="progress-bar"><div class="progress-fill" style="width:70%;background:var(--warning)"></div></div>
</div>
<div class="score info">
<div class="value">350</div>
<div class="label">Tests Total</div>
</div>
<div class="score pass">
<div class="value">245</div>
<div class="label">Passés</div>
</div>
<div class="score fail">
<div class="value">104</div>
<div class="label">Échoués</div>
</div>
<div class="score skip" style="display:none">
<div class="value">0</div>
<div class="label">Ignorés</div>
</div>
</div>
<div class="score-card">
<div class="score pass">
<div class="value">96%</div>
<div class="label">⚙️ Fonctionnel (50)</div>
<div class="progress-bar"><div class="progress-fill" style="width:96%;background:var(--success)"></div></div>
</div>
<div class="score fail">
<div class="value">55%</div>
<div class="label">🎨 Pixel-Perfect (181)</div>
<div class="progress-bar"><div class="progress-fill" style="width:55%;background:var(--error)"></div></div>
</div>
<div class="score pass">
<div class="value">96%</div>
<div class="label">🖱️ Interactions (27)</div>
<div class="progress-bar"><div class="progress-fill" style="width:96%;background:var(--success)"></div></div>
</div>
<div class="score fail">
<div class="value">9%</div>
<div class="label">♿ Accessibilité (22)</div>
<div class="progress-bar"><div class="progress-fill" style="width:9%;background:var(--error)"></div></div>
</div>
<div class="score pass">
<div class="value">100%</div>
<div class="label">🛡️ Éthique (6)</div>
<div class="progress-bar"><div class="progress-fill" style="width:100%;background:var(--success)"></div></div>
</div>
<div class="score pass">
<div class="value">100%</div>
<div class="label">📸 Screenshots (64)</div>
<div class="progress-bar"><div class="progress-fill" style="width:100%;background:var(--success)"></div></div>
</div>
</div>
<h2>⚙️ Fonctionnel — 96%</h2>
<h3>Échecs (2)</h3>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Login avec identifiants invalides — affiche erreur</strong></div>
</div>
<div class="error-detail">Error: expect(received).toMatch(expected)
Expected pattern: /error|erreur|invalid|incorrect|identifiants/i
Received string: &quot;
 Skip to contentVvezaWelcome BackSign in to your accountEmailPasswordRemember meForgot password?Sign InDon't have an account? Sign up·····
&quot;</div>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Support (/support) — se charge sans crash</strong></div>
</div>
<div class="error-detail">Error: expect(received).not.toMatch(expected)
Expected pattern: not /500|Internal Server Error|unexpected error/i
Received string: &quot;
 Skip to contentVvezaConnectedHomeDashboardDiscoverFeedLibraryMy TracksPlaylistsFavoritesConnectLive3Chat12CommunityMoreMarketplaceAnalyticsSellPurchasesMmusic_loverConnectedSettingsLogoutKOnlineMUmusic_loverScheduled MaintenanceBrief maintenance window planned for Sunday 3am-5am CET. Streams may be briefly interrupted.Marketplace Now OpenBuy and sell beats, samples, and presets directly on the platform. Fair pricing, transparent licensing.Welcome to Veza!We're thrilled to launch Veza — an ethical music platform built for artists and listeners. Explore, create, and connect.VvezaConnectedHomeDashboardDiscoverFeedLibraryMy TracksPlaylistsFavoritesConnectLive3Chat12CommunityMoreMarketplaceAnalyticsSellPurchasesMmusic_loverConnectedSettingsLogoutKOnlineMUmusic_loverScheduled MaintenanceBrief maintenance window planned for Sunday 3am-5am CET. Streams may be briefly interrupted.Marketplace Now OpenBuy and sell beats, samples, and presets directly on the platform. Fair pricing, transparent licensing.Welcome to Veza!We're thrilled to launch Veza — an ethical music platform built for artists and listeners. Explore, create, and connect.SupportNeed help? Send us a message and we'll get back to you within 48 hours.Email addressWe'll respond to this addressCatego</div>
</div>
<details>
<summary>Tests passés (48)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login avec compte listener — redirige vers /dashboard</span>
<span class="timestamp">4768ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login avec compte creator — redirige vers /dashboard</span>
<span class="timestamp">4297ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login avec compte admin — redirige vers /dashboard</span>
<span class="timestamp">4386ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Page register se charge sans erreur</span>
<span class="timestamp">4372ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Logout — redirige vers /login</span>
<span class="timestamp">5622ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Routes protégées redirigent vers /login si non-authentifié</span>
<span class="timestamp">17049ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Forgot password page se charge</span>
<span class="timestamp">4581ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard (/dashboard) — se charge sans crash</span>
<span class="timestamp">12166ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Feed (/feed) — se charge sans crash</span>
<span class="timestamp">10290ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover (/discover) — se charge sans crash</span>
<span class="timestamp">9293ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Library (/library) — se charge sans crash</span>
<span class="timestamp">9784ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Queue (/queue) — se charge sans crash</span>
<span class="timestamp">9505ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Search (/search) — se charge sans crash</span>
<span class="timestamp">9754ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Profile (/profile) — se charge sans crash</span>
<span class="timestamp">10077ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings (/settings) — se charge sans crash</span>
<span class="timestamp">9906ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Sessions (/settings/sessions) — se charge sans crash</span>
<span class="timestamp">21948ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Notifications (/notifications) — se charge sans crash</span>
<span class="timestamp">9300ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Playlists (/playlists) — se charge sans crash</span>
<span class="timestamp">9572ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Social (/social) — se charge sans crash</span>
<span class="timestamp">10116ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Chat (/chat) — se charge sans crash</span>
<span class="timestamp">10006ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Marketplace (/marketplace) — se charge sans crash</span>
<span class="timestamp">9291ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Wishlist (/wishlist) — se charge sans crash</span>
<span class="timestamp">9192ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Purchases (/purchases) — se charge sans crash</span>
<span class="timestamp">9255ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Subscription (/subscription) — se charge sans crash</span>
<span class="timestamp">10354ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Live (/live) — se charge sans crash</span>
<span class="timestamp">10065ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Cloud (/cloud) — se charge sans crash</span>
<span class="timestamp">10050ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Education (/education) — se charge sans crash</span>
<span class="timestamp">9466ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Analytics (/analytics) — se charge sans crash</span>
<span class="timestamp">8612ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Seller Dashboard (/sell) — se charge sans crash</span>
<span class="timestamp">9340ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Distribution (/distribution) — se charge sans crash</span>
<span class="timestamp">7312ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Gear (/gear) — se charge sans crash</span>
<span class="timestamp">7376ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Go Live (/live/go-live) — se charge sans crash</span>
<span class="timestamp">7330ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Developer (/developer) — se charge sans crash</span>
<span class="timestamp">8181ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Webhooks (/webhooks) — se charge sans crash</span>
<span class="timestamp">7267ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Admin Dashboard (/admin) — se charge sans crash</span>
<span class="timestamp">7730ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Moderation (/admin/moderation) — se charge sans crash</span>
<span class="timestamp">7452ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Platform (/admin/platform) — se charge sans crash</span>
<span class="timestamp">7336ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Transfers (/admin/transfers) — se charge sans crash</span>
<span class="timestamp">7328ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Roles (/admin/roles) — se charge sans crash</span>
<span class="timestamp">7418ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Marketplace — affiche des produits ou un état vide cohérent</span>
<span class="timestamp">7261ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Wishlist — accessible et affiche un état</span>
<span class="timestamp">7373ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Purchases — accessible et affiche un état</span>
<span class="timestamp">7532ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Subscription — accessible et affiche un état</span>
<span class="timestamp">7311ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>API /auth/me retourne les données du user connecté</span>
<span class="timestamp">5252ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Pages error 404 et 500 se chargent correctement</span>
<span class="timestamp">4271ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Route inexistante redirige vers 404</span>
<span class="timestamp">6046ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Le sidebar affiche les liens de navigation</span>
<span class="timestamp">7634ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>La recherche retourne des résultats cohérents</span>
<span class="timestamp">9098ms</span>
</div>
</details>
<h2>🎨 Pixel-Perfect — 55%</h2>
<h3>Échecs (82)</h3>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register (/register) — zéro chevauchement critique</strong></div>
</div>
<div class="error-detail">Error: 1 chevauchement(s) critique(s) sur /register:
&quot;conditions d'utilisation&quot; (653,647 145×17) ↔ &quot;politique de confidentialité&quot; (561,647 350×40) overlap: 145×17px → Décaler &quot;conditions d'utilisation&quot; de 75px vers la gauche, ou ajouter gap/margin de 75px
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[WARNING] &quot;&quot;&quot;Show password&quot; : 16px × 16px
FIX: Décaler &quot;#register-password&quot; de 10px vers la gauche, ou ajouter gap/margin de 10px
[WARNING] &quot;&quot;&quot;Show password&quot; : 16px × 16px
FIX: Décaler &quot;#register-password_confirm&quot; de 10px vers la gauche, ou ajouter gap/margin de 10px
[CRITICAL] &quot;conditions d'utilisation&quot;&quot;politique de confidentialité&quot; : 145px × 17px
FIX: Décaler &quot;conditions d'utilisation&quot; de 75px vers la gauche, ou ajouter gap/margin de 75px
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Discover (/discover) — zéro chevauchement critique</strong></div>
</div>
<div class="error-detail">Error: 10 chevauchement(s) critique(s) sur /discover:
&quot;Jazz&quot;&quot;&quot; 32×24px → Décaler &quot;Jazz&quot; de 18px vers la droite, ou ajouter gap/margin de 18px
&quot;Jazz&quot;&quot;&quot; 32×24px → Décaler &quot;Jazz&quot; de 18px vers la gauche, ou ajouter gap/margin de 18px
&quot;Jazz&quot;&quot;&quot; 40×28px → Décaler &quot;Jazz&quot; de 22px vers la gauche, ou ajouter gap/margin de 22px
&quot;Latin&quot;&quot;&quot; 32×28px → Décaler &quot;Latin&quot; de 18px vers la droite, ou ajouter gap/margin de 18px
&quot;Latin&quot;&quot;1x&quot; 36×30px → Décaler &quot;Latin&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
&quot;Latin&quot;&quot;1x&quot; 36×30px → Décaler &quot;Latin&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
&quot;Metal&quot;&quot;Mute&quot; 36×34px → Décaler &quot;Metal&quot; de 20px vers la droite, ou ajouter gap/margin de 20px
&quot;Metal&quot;&quot;Picture-in-Picture&quot; 36×34px → Décaler &quot;Metal&quot; de 20px vers la droite, ou ajouter gap/margin de 20px
&quot;Metal&quot;&quot;Show queue&quot; 36×34px → Décaler &quot;Metal&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
&quot;Metal&quot;&quot;Like&quot; 36×34px → Décaler &quot;Metal&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 10</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] &quot;Jazz&quot;&quot;&quot; : 32px × 24px
FIX: Décaler &quot;Jazz&quot; de 18px vers la droite, ou ajouter gap/margin de 18px
[CRITICAL] &quot;Jazz&quot;&quot;&quot; : 32px × 24px
FIX: Décaler &quot;Jazz&quot; de 18px vers la gauche, ou ajouter gap/margin de 18px
[CRITICAL] &quot;Jazz&quot;&quot;&quot; : 40px × 28px
FIX: Décaler &quot;Jazz&quot; de 22px vers la gauche, ou ajouter gap/margin de 22px
[WARNING] &quot;Latin&quot;&quot;&quot; : 17px × 28px
FIX: Décaler &quot;Latin&quot; de 11px vers la droite, ou ajouter gap/margin de 11px
[CRITICAL] &quot;Latin&quot;&quot;&quot; : 32px × 28px
FIX: Décaler &quot;Latin&quot; de 18px vers la droite, ou ajouter gap/margin de 18px
[CRITICAL] &quot;Latin&quot;&quot;1x&quot; : 36px × 30px
FIX: Décaler &quot;Latin&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
[CRITICAL] &quot;Latin&quot;&quot;1x&quot; : 36px × 30px
FIX: Décaler &quot;Latin&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
[CRITICAL] &quot;Metal&quot;&quot;Mute&quot; : 36px × 34px
FIX: Décaler &quot;Metal&quot; de 20px vers la droite, ou ajouter gap/margin de 20px
[WARNING] &quot;Metal&quot;&quot;&quot; : 56px × 4px
FIX: Décaler &quot;Metal&quot; de 30px vers la droite, ou ajouter gap/margin de 30px
[CRITICAL] &quot;Metal&quot;&quot;Picture-in-Picture&quot; : 36px × 34px
FIX: Décaler &quot;Metal&quot; de 20px vers la droite, ou ajouter gap/margin de 20px
[CRITICAL] &quot;Metal&quot;&quot;Show queue&quot; : 36px × 34px
FIX: Décaler &quot;Metal&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
[CRITICAL] &quot;Metal&quot;&quot;Like&quot; : 36px × 34px
FIX: Décaler &quot;Metal&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
[WARNING] &quot;&quot;&quot;Picture-in-Picture&quot; : 36px × 4px
FIX: Décaler &quot;input.absolute&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Chat (/chat) — zéro chevauchement critique</strong></div>
</div>
<div class="error-detail">Error: 1 chevauchement(s) critique(s) sur /chat:
&quot;Type a message&quot;&quot;Voice message&quot; 32×32px → Décaler &quot;Type a message&quot; de 18px vers la gauche, ou ajouter gap/margin de 18px
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] &quot;Type a message&quot;&quot;Voice message&quot; : 32px × 32px
FIX: Décaler &quot;Type a message&quot; de 18px vers la gauche, ou ajouter gap/margin de 18px
[WARNING] &quot;&quot;&quot;Picture-in-Picture&quot; : 36px × 4px
FIX: Décaler &quot;input.absolute&quot; de 20px vers la gauche, ou ajouter gap/margin de 20px
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Support (/support) — zéro chevauchement critique</strong></div>
</div>
<div class="error-detail">Error: 33 chevauchement(s) critique(s) sur /support:
&quot;Collapse sidebar&quot;&quot;Collapse sidebar&quot; 40×40px → Décaler &quot;Collapse sidebar&quot; de 22px vers la droite, ou ajouter gap/margin de 22px
&quot;Dashboard&quot;&quot;Dashboard&quot; 215×36px → Décaler &quot;Dashboard&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Discover&quot;&quot;Discover&quot; 215×36px → Décaler &quot;Discover&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Feed&quot;&quot;Feed&quot; 215×36px → Décaler &quot;Feed&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;My Tracks&quot;&quot;My Tracks&quot; 215×36px → Décaler &quot;My Tracks&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Playlists&quot;&quot;Playlists&quot; 215×36px → Décaler &quot;Playlists&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Favorites&quot;&quot;Favorites&quot; 215×36px → Décaler &quot;Favorites&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Live3&quot;&quot;Live3&quot; 215×36px → Décaler &quot;Live3&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Chat12&quot;&quot;Chat12&quot; 215×36px → Décaler &quot;Chat12&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Community&quot;&quot;Community&quot; 215×36px → Décaler &quot;Community&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Marketplace&quot;&quot;Marketplace&quot; 215×36px → Décaler &quot;Marketplace&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Analytics&quot;&quot;Analytics&quot; 215×36px → Décaler &quot;Analytics&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
&quot;Sell&quot;&quot;Sell&quot; 215×36px → Décaler &quot;Sell&quot; de 110px vers la droite, ou ajouter ga</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] &quot;Collapse sidebar&quot;&quot;Collapse sidebar&quot; : 40px × 40px
FIX: Décaler &quot;Collapse sidebar&quot; de 22px vers la droite, ou ajouter gap/margin de 22px
[CRITICAL] &quot;Dashboard&quot;&quot;Dashboard&quot; : 215px × 36px
FIX: Décaler &quot;Dashboard&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Discover&quot;&quot;Discover&quot; : 215px × 36px
FIX: Décaler &quot;Discover&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Feed&quot;&quot;Feed&quot; : 215px × 36px
FIX: Décaler &quot;Feed&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;My Tracks&quot;&quot;My Tracks&quot; : 215px × 36px
FIX: Décaler &quot;My Tracks&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Playlists&quot;&quot;Playlists&quot; : 215px × 36px
FIX: Décaler &quot;Playlists&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Favorites&quot;&quot;Favorites&quot; : 215px × 36px
FIX: Décaler &quot;Favorites&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Live3&quot;&quot;Live3&quot; : 215px × 36px
FIX: Décaler &quot;Live3&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Chat12&quot;&quot;Chat12&quot; : 215px × 36px
FIX: Décaler &quot;Chat12&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Community&quot;&quot;Community&quot; : 215px × 36px
FIX: Décaler &quot;Community&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Marketplace&quot;&quot;Marketplace&quot; : 215px × 36px
FIX: Décaler &quot;Marketplace&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Analytics&quot;&quot;Analytics&quot; : 215px × 36px
FIX: Décaler &quot;Analytics&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Sell&quot;&quot;Sell&quot; : 215px × 36px
FIX: Décaler &quot;Sell&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Purchases&quot;&quot;Purchases&quot; : 215px × 36px
FIX: Décaler &quot;Purchases&quot; de 110px vers la droite, ou ajouter gap/margin de 110px
[CRITICAL] &quot;Settings&quot;&quot;Settings&quot; : 223px × 36px
FIX: Décaler &quot;Settings&quot; de 114px vers la droite, ou ajouter gap/margin de 114px
[CRITICAL] &quot;Logout&quot;&quot;Logout&quot; : 223px × 40px
FIX: Décaler &quot;Logout&quot; de 114px vers la droite, ou ajouter gap/margin de 114px
[CRITICAL] &quot;Search tracks, artists, playlists&quot;&quot;Search tracks, artists, playlists&quot; : 512px × 40px
FIX: Décaler &quot;Search tracks, artists, playlists&quot; de 258px vers la droite, ou ajouter gap/margin de 258px
[CRITICAL] &quot;Notifications&quot;&quot;Notifications&quot; : 40px × 40px
FIX: Décaler &quot;Notifications&quot; de 22px vers la droite, ou ajouter gap/margin de 22px
[CRITICAL] &quot;&quot;&quot;&quot; : 40px × 40px
FIX: Décaler &quot;button.inline-flex&quot; de 22px vers la droite, ou ajouter gap/margin de 22px
[CRITICAL] &quot;MUmusic_lover&quot;&quot;MUmusic_lover&quot; : 131px × 36px
FIX: Décaler &quot;MUmusic_lover&quot; de 68px vers la droite, ou ajouter gap/margin de 68px
[CRITICAL] &quot;&quot;&quot;&quot; : 32px × 32px
FIX: Décaler &quot;button.flex&quot; de 18px vers la droite, ou ajouter gap/margin de 18px
[CRITICAL] &quot;&quot;&quot;&quot; : 32px × 32px
FIX: Décaler &quot;[data-testid=&quot;prev-button&quot;]&quot; de 18px vers la droite, ou</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Register (/register) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "S'inscrire"\\nFIX: \\n\\nPROBLÈME: "conditions d'utilisation"\\nFIX: \\n\\nPROBLÈME: "politique de confidentialité"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 5/7 bouton(s) sans hover visible sur /register:
&quot;&quot; (button.absolute): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.absolute): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;S'inscrire&quot; ([data-testid=&quot;register-submit&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;conditions d'utilisation&quot; (a.text-foreground): AUCUN changement visuel au hover — le bouton semble inactif
&quot;politique de confidentialité&quot; (a.text-foreground): AUCUN changement visuel au hover — le bouton semble inactif
expect(received).toBeLessThanOrEqual(expected)
Expected: &lt;= 3
Received: 5</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;S'inscrire&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;conditions d'utilisation&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
Issues: AUCUN changement visuel au hover — le bouton semble inactif
[HOVER ISSUE] &quot;politique de confidentialité&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
Issues: AUCUN changement visuel au hover — le bouton semble inactif
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Dashboard (/dashboard) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: \\n\\nPROBLÈME: "Playlists"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 19/43 bouton(s) sans hover visible sur /dashboard:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;queue-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Dashboard&quot; (a.w-full): AUCUN changement visuel au ho</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0 0 0 / 0), color=rgb(168, 164, 160), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.467063), color=rgb(235, 232, 227), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.496635), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(42, 42, 49, 0.984), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0 0 0 / 0), color=rgb(237, 234, 229), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.0491666), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
After: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0 0 0 / 0), </pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Discover (/discover) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Ambient"\\nFIX: \\n\\nPROBLÈME: "Blues"\\nFIX: \\n\\nPROBLÈME: "Classical"\\nFIX: \\n\\nPROBLÈME: "Drum and Bass"\\nFIX: \\n\\nPROBLÈME: "Dubstep"\\nFIX: \\n\\nPROBLÈME: "Electronic"\\nFIX: \\n\\nPROBLÈME: "Experimental"\\nFIX: \\n\\nPROBLÈME: "Folk"\\nFIX: \\n\\nPROBLÈME: "Funk"\\nFIX: \\n\\nPROBLÈME: "Hip-Hop"\\nFIX: \\n\\nPROBLÈME: "House"\\nFIX: \\n\\nPROBLÈME: "Indie"\\nFIX: \\n\\nPROBLÈME: "Jazz"\\nFIX: \\n\\nPROBLÈME: "Latin"\\nFIX: \\n\\nPROBLÈME: "Metal"\\nFIX: \\n\\nPROBLÈME: "Other"\\nFIX: \\n\\nPROBLÈME: "Pop"\\nFIX: \\n\\nPROBLÈME: "Reggae"\\nFIX: \\n\\nPROBLÈME: "Rock"\\nFIX: \\n\\nPROBLÈME: "Soul"\\nFIX: \\n\\nPROBLÈME: "Techno"\\nFIX: \\n\\nPROBLÈME: "Trance"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 30/56 bouton(s) sans hover visible sur /discover:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Ambient&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Blues&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Classical&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Drum and Bass&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Dubstep&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Electronic&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Experimental&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Folk&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Funk&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Hip-Hop&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;House&quot; (button.relative): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Indie&quot;</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.0839311), color=rgb(205, 109, 88), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(42, 42, 49, 0.8), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Ambient&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Blues&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Classical&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Drum and Bass&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Dubstep&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Library (/library) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "New"\\nFIX: \\n\\nPROBLÈME: "Upload Track"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "My Tracks"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /library:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.h-8): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.h-8): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;New&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Upload Track&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (but</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.0892901), color=rgb(207, 106, 83), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.446543), color=rgb(232, 229, 224), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.486037), color=rgb(238, 235, 230), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(18, 18, 21), color=rgb(77, 119, 203), cursor=default
After: bg=rgb(18, 18, 21), color=rgb(77, 119, 203), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;New&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.900373), color=rgb(18, 18, 21), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Upload Track&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.910688), color=rgb(18, 18, 21), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rg</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Settings (/settings) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Retry"\\nFIX: \\n\\nPROBLÈME: "Show Details"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 19/35 bouton(s) sans hover visible sur /settings:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Retry&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Show Details&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;queue-button&quot;]): Cursor &quot;defau</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Retry&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(212, 99, 74), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Show Details&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(212, 99, 74), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
After: bg=rgb(77, 119, 203)</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Playlists (/playlists) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "CréerNouvelle"\\nFIX: \\n\\nPROBLÈME: "Importer"\\nFIX: \\n\\nPROBLÈME: "Sélectionner"\\nFIX: \\n\\nPROBLÈME: "Filters"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Playlists"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /playlists:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;CréerNouvelle&quot; ([data-testid=&quot;create-playlist-btn&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Importer&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Sélectionner&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Filters&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;CréerNouvelle&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Importer&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Sélectionner&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Filters&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
Afte</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Marketplace (/marketplace) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Cart"\\nFIX: \\n\\nPROBLÈME: "Filters"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 19/35 bouton(s) sans hover visible sur /marketplace:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Cart&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Filters&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;queue-button&quot;]): Cursor &quot;default&quot;</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.498146), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Cart&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Filters&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
After: bg=rgb(77, 119</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Feed (/feed) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Try Again"\\nFIX: \\n\\nPROBLÈME: "Refresh Page"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Feed"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 20/35 bouton(s) sans hover visible sur /feed:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Try Again&quot; (button.whitespace-nowrap): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Refresh Page&quot; (button.whitespace-nowrap): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;queue-button&quot;]): C</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Try Again&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Refresh Page&quot;
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
After: bg=rgb(77</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Profile (/profile) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18/43 bouton(s) sans hover visible sur /profile:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;queue-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Dashboard&quot; (a.w-full): AUCUN changement visuel au hove</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.0460319), color=rgb(90, 129, 206), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
After: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=defa</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Notifications (/notifications) — tous les boutons changent visuellement au hover</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "All"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "All Types"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /notifications:
&quot;&quot; (button.items-center): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;Logout&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;MUmusic_lover&quot; ([data-testid=&quot;user-menu&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;All&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;All Types&quot; (button.inline-flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.shrink-0): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;prev-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;play-button&quot;]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; ([data-testid=&quot;next-button&quot;]): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.flex): Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
&quot;&quot; (button.inline-flex): AUCUN changement visuel au hov</div>
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;Logout&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;MUmusic_lover&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;All&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;All Types&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
Issues: Cursor &quot;default&quot; au lieu de &quot;pointer&quot; au hover
[HOVER ISSUE] &quot;&quot;
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
After: bg=oklab(0</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard: Saut de heading: h1 "Good afternoon, music_lover" h3 "Tracks Listened" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /dashboard:
Saut de heading: h1 &quot;Good afternoon, music_lover&quot; → h3 &quot;Tracks Listened&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /dashboard: Saut de heading: h1 &quot;Good afternoon, music_lover&quot; → h3 &quot;Tracks Listened&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library: Saut de heading: h1 "Library" h3 "Your library is empty" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /library:
Saut de heading: h1 &quot;Library&quot; → h3 &quot;Your library is empty&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /library: Saut de heading: h1 &quot;Library&quot; → h3 &quot;Your library is empty&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Queue — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /queue: Saut de heading: h1 "PLAY QUEUE" h3 "Up Next" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /queue:
Saut de heading: h1 &quot;PLAY QUEUE&quot; → h3 &quot;Up Next&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /queue: Saut de heading: h1 &quot;PLAY QUEUE&quot; → h3 &quot;Up Next&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Search — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /search: Saut de heading: h1 "Explore the Nebula" h3 "New Releases" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /search:
Saut de heading: h1 &quot;Explore the Nebula&quot; → h3 &quot;New Releases&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /search: Saut de heading: h1 &quot;Explore the Nebula&quot; → h3 &quot;New Releases&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile: Saut de heading: h1 "Good afternoon, music_lover" h3 "Tracks Listened" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /profile:
Saut de heading: h1 &quot;Good afternoon, music_lover&quot; → h3 &quot;Tracks Listened&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /profile: Saut de heading: h1 &quot;Good afternoon, music_lover&quot; → h3 &quot;Tracks Listened&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Sessions — hiérarchie des titres logique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings/sessions: Saut de heading: h1 "Active Sessions" h3 "Sessions (3610)" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Hiérarchie de titres cassée sur /settings/sessions:
Saut de heading: h1 &quot;Active Sessions&quot; → h3 &quot;Sessions (3610)&quot; (manque h2)
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /settings/sessions: Saut de heading: h1 &quot;Active Sessions&quot; → h3 &quot;Sessions (3610)&quot; (manque h2)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login — contraste WCAG AA sur tout le texte</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "Sign In": 4.29:1 (min 4.5:1) 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Sign In" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 problème(s) de contraste sur /login:
&quot;V&quot; — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
&quot;Sign In&quot; — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Sign In&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Sign In&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] &quot;V&quot;: 1:1 (min 3:1) — 24px
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] &quot;Sign In&quot;: 4.29:1 (min 4.5:1) — 16px
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Sign In&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register — contraste WCAG AA sur tout le texte</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "S'inscrire": 4.29:1 (min 4.5:1) 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "S'inscrire" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 problème(s) de contraste sur /register:
&quot;V&quot; — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
&quot;S'inscrire&quot; — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;S'inscrire&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;S'inscrire&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] &quot;V&quot;: 1:1 (min 3:1) — 24px
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] &quot;S'inscrire&quot;: 4.29:1 (min 4.5:1) — 16px
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;S'inscrire&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password — contraste WCAG AA sur tout le texte</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "Envoyer le lien de réinitialisation": 4.29:1 (min 4.5:1) 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Envoyer le lien de réinitialisation" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 problème(s) de contraste sur /forgot-password:
&quot;V&quot; — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
&quot;Envoyer le lien de réinitialisation&quot; — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Envoyer le lien de réinitialisation&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Envoyer le lien de réinitialisation&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] &quot;V&quot;: 1:1 (min 3:1) — 24px
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] &quot;Envoyer le lien de réinitialisation&quot;: 4.29:1 (min 4.5:1) — 16px
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Envoyer le lien de réinitialisation&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email — contraste WCAG AA sur tout le texte</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 problème(s) de contraste sur /verify-email:
&quot;V&quot; — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] &quot;V&quot;: 1:1 (min 3:1) — 24px
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password — contraste WCAG AA sur tout le texte</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 problème(s) de contraste sur /reset-password:
&quot;V&quot; — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] &quot;V&quot;: 1:1 (min 3:1) — 24px
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library — contraste WCAG AA</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library "V": 1.08:1 (min 3:1)\\nFIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "MU": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "New": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "New" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "Upload Track": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Upload Track" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 problème(s) de contraste sur /library:
&quot;V&quot; — 1.08:1 (min 3:1). Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
&quot;MU&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
&quot;New&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;New&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
&quot;Upload Track&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Upload Track&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
expect(received).toBeLessThanOrEqual(expected)
Expected: &lt;= 3
Received: 4</div>
<div class="fix">FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;New&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Upload Track&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] /library &quot;V&quot;: 1.08:1 (min 3:1)
FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /library &quot;MU&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /library &quot;New&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;New&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /library &quot;Upload Track&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Upload Track&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists — contraste WCAG AA</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists "V": 1.08:1 (min 3:1)\\nFIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "MU": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "CréerNouvelle": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "CréerNouvelle" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "Créer": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Créer" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 problème(s) de contraste sur /playlists:
&quot;V&quot; — 1.08:1 (min 3:1). Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
&quot;MU&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
&quot;CréerNouvelle&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;CréerNouvelle&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
&quot;Créer&quot; — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Créer&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
expect(received).toBeLessThanOrEqual(expected)
Expected: &lt;= 3
Received: 4</div>
<div class="fix">FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;CréerNouvelle&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Créer&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] /playlists &quot;V&quot;: 1.08:1 (min 3:1)
FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte &quot;V&quot; en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /playlists &quot;MU&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;MU&quot; en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /playlists &quot;CréerNouvelle&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;CréerNouvelle&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
[CONTRASTE] /playlists &quot;Créer&quot;: 4.29:1 (min 4.5:1)
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte &quot;Créer&quot; en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Inputs — tous les champs ont un border radius d'au moins 6px</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Inputs avec radius < 6px (design system minimum: 6px / rounded-md):\\nFIX: utiliser rounded-lg (12px)`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 inputs avec border-radius trop petit:
input[type=&quot;range&quot;] &quot;&quot;: 0px
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: utiliser rounded-lg (12px)</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[RADIUS] Inputs avec radius &lt; 6px (design system minimum: 6px / rounded-md):
input[type=&quot;range&quot;] &quot;&quot;: 0px — FIX: utiliser rounded-lg (12px)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>prefers-reduced-motion: reduce — les animations sont désactivées</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Animations toujours actives:\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Animations non désactivées avec prefers-reduced-motion:
div.absolute: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
div.absolute: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
div.absolute: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
div.absolute: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
span.w-1.5: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
div.space-y-6: Animation &quot;sumi-fade-in&quot; toujours active avec prefers-reduced-motion: reduce
div.w-2: Animation &quot;pulse&quot; toujours active avec prefers-reduced-motion: reduce
expect(received).toBeLessThanOrEqual(expected)
Expected: &lt;= 5
Received: 7</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[REDUCED MOTION] Animations toujours actives:
div.absolute: pulse (1e-05s)
div.absolute: pulse (1e-05s)
div.absolute: pulse (1e-05s)
div.absolute: pulse (1e-05s)
span.w-1.5: pulse (1e-05s)
div.space-y-6: sumi-fade-in (1e-05s)
div.w-2: pulse (1e-05s)
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /login @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /login @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /login @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /login @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /login @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /login @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /login @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /login @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /register @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /register @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /register @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /register @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /register @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /register @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /register @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /register @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /forgot-password @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /verify-email @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /reset-password @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.top-0 dépasse de 55px\\nFIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 19 débordement(s) sur /dashboard @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ tablet (768×1024): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ laptop (1280×720): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ desktop (1440×900): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18 débordement(s) sur /feed @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• sv</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /feed @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /feed @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /feed @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.-bottom-2 dépasse de 7px\\nFIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.-bottom-2 dépasse de 7px\\nFIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 20 débordement(s) sur /discover @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /disco</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /discover @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /discover @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /discover @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18 débordement(s) sur /library @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ mobileSE (3</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /library @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /library @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /library @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.absolute.top-0 dépasse de 55px\\nFIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 19 débordement(s) sur /profile @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ mobileSE (3</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ tablet (768×1024): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /profile @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ tablet (768×1024): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ laptop (1280×720): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /profile @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ laptop (1280×720): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ desktop (1440×900): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 3 débordement(s) sur /profile @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 3</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /profile @ desktop (1440×900): div.absolute.top-0 dépasse de 39px
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18 débordement(s) sur /settings @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /setti</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /settings @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /settings @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /settings @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.flex.items-center dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative dépasse de 33px\\nFIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 33px\\nFIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): svg. dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 19px\\nFIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 12px\\nFIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.h-6.w-px dépasse de 42px\\nFIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative.inline-block dépasse de 94px\\nFIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 94px\\nFIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): svg. dépasse de 80px\\nFIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.flex.items-center dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative.w-8 dépasse de 132px\\nFIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): span.text-xs.font-bold dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 134px\\nFIX: Débordement de 134px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18 débordement(s) sur /playlists @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +142px → Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +33px → Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +33px → Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +19px → Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +12px → Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +42px → Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +94px → Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +94px → Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses pare</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 134px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.flex.items-center dépasse de 142px
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative dépasse de 33px
FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 33px
FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): svg. dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 19px
FIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 12px
FIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.h-6.w-px dépasse de 42px
FIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative.inline-block dépasse de 94px
FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 94px
FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): svg. dépasse de 80px
FIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative dépasse de 142px
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): button.flex.items-center dépasse de 142px
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative.w-8 dépasse de 132px
FIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 18 débordement(s) sur /marketplace @ mobileSE (375×667):
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parent</div>
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): svg. dépasse de 11px
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 9px
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 2px
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): svg. dépasse de 66px
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 64px
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): button.flex.items-center dépasse de 126px
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ tablet (768×1024) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ tablet (768×1024):
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ laptop (1280×720) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ laptop (1280×720):
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ desktop (1440×900) — pas de débordement horizontal</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ desktop (1440×900):
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 2</div>
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
[OVERFLOW] /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Mobile — le sidebar est caché par défaut</strong></div>
</div>
<div class="error-detail">Error: Le sidebar est trop large sur mobile (240px). FIX: Cacher avec lg:block.
expect(received).toBeLessThan(expected)
Expected: &lt; 100
Received: 240</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[MOBILE] Le sidebar est visible et prend 240px sur mobile — devrait être caché
</pre></details>
</div>
<details>
<summary>Tests passés (99)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings — les modals de confirmation fonctionnent</span>
<span class="timestamp">7192ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Playlists — la modal de création fonctionne</span>
<span class="timestamp">8400ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dialogs — le backdrop bloque les clics sous le modal</span>
<span class="timestamp">8469ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Login (/login) — zéro chevauchement critique</span>
<span class="timestamp">3939ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Forgot Password (/forgot-password) — zéro chevauchement critique</span>
<span class="timestamp">4167ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email (/verify-email) — zéro chevauchement critique</span>
<span class="timestamp">3970ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password (/reset-password) — zéro chevauchement critique</span>
<span class="timestamp">3926ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Dashboard (/dashboard) — zéro chevauchement critique</span>
<span class="timestamp">7405ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Feed (/feed) — zéro chevauchement critique</span>
<span class="timestamp">7366ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Library (/library) — zéro chevauchement critique</span>
<span class="timestamp">8032ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Queue (/queue) — zéro chevauchement critique</span>
<span class="timestamp">7625ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Search (/search) — zéro chevauchement critique</span>
<span class="timestamp">7378ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Profile (/profile) — zéro chevauchement critique</span>
<span class="timestamp">7585ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Settings (/settings) — zéro chevauchement critique</span>
<span class="timestamp">7619ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Sessions (/settings/sessions) — zéro chevauchement critique</span>
<span class="timestamp">19909ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Notifications (/notifications) — zéro chevauchement critique</span>
<span class="timestamp">7474ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Playlists (/playlists) — zéro chevauchement critique</span>
<span class="timestamp">7812ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Social (/social) — zéro chevauchement critique</span>
<span class="timestamp">8280ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Marketplace (/marketplace) — zéro chevauchement critique</span>
<span class="timestamp">8171ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Wishlist (/wishlist) — zéro chevauchement critique</span>
<span class="timestamp">7482ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Purchases (/purchases) — zéro chevauchement critique</span>
<span class="timestamp">7908ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Subscription (/subscription) — zéro chevauchement critique</span>
<span class="timestamp">6976ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Live (/live) — zéro chevauchement critique</span>
<span class="timestamp">7414ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Cloud (/cloud) — zéro chevauchement critique</span>
<span class="timestamp">7506ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[LISTENER] Education (/education) — zéro chevauchement critique</span>
<span class="timestamp">7325ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Le player bar ne recouvre aucun contenu interactif de la page</span>
<span class="timestamp">10389ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login (/login) — tous les boutons changent visuellement au hover</span>
<span class="timestamp">6149ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login — Tab à travers le formulaire, chaque champ est visuellement focusé</span>
<span class="timestamp">4582ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — Tab navigation complète</span>
<span class="timestamp">8839ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings — Tous les contrôles de formulaire ont un focus ring</span>
<span class="timestamp">5964ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover — navigation clavier fonctionnelle</span>
<span class="timestamp">8267ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Library — navigation clavier fonctionnelle</span>
<span class="timestamp">8113ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Playlists — navigation clavier fonctionnelle</span>
<span class="timestamp">8590ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Marketplace — navigation clavier fonctionnelle</span>
<span class="timestamp">8259ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — les sections sont alignées et espacées</span>
<span class="timestamp">6120ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover — les track cards sont toutes de la même taille</span>
<span class="timestamp">5731ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard (/dashboard) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5908ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Feed (/feed) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5401ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover (/discover) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5620ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Library (/library) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5742ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Queue (/queue) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5770ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Search (/search) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5944ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Profile (/profile) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5687ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings (/settings) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5615ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Sessions (/settings/sessions) — le contenu principal a un padding suffisant</span>
<span class="timestamp">14010ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Notifications (/notifications) — le contenu principal a un padding suffisant</span>
<span class="timestamp">5654ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Login — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">2561ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Register — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">2655ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Forgot Password — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">2855ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">2722ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">2684ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Dashboard — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5850ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">6303ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed — hiérarchie des titres logique</span>
<span class="timestamp">5926ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5890ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover — hiérarchie des titres logique</span>
<span class="timestamp">5611ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Library — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5386ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Queue — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5360ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Search — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5794ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Profile — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5655ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5603ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings — hiérarchie des titres logique</span>
<span class="timestamp">5377ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Sessions — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">11719ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications — toutes les fonts sont du design system SUMI</span>
<span class="timestamp">5526ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications — hiérarchie des titres logique</span>
<span class="timestamp">5232ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Les headings utilisent Space Grotesk (font-heading)</span>
<span class="timestamp">5433ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Dashboard — contraste WCAG AA</span>
<span class="timestamp">5614ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed — contraste WCAG AA</span>
<span class="timestamp">5342ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover — contraste WCAG AA</span>
<span class="timestamp">5499ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Queue — contraste WCAG AA</span>
<span class="timestamp">6593ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Search — contraste WCAG AA</span>
<span class="timestamp">5761ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Profile — contraste WCAG AA</span>
<span class="timestamp">6315ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings — contraste WCAG AA</span>
<span class="timestamp">5697ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Sessions — contraste WCAG AA</span>
<span class="timestamp">11428ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications — contraste WCAG AA</span>
<span class="timestamp">5253ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Social — contraste WCAG AA</span>
<span class="timestamp">6155ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — les cards ont des border-radius cohérents</span>
<span class="timestamp">5415ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Boutons — border-radius cohérent par variante</span>
<span class="timestamp">5802ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — les boutons ont des transitions déclarées</span>
<span class="timestamp">5779ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Le hover sur un bouton provoque un changement graduel (pas brusque)</span>
<span class="timestamp">5194ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Login — aucune image cassée</span>
<span class="timestamp">2709ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Register — aucune image cassée</span>
<span class="timestamp">2443ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Forgot Password — aucune image cassée</span>
<span class="timestamp">2325ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email — aucune image cassée</span>
<span class="timestamp">2299ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password — aucune image cassée</span>
<span class="timestamp">2415ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Dashboard — aucune image cassée</span>
<span class="timestamp">5348ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed — aucune image cassée</span>
<span class="timestamp">4999ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover — aucune image cassée</span>
<span class="timestamp">5178ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Library — aucune image cassée</span>
<span class="timestamp">5202ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Queue — aucune image cassée</span>
<span class="timestamp">5469ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Search — aucune image cassée</span>
<span class="timestamp">5042ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Profile — aucune image cassée</span>
<span class="timestamp">5386ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings — aucune image cassée</span>
<span class="timestamp">5385ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Sessions — aucune image cassée</span>
<span class="timestamp">9915ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications — aucune image cassée</span>
<span class="timestamp">5067ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — les icônes SVG sont de taille cohérente</span>
<span class="timestamp">5233ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Avatars — ont un fallback quand l'image ne charge pas</span>
<span class="timestamp">5371ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Mobile — le contenu principal utilise toute la largeur</span>
<span class="timestamp">5214ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Mobile — le player bar est visible et accessible</span>
<span class="timestamp">5051ms</span>
</div>
</details>
<h2>🖱️ Interactions — 96%</h2>
<h3>Échecs (1)</h3>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Login échoué — un toast d'erreur ou message d'erreur apparaît</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Error toast visible: false, inline error visible: false\\nFIX: `)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: Aucun feedback d'erreur après login échoué
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false</div>
<div class="fix">FIX: </div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[TOAST] Error toast visible: false, inline error visible: false
</pre></details>
</div>
<details>
<summary>Tests passés (26)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Sidebar — les dropdowns de navigation fonctionnent</span>
<span class="timestamp">7416ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings — les select/dropdown de préférences fonctionnent</span>
<span class="timestamp">7189ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Header — le menu utilisateur fonctionne</span>
<span class="timestamp">8121ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover — les filtres/genre buttons fonctionnent</span>
<span class="timestamp">8392ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login — soumission vide affiche des erreurs</span>
<span class="timestamp">6134ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Register — champs requis sont validés</span>
<span class="timestamp">5668ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings — les formulaires de profil sauvegardent correctement</span>
<span class="timestamp">7724ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Forms — pas de double soumission (bouton disabled après clic)</span>
<span class="timestamp">14667ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Forgot password — le formulaire accepte un email et affiche confirmation</span>
<span class="timestamp">6953ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login réussi — un toast ou redirection se produit</span>
<span class="timestamp">4362ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Toast — ne bloque pas les boutons du header ou sidebar</span>
<span class="timestamp">8181ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Toast — disparaît automatiquement après ~4 secondes</span>
<span class="timestamp">5028ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Playlists — la page de détail charge sans erreur</span>
<span class="timestamp">8277ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Queue — la page de queue charge et affiche la file d'attente</span>
<span class="timestamp">7102ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Login — le formulaire est entièrement navigable au clavier</span>
<span class="timestamp">5076ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard — Escape ferme les éléments ouverts</span>
<span class="timestamp">8463ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Dashboard (/dashboard) — navigation clavier possible</span>
<span class="timestamp">9941ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Feed (/feed) — navigation clavier possible</span>
<span class="timestamp">9868ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Discover (/discover) — navigation clavier possible</span>
<span class="timestamp">10221ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Library (/library) — navigation clavier possible</span>
<span class="timestamp">9653ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Queue (/queue) — navigation clavier possible</span>
<span class="timestamp">9583ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Search (/search) — navigation clavier possible</span>
<span class="timestamp">9981ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Profile (/profile) — navigation clavier possible</span>
<span class="timestamp">9811ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Settings (/settings) — navigation clavier possible</span>
<span class="timestamp">9999ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Enter active les boutons focusés</span>
<span class="timestamp">3892ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Space toggle les checkboxes et switches</span>
<span class="timestamp">7305ms</span>
</div>
</details>
<h2>♿ Accessibilité — 9%</h2>
<h3>Échecs (19)</h3>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login (/login) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /login:
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;px-4 py-2.5 rounded-...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot;
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;px-4 py-2.5 rounded-...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot; type=&quot;submit&quot; data-t
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register (/register) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /register:
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;px-4 py-2.5 rounded-...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot;
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;px-4 py-2.5 rounded-...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot; type=&quot;submit&quot; data-t
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password (/forgot-password) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /forgot-password:
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;w-full px-4 py-2.5 r...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot;
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 1</div>
<div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
Element: &lt;button class=&quot;w-full px-4 py-2.5 r...&quot; aria-busy=&quot;false&quot; aria-disabled=&quot;false&quot; type=&quot;submit&quot;&gt;
FIX: Fix any of the following:
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard (/dashboard) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /dashboard:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is </div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed (/feed) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /feed:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visib</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover (/discover) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /discover:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is v</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library (/library) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /library:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is vi</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Queue (/queue) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /queue:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visi</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Search (/search) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /search:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with rol</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;span class=&quot;inline-flex items-center text-muted-foreground cursor-help mr-2&quot; aria-label=&quot;Aide: Util
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, </pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile (/profile) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /profile:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is vi</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings (/settings) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /settings:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is v</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;truncate transition-all duration-[var(--sumi-duration-normal)] opacity-100&quot;&gt;Settings&lt;/s
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Notifications (/notifications) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] nested-interactive: Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /notifications:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists (/playlists) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /playlists:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is </div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button data-testid=&quot;prev-button&quot; class=&quot;flex items-center justify-center rounded-full flex-shrink-0
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Social (/social) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /social:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
• [critical] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is vis</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
Element: &lt;span class=&quot;absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
Element: &lt;div class=&quot;absolute bottom-0 left-0 right-0 z-50 w-full min-w-0&quot; aria-label=&quot;Player bar container&quot;&gt;
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
Element: &lt;button class=&quot;inline-flex items-ce...&quot;&gt;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button type=&quot;button&quot; class=&quot;appearance-none bg-transparent border-0 p-0 block w-full text-left rela
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
Element: &lt;button class=&quot;flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Element: &lt;span class=&quot;ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
Element: &lt;span class=&quot;transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
FIX: Fix any of the followin</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Admin Dashboard (/admin) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
• [critical] button-name: Ensure buttons have discernible text
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
• [critical] label: Ensure every form element has a label
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 4</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
[AXE] [CRITICAL] label: Ensure every form element has a label
FIX: Fix any of the following:
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element has no placeholder attribute
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Moderation (/admin/moderation) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /admin/moderation:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
• [critical] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
• [critical] button-name: Ensure buttons have discernible text
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
• [critical] label: Ensure every form element has a label
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 5</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
FIX: Fix any of the following:
Required ARIA parent role not present: tablist
FIX: Fix any of the following:
Required ARIA parent role not present: tablist
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
[AXE] [CRITICAL] label: Ensure every form element has a label
FIX: Fix any of the following:
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element has no placeholder attribute
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Platform (/admin/platform) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /admin/platform:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
• [critical] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
• [critical] button-name: Ensure buttons have discernible text
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
• [critical] label: Ensure every form element has a label
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 5</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
FIX: Fix any of the following:
Required ARIA parent role not present: tablist
FIX: Fix any of the following:
Required ARIA parent role not present: tablist
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
[AXE] [CRITICAL] label: Ensure every form element has a label
FIX: Fix any of the following:
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element has no placeholder attribute
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Transfers (/admin/transfers) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin/transfers:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
• [critical] button-name: Ensure buttons have discernible text
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
• [critical] label: Ensure every form element has a label
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 4</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
[AXE] [CRITICAL] label: Ensure every form element has a label
FIX: Fix any of the following:
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element has no placeholder attribute
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
</pre></details>
</div>
<div class="problem">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Roles (/admin/roles) — zéro violation WCAG AA critique</strong></div>
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
</div>
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin/roles:
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
• [critical] button-name: Ensure buttons have discernible text
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
• [critical] label: Ensure every form element has a label
expect(received).toBe(expected) // Object.is equality
Expected: 0
Received: 4</div>
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
FIX: Fix all of the following:
aria-label attribute cannot be used on a span with no valid role attribute.
FIX: Fix all of the following:
aria-label attribute cannot be used on a div with no valid role attribute.
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
FIX: Fix any of the following:
Element does not have inner text that is visible to screen readers
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
FIX: Fix any of the following:
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
FIX: Fix any of the following:
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
[AXE] [CRITICAL] label: Ensure every form element has a label
FIX: Fix any of the following:
Element does not have an implicit (wrapped) &lt;label&gt;
Element does not have an explicit &lt;label&gt;
aria-label attribute does not exist or is empty
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
Element has no title attribute
Element has no placeholder attribute
Element's default semantics were not overridden with role=&quot;none&quot; or role=&quot;presentation&quot;
</pre></details>
</div>
<details>
<summary>Tests passés (2)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email (/verify-email) — zéro violation WCAG AA critique</span>
<span class="timestamp">5224ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password (/reset-password) — zéro violation WCAG AA critique</span>
<span class="timestamp">4517ms</span>
</div>
</details>
<h2>🛡️ Éthique — 100%</h2>
<details>
<summary>Tests passés (6)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Aucun compteur de &quot;likes&quot; ou &quot;plays&quot; visible publiquement</span>
<span class="timestamp">15310ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Aucun élément de gamification (XP, streak, badge, leaderboard)</span>
<span class="timestamp">14430ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Pas de dark patterns UX — désinscription facile</span>
<span class="timestamp">7882ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Pas de notifications push manipulatrices</span>
<span class="timestamp">5370ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Le feed est chronologique (pas de ranking comportemental)</span>
<span class="timestamp">8416ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>Pas d'imports AI/ML/blockchain interdits dans le bundle</span>
<span class="timestamp">8880ms</span>
</div>
</details>
<h2>📸 Screenshots — 100%</h2>
<details>
<summary>Tests passés (64)</summary>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Login @ desktop</span>
<span class="timestamp">2807ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Register @ desktop</span>
<span class="timestamp">2721ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Forgot Password @ desktop</span>
<span class="timestamp">2655ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email @ desktop</span>
<span class="timestamp">2889ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password @ desktop</span>
<span class="timestamp">2832ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Login @ mobile</span>
<span class="timestamp">1945ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Register @ mobile</span>
<span class="timestamp">2074ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Forgot Password @ mobile</span>
<span class="timestamp">1980ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Verify Email @ mobile</span>
<span class="timestamp">1859ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PUBLIC] Reset Password @ mobile</span>
<span class="timestamp">2083ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Dashboard @ desktop</span>
<span class="timestamp">5827ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed @ desktop</span>
<span class="timestamp">5582ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover @ desktop</span>
<span class="timestamp">5839ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Library @ desktop</span>
<span class="timestamp">5836ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Queue @ desktop</span>
<span class="timestamp">5614ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Search @ desktop</span>
<span class="timestamp">5766ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Profile @ desktop</span>
<span class="timestamp">6203ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings @ desktop</span>
<span class="timestamp">5952ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Sessions @ desktop</span>
<span class="timestamp">12230ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications @ desktop</span>
<span class="timestamp">5741ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Playlists @ desktop</span>
<span class="timestamp">5763ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Social @ desktop</span>
<span class="timestamp">6195ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Chat @ desktop</span>
<span class="timestamp">5872ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Marketplace @ desktop</span>
<span class="timestamp">5708ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Wishlist @ desktop</span>
<span class="timestamp">5577ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Purchases @ desktop</span>
<span class="timestamp">5717ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Subscription @ desktop</span>
<span class="timestamp">5848ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Live @ desktop</span>
<span class="timestamp">5860ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Cloud @ desktop</span>
<span class="timestamp">5871ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Education @ desktop</span>
<span class="timestamp">5638ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Support @ desktop</span>
<span class="timestamp">5824ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Dashboard @ mobile</span>
<span class="timestamp">5048ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Feed @ mobile</span>
<span class="timestamp">5079ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Discover @ mobile</span>
<span class="timestamp">5268ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Library @ mobile</span>
<span class="timestamp">5305ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Queue @ mobile</span>
<span class="timestamp">5314ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Search @ mobile</span>
<span class="timestamp">4970ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Profile @ mobile</span>
<span class="timestamp">5381ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Settings @ mobile</span>
<span class="timestamp">5262ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Sessions @ mobile</span>
<span class="timestamp">10544ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Notifications @ mobile</span>
<span class="timestamp">5258ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Playlists @ mobile</span>
<span class="timestamp">5169ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Social @ mobile</span>
<span class="timestamp">5729ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Chat @ mobile</span>
<span class="timestamp">5230ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Marketplace @ mobile</span>
<span class="timestamp">5139ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Wishlist @ mobile</span>
<span class="timestamp">5029ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Purchases @ mobile</span>
<span class="timestamp">5241ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Subscription @ mobile</span>
<span class="timestamp">5092ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Live @ mobile</span>
<span class="timestamp">5161ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Cloud @ mobile</span>
<span class="timestamp">5304ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Education @ mobile</span>
<span class="timestamp">4997ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[PROTECTED] Support @ mobile</span>
<span class="timestamp">5568ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Analytics @ desktop</span>
<span class="timestamp">6019ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Seller Dashboard @ desktop</span>
<span class="timestamp">7301ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Distribution @ desktop</span>
<span class="timestamp">5864ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Gear @ desktop</span>
<span class="timestamp">5742ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Go Live @ desktop</span>
<span class="timestamp">5572ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Developer @ desktop</span>
<span class="timestamp">5809ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[CREATOR] Webhooks @ desktop</span>
<span class="timestamp">5441ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[ADMIN] Admin Dashboard @ desktop</span>
<span class="timestamp">5596ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[ADMIN] Moderation @ desktop</span>
<span class="timestamp">5397ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[ADMIN] Platform @ desktop</span>
<span class="timestamp">5353ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[ADMIN] Transfers @ desktop</span>
<span class="timestamp">5484ms</span>
</div>
<div class="test-row">
<span class="badge pass">OK</span>
<span>[ADMIN] Roles @ desktop</span>
<span class="timestamp">5615ms</span>
</div>
</details>
<h2>📸 Screenshots de référence (64)</h2>
<div class="screenshot-grid">
<div class="screenshot-card">
<img src="screenshots/admin-admin-dashboard-desktop.png" alt="admin-admin-dashboard-desktop.png" loading="lazy" />
<div class="caption">admin admin dashboard desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/admin-moderation-desktop.png" alt="admin-moderation-desktop.png" loading="lazy" />
<div class="caption">admin moderation desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/admin-platform-desktop.png" alt="admin-platform-desktop.png" loading="lazy" />
<div class="caption">admin platform desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/admin-roles-desktop.png" alt="admin-roles-desktop.png" loading="lazy" />
<div class="caption">admin roles desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/admin-transfers-desktop.png" alt="admin-transfers-desktop.png" loading="lazy" />
<div class="caption">admin transfers desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-analytics-desktop.png" alt="creator-analytics-desktop.png" loading="lazy" />
<div class="caption">creator analytics desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-developer-desktop.png" alt="creator-developer-desktop.png" loading="lazy" />
<div class="caption">creator developer desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-distribution-desktop.png" alt="creator-distribution-desktop.png" loading="lazy" />
<div class="caption">creator distribution desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-gear-desktop.png" alt="creator-gear-desktop.png" loading="lazy" />
<div class="caption">creator gear desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-go-live-desktop.png" alt="creator-go-live-desktop.png" loading="lazy" />
<div class="caption">creator go live desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-seller-dashboard-desktop.png" alt="creator-seller-dashboard-desktop.png" loading="lazy" />
<div class="caption">creator seller dashboard desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/creator-webhooks-desktop.png" alt="creator-webhooks-desktop.png" loading="lazy" />
<div class="caption">creator webhooks desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-chat-desktop.png" alt="protected-chat-desktop.png" loading="lazy" />
<div class="caption">protected chat desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-chat-mobile.png" alt="protected-chat-mobile.png" loading="lazy" />
<div class="caption">protected chat mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-cloud-desktop.png" alt="protected-cloud-desktop.png" loading="lazy" />
<div class="caption">protected cloud desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-cloud-mobile.png" alt="protected-cloud-mobile.png" loading="lazy" />
<div class="caption">protected cloud mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-dashboard-desktop.png" alt="protected-dashboard-desktop.png" loading="lazy" />
<div class="caption">protected dashboard desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-dashboard-mobile.png" alt="protected-dashboard-mobile.png" loading="lazy" />
<div class="caption">protected dashboard mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-discover-desktop.png" alt="protected-discover-desktop.png" loading="lazy" />
<div class="caption">protected discover desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-discover-mobile.png" alt="protected-discover-mobile.png" loading="lazy" />
<div class="caption">protected discover mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-education-desktop.png" alt="protected-education-desktop.png" loading="lazy" />
<div class="caption">protected education desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-education-mobile.png" alt="protected-education-mobile.png" loading="lazy" />
<div class="caption">protected education mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-feed-desktop.png" alt="protected-feed-desktop.png" loading="lazy" />
<div class="caption">protected feed desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-feed-mobile.png" alt="protected-feed-mobile.png" loading="lazy" />
<div class="caption">protected feed mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-library-desktop.png" alt="protected-library-desktop.png" loading="lazy" />
<div class="caption">protected library desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-library-mobile.png" alt="protected-library-mobile.png" loading="lazy" />
<div class="caption">protected library mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-live-desktop.png" alt="protected-live-desktop.png" loading="lazy" />
<div class="caption">protected live desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-live-mobile.png" alt="protected-live-mobile.png" loading="lazy" />
<div class="caption">protected live mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-marketplace-desktop.png" alt="protected-marketplace-desktop.png" loading="lazy" />
<div class="caption">protected marketplace desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-marketplace-mobile.png" alt="protected-marketplace-mobile.png" loading="lazy" />
<div class="caption">protected marketplace mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-notifications-desktop.png" alt="protected-notifications-desktop.png" loading="lazy" />
<div class="caption">protected notifications desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-notifications-mobile.png" alt="protected-notifications-mobile.png" loading="lazy" />
<div class="caption">protected notifications mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-playlists-desktop.png" alt="protected-playlists-desktop.png" loading="lazy" />
<div class="caption">protected playlists desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-playlists-mobile.png" alt="protected-playlists-mobile.png" loading="lazy" />
<div class="caption">protected playlists mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-profile-desktop.png" alt="protected-profile-desktop.png" loading="lazy" />
<div class="caption">protected profile desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-profile-mobile.png" alt="protected-profile-mobile.png" loading="lazy" />
<div class="caption">protected profile mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-purchases-desktop.png" alt="protected-purchases-desktop.png" loading="lazy" />
<div class="caption">protected purchases desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-purchases-mobile.png" alt="protected-purchases-mobile.png" loading="lazy" />
<div class="caption">protected purchases mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-queue-desktop.png" alt="protected-queue-desktop.png" loading="lazy" />
<div class="caption">protected queue desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-queue-mobile.png" alt="protected-queue-mobile.png" loading="lazy" />
<div class="caption">protected queue mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-search-desktop.png" alt="protected-search-desktop.png" loading="lazy" />
<div class="caption">protected search desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-search-mobile.png" alt="protected-search-mobile.png" loading="lazy" />
<div class="caption">protected search mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-sessions-desktop.png" alt="protected-sessions-desktop.png" loading="lazy" />
<div class="caption">protected sessions desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-sessions-mobile.png" alt="protected-sessions-mobile.png" loading="lazy" />
<div class="caption">protected sessions mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-settings-desktop.png" alt="protected-settings-desktop.png" loading="lazy" />
<div class="caption">protected settings desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-settings-mobile.png" alt="protected-settings-mobile.png" loading="lazy" />
<div class="caption">protected settings mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-social-desktop.png" alt="protected-social-desktop.png" loading="lazy" />
<div class="caption">protected social desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-social-mobile.png" alt="protected-social-mobile.png" loading="lazy" />
<div class="caption">protected social mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-subscription-desktop.png" alt="protected-subscription-desktop.png" loading="lazy" />
<div class="caption">protected subscription desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-subscription-mobile.png" alt="protected-subscription-mobile.png" loading="lazy" />
<div class="caption">protected subscription mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-support-desktop.png" alt="protected-support-desktop.png" loading="lazy" />
<div class="caption">protected support desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-support-mobile.png" alt="protected-support-mobile.png" loading="lazy" />
<div class="caption">protected support mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-wishlist-desktop.png" alt="protected-wishlist-desktop.png" loading="lazy" />
<div class="caption">protected wishlist desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/protected-wishlist-mobile.png" alt="protected-wishlist-mobile.png" loading="lazy" />
<div class="caption">protected wishlist mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-forgot-password-desktop.png" alt="public-forgot-password-desktop.png" loading="lazy" />
<div class="caption">public forgot password desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-forgot-password-mobile.png" alt="public-forgot-password-mobile.png" loading="lazy" />
<div class="caption">public forgot password mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-login-desktop.png" alt="public-login-desktop.png" loading="lazy" />
<div class="caption">public login desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-login-mobile.png" alt="public-login-mobile.png" loading="lazy" />
<div class="caption">public login mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-register-desktop.png" alt="public-register-desktop.png" loading="lazy" />
<div class="caption">public register desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-register-mobile.png" alt="public-register-mobile.png" loading="lazy" />
<div class="caption">public register mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-reset-password-desktop.png" alt="public-reset-password-desktop.png" loading="lazy" />
<div class="caption">public reset password desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-reset-password-mobile.png" alt="public-reset-password-mobile.png" loading="lazy" />
<div class="caption">public reset password mobile</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-verify-email-desktop.png" alt="public-verify-email-desktop.png" loading="lazy" />
<div class="caption">public verify email desktop</div>
</div>
<div class="screenshot-card">
<img src="screenshots/public-verify-email-mobile.png" alt="public-verify-email-mobile.png" loading="lazy" />
<div class="caption">public verify email mobile</div>
</div>
</div>
<hr style="border-color: var(--border); margin: 2rem 0;">
<p class="timestamp">Rapport généré par Veza Audit Suite — 350 tests, 245 passés, 104 échoués</p>
<p style="font-size:0.75rem;color:var(--text-muted);margin-top:0.5rem;">Pour corriger les problèmes, copiez les blocs "FIX" et donnez-les à Claude Code.</p>
</div>
<script>
// Toggle category details
document.querySelectorAll('.category-header').forEach(header => {
header.addEventListener('click', () => {
const body = header.nextElementSibling;
body.style.display = body.style.display === 'none' ? 'block' : 'none';
});
});
</script>
</body>
</html>