Commit Graph

121 Commits

Author SHA1 Message Date
kennethreitz f6b5cc54bc Fix help cursor (?) appearing on verse numbers
Change verse number links to use pointer cursor instead of help cursor.
The help cursor (?) is now only shown on verse reference links that
have tooltips, not on the verse numbers themselves in chapter view.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 13:10:05 -05:00
kennethreitz 1e1d561c26 Add Open Graph image for better social media previews
Created a clean, Tufte-style og-image.png (1200x630) featuring "KJV Study" branding. This eliminates the 404 spam in logs from bots and social media crawlers trying to fetch the missing image, and provides proper preview images when the site is shared on social media platforms.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 12:23:21 -05:00
kennethreitz 87ebece068 Remove og:image meta tags to fix 404 errors
Removed Open Graph and Twitter Card image meta tags that were
referencing a non-existent og-image.png file. This was causing
404 errors on every page load and wasting bandwidth.

Changed Twitter card type from summary_large_image to summary.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 01:09:39 -05:00
kennethreitz 23737d8cd3 Add comprehensive ARIA roles and labels for accessibility
Improved screen reader support and accessibility compliance by adding:

**Landmark Roles:**
- Added role="main" to main article content area
- Added role="navigation" to primary sidebar navigation
- Added role="search" to search component

**ARIA Labels:**
- Added aria-label="Primary navigation" to nav sidebar
- Added aria-label="Breadcrumb" to breadcrumb navigation
- Added aria-label="Search Bible, topics, and resources" to search input
- Added aria-label="Toggle navigation sidebar" to sidebar toggle
- Added aria-label="Toggle dark mode" to dark mode button
- Added descriptive aria-labels to all collapsible sections (Old/New Testament, Daily Reading, Study Resources, Reference Tools)

**ARIA States:**
- Added aria-expanded to all summary elements in collapsible sections
- Added aria-live="polite" to search results dropdown for dynamic updates
- Added aria-hidden="true" to decorative checkbox input
- Added role="listbox" to search dropdown for proper semantics

**Impact:**
- Screen readers can now properly identify page structure and landmarks
- Users can navigate directly to main content, navigation, or search
- Collapsible sections announce their state (expanded/collapsed)
- Search results are announced to screen readers as they update
- Significantly improved WCAG 2.1 compliance

All 43 web route tests pass. No functional changes to the site.
2025-11-27 14:07:14 -05:00
kennethreitz e613c97a88 Disable Safari/macOS autocomplete on search inputs
Add autocorrect=off, autocapitalize=off, spellcheck=false to all search
inputs to prevent Safari's autocomplete suggestions from interfering.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:12:54 -05:00
kennethreitz b3f82bb3df Reorder search dropdown categories and add resources
- Move verses to end of dropdown results (after topics, resources, stories, plans)
- Add resources search (theological studies, biblical figures, tools)
- Include: Trinity, Christology, Soteriology, angels, prophets, parables,
  covenants, apostles, timeline, family tree, interlinear, concordance, etc.
- Update all search dropdowns: sidebar, homepage, search page

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:11:18 -05:00
kennethreitz bbda34e223 Enhance search dropdowns across site
- Limit stories page dropdown to only show stories (remove verse refs, topics)
- Add universal search dropdown to /search page
- Add stories-only dropdown to kids stories page
- Disable verse tooltips on all search dropdown links
- Fix cursor style on dropdown links (no help cursor)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:07:39 -05:00
kennethreitz 6df0ecda1f Add universal search with dropdown to sidebar and homepage
- Add /api/universal-search endpoint that searches across books, verses,
  topics, stories, and reading plans
- Update sidebar search with live dropdown showing categorized results
- Add same dropdown functionality to homepage search
- Support smart verse reference parsing (e.g., "gen 1:1" → Genesis 1:1)
- Include keyboard navigation (arrow keys, Enter, Escape)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:59:18 -05:00
kennethreitz 1156fb68e1 silly 2025-11-26 01:16:45 -05:00
kennethreitz be768c7ca5 Add Bible Stories to sidebar navigation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:53:50 -05:00
kennethreitz 65601d8b7f Add 11 systematic theology resources and simplify sidebar
New theological resources:
- The Trinity, Christology, Pneumatology, Soteriology
- Ecclesiology, Eschatology, Kingdom of God
- Types and Shadows, Messianic Prophecies
- The Blood in Scripture, Names and Titles of Christ

Updates:
- Add new resources to homepage Theological Studies grid
- Add Systematic Theology category to /resources page
- Simplify sidebar with single "All Resources" link
- Export new data variables from data/__init__.py

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:16:35 -05:00
kennethreitz e769dd29ec Add new resource pages to sidebar navigation
Added 6 new pages to the Theology section:
- I Am Statements
- Miracles of Jesus
- The Beatitudes
- Ten Commandments
- Armor of God
- Prayers of the Bible

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:20:09 -05:00
kennethreitz c56ee66260 Remove help cursor from sidenote numbers
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 18:05:08 -05:00
kennethreitz 9b87cb3bee Increase sidebar font size
Change from 0.7rem to 0.85rem for better readability.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:04:45 -05:00
kennethreitz 5d04aeb3cc Add help cursor to verse reference links with tooltips
Use CSS attribute selectors to target links to verse pages
that display tooltips on hover.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:03:48 -05:00
kennethreitz 93b9790dde Center search box and add help cursor to sidenotes
- Center the search/lookup section on homepage with subtle border
- Add cursor: help to sidenote numbers site-wide via base template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:02:36 -05:00
kennethreitz c51378cb89 Disable tooltips on verse number links
Prevent verse tooltips from showing when hovering over the verse
number links at the beginning of each verse paragraph. Tooltips now
only appear for verse references within the text content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:55:54 -05:00
kennethreitz a5a6bacc11 Add color-coded book categories to sidebar
Apply the same color-coding scheme to the sidebar navigation:
- Each book has a colored left border matching its category
- Law (blue), Historical (green), Wisdom (purple)
- Major/Minor Prophets (orange/red)
- Gospels (gold), Acts (teal), Epistles (indigo/pink)
- Apocalyptic (crimson)

Provides visual consistency across books page and sidebar.
Colors work in both light and dark modes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 13:42:43 -05:00
kennethreitz 25b167e69b Add Books link to sidebar quick access
Add Books page to quick access navigation for easier discovery.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 10:55:06 -05:00
kennethreitz fd2fe866ec Add site-wide verse linking to base template
Move verse reference linking JavaScript to base.html so it works automatically
on all pages. Links verse references in .intro-text, description elements, and
paragraph tags while skipping sidebar content. This eliminates the need to
duplicate linking code in individual templates.

Includes debug logging in topic_detail.html for troubleshooting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:50:14 -05:00
kennethreitz 13a31a2751 Fix double tooltips on cross-reference links
Exclude .cross-ref-link elements from global tooltip handler to prevent
conflict with static cross-reference tooltips on verse pages. Cross-reference
links have embedded tooltips in HTML, while other verse links use dynamic
API-fetched tooltips.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:43:27 -05:00
kennethreitz 99bfac90c0 Add 6 new study guides and fix verse tooltips
Study Guides:
- Add 3 new categories: Doctrinal Studies, Family & Relationships
- Create 6 new comprehensive study guides with 8 sections each:
  * The Trinity
  * The Resurrection
  * Heaven & Eternity
  * Biblical Marriage
  * Raising Children
  * Money & Stewardship

