Changes verified and validated by 4 AI models:
- google/gemini-3-flash-preview
- openai/gpt-5.2
- openai/gpt-5.1-codex-max
- google/gemini-3-pro-preview
Fixes applied:
1. _article.css: Fix clamp() formula for title scaling
- Previous formula never scaled below 30px on mobile
- Now uses clamp(1.5rem, 5vw + 1rem, var(--font-size-4xl))
2. _header.css: WCAG 2.5.5 touch target compliance
- Added min-height: 44px to nav-link for both desktop and mobile
- Ensures all navigation links meet 44x44px minimum
3. _header.css: Reduced-motion support for nav transitions
- Added @media (prefers-reduced-motion: reduce) block
- Disables all nav animations for motion-sensitive users
4. _variables.css: Breakpoint documentation
- Documents canonical breakpoints for consistency
- Notes that CSS variables cannot be used in @media queries
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sources now have dual archive links where available:
- INSIEME NZZ: archive.org + archive.is
- Juris X NZZ: archive.org + archive.is
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
About page:
- Swiss Finish + Peter Principle analysis
- Documented Swiss IT disasters with verified sources
- Archive.org links for source verification
- Includes: INSIEME (CHF 116M), Juris X, Soprano, SECO scandal,
Swiss E-Voting, FIS Heer, Credit Suisse legacy IT, Swisscom outage
Privacy page:
- Satirical take on data collection (we don't)
- Static site, no tracking, no database
Terms page:
- Satirical terms of service
- Disclaimer matching the site's tone
404 page:
- Custom error page with IT disaster references
- Links back to working content
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Performance improvements:
- Use partialCached for footer and accessibility-panel
- Use js.Build with ESBuild for better JS minification
- Remove duplicate FOUC prevention code from accessibility.js
- Move footer link handler into main JS bundle
Security improvements:
- Add crossorigin="anonymous" to CSS link for SRI compliance
- Add integrity hash and crossorigin to script tag
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Theme: dark
- Dyslexia font: enabled
- Line spacing: loose
- Reading width: wide
- Enhanced focus: off (default)
- Font size: 100% (level 3)
- Reduced motion: system
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Design System:
- Custom Hugo theme "swissfini" with editorial aesthetic
- CSS custom properties for comprehensive theming
- Light, Dark, and High Contrast themes
- Print-optimized styles
Accessibility Self-Service Controls:
- Font size adjustment (5 levels: 75%-150%)
- Theme toggle (Light/Dark/High Contrast/System)
- Dyslexia-friendly font (OpenDyslexic)
- Line spacing control (4 levels)
- Reduced motion toggle
- Reading width control (3 levels)
- Enhanced focus indicators
- All preferences persisted via localStorage
Templates & Components:
- Base layout with skip-links and accessibility panel
- Article template with drop caps and blockquotes
- Irony box and conclusion shortcodes
- Responsive header with mobile navigation
Content:
- Migrated SCION vs SD-WAN analysis from HTML
- Homepage teaser with paywall-style CTA
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Hugo v0.139.4 extended
- WCAG 2.2 accessibility-focused frontend overhaul
- Satirical editorial site for swissfini.sh
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>