From 239b01e3113944fb6853a84cb20a238864f5ae62 Mon Sep 17 00:00:00 2001 From: Peter Foster Date: Sun, 22 Feb 2026 12:00:23 +0000 Subject: [PATCH] CSS: nuclear cursor fix using cursor:inherit on all elements Adds `*, *::before, *::after { cursor: inherit }` after the html/body cursor:default rules. This forces explicit inheritance at every element level, which is the only reliable cross-browser fix (Chrome, Firefox, Safari all differ in how cursor auto-resolution works on text content). Restores cursor:pointer for links/buttons and cursor:text for inputs. --- assets/css/main.css | 20 ++++++++++++++++++++ assets/css/main.min.css | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/assets/css/main.css b/assets/css/main.css index f801acc..9b01fd3 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -18,6 +18,26 @@ body { cursor: default; } + +/* Force cursor inheritance - guarantees arrow cursor cross-browser */ +*, *::before, *::after { + cursor: inherit; +} + +/* Restore pointer for interactive elements */ +a, button, [role="button"], label, select, +input[type="submit"], input[type="button"], input[type="reset"], +input[type="checkbox"], input[type="radio"], +.btn, summary { + cursor: pointer; +} + +/* Restore text cursor for inputs */ +input[type="text"], input[type="email"], input[type="search"], +input[type="password"], input[type="url"], input[type="tel"], +input[type="number"], textarea, [contenteditable="true"] { + cursor: text; +} /* Utility Classes */ .container { max-width: 1200px; diff --git a/assets/css/main.min.css b/assets/css/main.min.css index 13440cf..522becb 100644 --- a/assets/css/main.min.css +++ b/assets/css/main.min.css @@ -18,6 +18,26 @@ body { cursor: default; } + +/* Force cursor inheritance - guarantees arrow cursor cross-browser */ +*, *::before, *::after { + cursor: inherit; +} + +/* Restore pointer for interactive elements */ +a, button, [role="button"], label, select, +input[type="submit"], input[type="button"], input[type="reset"], +input[type="checkbox"], input[type="radio"], +.btn, summary { + cursor: pointer; +} + +/* Restore text cursor for inputs */ +input[type="text"], input[type="email"], input[type="search"], +input[type="password"], input[type="url"], input[type="tel"], +input[type="number"], textarea, [contenteditable="true"] { + cursor: text; +} /* Utility Classes */ .container { max-width: 1200px;