Design health

OpenVibe.Chat

87.8 16 files read at 61cb969, Nov 1, 2026.

Spinners0
No reduced motion0
Hand-set timings29
Hand-set curves7
Colours outside the theme64

Where

25 of 100: the ones that cost most, from as many files as possible. Each opens its line on GitHub.

  1. Timingpublic/web/chat.css:127@media (prefers-reduced-motion: no-preference) { .oc-ring:not(.oc-ring-gone) { animation: oc-ring-in .25s ease-out; } @keyframes oc-ring-in { from { transform:
  2. Curvepublic/web/chat.css:127@media (prefers-reduced-motion: no-preference) { .oc-ring:not(.oc-ring-gone) { animation: oc-ring-in .25s ease-out; } @keyframes oc-ring-in { from { transform:
  3. Timingpublic/web/chat.css:155.oc-srv-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; background: hsl(var(--oc-h
  4. Timingpublic/web/chat.css:155.oc-srv-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; background: hsl(var(--oc-h
  5. Curvepublic/web/chat.css:155.oc-srv-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; background: hsl(var(--oc-h
  6. Curvepublic/web/chat.css:155.oc-srv-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; background: hsl(var(--oc-h
  7. Timingpublic/web/chat.css:360.oc-task-running .oc-task-state { background: var(--oc-accent); color: var(--oc-on-accent); animation: oc-work 1.6s ease-in-out infinite; }
  8. Timingpublic/web/embed.css:37.em-dots { display: inline-flex; gap: 4px; } .em-dots i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .4; animation: emDot 1
  9. Timingpublic/web/feed-view.css:9.fv-live .fv-dot { background: var(--fv-ok); box-shadow: 0 0 0 0 color-mix(in srgb, var(--fv-ok) 60%, transparent); animation: fvPulse 2s infinite; }
  10. Timingpublic/web/feed-view.css:15.fv-chev { color: var(--fv-muted); transition: transform .15s; }
  11. Timingpublic/web/vibe.css:28transition: background .15s, border-color .15s;
  12. Timingpublic/web/vibe.css:28transition: background .15s, border-color .15s;
  13. Timingpublic/web/vibe.css:42.vb-how summary::before { content: "▸"; display: inline-block; margin-right: 6px; transition: transform .15s; }
  14. Timingpublic/web/vibe.css:140.vb-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--oc-muted); opacity: .35; animation: vbDot 1.2s infinite ease-in-out; }
  15. Curvepublic/web/vibe.css:140.vb-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--oc-muted); opacity: .35; animation: vbDot 1.2s infinite ease-in-out; }
  16. Timingpublic/web/vibe.css:178transition: background .15s, border-color .15s, transform .15s;
  17. Timingpublic/web/vibe.css:178transition: background .15s, border-color .15s, transform .15s;
  18. Timingpublic/web/widget.js:49'background:var(--c);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.28);display:grid;place-items:center;transition:transform .15s}' +
  19. Timingpublic/web/widget.js:55'box-shadow:0 24px 70px rgba(0,0,0,.35);background:#0a0f1c;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .16s,transform .2s}' +
  20. Timingpublic/web/widget.js:55'box-shadow:0 24px 70px rgba(0,0,0,.35);background:#0a0f1c;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .16s,transform .2s}' +
  21. Colourpublic/web/embed.css:3:root { --bg: #ffffff; --panel: #f4f6fa; --text: #101828; --muted: #5b6577; --line: #e3e7ef; --mine: #eef2fb; color-scheme: light; }
  22. Colourpublic/web/embed.css:3:root { --bg: #ffffff; --panel: #f4f6fa; --text: #101828; --muted: #5b6577; --line: #e3e7ef; --mine: #eef2fb; color-scheme: light; }
  23. Colourpublic/web/embed.css:3:root { --bg: #ffffff; --panel: #f4f6fa; --text: #101828; --muted: #5b6577; --line: #e3e7ef; --mine: #eef2fb; color-scheme: light; }
  24. Colourpublic/web/embed.css:3:root { --bg: #ffffff; --panel: #f4f6fa; --text: #101828; --muted: #5b6577; --line: #e3e7ef; --mine: #eef2fb; color-scheme: light; }
  25. Colourpublic/web/embed.css:3:root { --bg: #ffffff; --panel: #f4f6fa; --text: #101828; --muted: #5b6577; --line: #e3e7ef; --mine: #eef2fb; color-scheme: light; }

Every site · How it is measured · /api/v1/design-health/chat