Add AES-256-GCM encryption mode with toggle switch, PBKDF2 key derivation, and dynamic info bar showing algorithm details
Add inline SVG icon (green TxtCipher text on grey background) as favicon, apple-touch-icon, and PWA manifest icon
Improve PWA offline reliability: add inline manifest, request persistent storage, match navigation requests broadly in service worker
Align password byte count next to input field in narrow view, below it in wide view
Move Clear button to header, move Copy/Swap buttons below output field
Visual feedback: red/green byte count, gray Encrypt/Decrypt buttons when password or input is empty
Make password eye button tooltip dynamic: 'Show password' / 'Hide password'
Replace password show/hide toggle with eye icon button inside password field, fix input overflow
Remove ObjC key length warning, simplify password hint to just show byte count
Remove cipher description text, center info bar content
Make textarea height responsive: stretch in wide layout, compact in narrow/mobile layout
Left-align text in Copy/Swap/Clear buttons
Center the RC4 security warning in the info bar
Reduce letter-spacing across all UI elements for more natural text appearance
Remove forced uppercase: use mixed case for labels, buttons, and stats bar
Reduce Encrypt/Decrypt button font size so they fit within the center column
Improve readability: larger/bolder fonts, switch to system sans-serif, remove Google Fonts dependency
Revert to hardcoded version number, remove SVN keyword substitution (doesn't work when serving from repo)
Include major version 1 in the auto-generated version string: v1.YY.M.rev
Derive version from SVN Date and Rev keywords: v{YY}.{M}.{rev}
Automate version number from SVN revision using $Rev$ keyword substitution
Improve contrast of muted text in both themes: darker in light mode (#888 -> #444), brighter in dark mode (#555 -> #aaa)
Fix key hint pluralization: show 'bytes' for 0 and 2+, 'byte' for 1
Strip all whitespace from Base64 input before decoding so pasted ciphertext with line breaks works
Show friendly error for invalid Base64 input instead of raw DOMException message
Add activate handler to service worker to delete stale caches on version bump
Fix service worker to cache actual page URL instead of hardcoded '/' so offline mode works from any subpath
Guard against empty key in rc4() to prevent division-by-zero on key.length
Initial version, vibe coded with Claude.ai