5 Commits

Author SHA1 Message Date
Alex Dunmow
c37bfe6294 refactor: replace hand-rolled utility CSS with Tailwind classes (host build now scans theme templates) 2026-07-05 17:58:03 +08:00
Alex Dunmow
1bdb2cfe3e fix(theme): drive responsive layout from theme-owned CSS
Host Tailwind JIT does not scan theme templates, so responsive grid/hero
utilities (sm:/md:/lg:grid-cols-*, min-h-screen, arbitrary values) are
dropped and multi-column layouts collapse to one column. Ship the
load-bearing responsive layout as compiled theme CSS and point the
override templates at it. Layout only — colours stay on semantic tokens.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:40:25 +08:00
Alex Dunmow
0e54864687 fix(terminal): remediate layout/whitespace + mobile responsiveness
Layout/whitespace (home page):
- feature-grid rendered as 3 full-width ballooning rows because the host
  Tailwind scan covers rendered block HTML, not theme override .ninjatpl
  files, so lg:grid-cols-* utilities in overrides are purge-fragile and
  collapsed to one column. Move multi-column layout to plain CSS in
  css.input_css_append (.tty-grid*, never purged) and apply to
  feature-grid, stats, pricing, contact-card + a .tty-form-grid for
  contact-form (col-span utilities were equally fragile).
- code_console / boot_log persona blocks shipped no max-width wrapper and
  ran edge-to-edge on the full-width landing page while sibling sections
  were contained; wrap both in a centred .tty-console-shell with a mobile
  side gutter.
- CTA heading read dark-on-green (fails contrast): .terminal-heading in
  assets/style.css hardcoded color:foreground, overriding the band's
  primary-foreground. Change to color:inherit so headings on inverted
  bands read correctly.
- Trim oversized section padding (py-16 md:py-24 -> py-12 md:py-20; the
  window-nested contact sections -> py-8 md:py-12).

Mobile:
- All multi-column grids now collapse to 1 column via CSS media queries
  (minmax(0,1fr) prevents long/monospace content forcing horizontal
  overflow); console blocks keep overflow-x scroll inside their own box.
- Pin hero min-heights to CSS (.tty-hero*) since min-h-screen / arbitrary
  min-h-[..] utilities are also purge-fragile.

Persona (phosphor TTY, window chrome, man-page, canvas hero) unchanged.
No version bump. make + check-safety both exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:26:40 +08:00
Alex Dunmow
daab6750fe feat(terminal): Wave A full theme build (WO-TF-025)
Bring the terminal dev-tool/OSS-docs theme to full Wave A OVERRIDE-CONTRACT
compliance.

- 49 mandatory builtin overrides in templates/overrides/terminal/ (TTY chrome,
  re-skinned from the frozen builtin defaults; every content field, provider var,
  custom tag, data-bn-* attr and inline script preserved verbatim).
- 7 page templates (default, full-width, landing, article, blog-index, contact,
  auth) with TTY-window chrome, man-page article layout, and theme_mode-driven
  light/dark switching.
- GO BIG motion: dependency-free ASCII glyph-rain canvas on the hero override
  only (lazy-init, prefers-reduced-motion honored, static phosphor fallback).
- 4 persona blocks (manpage_header, code_console, keybind_table, boot_log);
  ascii_header/toc/footer blocks retired in favour of overrides + template
  furniture.
- 5 dual-mode presets (mode "both", all 19 tokens) with intentional paper-teletype
  light and phosphor dark sides.
- Bundled OFL mono fonts (JetBrains Mono, IBM Plex Mono) with LICENSES record;
  all font-family via var(--font-heading|body|mono, fallback).
- Themed email-safe wrapper (retained), master pages, and a seeded "grid" OSS
  dev-tool demo site (home, about, changelog + 3 posts, contact with
  row_inserted -> email-admins workflow, login).
- Declared required_icon_packs = [lucide, simple-icons].

Verified: make build exit 0, make verify exit 0, check-safety exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:41:04 +08:00
Alex Dunmow
f6e2c1dccc feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:31:20 +08:00