Skip to content

Step 3a: warm minimal design system (paper palette, blue accent, self-hosted fonts, light motion) - #48

Merged
andreachiocca merged 4 commits into
masterfrom
claude/step-3-design-system
Nov 4, 2026
Merged

andreachiocca merged 4 commits into
masterfrom
claude/step-3-design-system

Conversation

@andreachiocca

@andreachiocca andreachiocca commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Preview (once the preview check succeeds): https://pr-48.academic-website-preview.pages.dev/ · IT: https://pr-48.academic-website-preview.pages.dev/it/ (use the moon icon to check dark mode)

First half of Step 3 in docs/site-roadmap.md: the existing technical-editorial structure (FIG. NN, 01 / indices, navy figure panels) is kept and given a warm minimal skin. Page widths (M1) follow in Step 3b.

Changes

  • Tokens. _sass/_design_system.scss, imported last, defines paper #FAF9F5, ink #1F1E1B, muted #5E5A53, rule #E6E1D6 and σ/τ colours for future figures. The accent stays the editorial blue, at the owner's request: #2869A7, and #8BBCE9 in dark mode. It re-maps the theme and editorial variables in both modes. Contrast: ink 15.8:1, muted 6.5:1, accent 5.4:1 on paper; accent 8.6:1 in dark mode.

  • Typography. Self-hosted variable WOFF2 fonts (SIL OFL 1.1, licences in assets/fonts/licenses/), Latin and Greek subsets so σ, τ, φ and Δ render consistently:

    • Inter for text;
    • Source Serif 4 for section headings;
    • JetBrains Mono for titles, FIG labels and numbers. Titles keep the monospace signature, now identical across operating systems.

    The Google Fonts request (Roboto, Roboto Slab, Material Icons) is gone, and the two main faces are preloaded.

  • Motion. assets/js/motion.js fades content blocks in once as they enter the viewport. It changes opacity only, so layout and touch targets never move. It is disabled with prefers-reduced-motion, before printing, on anchor jumps and without JavaScript.

  • All 30 hard-coded monospace stacks now use var(--font-mono).

Verification (local)

  • unittest: 62 tests passed, including the new test_design_system.py.
  • Ruby checks: passed.
  • Jekyll production build: OK.
  • All page verifiers: passed.
  • Browser checks: same result as the master baseline in this sandbox. An earlier version that also translated the blocks made one touch target measure 43.9998 px during the transition; it was fixed by switching to opacity only.

Merges cleanly alongside #47; the two touch different lines.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy

…4, JetBrains Mono

- Design tokens (paper, ink, muted, rule, terracotta accent; sigma/tau
  colours) in _sass/_design_system.scss, imported last; light and dark
  pass WCAG AA (accent 5.4:1 and 7.2:1).
- Variable WOFF2 fonts with Latin and Greek subsets (SIL OFL 1.1),
  replacing the Google Fonts request for Roboto and Material Icons.
- All hard-coded monospace stacks use the shared --font-mono token.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy
Blocks fade in once as they enter the viewport. Disabled with reduced
motion, before printing and without JavaScript; layout never moves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy
…lette

Owner preference. Blue #2869a7 (5.4:1 on paper) and #8bbce9 in dark mode
(8.6:1) replace the terracotta accent; paper, typography and motion stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy
@andreachiocca andreachiocca changed the title Step 3a: warm minimal design system (palette, self-hosted fonts, light motion) Step 3a: warm minimal design system (paper palette, blue accent, self-hosted fonts, light motion) Nov 4, 2026
@andreachiocca
andreachiocca merged commit 4f2d03b into master Nov 4, 2026
4 checks passed

This branch was previously deployed

1 inactive deployment
website-preview-AC — d8ff47d7 Deployed Nov 4, 2026 by andreachiocca via preview #105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants