Per playtest feedback:
- Drop the per-challenge 'Plays:' line — redundant with the card column and the
event log (also removes the now-unused chPlays const).
- Drop the 'Attempted by … drag a card … assist' how-to paragraph; players know
the basics, and the challenge header already names who's challenged.
- Replace the 'Red/Black Obstacle · match to draw' tag with the original card in
the title (e.g. '5♣ — Loitering Mermaid'), and color the title by suit. The
left border already marks color; the dead .obstacle-color-tag CSS is removed.
Suit glyphs in the title use plain text symbols (not SUIT_EMOJI) so they take
the theme-aware suit color and stay readable on the dark panel. Verified in
light and dark.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the big-original-card + row-of-minis layout with a single vertical
column: the original sits at the back (accent ring), each play stacks in front
with a heavy negative margin so only its rank+suit peeks out, and the latest
card is fully visible at the bottom. Played cards keep a green/red success ring;
the ChallengePanel's per-play list still credits each player.
Top-aligns the Current Difficulty / Successes boxes so they no longer stretch to
the now-taller card column. Matches the rulebook's column card layout and is far
more compact. Verified in the ChallengePanel, the obstacle list, and on mobile.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Follow-up tweaks to the scene dashboard:
- Bubbles now show the human player name alongside the Pi-Rat name.
- The Captain is named "Captain <name>" (the "Recruit" honorific swapped,
or "Captain" prepended once Named) instead of a 🛞 icon — applied on
bubbles and the character-sheet/duel headings via new crewLabel/
captainName helpers in lib/cards.js.
- "Objectives" → "Crew Objectives" moved to the end of the roster as a
left-aligned toggle with a right-aligned X/3 completed counter; it now
slides the detailed list open in place (svelte/transition slide)
instead of opening a modal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the roster banner and the standalone character-sheet panel with
a left-hand column of crew bubbles. Each bubble shows the player's role
icon, name, rank, current hand size, and a 🛞 for the Captain; clicking
one pops out that player's character sheet as a modal.
- New CrewColumn.svelte: bubbles (Pi-Rats first, Deep last) + an
Objectives button that opens a crew-objectives popup.
- CharacterSheet.svelte is now a target-driven modal: description,
likes/hates, and personal objectives for anyone; secret J/Q/K only on
your own sheet; the Duel UI (no "Challenge whom?" — target is fixed)
only when a living Pi-Rat views another living Pi-Rat.
- ScenePhase.svelte → 3-column layout (crew | obstacles | hand/deep);
crew column collapses to a horizontal strip on narrow screens.
- Shared .modal-backdrop/.modal-box/.modal-close moved into components.css;
removed the now-dead roster-banner and captain-badge styles.
Backend unchanged — the state blob already carries hands, roles, ranks,
objectives, and the captain.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>