Files
canon/web/static/css/themes.css
T
cdnutterandClaude Opus 5.5 3923444b3b Rename project from TopDeck to Canon
- Module github.com/cdnutter/canon, binary/command cmd/canon, Docker
  image and compose project "canon"
- Environment variables now use the CANON_ prefix
- Default site title is "<Your name>'s Canon" (or "Canon" with no name);
  a Site title set in Settings still overrides it
- Existing topdeck.db (and WAL files) is renamed to canon.db on start
- README: upgrade notes, including moving the old compose volume

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 17:22:17 -07:00

232 lines
5.0 KiB
CSS

/*
* Canon theme presets.
*
* Every color on the site comes from these variables, so a custom theme only
* needs to override them (Settings → Appearance → Custom CSS), e.g.
*
* :root, [data-theme] { --accent: #ff4f81; --bg: #120d14; }
*/
:root,
[data-theme="midnight"] {
color-scheme: dark;
--bg: #0f1117;
--surface: #171a22;
--surface-2: #1f232e;
--border: #2a2f3c;
--text: #eceef4;
--muted: #9aa1b2;
--faint: #636a7c;
--accent: #8b7dff;
--accent-text: #ffffff;
--accent-soft: rgba(139, 125, 255, 0.14);
--danger: #ff6b7a;
--success: #4fd1a1;
--warn: #f5b84b;
--gold: #f5c451;
--silver: #cfd6e4;
--bronze: #d99a6c;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--font-display: var(--font);
--radius: 10px;
--radius-art: 8px;
}
[data-theme="obsidian"] {
color-scheme: dark;
--bg: #000000;
--surface: #0c0c0c;
--surface-2: #161616;
--border: #262626;
--text: #f5f5f5;
--muted: #a3a3a3;
--faint: #5f5f5f;
--accent: #f5f5f5;
--accent-text: #000000;
--accent-soft: rgba(255, 255, 255, 0.09);
--shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
}
[data-theme="nord"] {
color-scheme: dark;
--bg: #242933;
--surface: #2e3440;
--surface-2: #3b4252;
--border: #434c5e;
--text: #eceff4;
--muted: #b4bccb;
--faint: #7b8598;
--accent: #88c0d0;
--accent-text: #1f242d;
--accent-soft: rgba(136, 192, 208, 0.15);
--danger: #bf616a;
--success: #a3be8c;
--warn: #ebcb8b;
}
[data-theme="dracula"] {
color-scheme: dark;
--bg: #21222c;
--surface: #282a36;
--surface-2: #343746;
--border: #44475a;
--text: #f8f8f2;
--muted: #b6b9cf;
--faint: #6272a4;
--accent: #ff79c6;
--accent-text: #21222c;
--accent-soft: rgba(255, 121, 198, 0.14);
--danger: #ff5555;
--success: #50fa7b;
--warn: #f1fa8c;
}
[data-theme="mocha"] {
color-scheme: dark;
--bg: #181825;
--surface: #1e1e2e;
--surface-2: #313244;
--border: #45475a;
--text: #cdd6f4;
--muted: #a6adc8;
--faint: #6c7086;
--accent: #cba6f7;
--accent-text: #1e1e2e;
--accent-soft: rgba(203, 166, 247, 0.14);
--danger: #f38ba8;
--success: #a6e3a1;
--warn: #f9e2af;
}
[data-theme="rose-pine"] {
color-scheme: dark;
--bg: #191724;
--surface: #1f1d2e;
--surface-2: #26233a;
--border: #393552;
--text: #e0def4;
--muted: #a8a4c4;
--faint: #6e6a86;
--accent: #ebbcba;
--accent-text: #191724;
--accent-soft: rgba(235, 188, 186, 0.14);
--danger: #eb6f92;
--success: #9ccfd8;
--warn: #f6c177;
}
[data-theme="gruvbox"] {
color-scheme: dark;
--bg: #1d2021;
--surface: #282828;
--surface-2: #32302f;
--border: #45403d;
--text: #ebdbb2;
--muted: #bdae93;
--faint: #7c6f64;
--accent: #fe8019;
--accent-text: #1d2021;
--accent-soft: rgba(254, 128, 25, 0.14);
--danger: #fb4934;
--success: #b8bb26;
--warn: #fabd2f;
}
[data-theme="forest"] {
color-scheme: dark;
--bg: #0f1612;
--surface: #151f19;
--surface-2: #1c2921;
--border: #29392f;
--text: #e4efe7;
--muted: #9fb5a6;
--faint: #62786a;
--accent: #7fd49b;
--accent-text: #0f1612;
--accent-soft: rgba(127, 212, 155, 0.13);
}
[data-theme="synthwave"] {
color-scheme: dark;
--bg: #140b24;
--surface: #1d1133;
--surface-2: #281846;
--border: #3b2663;
--text: #f4eaff;
--muted: #bca8dc;
--faint: #7a649e;
--accent: #ff4fd8;
--accent-text: #140b24;
--accent-soft: rgba(255, 79, 216, 0.15);
--warn: #ffd166;
--success: #36f1cd;
--shadow: 0 10px 40px rgba(255, 79, 216, 0.12);
}
[data-theme="daylight"] {
color-scheme: light;
--bg: #f6f7f9;
--surface: #ffffff;
--surface-2: #eef0f4;
--border: #e0e3ea;
--text: #15171c;
--muted: #5d6475;
--faint: #9299a8;
--accent: #5b4ef0;
--accent-text: #ffffff;
--accent-soft: rgba(91, 78, 240, 0.1);
--danger: #d93a4b;
--success: #17915f;
--warn: #b7791f;
--gold: #d69e1a;
--silver: #8f98a8;
--bronze: #b8734a;
--shadow: 0 10px 30px rgba(20, 24, 40, 0.1);
}
[data-theme="paper"] {
color-scheme: light;
--bg: #f4efe6;
--surface: #fbf8f2;
--surface-2: #ece5d8;
--border: #ddd3c2;
--text: #2b2520;
--muted: #6e6457;
--faint: #a2978a;
--accent: #b5452f;
--accent-text: #fbf8f2;
--accent-soft: rgba(181, 69, 47, 0.1);
--danger: #b5452f;
--success: #3f7d4f;
--warn: #a8741a;
--gold: #b88a1b;
--silver: #8a8a8a;
--bronze: #a0623b;
--shadow: 0 10px 30px rgba(60, 40, 20, 0.1);
--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, ui-serif, serif;
--radius: 4px;
--radius-art: 3px;
}
[data-theme="latte"] {
color-scheme: light;
--bg: #eff1f5;
--surface: #ffffff;
--surface-2: #e6e9ef;
--border: #ccd0da;
--text: #4c4f69;
--muted: #6c6f85;
--faint: #9ca0b0;
--accent: #8839ef;
--accent-text: #ffffff;
--accent-soft: rgba(136, 57, 239, 0.1);
--danger: #d20f39;
--success: #40a02b;
--warn: #df8e1d;
--gold: #df8e1d;
--silver: #8c8fa1;
--bronze: #c06d3a;
--shadow: 0 10px 30px rgba(76, 79, 105, 0.12);
}