cdnutter

cdnutter / Jellyfin OLED Theme

Last active 1 month ago

Like 0
jellyfin-oled-theme.css Raw
1/* ============================================================
2 Jellyfin OLED (True Black) Theme
3 ------------------------------------------------------------
4 Same layout as the default Dark theme — only the backgrounds
5 are pushed to pure #000000 for OLED displays.
6 Accent colors, text, spacing, and layout are untouched.
7
8 HOW TO USE:
9 Dashboard > General > Custom CSS (applies to whole server)
10 or
11 Settings > Display > Custom CSS (per-user, if enabled)
12 Paste this whole file in, save, and refresh.
13
14 Tip: Use this ON TOP of the built-in "Dark" theme.
15 ============================================================ */
16
17/* ---- Core surfaces: html / body / page containers ---- */
18html,
19body,
20.backgroundContainer,
21.mainAnimatedPages,
22.dashboardContainer,
23.pageContainer,
24.libraryPage,
25.itemBackdrop,
26.detailPageContent {
27 background-color: #000 !important;
28}
29
30/* Kill the default dark gradient backdrop so it's flat black */
31.backgroundContainer.withBackdrop,
32.backgroundContainer {
33 background-image: none !important;
34}
35
36/* ---- Top header / toolbar ---- */
37.skinHeader,
38.skinHeader-withBackground,
39.skinHeader.semiTransparent {
40 background: #000 !important;
41 background-color: #000 !important;
42}
43
44/* Header gradient that shows on library/detail pages */
45.skinHeader.headroom--not-top,
46.skinHeader-blurred {
47 background: #000 !important;
48 backdrop-filter: none !important;
49}
50
51/* ---- Left navigation drawer ---- */
52.mainDrawer,
53.drawer,
54.navMenuOption,
55.navMenuOption-selected,
56.emby-scrollbuttons {
57 background-color: #000 !important;
58}
59
60/* ---- Dialogs / popups / menus ---- */
61.dialog,
62.formDialog,
63.formDialogHeader,
64.formDialogFooter,
65.dialogContent,
66.actionSheet,
67.actionSheetContent,
68.dialogBackdrop,
69.menu,
70.paperList,
71.emby-select-withcolor,
72.emby-input,
73.emby-textarea {
74 background-color: #000 !important;
75}
76
77/* ---- Cards ---- */
78/* Keep cards visible against pure black with a whisper-thin
79 elevation instead of the default gray. Set to #000 if you
80 want them fully flat. */
81.cardBox,
82.cardBox-bottompadded,
83.card:not(.card-hoverable) .cardImageContainer,
84.itemsContainer .cardBox {
85 background-color: #0a0a0a !important;
86}
87
88.cardBox.visualCardBox,
89.cardOverlayContainer {
90 background-color: transparent !important;
91}
92
93/* ---- Detail page primary/secondary panels ---- */
94.detailSticky,
95.detailPagePrimaryContainer,
96.detailPageSecondaryContainer,
97.mediaInfoStats,
98.itemDetailPage {
99 background-color: #000 !important;
100}
101
102/* ---- Now Playing / remote control bars ---- */
103.nowPlayingBar,
104.nowPlayingBarPositionContainer,
105.upNextContainer {
106 background-color: #000 !important;
107 background: #000 !important;
108}
109
110/* ---- Login / splash / select-server screens ---- */
111#loginPage,
112.wizardContent,
113.startupWrapper,
114.serverButton {
115 background-color: #000 !important;
116}
117
118/* ---- Misc elevated surfaces that default to dark gray ---- */
119.emby-tab-button,
120.headerTabs,
121.itemsViewSettingsContainer,
122.sectionTitleContainer,
123.filterDialogContent,
124.formDialogContent,
125.listItem,
126.listItemBody,
127.virtualScrollItem {
128 background-color: #000 !important;
129}
130
131/* Tooltip / snackbar / toast */
132.mdl-tooltip,
133.toast,
134.toastVisible {
135 background-color: #0a0a0a !important;
136}
137
138/* Progress + scrollbar troughs so they don't look gray on black */
139.itemProgressBarForeground {
140 /* leave accent color alone */
141}
142.itemProgressBar,
143.mainDrawer::-webkit-scrollbar-track {
144 background-color: #1a1a1a !important;
145}