From a3462af0055b3a067861c77c1e1fd263d2a678d2 Mon Sep 17 00:00:00 2001 From: Aneurin Barker Snook Date: Fri, 4 Sep 2026 22:03:38 +0100 Subject: [PATCH] Fix the broken input focus outline, unify input styling, tokenize scales The root cause of 'some inputs show a focus outline, most don't': the global input:focus/textarea:focus/select:focus rule (outline:none, border-color: accent) has specificity (0,0,1,1). Every per-component rule shaped '.wrapper input { border: 1px solid var(--border) }' (.form input, .field-row input, .kanban__new input, .sidebar__select select, .modal__field select) ties it exactly, and -- being unconditional -- silently won that tie by simply appearing later in the file, so the input's border stayed var(--border) forever regardless of focus. Only two controls escaped: .project-card__name-input (a class applied directly to the element, (0,0,1,0), too low to ever win the tie) and .card-row__text (has its own .card-row__text:focus, (0,0,2,0), genuinely higher). Confirmed with a live computed-style test against the real stylesheet before and after. Fix: one canonical .field class (plus .field--compact for inline 'add' rows and the sidebar, .field--autosize for the dashboard's JS-grown textarea), applied directly to the /