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:
@@ -1,4 +1,4 @@
|
||||
/* --- Scene Setup / Role Choose --- */
|
||||
/* --- Scene setup / role choice --- */
|
||||
.setup-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1.2fr 1fr;
|
||||
@@ -22,62 +22,60 @@
|
||||
.role-btn {
|
||||
padding: 1.5rem;
|
||||
font-size: 1.2rem;
|
||||
background: rgba(255,255,255,0.03);
|
||||
border: 2px solid rgba(255,255,255,0.1);
|
||||
background: var(--well);
|
||||
border: 2px solid var(--edge);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.role-btn.pirat-btn:hover, .role-btn.pirat-btn.active {
|
||||
border-color: var(--neon-emerald);
|
||||
color: var(--text-primary);
|
||||
background-color: rgba(0,255,135,0.06);
|
||||
box-shadow: 0 0 15px rgba(0,255,135,0.15);
|
||||
.role-btn.pirat-btn:hover:not(:disabled), .role-btn.pirat-btn.active {
|
||||
border-color: var(--pirat);
|
||||
color: var(--text);
|
||||
background-color: color-mix(in srgb, var(--pirat) 8%, transparent);
|
||||
}
|
||||
|
||||
.role-btn.deep-btn:hover, .role-btn.deep-btn.active {
|
||||
border-color: var(--neon-cyan);
|
||||
color: var(--text-primary);
|
||||
background-color: rgba(0,242,254,0.06);
|
||||
box-shadow: 0 0 15px rgba(0,242,254,0.15);
|
||||
.role-btn.deep-btn:hover:not(:disabled), .role-btn.deep-btn.active {
|
||||
border-color: var(--deep);
|
||||
color: var(--text);
|
||||
background-color: color-mix(in srgb, var(--deep) 8%, transparent);
|
||||
}
|
||||
|
||||
.large-badge {
|
||||
padding: 0.5rem 2rem;
|
||||
font-size: 1.5rem;
|
||||
border-radius: 8px;
|
||||
.role-badge {
|
||||
padding: 0.15rem 0.75rem;
|
||||
border-radius: var(--radius-sm);
|
||||
font-family: var(--font-heading);
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.role-badge.deep {
|
||||
background: rgba(0, 242, 254, 0.15);
|
||||
border: 2px solid var(--neon-cyan);
|
||||
color: var(--neon-cyan);
|
||||
box-shadow: 0 0 15px rgba(0,242,254,0.1);
|
||||
}
|
||||
|
||||
.role-badge.pirat {
|
||||
background: rgba(0, 255, 135, 0.15);
|
||||
border: 2px solid var(--neon-emerald);
|
||||
color: var(--neon-emerald);
|
||||
box-shadow: 0 0 15px rgba(0,255,135,0.1);
|
||||
}
|
||||
|
||||
.list-chips {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.list-chips .player-chip {
|
||||
padding: 0.4rem 1rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.deep-chip {
|
||||
border-color: var(--neon-cyan);
|
||||
background: rgba(0, 242, 254, 0.03);
|
||||
.role-badge.deep {
|
||||
background: color-mix(in srgb, var(--deep) 14%, transparent);
|
||||
border: 1px solid var(--deep);
|
||||
color: var(--deep);
|
||||
}
|
||||
|
||||
.pirat-chip {
|
||||
border-color: var(--neon-emerald);
|
||||
background: rgba(0, 255, 135, 0.03);
|
||||
.role-badge.pirat {
|
||||
background: color-mix(in srgb, var(--pirat) 14%, transparent);
|
||||
border: 1px solid var(--pirat);
|
||||
color: var(--pirat);
|
||||
}
|
||||
|
||||
.role-badge.unassigned {
|
||||
background: var(--well);
|
||||
border: 1px dashed var(--edge);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.roster-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.roster-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
background: var(--well);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 0.6rem 0.9rem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user