--rd-bg
Background of the picker panel, including the fade at the top and bottom of the time columns.
Customization
Every theme color in RollDate Core is a custom property on .RollDate__container. Change one variable — or the whole palette — without forking the stylesheet.
Pick a built-in theme with theme: 'main' | 'dark' | 'light', then override the color tokens on this page. A visual style constructor is planned later; this page is the color reference.
.RollDate__container {
--rd-accent: #10b981;
--rd-accent-strong: #059669;
--rd-accent-dark: #047857;
--rd-accent-muted: rgba(16, 185, 129, 0.18);
--rd-on-accent: #042f2e;
}
Set variables on .RollDate__container, or on a parent and use a more specific selector (for example .my-brand .RollDate__container) so one page can host several palettes. Theme class tokens are the defaults; your CSS wins when it comes later or is more specific.
Live swatches from the compiled theme classes. Hover a chip to see the variable name.
main
dark
light
Defaults compiled into rolldate.min.css. Override any cell by setting the same variable in your CSS.
| Variable | Role | main | dark | light |
|---|---|---|---|---|
--rd-bg |
Picker panel background | #232830 | #323232 | #ffffff |
--rd-border |
Panel and control borders | #343b48 | #626262 | #d8dde6 |
--rd-text-primary |
Strong text, active labels | #f1f5f9 | #e6e6e6 | #1f2937 |
--rd-text-secondary |
Day numbers, secondary copy | #94a3b8 | #848685 | #5f6b7a |
--rd-text-disabled |
Unavailable dates | #4b5563 | #515252 | #a1aab8 |
--rd-text-disabled-contrast |
Disabled today / current month on a muted fill | #64748b | #a2a2a2 | #8c97a8 |
--rd-header-muted |
Header in year view | #94a3b8 | #848685 | #9aa3b2 |
--rd-weekday |
Weekday column headers | #cbd5e1 | #f7f7f7 | #334155 |
--rd-hover-bg |
Hover surfaces, secondary buttons | #2d3544 | #3e3e3e | #f3f6fb |
--rd-hover-border |
Hover and focus rings | #475569 | #686868 | #ccd5e3 |
--rd-accent |
Today, highlight dots, accent hover | #60a5fa | #609ef1 | #4f8ff7 |
--rd-accent-strong |
Primary buttons, time selection, main today | #2563eb | #368cfd | #2d7cff |
--rd-accent-dark |
Selected-day border | #1d4ed8 | #1e5093 | #1f5dc1 |
--rd-accent-muted |
Soft accent fills, time track | rgba(37, 99, 235, 0.18) | #375985 | #d9e8ff |
--rd-range |
Range endpoint hover | #a78bfa | #a78bfa | #8b5cf6 |
--rd-range-strong |
Range start and end fill | #7c3aed | #7c3aed | #6d28d9 |
--rd-range-muted |
Days inside a selected range | #3d3558 | #3d3558 | #ede9fe |
--rd-button-icon |
Header arrow icons | #cbd5e1 | #fff | #334155 |
--rd-on-accent |
Text and icons on filled accent / range / primary | #fff | #fff | #fff |
--rd-highlight-dot |
Default highlight-dot color; per-date overrides win | defaults to --rd-accent |
||
--rd-bgBackground of the picker panel, including the fade at the top and bottom of the time columns.
--rd-borderOuter panel border and default borders on secondary footer buttons.
--rd-hover-bgHover surfaces and the fill of secondary buttons. Dark and light themes also use it for the time viewport and AM/PM track.
--rd-hover-borderHover ring on days, months, and years. Dark and light themes also use it for time-panel chrome.
--rd-text-primaryStrong labels: active month/year cells, in-range day text, secondary-button labels.
--rd-text-secondaryDefault day numbers, month/year cells, time separator, and “+N” extra highlight dots.
--rd-text-disabledDates, months, and years that cannot be selected (min/max, allowlist, denylist).
--rd-text-disabled-contrastReadable text when “today” or the current month/year is disabled and sits on a muted accent fill.
--rd-header-mutedHeader month/year controls in year view, when those labels are not interactive.
--rd-weekdayTwo-letter weekday headers above the day grid.
--rd-button-iconPrevious/next month chevrons in the header.
--rd-on-accentForeground on filled accents: today, current month/year, range start/end, primary footer buttons, and the active AM/PM segment. Change this when your accent is light so the label stays readable.
--rd-accentToday’s fill (dark/light), default highlight dots, and several hover fills. Also the default for --rd-highlight-dot.
--rd-accent-strongPrimary footer buttons, the time-column selection ring, active AM/PM, and today’s fill in the main theme.
--rd-accent-darkBorder on a selected day (single or multi). Pair it with --rd-accent-strong so selected and hover states stay in the same family.
--rd-accent-mutedSoft fill behind disabled today/current cells and the time picker track. Use a translucent color on dark themes so the panel background still shows through.
--rd-highlight-dotDefault color for highlight dots. highlightDates / highlightDate() can set a per-dot value inline; that override wins for that day.
--rd-rangeHover fill on the first and last day of a range.
--rd-range-strongSolid fill for the range start and end. Text on these cells uses --rd-on-accent.
--rd-range-mutedDays between the start and end of a range. Text stays --rd-text-primary.
Same picker, brand greens instead of the default blue. Only CSS variables changed.
.my-brand .RollDate__container {
--rd-accent: #34d399;
--rd-accent-strong: #10b981;
--rd-accent-dark: #047857;
--rd-accent-muted: rgba(16, 185, 129, 0.22);
--rd-on-accent: #042f2e;
--rd-range: #2dd4bf;
--rd-range-strong: #0d9488;
--rd-range-muted: #134e4a;
}