Files
MonsterCards/rulesets/sr6/templates/character_picker.css

301 lines
5.6 KiB
CSS

/* rulesets/sr6/templates/character_picker.css */
:root {
--sr-magenta: #950c6b;
--sr-cyan: #00e5ff;
--sr-amber: #ff9100;
--sr-dark-bg: #0e1117;
--sr-card-bg: #161b22;
--sr-card-border: #30363d;
--sr-text-bright: #f0f6fc;
--sr-text-muted: #8b949e;
--sr-accent: #950c6b;
}
body {
margin: 0;
padding: 24px;
background-color: var(--sr-dark-bg);
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
color: var(--sr-text-bright);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
box-sizing: border-box;
}
.picker-card-wrapper {
max-width: 580px;
width: 100%;
}
.picker-card {
position: relative;
background: var(--sr-card-bg);
border: 1px solid var(--sr-card-border);
border-radius: 8px;
padding: 16px 20px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
overflow: hidden;
box-sizing: border-box;
}
.picker-card:hover {
transform: translateY(-2px);
}
/* Entity Type Variations */
.picker-card.entity-dossier {
border-left: 4px solid var(--sr-magenta);
}
.picker-card.entity-dossier:hover {
border-color: var(--sr-magenta);
box-shadow: 0 6px 20px rgba(149, 12, 107, 0.3);
}
.picker-card.entity-character {
border-left: 4px solid var(--sr-cyan);
}
.picker-card.entity-character:hover {
border-color: var(--sr-cyan);
box-shadow: 0 6px 20px rgba(0, 229, 255, 0.25);
}
.picker-card.entity-npc {
border-left: 4px solid var(--sr-amber);
}
.picker-card.entity-npc:hover {
border-color: var(--sr-amber);
box-shadow: 0 6px 20px rgba(255, 145, 0, 0.25);
}
/* Header */
.card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 12px;
margin-bottom: 12px;
}
.header-identity {
display: flex;
flex-direction: column;
}
.title-row {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.runner-name {
font-size: 1.25rem;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.5px;
}
.metatype-tag {
font-size: 0.75rem;
padding: 2px 8px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.1);
color: #c9d1d9;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.5px;
}
.runner-archetype {
font-size: 0.85rem;
color: var(--sr-text-muted);
margin-top: 2px;
font-weight: 500;
}
/* Entity Badge */
.entity-badge {
font-size: 0.7rem;
font-weight: 800;
letter-spacing: 1px;
padding: 4px 10px;
border-radius: 4px;
text-transform: uppercase;
white-space: nowrap;
}
.badge-dossier {
background: rgba(149, 12, 107, 0.2);
color: #ff40b3;
border: 1px solid var(--sr-magenta);
}
.badge-character {
background: rgba(0, 229, 255, 0.15);
color: #00e5ff;
border: 1px solid var(--sr-cyan);
}
.badge-npc {
background: rgba(255, 145, 0, 0.15);
color: #ffb74d;
border: 1px solid var(--sr-amber);
}
/* Attributes Bar */
.attributes-bar {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(36px, 1fr));
gap: 4px;
background: rgba(0, 0, 0, 0.25);
padding: 6px;
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.05);
margin-bottom: 12px;
}
.attr-cell {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.attr-label {
font-size: 0.65rem;
font-weight: 700;
color: var(--sr-text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.attr-val {
font-size: 0.95rem;
font-weight: 800;
color: #ffffff;
}
/* Combat Vitals Row */
.vitals-row {
display: flex;
gap: 8px;
margin-bottom: 12px;
flex-wrap: wrap;
}
.vital-chip {
flex: 1;
min-width: 90px;
background: #21262d;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 6px;
padding: 6px 10px;
display: flex;
flex-direction: column;
}
.vital-label {
font-size: 0.65rem;
color: var(--sr-text-muted);
text-transform: uppercase;
font-weight: 700;
}
.vital-value {
font-size: 0.95rem;
font-weight: 700;
color: #58a6ff;
margin-top: 2px;
}
/* Quote / Hook Box */
.quote-box {
background: rgba(255, 255, 255, 0.03);
border-left: 2px solid rgba(255, 255, 255, 0.2);
padding: 6px 10px;
margin-bottom: 12px;
border-radius: 0 4px 4px 0;
font-size: 0.8rem;
font-style: italic;
color: #d2a8ff;
line-height: 1.3;
}
.hook-box {
background: rgba(255, 145, 0, 0.08);
border-left: 2px solid var(--sr-amber);
padding: 6px 10px;
margin-bottom: 12px;
border-radius: 0 4px 4px 0;
font-size: 0.8rem;
color: #ffcc80;
line-height: 1.3;
}
/* Gear & Skills Preview */
.tags-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 14px;
}
.pill-item {
font-size: 0.72rem;
background: #30363d;
color: #e6edf3;
padding: 3px 8px;
border-radius: 12px;
font-weight: 500;
}
/* Footer / Selection Action */
.card-footer {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid rgba(255, 255, 255, 0.08);
padding-top: 10px;
}
.selection-info {
font-size: 0.75rem;
color: var(--sr-text-muted);
}
.select-btn {
background: transparent;
color: var(--sr-text-bright);
border: 1px solid #388bfd;
border-radius: 4px;
padding: 5px 14px;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
transition: all 0.15s ease;
}
.select-btn:hover {
background: #1f6feb;
color: #ffffff;
}
.entity-dossier .select-btn {
border-color: var(--sr-magenta);
}
.entity-dossier .select-btn:hover {
background: var(--sr-magenta);
}
.entity-npc .select-btn {
border-color: var(--sr-amber);
}
.entity-npc .select-btn:hover {
background: var(--sr-amber);
color: #000;
}