diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 0000000..58090bc --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,7 @@ +## 2026-05-03 - Layout Shift Prevention in Navigation +**Learning:** When using borders as hover indicators in a terminal-style navigation, initializing the element with a transparent border of the same width (e.g., `border-bottom: 2px solid transparent;`) prevents layout shifts (jank) when the active border is applied on hover. +**Action:** Always initialize hover-bordered elements with a transparent border to ensure visual stability. + +## 2026-05-03 - Contextual Utility Visibility +**Learning:** Using Tailwind's `group-hover` and `focus` utilities allows for "clean" UI that only shows utility buttons (like "Copy") when relevant. Ensuring `focus:opacity-100` is critical for keyboard accessibility so that tab-navigation reveals these hidden actions. +**Action:** Use `group` on containers and `group-hover:opacity-100 focus:opacity-100` on contextual actions to balance aesthetics and accessibility. diff --git a/index.html b/index.html index 449cb15..2cc1219 100644 --- a/index.html +++ b/index.html @@ -15,9 +15,12 @@ .industrial-border { border: 2px solid #27272a; } .license-box { background: #000; border: 1px solid #3f3f46; position: relative; } - .nav-link { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.2em; color: #a1a1aa; transition: all 0.2s; } + .nav-link { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.2em; color: #a1a1aa; transition: all 0.2s; border-bottom: 2px solid transparent; } .nav-link:hover { color: #fff; border-bottom: 2px solid var(--lime); } + @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } + .terminal-blink { animation: blink 1s step-end infinite; } + .roadmap-card { border-left: 2px solid #3f3f46; transition: all 0.3s ease; } .roadmap-card:hover { border-left-color: var(--lime); background: #111113; } @@ -30,7 +33,7 @@