Main Background
#0b0b14
Primary page background. Use for full-site dark base.
This guide converts the current musician page styling into reusable tokens and calls out which colors are accents. Use role-based variables first, then raw values only when creating a new component.
Each color is tagged by role: base/surface, text, accent, or support accent.
#0b0b14
Primary page background. Use for full-site dark base.
#12121e
Primary elevated surface. Used for nav CTA and reusable metric cards.
#1a1a28
Secondary cards, calculator panels, nested surfaces.
#232335
Higher elevation dark panels or hover surfaces.
#ede9f8
Main text on dark backgrounds.
#9994b0
Paragraphs, nav links, secondary copy.
#5c5870
Labels, helper text, low-emphasis UI.
#ffffff
Hover text on cherry navigation backgrounds.
#E45A70
Primary interaction accent: active nav, hover states, secondary CTA hover.
#FFF0C2
Featured metric value and premium CTA text accent.
#C8B4FF
Primary CTA gradient start.
#AFCFFF
Primary CTA gradient end.
#FFE99D
Reusable total/summary metric row accent.
#F2B8BE
Logo gradient start / legacy milkshake palette.
#A8CCE0
Logo gradient end / legacy milkshake palette.
#F9DC8A
Legacy support accent.
#A8D8C2
Legacy support accent.
#F5C8A8
Legacy support accent.
#E87A82
Legacy CTA red; use sparingly when cherry is not enough.
#FDF0E4
Warm light background/accent.
Use these for emphasis, interaction states, metrics, badges, and visual rhythm. Do not use every accent in every section; pick one primary accent and one support accent per component.
Use for active nav, hover text/borders, and high-emphasis UI states.
Use for featured numbers, pricing, totals, and special CTA text.
Use on the main action button, with dark text for readability.
Use for final totals, summaries, and completion/earned states.
Use for secondary illustrations, small badges, icons, and branded visual variety.
Main navigation should use muted text by default, cherry for the active page, cherry-tinted hover backgrounds, and white hover text. The top-right CTA uses the elevated dark surface with cream text.
#0b0b14 for full-page backgrounds.#12121e for elevated cards, nav CTAs, and reusable metric modules.#1a1a28 and #232335 for nested cards or higher elevation.Use cherry #E45A70 for active navigation, hover states, focused controls, and interaction emphasis.
The main CTA should use the lavender-to-blue gradient with dark text. Secondary CTAs can stay transparent and turn cherry on hover.
Use cream #FFF0C2 for a featured value. Keep rows transparent on dark cards and use pastel row accents for categories, totals, or statuses. This pattern can work for earnings, analytics, venue stats, fan activity, or request queues.
/* SongShake Site Color Tokens — Used Colors Only
These variables reflect colors currently used in the musician-page HTML.
Keep role-based tokens preferred over raw hex values.
*/
:root {
/* Core dark surfaces */
--ss-bg-main: #0b0b14;
--ss-bg-elevated: #12121e;
--ss-bg-card: #1a1a28;
--ss-bg-card-light: #232335;
/* Borders */
--ss-border-subtle: rgba(255,255,255,0.07);
--ss-border-medium: rgba(255,255,255,0.14);
--ss-border-strong: rgba(255,255,255,0.22);
/* Text */
--ss-text-primary: #ede9f8;
--ss-text-muted: #9994b0;
--ss-text-subtle: #5c5870;
--ss-white: #ffffff;
/* Primary accents */
--ss-accent-cherry: #E45A70;
--ss-accent-cream: #FFF0C2;
--ss-accent-lavender: #C8B4FF;
--ss-accent-soft-blue: #AFCFFF;
--ss-accent-yellow: #FFE99D;
/* Legacy / support accents still used in the HTML */
--ss-pastel-pink: #F2B8BE;
--ss-pastel-blue: #A8CCE0;
--ss-pastel-yellow: #F9DC8A;
--ss-pastel-mint: #A8D8C2;
--ss-pastel-peach: #F5C8A8;
--ss-pastel-red: #E87A82;
--ss-pastel-cream: #FDF0E4;
/* Component-specific tokens */
--ss-nav-bg: rgba(11,11,20,0.95);
--ss-nav-link: #9994b0;
--ss-nav-active-bg: rgba(228,90,112,0.12);
--ss-nav-active-text: #E45A70;
--ss-nav-hover-bg: rgba(228,90,112,0.12);
--ss-nav-hover-text: #ffffff;
--ss-nav-cta-bg: #12121e;
--ss-nav-cta-text: #FFF0C2;
--ss-primary-cta-bg: linear-gradient(135deg, #C8B4FF 0%, #AFCFFF 100%);
--ss-primary-cta-text: #12121e;
--ss-secondary-cta-hover: #E45A70;
--ss-metric-card-bg: #12121e;
--ss-metric-featured-value: #FFF0C2;
--ss-metric-row-priority: rgb(238, 137, 154);
--ss-metric-row-instant: rgb(191, 238, 207);
--ss-metric-row-tips: rgb(186, 221, 255);
--ss-metric-row-total: #FFE99D;
/* Gradients */
--ss-gradient-primary: linear-gradient(135deg, #C8B4FF 0%, #AFCFFF 100%);
--ss-gradient-logo: linear-gradient(130deg, #F2B8BE 0%, #A8CCE0 100%);
}
/* Main navigation */
.nav {
background: var(--ss-nav-bg);
border-bottom: 1px solid var(--ss-border-subtle);
}
.nav-link,
.nav-login {
color: var(--ss-nav-link);
border-radius: 999px;
transition: all .18s;
}
.nav-link.active {
color: var(--ss-nav-active-text);
background: var(--ss-nav-active-bg);
}
.nav-link:hover,
.nav-login:hover {
color: var(--ss-nav-hover-text);
background: var(--ss-nav-hover-bg);
}
.nav-cta {
background: var(--ss-nav-cta-bg);
color: var(--ss-nav-cta-text);
}
/* Primary calls-to-action */
.btn-primary {
background: var(--ss-primary-cta-bg);
color: var(--ss-primary-cta-text);
}
.btn-secondary:hover {
border-color: var(--ss-secondary-cta-hover);
color: var(--ss-secondary-cta-hover);
}
/* Reusable metric/stat module */
.metric-card,
.earn-card {
background: var(--ss-metric-card-bg);
}
.metric-featured-value,
.earn-card-total {
color: var(--ss-metric-featured-value);
}
.metric-row,
.earn-row {
background: transparent;
}
.metric-row.priority,
.earn-row:nth-child(1) {
color: var(--ss-metric-row-priority);
border-color: rgba(238,137,154,0.48);
}
.metric-row.instant,
.earn-row:nth-child(2) {
color: var(--ss-metric-row-instant);
border-color: rgba(191,238,207,0.72);
}
.metric-row.tips,
.earn-row:nth-child(3) {
color: var(--ss-metric-row-tips);
border-color: rgba(186,221,255,0.72);
}
.metric-row.total,
.earn-row.total-row {
color: var(--ss-metric-row-total);
border-color: rgba(255,233,157,0.72);
}