chore(deps): Tailwind 4 (#5021)
release / govulncheck (push) Successful in 42s
release / web (push) Successful in 1m39s
release / go (push) Successful in 1m53s
release / integration (push) Successful in 5m37s
release / android (push) Successful in 6m54s
release / Build signed APK (releases and dev) (push) Successful in 7m27s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Failing after 34s
release / Verify release artifacts (tag releases only) (push) Skipped

Renovate's tailwindcss bump (PR #150) plus the migration it needs:

- Theme moves from tailwind.config.js into app.css as `@theme inline`,
  mapping the same FabledSword tokens. tailwind.config.js is gone.
- PostCSS runs @tailwindcss/postcss; autoprefixer is dropped, since
  Tailwind 4 prefixes through Lightning CSS.
- Class renames from @tailwindcss/upgrade 4.3.3, reviewed: outline-none
  -> outline-hidden, focus-visible:outline -> outline-solid, shadow ->
  shadow-sm, shadow-sm -> shadow-xs, flex-shrink-0 -> shrink-0. Bare
  `rounded` stays: v4 keeps it at 0.25rem, as before.
- Three v3 preflight defaults kept in a base layer so nothing changes on
  screen: gray-200 default border colour, gray-400 placeholder text and
  the pointer cursor on buttons.
- The unused class-based dark variant is not carried over; no template
  uses `dark:`.

Clears the five high and two moderate npm audit findings that came in
through Tailwind 3 (braces, chokidar, micromatch, fast-glob,
postcss-selector-parser).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 10:46:07 -04:00
co-authored by Claude Opus 5.5
parent 0202c86338
commit fecd030b68
46 changed files with 795 additions and 1159 deletions
@@ -49,7 +49,7 @@
<svelte:head><title>{pageTitle('Reset password')}</title></svelte:head>
<main class="flex min-h-screen items-center justify-center bg-background text-text-primary">
<div class="w-full max-w-sm rounded-lg border border-border bg-surface p-6 shadow">
<div class="w-full max-w-sm rounded-lg border border-border bg-surface p-6 shadow-sm">
<h1 class="mb-6 text-center text-2xl font-semibold">Set a new password</h1>
<form class="space-y-4" onsubmit={onSubmit}>
<label class="block">
@@ -61,7 +61,7 @@
minlength="8"
autocomplete="new-password"
bind:value={newPassword}
class="w-full rounded border border-border bg-background px-3 py-2 outline-none focus:border-accent"
class="w-full rounded border border-border bg-background px-3 py-2 outline-hidden focus:border-accent"
/>
</label>
<label class="block">
@@ -73,7 +73,7 @@
minlength="8"
autocomplete="new-password"
bind:value={confirmPassword}
class="w-full rounded border border-border bg-background px-3 py-2 outline-none focus:border-accent"
class="w-full rounded border border-border bg-background px-3 py-2 outline-hidden focus:border-accent"
/>
</label>
{#if error}