Re-theme the app: token-based CSS and a full face lift

CSS refactor: every color, font, radius, and shadow is now defined once
in theme.css; all other styles derive translucent variants with
color-mix(), so re-theming means editing one file. Removed the
duplicate core.css/style.css import chains, dead styles, and the
Bootstrap/Tailwind orphan classes that were silently unstyled
(the main reason the splash page looked broken).

New "Lantern & Brine" look: brass and parchment on a lantern-lit
ink-navy night, Pirata One wordmark with Alegreya SC/Sans body fonts
(self-hosted via fontsource — they were previously referenced but
never loaded), parchment-faced playing cards, and a rebuilt splash
page. Inline color styles in components were replaced with semantic
classes (prompt-box, notice-banner, status chips, etc.), the rulebook's
embedded palette was updated to match, and the leftover Vite favicon
and "frontend" page title were replaced.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 06:50:00 -07:00
parent ba6bf35579
commit 0744893e7b
36 changed files with 1442 additions and 1185 deletions

View File

@@ -26,11 +26,12 @@
</script>
<div class="welcome-container">
<div class="header">
<h1>Join Crew</h1>
</div>
<header class="welcome-hero">
<p class="hero-overline">Rats with Gats</p>
<h1 class="wordmark">Join the Crew</h1>
</header>
<div class="card creation-card">
<div class="glass-panel creation-card">
<h2>Enter your name</h2>
<p class="info-text" style="margin-bottom: 1rem;">
This is <strong>your</strong> name as a player, not your Pi-Rat's. Your Pi-Rat will be known
@@ -44,7 +45,7 @@
id="playerName"
bind:value={playerName}
required
class="form-control input-large"
class="input-field input-large"
autocomplete="off"
autofocus
/>
@@ -54,7 +55,7 @@
<div class="alert alert-danger">{error}</div>
{/if}
<button type="submit" class="btn btn-primary btn-large btn-block mt-4" disabled={joining}>
<button type="submit" class="btn btn-primary btn-large btn-full mt-4" disabled={joining}>
{joining ? 'Joining...' : 'Join Game'}
</button>
</form>