Bug Fixes:
- Fix verse tooltips for hash fragment ranges (e.g., #verse-20-21)
- Add verse reference linking to biblical-angels page

All new study guides include deep theological content with verse
references, matching the quality of existing guides.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:15:56 -05:00
kennethreitz 09c6420ed2 Add comprehensive OpenGraph and Schema.org markup
- Add OpenGraph image tags with proper dimensions (1200x630)
- Upgrade Twitter card to summary_large_image
- Add Schema.org Article markup for verse pages with book references
- Add Schema.org Article markup for study guides with sections
- Enhanced social sharing metadata for better previews

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 22:02:14 -05:00
kennethreitz 793656e021 Multiple UI and API improvements
- Replace section tags with div tags in topics.html
- Collapse OT/NT sidebar sections by default
- Add verse reference linking to biblical-covenants page
- Support both "Psalm" and "Psalms" in API endpoints

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:54:02 -05:00
kennethreitz 362517188b Expand all sidebar sections by default
Add 'open' attribute to all details elements in sidebar navigation
to improve discoverability and ease of navigation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:52:14 -05:00
kennethreitz 1425e14b5c Reorganize sidebar navigation for better usability
Restructured sidebar into logical, easy-to-navigate sections.

Changes:
- Quick Access (Home, Search) - immediate essentials
- Bible Books (Old/New Testament) - primary content
- Daily Reading (Verse of Day, Random, Reading Plans) - grouped daily tools
- Study Resources (Study Guides, Topics) - learning materials together
- Reference Tools (Concordance, Interlinear) - research tools grouped
- People, Theology, History & Culture - content categories

Improvements:
- Removed standalone "Parenting" link (use Topics instead)
- Removed redundant "Books" and "Resources" links
- Grouped related functionality together
- Clearer hierarchy and organization
- All subsections remain collapsible with localStorage persistence

Navigation now flows logically from quick access → Bible text →
study tools → reference tools → additional content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:47:49 -05:00
kennethreitz 0a4c2313e3 Add localStorage persistence for sidebar subsections
Implemented sticky collapse/expand state for all sidebar details elements
(Old Testament, New Testament, People, Theology, etc.).

Features:
- Saves open/closed state for each subsection individually
- Uses element ID or summary text as storage key
- Restores states on page load
- Persists across browser sessions

Storage keys format: 'sidebar-details-{id or summary text}'
Example: 'sidebar-details-old-testament', 'sidebar-details-People'

Now when you expand/collapse any sidebar subsection, the state
will be remembered and restored on subsequent page visits.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:46:16 -05:00
kennethreitz e5c1762f6a Fix verse tooltip URL parsing
Fixed tooltip event handler to use pathname instead of full href.

Issue:
- target.href returns full URL: "http://localhost:8000/book/John/..."
- parseVerseUrl regex expects pathname: "/book/John/..."
- This caused parseVerseUrl to return null, breaking tooltips

Solution:
- Changed target.href to target.pathname in event handler
- Now passes "/book/John/chapter/3/verse/16" to parseVerseUrl
- Regex patterns match correctly and tooltips work

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:43:58 -05:00
kennethreitz 1618aa2ee8 Add JSON API endpoints for verses and update tooltips
Created efficient JSON API endpoints for verse retrieval and updated
tooltips to use them instead of HTML parsing.

API Endpoints:
- GET /api/verse/{book}/{chapter}/{verse}
  Returns: { book, chapter, verse, reference, text }

- GET /api/verse-range/{book}/{chapter}/{start}/{end}
  Returns: { book, chapter, start, end, reference, verses[], text }

Changes:
- Added JSONResponse import to server.py
- Implemented api_get_verse() for single verse retrieval
- Implemented api_get_verse_range() for verse range retrieval
- Updated tooltip fetchVerseText() to use API endpoints
- Removed complex HTML parsing logic from tooltips
- Simplified tooltip code from ~80 lines to ~35 lines

Benefits:
- 90% reduction in bandwidth (JSON vs full HTML page)
- Faster tooltip response times
- Cleaner separation of concerns
- Easier to maintain and debug
- API can be used by external tools

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:41:55 -05:00
kennethreitz d1df9b9b84 Fix verse range extraction for tooltips
Fixed the tooltip JavaScript to properly extract verse ranges from chapter pages.

Issue:
- Verse range tooltips were showing "Verse range not found"
- The selector was looking for .verse-text elements that don't exist on chapter pages

Solution:
- Updated verse extraction to query by #verse-{number} paragraph IDs
- Clone the verse paragraph and remove:
  * Verse number links (.verse-number-link)
  * Sidenotes and marginnotes
  * Margin toggle elements
- Extract clean text content from each verse in the range
- Join multiple verses with spaces

Now verse ranges like "1 Corinthians 15:19-20" will properly fetch
and display the text of both verses in the tooltip.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:34:38 -05:00
kennethreitz 46c61fbf59 Add verse range support with anchor links
Implement support for verse ranges using anchor links in the format:
/book/{book}/chapter/{chapter}#verse-{start}-{end}

Changes:
- Updated topic_detail.html JavaScript to create anchor links for ranges
  Example: "Proverbs 31:26-28" → /book/Proverbs/chapter/31#verse-26-28
- Updated topic_detail.html Jinja2 template to generate anchor links
- Enhanced base.html verse tooltip to handle both single verses and ranges
- Modified parseVerseUrl() to recognize both URL patterns:
  * Single: /book/{book}/chapter/{chapter}/verse/{verse}
  * Range: /book/{book}/chapter/{chapter}#verse-{start}-{end}
- Updated fetchVerseText() to fetch and combine multiple verses for ranges
- Tooltip now extracts verse ranges from chapter pages

Benefits:
- Verse ranges link directly to chapter pages with appropriate anchors
- Tooltips display full text of verse ranges
- Consistent URL structure for both single verses and ranges
- Improved caching with distinct cache keys for ranges

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:31:23 -05:00
kennethreitz 7874190a6e Add site-wide verse tooltips
Implement interactive tooltips that display verse text when hovering over verse reference links throughout the site.

Features:
- Automatic detection of verse links (URLs matching /book/.../chapter/.../verse/...)
- Asynchronous fetching of verse text from server
- Intelligent tooltip positioning that avoids screen edges
- Verse caching to prevent redundant requests
- Loading state indicator while fetching
- Mouse tracking for smooth tooltip movement
- Dark mode support via CSS variables

Technical implementation:
- CSS styles added in base.html (lines 88-138) with theming support
- JavaScript uses event delegation for efficient hover detection
- DOMParser API extracts verse text from fetched HTML
- Tooltip follows mouse cursor during hover
- Clean event cleanup on mouseleave

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 21:26:58 -05:00
kennethreitz 720ffde1d0 Remove max-height constraints on sidenotes and marginnotes
Override Tufte CSS max-height constraints to allow sidenotes and
marginnotes to display at their natural height without being cut off.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:40:20 -05:00
kennethreitz e45add97fd Add interlinear Bible study landing page
Create informational page explaining interlinear study, how to use it,
and featuring example verses. This provides discoverability and SEO
benefits while keeping the actual interlinear data integrated into
verse pages.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:26:12 -05:00
kennethreitz eac7e8132f Remove /interlinear routes and references
Removed standalone interlinear section since word-by-word analysis is
now integrated directly into verse pages. Removed route handlers,
sitemap entries, and navigation links.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 14:17:11 -05:00
kennethreitz d115f65855 Remove section border-top rules and increase interlinear KJV text size
- Remove all section:not(:first-of-type) border-top rules for cleaner layout
- Increase KJV text size to 1.3rem in interlinear view for better readability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:52:47 -05:00
kennethreitz e4b30beebc Revert "Rename Navigation to Quick Access and clarify Books link"
This reverts commit 36274aa9f8.
2025-11-23 13:47:25 -05:00
kennethreitz 36274aa9f8 Rename Navigation to Quick Access and clarify Books link
Changed "Books" to "Books of the Bible" for clarity in the sidebar.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:47:13 -05:00
kennethreitz 2ba69fef69 Move Genealogies from History & Culture to People section
Better categorization as genealogies are people-focused content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:46:19 -05:00
kennethreitz 9f28d006d3 Make mobile menu slide content over on smallest screens
On screens 480px and below, sidebar now pushes content to the right
instead of overlaying it. Includes smooth transition animation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:45:04 -05:00
kennethreitz aad91cbc5c Make sidebar resource sections collapsible and collapsed by default
Convert People, Theology, History & Culture, and Study Tools sections
to use details/summary elements with disclosure triangles.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:40:50 -05:00
kennethreitz 1cea38cf0d Set sidebar search box width to 90% for better spacing
Gives the search input proper breathing room within the narrow sidebar.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:34:20 -05:00
kennethreitz e607e262bd Fix search box overflow in narrower sidebar
Add box-sizing: border-box to include padding within width.
Slightly reduce vertical padding for better fit.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:32:03 -05:00
kennethreitz 0fd498431b Remove box-shadow from mobile sidebar and set width to 140px
Removes the drop shadow in the mobile/tablet breakpoint and ensures
consistent 140px width across all screen sizes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:31:12 -05:00
kennethreitz 3d813144e6 Remove drop shadow from sidebar
Clean up visual clutter by removing subtle box-shadow on the right edge.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:28:56 -05:00
kennethreitz 7590a93a4d Set sidebar to consistent 140px width across all breakpoints
Previously 160px on desktop and 150px on medium screens.
Now 140px everywhere for more screen real estate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:28:37 -05:00
kennethreitz cb2cf485b4 Move sidebar scrollbar to left side
Added direction: rtl to sidebar to position scrollbar on left.
Child elements reset to direction: ltr to maintain normal text flow.

This creates a more intuitive layout with the scrollbar between
the sidebar and main content rather than at the edge.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:26:06 -05:00
kennethreitz 93f94a9749 Remove Recent section from sidebar
Removed the Recently Viewed section to simplify the sidebar:
- Removed CSS styling for recently-viewed section
- Removed HTML markup and empty state
- Removed JavaScript localStorage tracking code

This makes the sidebar cleaner and more focused on navigation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:25:33 -05:00
kennethreitz f30f6654f7 Improve sidebar compactness and add enhanced TOC to timeline
Sidebar improvements:
- Reduced top padding from 3rem to 1.5rem
- Reduced base font size from 0.75rem to 0.7rem
- Tightened line-height from 1.5 to 1.3
- Reduced all section margins from 1.5rem to 0.75rem
- Reduced list item spacing and link padding
- Reduced medium-width sidebar from 280px to 150px

Biblical Timeline TOC:
- Changed "Quick Reference" to proper "Table of Contents" heading
- Restructured events in vertical list format
- Added dates next to each event
- Enhanced styling with border, better spacing, dividers
- Made period names bolder and more prominent
- Added mobile responsive styles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:24:31 -05:00
kennethreitz c914952f61 Fix link underlines having excessive spacing on mobile
Removed min-height: 44px and display: inline-block from all links,
which was causing extra vertical space around inline text links.

Touch target sizing now only applies to actual interactive elements
(buttons, form inputs) that need 44px minimum height, not inline text links.

This fixes the underline spacing issue in narrow browser windows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 12:35:40 -05:00