darkwatch/client/src/components/InfoPanel.module.css
Aaron Wood ff9203f754 Medieval visual theme with 4 switchable color schemes
- Cinzel + Alegreya fonts for old-tome D&D book feel
- Dark parchment (default), light parchment, white, and abyss themes
- CSS custom properties system for all colors, borders, shadows
- Generated PNG textures for parchment grain, speckle, and wood grain
- Ornamental gold gradient separators and decorative header lines
- Deep dramatic shadows and gold-tinted borders on all panels
- ThemeToggle component with localStorage persistence
- Embossed gold buttons with gradient and inner shadow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:06:50 -04:00

130 lines
2.5 KiB
CSS

.panel {
background-color: var(--bg-surface);
background-image: var(--texture-surface), var(--texture-speckle);
background-size:
256px 256px,
128px 128px;
background-repeat: repeat, repeat;
border: 1px solid rgba(var(--gold-rgb), 0.2);
border-radius: 4px;
padding: 0.75rem;
box-shadow:
0 4px 16px rgba(var(--shadow-rgb), 0.5),
0 1px 4px rgba(var(--shadow-rgb), 0.4),
inset 0 1px 0 rgba(var(--gold-rgb), 0.06),
inset 0 0 30px rgba(var(--shadow-rgb), 0.15);
}
.sectionTitle {
font-family: "Cinzel", Georgia, serif;
font-size: 0.8rem;
font-weight: 700;
color: var(--gold);
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 0.5rem;
text-shadow: 0 1px 2px rgba(var(--shadow-rgb), 0.3);
}
.infoGrid {
display: flex;
flex-direction: column;
gap: 0.4rem;
margin-top: 0.75rem;
}
.infoRow {
display: flex;
gap: 0.3rem;
font-size: 0.85rem;
}
.infoLabel {
font-family: "Cinzel", Georgia, serif;
color: var(--text-tertiary);
font-size: 0.7rem;
text-transform: uppercase;
font-weight: 600;
min-width: 5rem;
letter-spacing: 0.03em;
}
.infoValue {
color: var(--text-primary);
}
.notes {
font-size: 0.85rem;
color: #aaa;
white-space: pre-wrap;
margin-top: 0.5rem;
}
.editField {
padding: 0.3rem 0.5rem;
background: var(--bg-inset);
border: 1px solid rgba(var(--gold-rgb), 0.15);
border-radius: 5px;
color: var(--text-primary);
font-size: 0.85rem;
width: 100%;
font-family: "Alegreya", Georgia, serif;
}
.editField:focus {
outline: none;
border-color: var(--gold);
}
.editSelect {
padding: 0.3rem 0.5rem;
background: var(--bg-inset);
border: 1px solid rgba(var(--gold-rgb), 0.15);
border-radius: 5px;
color: var(--text-primary);
font-size: 0.85rem;
font-family: "Alegreya", Georgia, serif;
}
.editRow {
display: flex;
gap: 0.5rem;
margin-top: 0.5rem;
}
.editRow > * {
flex: 1;
}
.field {
display: flex;
flex-direction: column;
gap: 0.15rem;
}
.fieldLabel {
font-family: "Cinzel", Georgia, serif;
font-size: 0.65rem;
color: var(--text-tertiary);
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.03em;
}
.notesEdit {
width: 100%;
min-height: 50px;
padding: 0.4rem;
background: var(--bg-inset);
border: 1px solid rgba(var(--gold-rgb), 0.15);
border-radius: 5px;
color: var(--text-primary);
font-size: 0.85rem;
font-family: "Alegreya", Georgia, serif;
resize: vertical;
}
.notesEdit:focus {
outline: none;
border-color: var(--gold);
}