Son aktivite 1774340228

CSS themes for Fluxer

DIALOGUE.386-AHM.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with Atkinson Hyperlegible Mono based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'Atkinson Hyperlegible Mono', monospace;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'Atkinson Hyperlegible Mono';
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 letter-spacing: -0.03ch;
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* latin-ext */
1851@font-face {
1852 font-family: 'Atkinson Hyperlegible Mono';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,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) format('woff2');
1856 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1857}
1858/* latin */
1859@font-face {
1860 font-family: 'Atkinson Hyperlegible Mono';
1861 font-style: normal;
1862 font-weight: 400;
1863 src: url(data:font/woff2;base64,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) format('woff2');
1864 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1865}
1866
1867
1868
DIALOGUE.386-AHN.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with Atkinson Hyperlegible Next based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'Atkinson Hyperlegible Next', sans-serif;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'Atkinson Hyperlegible Mono', monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 /* letter-spacing: -0.03ch; */
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* latin-ext */
1851@font-face {
1852 font-family: 'Atkinson Hyperlegible Next';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,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) format('woff2');
1856 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1857}
1858/* latin */
1859@font-face {
1860 font-family: 'Atkinson Hyperlegible Next';
1861 font-style: normal;
1862 font-weight: 400;
1863 src: url(data:font/woff2;base64,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) format('woff2');
1864 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1865}
1866
1867/* latin-ext */
1868@font-face {
1869 font-family: 'Atkinson Hyperlegible Mono';
1870 font-style: normal;
1871 font-weight: 400;
1872 src: url(data:font/woff2;base64,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) format('woff2');
1873 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1874}
1875/* latin */
1876@font-face {
1877 font-family: 'Atkinson Hyperlegible Mono';
1878 font-style: normal;
1879 font-weight: 400;
1880 src: url(data:font/woff2;base64,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) format('woff2');
1881 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1882}
1883
DIALOGUE.386-B612.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with B612 based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'B612', sans-serif;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'B612 Mono', monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 /* letter-spacing: -0.03ch; */
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850 /* latin */
1851@font-face {
1852 font-family: 'B612';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,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) format('woff2');
1856 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1857}
1858
1859/* latin */
1860@font-face {
1861 font-family: 'B612 Mono';
1862 font-style: normal;
1863 font-weight: 400;
1864 src: url(data:font/woff2;base64,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) format('woff2');
1865 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1866}
1867
DIALOGUE.386-B612Mono.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with B612 Mono based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'B612 Mono', monospace;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'B612 Mono', monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 letter-spacing: -0.03ch;
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* latin */
1851@font-face {
1852 font-family: 'B612 Mono';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,d09GMgABAAAAAEpoABAAAAAA3igAAEoJAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAWi2AAglYIKgmCcxEICoLtEILOWQuDNAASp0wBNgIkA4ZCBCAFg3gHhAwMBxsmzDfYtgyo5/VmVQEz1PWkEuW2S+jN1ACcv5OzgzFsHH4AXhfP/v//E5KOMdygBmim2g+JBEVWtAzq9GggA2W8EzKUFCxeFGjbCOQ6FKjblOfzLPwuqcvKd24SZsiUM/hndeyZQ9hLmB/9MITeNVDPwpm9sVqjg/c8k4aR1AaaKCNkSYYkyBBkzS+MDFFAiTCisIuSS+YIWzI1smgZ5Uz3prR0u8VHvi5v+7NozlJdlOa23ys+t9zPfKy63+uKuibvcwa4S5Cfs8Kf5up9A5iZTCawgV3OAl4O8AOjKxlTxUahEedqW/dd8Qfa5r9LOMAGFJXJAiu+UQujA6tiEY0fKxaprLp5KPfS3h2t5boRlBWO4lGoGnnjE6FAIUGpqkoVjh2/RsZRPqS2XUj6XX8/QDiPNtxXW373MFj1NJL44fLdTm7VXcPwElacmDDUBa5wtZghuxsz+QPzLCVMxgHA4//eecN2fzJ22HIqcM/IKl9janyPT/KsrqUD/Nz6d2AR+aDHisGAFQMGGxtjGwuWbGzNgCUwupVqQcKpYDUKJ9wX+xS0wbvGuArr60Xp4DavmhDdMJtilnhoPAB4qN/R248gdAGKIAmJqDapy2ZEM0q9lm8tZrNmIosdJMspRMS+cmmar78A/gfdnVfkhMzBeSm1QTyOtnktgCeITVQelW2oTT02h82jFRUyEQHm+m87Hs/9KyIQMceSY6Lzv2ZpZ5IjSIp85K7CEbiy8VV/fiaTPxPYCeDsZXO7hc0yvO4kE8AjpOwBsy4Bq94JU3h+ZWTlOVkS6qqqXZ1lYwpTOD7gLD0IZvl9qmbLPwtBkiutgk8tHx2b7mLlsgEGQ8CziwWYFO/oEDMJ0Rcox1A6ly6qnIqyStC/LUv8/raKz6kBMyI+yjb07GrmRuWEwvrE7QwTCnFtNt1mbYKcQi8o8/YqLVyq9gl1Qen3t2Cc4ab4nMHvnSqVOtbjZkW8m8AQ7KH47PPqZi3ium8pQ2k3yqAlrADzhgWX+NfJbG9JxRdITwrWsMwU9jAeIwmGTCiNUSAgeKYDfNAvf1nWawHyha2tji0pWIjWgYbaYR1y/nxmfu+0R/3MO40YEhIgiEa67fd2rGkF8917B6+lNUlQQQUGmaGkbASQc5+8wQA77G8E0IndFfIL0c4anbt6RQCGvwAzAF8x+GC7uARG+8PaXwHxtiwV8C9/QB/2K83AKQhSApbvo42MuxrbP4rtL8N5TMxY2P7QTGuGKcFjlcPd0tqSGJfXUq0ynLlWKCtxVFrQKWLvqC62ntY3bIB1qI2MG2OZaFOzZpjn2sKyJaaVWmM0NUuTjcHRXLt56H0tcFCILtJixyVoU132Jnd2hXOVKTXQIBBChTUCR1EyjWMJFFJTZBp5pWpkjdZq6pD22qBvRDJps6kF8apt1nZEhzoRXtrt6kHwap+3H0H9CZrImIRfWVNYUvGjKR3fhmayZeHL1hyFufj0NF9JAT5CLVJejPdEl/4tU7VcdcUNr6VWqavGS6O1GuvwjLReSwOeRm2yrRmPi1rxsGm7rg7cn9qltxt3j/Ya6MPtT/sbDmYAN6CCcA1rCCgUV5iGQyNwSWoUIhoXjMai43DmlYCTqEmEZBwVTSWn4aBrBi0Te0uzmTnYuTrvW5+zgFv4yCbSYkEJ1qmWicuxKrRSVoVlrTXKWiw61WM+aKOuCbNZWxhbYrrS1hZtMNlqO+v2GB/UEaOTdnboguFVuzl3x+ChPd16of/WPp590fupP7pguqfdd6cHSMdD7ZH7PUbanmhPPeoZ0vJce+FpL5GmV7rXb3jjxd562buXpO699oHvI1LzSfss9QVVX7Vvat9R8UP7afQLZb/VH5T81f65vkgrADriGM2mRLQUjysPTwsE4LgAVNvqgHPueue9xx+Tc6PcLLdtqK0udKN7PetT3/o7IHc/w+jo/R8AYOCn337/5J73fOCPPGq5tNGZrm7+0Goo1Q/bg+0QuABw7sQHl53159c/N/5cv7/v6fTTPU/tTyf3lXQ+9X0y84TzhP046NMIU88YdQLhpR7hJ/sYkeOSJEuRKk26aRkyZck2QypHrjz5CpxQqMhJp5x2RotWbdp16HRWl249ei12znkXXSKhw2q9tmix13nDZhzQb5gIgOHHQ6HnJdj922YZDFtcLQIl3c8gSPexiPxrMnAK+QAFkOwXtwjBwuEcG3sWiTMWodhFSBQi3CEMC+fOYkJuuiZUC+/tew9Lr4ALzzNaZnHhQDytxtobToDPCtTYquJBGsTspg3+vYxVq03ELcK3EOPgRxAY4fnN4nwiov/7wkJghcFaVppSjUwzW3steHZja4MRCDhn9lB/hx2yIrTaHxLIXRJrmyZbwH5xmpaM2lT0DZA8QXbR3cJ72wNHKGL2TO5t907asWeLDvU3GVDbTr9os/yYkLOI1PbLqBYTrMACUlYbPMRi4xZRWKFcw2HfgPgg4OwEgmybAwDwDwBAHwF6BfrHQHOKWVAHPD8FA8C9FUOEwREEQ29qrJZUVNvVI1SOL7vPB0G2o+BZY21QI3sQYzjuoiUBy0kxWCC2c8ryswrhiog/HoaBt1TVobFjoT6nFqY4fjVAjTWRoCproWiHQ1eCrY3YSbltW8rpbaIWi0KVYISg1wc7XxVxxq0BY0sKn/Q0439PtaDtir1VO61KQ6kLoe3m86J11SxEaqVRUARsvM8mzo9Nb5+VAQgmXEdmxz6PL71ILVuZe6QReO9m1WcKME+wYaImc2HArIC15w6YiWZMNYwYYT2ADbW0be3TokeU6qBA0/fprhcCrhjBKRdmzhUIEaXpuN14KIywHvyOOZh/2+Y5VoIwsgFVhyi1IPY+KKEwghPsnR2lInodxSoQJSfXqUlZgDIkDc65iG6bbvj9t671QUNb6DXsIS+sRKZPWYWM6/W61uDY5bnhHMpyhhOYLFVZnwurOzxbAIk37WjN6WVoUVk3O6tBsFvm56cRqcMy7Gv0fMyzBaRaS5AmSb7OcyjheVsp7iaTsMd90UlA5XJLhAB585PLN1Ankc9j0ZcSpCoT/yBxt3tkqQpFiDu3PpXkL5W8kO+PHM/xuf3Aal2tzITVN/qk86g6zzjRmn1zFkDlimECq7vYBSS8MLyceksZsEsC2tCBbqY1VajHLcEQvCuT8+sB8Ztbn6ElDxW5kNTtj0AFX0HrWF1OuZSnWCVfJmDvVxW3LWGxLClxQWu5c6ZzOZAoxDIVVtQLTWPRbCaGsvUQcwmrdVlF85tLoLm1bLIqouxChUXFPNtesdnGkIMNWossIbIljbGSBBLRBmNBR5SjhedAxKOqyZfC6gnPABjY8//1UOtOGek6vcZPWlTk6HfH0VpScr4AVsu/BzVg8kwyDX6nv/x65BnupEgVQlZAsDxM6jgh2nETaqFkqf7sswbUydRkkZEn3bHHOXnTgikrtj1NwvZKBQEGhVD1wlXJc7uP6kJkcCCSkmxKqCPGUdx2peR2ZeN2NkTTIsW8l1X2SFCvJ8HQIadalKXKlNFrd4+VPwYjnSXAEtvYBgTUV5eSMqcYmbqPaTxVanL1rPbJ7XuHoIJYSf1jsgRUfLGJvt/S9TQoCU4a7ln28yG5FWuondmrexbeNolZBi1WoVktyrKQFRnBZViU5Fqya8yG/G4AyLowpAl3b1NgroJHhZLZYAn2hyufgo1oKmUVzk+itbCdPU/2anupCbM4lS2nMk2w+Af8rgHyOVEx15Ta3J9S/VDL+OrF3aTeb6GvcGupYqIQgpTPvq8DxfaWSvRPoLmjUP5WCUaAiKNuKWYHfF6GlD/HOwCJ3aRoSOuQmNKx5Nn/57/DHajHJmZSa2lWfMKYoaTNipRx0iLloAYOaqECm+rHyEigPHvig+pkrjEyJHWWpdy1G09uOkohZ4WX0JiROulxOlHJ3Xrc85QWamY6pCFRSqm6C9qo1qFZDxvc4TQly6FEVuQX+D4EwbxcDJljiaFCb8qWn6aGuYVBvBdsRzTPBuiSTsLAHd8w+/+HRh3zQ2bFKXj2qTsI8yPrI7UHoXcSpfrnjuJx/sgZPp9bjVXF9JYjgmEfbdR7Rcbw7MFiCDMJU61ldKkjcpWIacAuoo7W+kFV7ZDEqebr/xIOsifnghdy7HkmErUU+7YeSHxtLs+qhLZMxbzK5dSTnBAE4PtAKAy/4bNfWZwAnqJRQ3k1EXJRlVyIlmnSsMl8xDTg2eziEg6zTQvPJFCLFLEKITQpqW2SPJlGhjGLI1Ck3FwxhyGguSBxXzwedjKayypdqWufucqeu3qKKTN0gh9b1pofu/bGcW+4EzGE47nbib211JJL99xrz2r4oqvK5NSmka6gcHdIcvmEpMZoTOLpo0NFTajxviKnqry0V5QKxH55SzRcERIrS+qoxlbUkJQsWGj0YhAHxobZzIeq58xqI02i/5XxrrOBmo7qjvAHjB/EZ+SPWLJyXOPfYDh20blywIVoFQaTDdi6tV19w5lickptGnEpqOY7BKsDJYCZyT2iiFlgUtUxCaitcKZrSFKlxMbViGomuvxdPS4fcAyVh24pGpIkDkkm1AvbLlcsBfL2fDGFSTlF9YyTheNpXlMZG3tW64CsJUu9Qt5RKY6yF+m65VEV8e/ZjR9KeKUh8lbjLTEJmr2ko+BwdwL4u+xGgbc/AgphZYbANPukgoOTQ9uyWtsVaXIhSWxrMV50wdR9hoScH34NestyIS0SO4LfxQCFI57AauvmAK1WS3I0ekwJkNiwxwtN5NKcL1TIJVu2hmls8gXSXdnBsiRXAKl1aKwnKJUmJtcWc/JeOU5Qc8mAGyb5deoyjtiHiNYxtyad6l/5iEOIXYjCdZVNrly+NT1AGd/o831GrdlnDwOiPBY0nr0AHAKzGBrc0ZP48kedmtTJYx6MhKtvfLoHhrkQyuy25/KCjFDWxPP5vbhRxqCEKpTyDRWaXQEbEJMMqIXFmtGkSZR9vGirtntDxI3qhcGLV1rLqljPVnvvbdO3K6kCZC2q/FSJP9uO4V5M+qdlge3vnAvFazla5bU7vf9MQokJ+CHLlfkK4X8skhYZUvWz1zKgoOVHRuopmjRUVBNaeB9ANNwJPmuXx3dtn73qzTOCc+oFRWec+nhvnut966z4VTdx+pQ3IPT/ca7xXL20oIj/edxomWHjDVGP+/yHtIACumfdRyL3CxLIY3WbbUX9TWPV7oRj1bMW3jjIrxuLhhBFWRGHqp1let2pWHPVcprC9mp7+l1CyANhX2stG5gsvRdigPocFqwu69iMoBnFMXmdWtABSRlJaf5HAiK2bVt+rC+o9NvjXT8YsK1h1ApV9yFVZt2arjAcl7iDxzyQFwC90SsnqB/9D3gS9FyFceLJfOQDN+yu10rh+cYy0aiTaxzgAIkHCqZSXGOcXOMcj61248tPcLlhdagQsNuUNvnwdP1makR8LPwsTtPVnQRW57pk2DDTwN7QtEyUwGBWn/aLB8ssngvJA2LEjpMdo/DKmBbwO4sQIPDnrZi51bidBFoXwN3Askmwi8gTFXwQykBuuKyG876OQb6Wc2qnLHH/MeFJsrExc+q2HI/gMLDF1VFFQ1dKyjX1+0oKAdNMw0VhwVplg7qLZZEq450vM25ZKuNx0Jgi6TVLyQrPTF0eDCIW/WR0dM/tq5rWsrnLT/Ykxy6jXhiluMxCvrgG1BeXueryaHlRL732C3lPmSI0fhUJiV9DXYDiOtaNpMx9n8TCw+YLBNTtziEfqJH7pHXNZIac+89jeY06iSPkWyoE0yHP9JPym0o07dF3P62K3N3O3SdVSO3pKHWq7yATlowzVjkElTCBrAgCGuKcsErNGmUkY6qVmO2rin4OJGyyem+WO48sUz8dMMxCiUF+IK++jt2hcvkcxp1NPij019doPJI/n8OXi9DncNz6TLfWl61MGoPCa1M45dqrNn3+wpQMjoc/OaLsKM9Y1hqu2teJLxbwHNZuDXGUWD63VB1xguENT/RXOFu61uv1BpKer3lm59t/abng9WUaUzQ8L7eBIcHrhCiV83Y3SgKELOvgAdoRoWV0fhQKFF+EVtOBoodY+KItwsAie76o0zwNSJ42UwQgz1GSg/QS5JowGIX4zqqyGy6dY23uIlrt1TqzM/ucnmdFZnmNQqBuwdpPJimcrieg+gJ9YcEvmMW72io8s2Ai1AhfOkI3LLwUMlI40MS5J7wBNVShM1CqHHJP9SNaSzI2He+laUwRr3sYvm2DaYvpeOlhLt7JZ4Euqn7Lfr9z62b85Qa0O9SX7t5p6YaqxnZesZOeKMb9immRirIop+VKIxzHzS/3F1UtBnQm1rZoMwK0aU1uiJ977atDpZ25znQJ8wUyYYjCe1UY7XvN5S868Znk9mWBaLzKVlk0UouezI0a4YXnMpn+Cl4qBVLtAV36UqxJJ85k4fnAEX9p9DYBqKzXIkdBagFulqEPgXUhqowhUi6jPe1PgNXRQcGiVijNOhrqhxJnK8yKlwPBjHyZQSTOn8/RMYiHLkQL8tB2oWNWCpkSEsbpzLTbNzXW2zFC183083V93u/XaMGkxSax212H7ZEKJf/yEXZKNl/VM8mV+PWUPR/nO8iqsSBVhBD/JeMqcTMyoPTsDV8PAqQnC8ZHJY1QpVFbQhnsGCxEFt0ytSjehbC3G2YpCuOOEuC+5GDbOIorVfXsODba/rjZZJa5ng6UiNXhOt14wQE27lofuDFIQdqiwra/ih+RNqknjRU6C5MTZyJRb/YEIz+BozOiS+7tyr3yKhmkpEf3kVDFrdRdCUKFFh7RlYn5iPkjHvzOw4QwTmYUrEkAqwSSGkE7powtZEUm1i+jnNsiYOO6yGxuBwifdkB4ZT1o1Yfwnm95IAYY5AWeBfR4gdiXQ4FBc4C+G/zjdQuYbK1J9GlV+7YKapQE0JKJMcxIOUcc8gR3uGHpKyBpvxdhaBmM2X91/GHM0CYhr6P/4qdfgXFHfOWn+Pb4AY/oIQ9gIeHjRvvD3cvkxtbo5OebmR0ZmQlj5qJejsz92vaF4TKfHJg64reiflpyCkTuTUpiI7r4tgxmpcRGH8nN7CLwNy+MgLdtGw9Q2TFOoz/iEII9aaSVP+lpwl6oDN6GiEQwx9Pw1x92iqCfouRA344ozvqh5fNcU3ySIbhdLArcRss0kfhcIykpM3ibSBzUTjWY4lFTodnZS+FhU0IdworayPC7E46ahgU85ICp04884F6/mua+J2qHoGtBXzPzWGgQEGcxhtyDgsoW+uHM7JjtafmZKbOY8FSoGExDpYY3KDO64gysPGR63POCtJ6fPmXgVSEJ0YywGo+gkBF6UZQgpdi0p/1jVV8ZhO8p32iwxf2aWmVIjS2Q8izIGAzTyTPnPxuJ6O67ftoi5B7lqKlbndWYFISaiTD2Lq3XFK20OjkH3M79s4PdtGrwcsE6+fEcM80W4xwzuTwnrIunYY3d1PEndzuYU1SUVuo1pUW3fW3os+2W1wyep3oZVpts84kZGvv6Ycclk3bsrj/vB/CPgQrW6C0GVur4ODVo2zMRM9ZX9nO72788XybxKY9U90oscQBmvlYdtB+stFceth+uAiaqQywdamgIu6sfTXI1aVuFts/iC6DfB+ixra/TlfAh9Rv7G7euHUj7naNI5Ad37A/JrqVjx+hbd3bBW81r2JwDKy69nsoBRmmJYgf5WPD7ap3/QuxR6Vhp0fbkzKLtG00OmItK3Nzr3x/Vxs4xJbGTdHimNDI/oM5pK72oWV9UO9sqTYss+J9MrcbnM9oblK+7Pnh4vqD25v4dIEDQtDPvyAtHcKkFA8XtttqrVIOFb8TkJUeHKhh0LSo+SQNnkaJZzH5qIENaWCTpw6isu3mFleRRkZjcq2g0Fg3RcquySmV5T5Zm1O4kmvu0a/8CWSXS6JSftPFHnrobdxDqDdwxq5G3u7H+sOYi5XawaSbdYdp/KKouSZNOzEtOpWXbEgb90uECh1X7QLbQmK5XCEWxrKoJtI33HnYeu4aVH4eyA5fAwNeN+r5TE6uendfKIG2fmBFElmtk3j5GaWnihMrKO9bYfSh3ibuMNMwI3puCDSY0ivXZpBJ6LDybITDimLEy19dPXzQuvZpBFFF/szPOuKS2YGtkljJRN9G+OT2gcogF4fsKXZHqGUKjWbCrqDD1ctvwgrzUNE4vyRV04PvBHkpN9Ff6Gx2HjlXfYVV7RI+gwR0QN2pj/mfRejZLh6KkFVM5JngTMxmVnULPgiXGWwM1GDal18V3/fQ2DKPTfLj6cv6ttNvOWW4bVKhSR3AXCoiwEqqo2C9fcc9y0XZU2RufC10DtIqeZdiJpZnJHQoqMoOaKkn8gA+vVEjzo9rSStQzw3mLRGP2aXJnsexAoRS3NS23SPr2V78kGhcpizGK+mt0g5j4Ny9FDG56eB6LFm2Ucm1hZEY5UpVCNDNTEvOy0quTwaWMiMIKeUwE75HAB4mTB73SdIzAh3NZZDXhHSY+feJkNUZoOspoquEdyStkn2luneeWWiaTSqyCNuyAdx+1Er+uu9Z24EjdbV7VBuihmo1r1pkjpqebWpgnHATz+nnFNlYquwAjFEcUsZjwEpYsB88hGRBScpLwnd9EO6yqhguDqWqsMFhODQ8Ky62pRmR7FT3Reg7/G3Nb92j2h+dPnyoSgyLwdMFpMvPmKjDzFd4Pn2EnjH31twtzdFoEGZAFFUs5DSxsrE1GmONlXI6AxcuIlyJM9FUfLaIrPo8rjY5h1BIEnxCHFrIJej9SuNRXFMmlzrcXRTPLFdWESi+Scje2XsfvD/+22DudtNSNeP9e1gSzqlpxiLQS+H1jrcc68Wi2JQ3x2kleGmY+gscrcExNeJtaF97J0qgxMYiGw4u60AQHyccAAfzC6ic3Wtz7BE9xygxslHZTp+53WDrCZ9Zb6JyJa4CvdByJUz0d3VYWl0VOt7L6CAcDFw25nndQH1CmFZXFLB508I+MC9Fj+oootmmKU9UkPxW35v+itQ3yyuai5nhV/XaWS8oxB7lDpT90YzIojMe6pDaIAv0TFr4cBQT8Dh/k8hkQyXm5svSK/8ErQR/XYpOPPHn/zJPyNYBw5i8vNLswC1che4SZ7blFmbtVkVOY7W5XCsgSGa6Er8R2iK25qdXYFp/kxeli805IPiuhWC6MtWWldEBlB/dush2phunpZAObRVNlE6tBCjJ1w3eAa39eqxyXAbG6Ug0nyWM5NUPyU7jlwgml+9E7f5ccrFhM5bG1+S16hq/IFV8/n1GzK/FBFT9klNwjrynUtsWIcSmbr6xb7zr/dvthmqMclQFio7v4+NESp/PbE340zfW2Hko/H27xAAjn/X2PfbZeoLab5K34Hs+uRKXHBKZFaK3hHQkv9yS+CuzkvpwBpyfdl1khq5MzH4MXnBoWNww7zW3tuzj25NUz4HTOgSlcXKgUGK73WyV15CG4fPiTxv6POSH7rEFLlIP67jbTifjiijsU7993Q02WrC5SI6TkIVvcRiQc92FED6VOkVFJEuPUoBh2wzuTAm77ueHsx+SP0T841Fe/ABvIuRdAgHjZ5Nqx3j6Ts6senG6fseyq3RtgXV/CGwm76fTDzHpJPcqYKOK8tFZN6cVYI4K8dXBkzyHw0hbjGTq3Zx2cRLQ99q4/Qj9JifjhGe6nn98Kq6e/AKd7wKHtr0/AXaS7HYmv7KYenzhgOb1//xMp/1XHPEA4q61+DP5m7fIX+6+vhPdoWMEfATkDfT28Z5eUsTA5D3m+KyDM8drBGank3ORc+VfKX9njqRuPr7dk9NGPQa/abCFXacd0fXWWqXh90fb9dc9ly0hQL6FepCsmiVJtBH46oTiwwWlrEm/LaJFEnFF0ES8vWqCoF9Sos51nzp+COcsfSTdriQwUfex32sZC0URGV/b7F4pD8Bdcmld9iugRJTdlpohy6tijoTyvp/8/+tBKYSYSYBKfXJdONdd1ANYeW5GmKCDy2DnRQnlsCazRdVuS1GkK0hNXoVI0EdSA82t8Vzi7+Xfkf0NESQRPxqvFSKZnNwuI6Mb/NTU9pIPjIztwXXdLeq5x3XYbfC/ijwu2y2s8qwkP0xVRMcMx6R4iU74xUurd1GXNWaD7p5C1ecZNXf1xnD1XvdNq4003lB7lGjwH0NulT7ann5zfomU3V2f0xWSriOVMCkzdwsemB6pcIqNYGzZ2X87U7aAx4GkhWhBPb4RaGHQzh0k1GsVNyduSm9hGNbVEaJSNtBkPE1Ufz9UY6lPQjWHi+EJfVXS8hEKmyUyMJnI7rSnVZKK160p1h8aKLyVYGEXuJjVtRBEGIGhHZ1xmDtifcCbn/fXVbsat+o4zrPL6Y4qCndGft98NWf0SvJGNGuPkmEnJo+2nZr+t1b+mpIRRQIvfYgApInD5GzD44PoFUP3N+eyh/pwh7usNsNtOo6lnvDauv599JfE1Tnkdf+WsF2f9JOjcpofe3rDrlQ8pGiZMxwbfgLzWWL70ENxwP+0acvqfJ9LBh0HfbPkPc9eLPQyLuxwcq+pc6whOUd8GYSTJn+/qaw9mwOkTxFBF88LcFnQfOJ34Xej8zjPTF5YfZI3wXaaNV4LLn4HLleM03+UY59/tVrA5B9aABYL14t978OeGbwZwscWYQjfu9Zv8Vk+zGSOyi1xIH86OP8XcBpGqlX2ZJa68wS8gwgl8nU7UqcmUdLao90cqsvt8vDFUSGYSw4BISda554nsJF7H9uH/6v20FXuTrCW4XYa3c5qFBw9nmMMguQBU4OIEZByazyKpIITMUS6DCjTtCQvs2h+SZEKLWRQdyuJVEGuJ7ZLJTaGEtEHa13N0cG4Z7FTo0MXBlPT9Ka3t0ivNvbqvJmdW1MXJ1VusshJFjYn+OtvUg8lXtNP1BdGDaen4MX1ZD0sfl+0vhhs+4PX/+j99ZHOIoumWaeiA5OPKPNHVoR13dVvrr5LpbB5+/wn9DnZ+FWU6QxvTka7NxZIIchiPMEmuP7FPWZpQEynRTTNq2jl3+mv1D6btn2kaD22ZAwGiH5yrY8xsfcEnacMLfVI6rmQ27abeLuFBeuOb0gsKxe3YtMKTnLom5mw+zJFv/Kc3YVt6VimJxdB5/zL9bNNuLAWbLeJa0OQUSxSPhUkbTSxbhE05sb3+tStTOir0dqIGl+GhUOHBihVV5zwGFv0wBj9pDElKGbkMTh8+cfHEvzry0y5VUYfbv99nC6rQ+XxtDqsRNSiuEt7vsV/RVYdxN/6cNbBvDqw3JR+vaz7DL0+rRk80TTsYs75wDHgu84+mF8RI1bhqtnFY+L06nELLDktNjlPAszwMBsq4QWVOEYUSm+b7Rpb8fdc8QNQqLS+DezTl1pGQiok9N5a+uHg9xS/T/gWaVuivRbEwDnXT3XGu6ntgGFHvwWe/J9OcSk+QB5T4sEy1ySmlflPajQ0d6Jvg9Ltrr2+t3AL0itZfBlxylj35OgkKQBFrYhWDFRuUkB4+JXuPz87wiAkDn7iqzRxtl/i9scvgvo6p7xqmztDPUH+O//UZFveWgn3XD/Wkz28rDqDG73d1bZYLM/Ecu7YaJoLlBNB1ZUx6md+4CthyVnQGXOAVHnjPu3vzm7taZB5kLZB3lF4zefMQ0wMu0sRgs127FM/PfhvvIHW5Fekz2QmsIp1ZMs/nHsQ7qr2+wnh6sYC30DIsmgOv0CqDnTjsbDemb3OMKhvfpXg+/zweKV6T+eOjNf5C1K2YgW7PkkVVx6Tgfn0d717b+P8U5SXvK7aN8+7V1bPvt04uqC5BZQg7v75KqJBWMYVFqD6BDGUX1dUKFGnlzNRCZK++Y/qAfgfNVkSZyjSRBuX6HCyRqAjghjWhXDhGAMkYAmezmi/nQyTyveLmIcnt5oase4fGn8i3jrxpIr/eGYrumAvWt4mVDRE7RZa4IZnehMGjhT48JAv3Y2dePtrsG51QBLcyVHpGLWpY0av5cmLyhqw4ud45Vy5NIR4gQ+YHAipadLvneYFCVxEWKrS5pirNLxAhO0DimXLf9x392BXQbJKAd/g5Sx6ApbTQtggu01viikuqcNFqWDGodBWqKKjEP9cvc1YUS2HD06OZxByFpITciGr1pCItrnncTNgIc6BB7K8EpS7BMNEmqbwIcl4YgSYpw/Lb/RYUYOoV0LEcL2EET5rbxToNN8SZXFRKKQG064k1LHfN9CEIIcM3DbK+iV3axY7Iw7TBU3WFTEqZ17gKEjoTunqqmPEtOH37jY2ZaA40zM/T8nublsRgdN0+gbEhcq9qzxx4lhmYS+fnhUsStXAWfv9oD0dh8I+rvAv6KUTnwOdfx/1A/OGne6o45jDtLwa/rmAv6HbAMNqWkTBCGtqWOepW6bUXrG/x4R94PPXwql8XtgpbBetaPigsebd28DYqvDis+JfUNbA6wM5927Bc4PpkDgxkl4XI2QdVbYVSLjkTM5paqSQUH3VH7YuRRZmJgZUNF8DNr02ftbMvz4DTE0RYxZZLU2/QGeC0ZzR01PHi9AF09zel9ZsOv3NSW71QQkeEtmaaAc/YiGnl0+ujGB6BbnIHVCjDRW/zIo9w/OAXaG6gwjnb9KUtM2Mug4WSuwUyPKLo9fxWLGMT3tBMExZAR5QvEyjNv8O8Pgxz/SXQWlcAWqFuikPZChKnaCxfigtuahO2tQzbl6aMbJ7irnxxkHA870Wii/5UDGMjbjvrBdlJ/WjgmsZvDtPLtRklFDqOF3SIrtqJQu3ec6tpxGN3YpPWWpWcgvp7x+Chv1EanLEnPfLeIcKqT5A7qTwQCwypBs69xPKWIL+CYLE84r56JjWYzjaVGlUfTa5CyybCZdd4/WcZUJ3qr5Hz25e8uQ3Jf7iE5pVzh5AHVGmIMU6rLYeL+GNhO9d7qaL6HJ2PzvQuotE9y8ONyeLPtzAVcEE4pmeW7zfpe7GJzkK9rQJ9YZw4VuEazYCsay1sbAqRAe3zU1ojkPfBHQ8S5s+pa/ZGnRs9C27vDTWWJX/YDyQK+7LPlYwjBT3e+/v3kCewuMuCntDx0oOGvvG+4bXhPmt8B++vXA8KUe3LIoTz42LwYjHLSMtlGAViPb5SlMVt/J52reuPxDc4dpAEIybVW5VjuCx5N5QVQTVkNOXlNV6fevuDbVdPjG29zqoYxWan9wQv8+IRcaSWFh6U8uhHynrrp5JL7LAg9qMfKL+Kpd7X11c6ydDySmxAe/sz4zF+Swv/mNE0si3NJ2MMseb6JiPWspabQJWkl5aXm9SXlkbty8vro6ZJe6krojpLQuvN/Ysr6bkvgQ2SoliQJwGM0DB/1hobig/6O/uinF61tvaf7kIrlscPzybhw9S8lJwIZpIh8C2w2uDDluEhB4v/D532z75zDxf63wlLweLDU/6R+URFc5y7faHPX7yco/EJ6gxneygrdaX6C2yiFIr2E0e/0+59aDDODDtDtOMHIX5xQacC8PxQN2DuNgdiIxvZQ+2m8uCkzof2PtreKf3qbxaBcM810spRj4vdMx9+9B2MNwSHXDibHYjRHroIamrYe4QYX+iuB2m7VlEjjlFTVlLyRRzU8arCz8PrDKB4fH1pfAkK4zwjGyNT+ZFGMnl0pKYao1YAkIeI/3qJCScQk8d6EIieY5MIjNz9DcR2bcuqktlllY2V6fb0qsvt/e2AsGn9O/BF8niseAbVLXun5elblH7KAPbuQbIR9CY//RV7UTIPkIwhL4dIX9EvXBQRvrZb1ZZxxuvtfFn51uqggM94p6o6+Y42/gEeUqnH57tX2tjkQ9t0dgzP8TOAVrgbID/qBMiPjgItbdt++y2GnA/7m+cagUUJP5PCsDH6IMY+Ldc8slS/LyRsOgoBZyW23DW6m4W9tlf+sozCsISo3KSk0BymUB9JIesiGcIJhCwi137tZWCyPSI8xeKDUREzKi9OWKSXuHA+KqKV48kBzqf2PbSTOnnwbmoPlY0kNtL2Tn05Mc33MGsfglcQ9IGbo+lwR8o5YKvZBIV74NNb97vgcfNEiDpEZZkcP+2/DO5odtxaRE+ACp3WUOiU4NXzMN83MR8jsh0xcBmeHYaGf/nSPjjU+77tLT2/vSnrvgPYuPKIzWoTJYrBQCmJRJT6ZS8gMB+rG2sxpMPHb9uDGiAsdLlSmDKZoUKRHrc2Rb/vnhWMOrjAUYG5M+B0o8fy31qrr3wOCfPBLDvN7PO9uIWzmDPsNHfj3D8RL+JebnwNuMpvjIxJGJKxYVl1phlhrypKBdk8CQfY+OD8q2aEFs5MFec5fkdg4cyBniB957+Gc6CW3SE+j889bnX9bttDj3bEH+xynv4EgWiwhyDY/+Uj2IdVpmMEEhHt3dTocwOLGvk5sf/SSzY/ONdvTnEgzrvxcH7ffsHVH7a9GPRko/zIRMV5/9D6PKriuwmN87SDPfJAtSSytp7HiyMM2sPlj671+Z6axnEwvhiC4KfdosmVvoDdu8sG6uAbl//5/XLl7OdB5gayL/G4W0bc2HtREPMAlp9PPBrAWo/+gFnxojFRV/90SHmicQx0ZEONAkTD3sVEx7Du8NcSLY34oLRgDhIDX47+4d0ewzOYuu+pvlqR/8ECNzDdlRQrcWOq2Y6rGBPuTN2i3NXriwrJMhn+D99W7anhwnOELOq0uR+iZUUWy8ePbN3P2ckohcjp0ebhVSDOMXQPZ+MXIMA5bzgpkBoMerLBPDiNNRhXn8PnftLkGkyBHfbtLSmswVi6dwuTJiAOOlMZZvtThTGZcUcniXnJxr8VvS/2glFaM+Wp0Hcr1pASjwtf+/xLTWv2AJuHzvZLIWnh3IRowc2/dD0+VcKpwlq8Qoft1GRiuiW6UiyH8uUPWyhIqmMml4EgIJ5PfmHndYx67C7xY0YxA/6mDQ5O/K0OiC9sp/KrAk59/n3b3D5f/0yjvhTnyeeciAz3/8zVorWMd09fMIcj/h7jIdVlF9YFuQMLH21ajslb0bZNP8U9sxCpljlxZ1uIW5vxBaxP6r3DjDS+FqFybhUBhhlftz91ZIyijfG1hNy+UR4g+xFNrYDaEswhB1VMKIkGUFe1BXgFBDsKvNLF5DwEugbQvMLZ5Q6LrsfX26D6w7+wqx03IOE83qiwsh0PfupIwDsut+MWeH0evj+BnddzlD3sowBhx9RDYvw2PTL4+Rkebfpt1jbfNfr5Gx9tbsi+p4rj7fZ2IFI+V4Wi11wsfejxykFE/jnlKlDs1vmyTz0dmR79SNpsvgQ2xUvsJRQax/xfD8kQdhGgXxmfQkvfAWzmbc1yW143qkK0jjTnPMdmhR6t8yDIpHCjdaKdHcWeZW1X63mw3mv3vq5ptdT2KM/yy4q+BUnovXsSZN/itLDyrSonTt7MNHjBabZ8mBfB6VYnDhy4tF/kGzW+Fwruj3wms9cK0iJP+gHK2zJjpehHGPG3Y3FiYZIBHaLCLveGDzWCNlhIShR6hBAEv0lDovkORSYSWWxRSINLJ4vs1KzWSKwQqQtjN8wdJzGSQs0ujYvCHTRMFUeaORZBYrLD89zqLYUe/RFFbOb3n7pLw945kd/v8RkIkIB/yNChHh7WaQrpfeFmAMlMqgW90KWdS14aGQPYycf3XqrtvECq59XAwMteLATWWT5bmaxJnkN9f9lHHMYo/Q9zEnP95Y8kGrMSdTqvVkTzkHR+D6RsmNFcCF5XjSJtPvgY2zXgGzQNn58mycfTaAwsmABawhVKZDbCLBYQpDJCIYB6I1/XWUDkdDTest06sFgyy7Yl92sZ69EbKRl/4ZlGbUvX58XQ+b1ERqioafFLHbzN26iaFDX3ZC9BSg9MjGqT0BHD4wf9i7VLTT17JFkN1wU8Nr32u4f8AI1rItlGllsT+jcplt0W71j2BtF+zn4QDeDa1u67kvImZcUXnkg8uhUTsRVDPJpo0fTX/IVejt5R81e/BmDFPbZY7Lse50Dj43Ogj+27LJZd9mfQnPh4aM6zXXaL1b7rUTH+CARt7bSswkusR263cKHS89JQHI4t55HSM41UOPIvcuT5UCkQQ7w0k8Jd28v/XvkJ+88pzCRuAkuo3f0eIwgWEOR+NRh62bl1mBtyvzOH44uJkYTagvnh6GD2qU0JuxP/bPghSwq4cbI3pzVz5bczvjAzUYyXm6Pl/pdD+bHRoZJnckwWxOpGlLamufA491baYagXQq5LpKfsqUTy25YvlCOJQhB4/lt64htIaYrelqn/dlXgtOekFPizKvS324WJc677j9gxim7cNh6lfOWaRd2/guN8ejtv8zVj7ej/MCISVS+drC6E+mFyZfdwXwqh0rmQ1a+VjjpU83qo6kOXVqauoC/aL0J8Rm6eLxa0ono2t+Q1gWsR55xyMKwkNvBsHjncYKmuppi8TM+WGi1HDx890lJ1DcXoZQRir7IjU16hwb337XEv8997715c4dxeX17BW73M4To6JyOiTpLo3mBYrjTzkP7NsMyZkRWAAJdH0y/wbTFsDbyWR480SljFSE5T4LcDD89W+wQaAuPdEPCAwVdQueLDVHl8T6WhfGFnVVL6cMLekJPaeLcuVH9yR07eULKpcJqT1xIzW/jk9s/XkV1M+ifplQPoJmq1uOjeof6BC4HLYrwWiufookkK3/IUFrSEJtXhaEm6SCYv0nDokKMOfBTnwAkb4cye8/34JRH0ZWZU9AHCNH3U2wXfbiD2ien+e5HI8wLU8Uf7c5WcXPAs+GDGvC1YuoZTiEuuB/kZBmuuNtdgML/A4ZTLXxmdzusrIU4a/RIDAjLIoWc3UGWDZT9/X5wi+Psm/LnTIlLXVQikGy0jObPXUKmzl8n+TU5VGLj++E9i6RL27lcrULff7sbltM+Pc80B6HVfkQc63DoXWlfDLV8/qUQ/ii7miKLc8vQCJAGbAJLuM4qiKLGbn8hCNCiKFni0t89FaxocPYDZZMgkxd+QITQA9CakIc9/yxTQ57fFOAs6GA8Ai8dB9FlKriD1yLrN++MokfITNRgbDniFDiKUlRl9jqNFoAeoSS5yqUQ4Q4nj/jJsqy2J8kvMPb48hOloJm+fJKMoPDokILjda6xYw3W645lxHY2EAv8YqqBQjL36ZbRGIJ9JzpNQm0Qi7LQIBqOBD//2huWbrkamHh6/kowrJf0nZKln+iZzfYUGrjh6/s0V9OfCwSLkFS1gOk/ra8ZubMF7EZrPrnz3CKTiJ/yIZp+jfZ1tIhuQmEzD5nb49A5svcUqap9M27cNh6cBsLZE2nMCL/F3epwAMny9J1hCRyMqqEhWdAyE0CM9ZsajQLkX27gB/P5LoZ4cRYaRsIYuMpgnVUgYVOhEypSH2mImcbQgHOG3O5gGDmjCGqNo2LCANjwsRnH9+7Vx+RxfVH7yMUNKk3MneGi6OpXc3cMQjDnt4jFighljesj1MGdjOnD9zmH62khUR/VZ46lvTBPNj57T6tzVN6rKapidCGP3mHlzBLF0W9NWpVVpHA41a7whhanOw/L61LXa3Y56MKuuPJf223uSZqUrWNHcmsZLPHrdRqfL9VpqPcfmalPsA2ylOnWm7QuMNXeRWoQat9PERpnbH8w8LNuMdFPKcg/W2YD3As6smROqOq5xmdl92nfVbfcc8NLc7jgnqo5r6XW8/Jr/weETR5FJJH0O/am+ciM/juCeHpQ5SsYCJ7iN1/iyL3rbZnOprjJurS2FKQ5xAy/wmRPs1SKn39AVcLd1W+4kk04nDDFEWh8xh2xsC70WSejsIDC0bQdxw5IMBCuT1ycpc2d+mA1G6dCCMccxbuEVvvCCHUhf3oswgfL11BEu8iZ5lxIwdAGkKS2iRZoDgfDESgOFsAzKxpD+9bFOCkKoagOFjqIjNy/+kpmR6QDmvqKapcFtFHNFtIS4Zq9+8ZHIoYkHIVpRZ2ZR5H5Qp8ySJEK7j2Pl6Mgf7YkRE/tgKwxsPMVC0P5SUNa/ErsATgH+APA3ACrDtjdNXbRDnUYK9iobWV+VVXuA3bs6h2JrE/on45/zSU2zW9IKdNc0MqHlONPIZP1ZoowwvLgkmAPDhdIkQ1JiJIGM/e1jCN1gnkJmdiIElvg2gMA6bcII6lBAJ17zZ0VYmi/jG8YBFGaNd+CQjB1gEFBDASAOrjQCG8owQALzAti+cxUOuDjabtZfdWT6gMFOBZ24mVGS4gJSoDHrWqRmbFZvvfWErNBnHEnZitRULKE3Ba8vrABLwaEDfSESEVUuICkmzD6KjHULg7ELpJrRCtSIVZR8iECxmmMO4sSnUEwyiu4e8wXcszsIIwE+0EHpGTC40oNRWQnH+2oXZEmWErhwUhj0yatJgEIJfUSDA46IoVAC0B6rwHIsmKUgH6AxFzzU82fyVihzg2QcdFpIl9qTdigAUvO7BSOyY8+jpS4tTaxguiwyDM28WCvBJFPLKV7RAhsWgavZPkPnjKGAnW3NJJPXk6j2/LxG0ABPOlrlpzYUOMq5tGKFy3YqhDbW8JNIvHaVn3P5inWUmLIvp3N7JcoNH7Q39t4c/XsXSkjf2+1P2wpjBxNhFNO4OiJ6qgF81uR27OBQxq2Yx6mDLPzTGRIzqqsEbt3VXnXkyqZs9w+Cjf5Vc0JsZCWpH7n8hwTZO/MisDckZAeVMwqiQL2r5WTK1kIGIrSiBENly7AiA63tV4DW1l49bQQylgp+hpZtCzRMx319TqZBGYQuB7h0B9jA3FJKGQ025hPEdlb4FZgMnAalnHKTlpBqptYprubLUjOZWPpsH+UT0LratB0TRPZ5QFZSyijGKtoztCKzeY+ljNN2hyn0uZkv9kZA5aat0q71jtW1O2WWZ/wFiLpqA71aa+AarVlY2NTnxtNGIMrMZXL6Th39s9+8wTGNjpMUK2f7kVBTClgdBqrZO9Mn1a8mu12/HtWmyWlRhNujKeOqJctYElr0lNNGOWreXksmff7DtRnkFaN1NWVawmdR0VKuFtlKphWy25tKVdzfo/BHsiliTXXH416ue/mcIkYq5VrXJG3euCmqmudedwbQEYdmuaSM0aKl3FJgRZjWy/4AZawm3XSwR9U/yeW5d1+rkyLlyT7n8jlBEBFvqF40pDM66XuDFflTpR0nEFEtv+tngEFmRtDFfOk3uXi0orlWpetdTevYiTX+aNUoHWwSoxeLiOF8+gCQ5DmCGMcufolbaV/dPPT8wNuyY7eoqKioqCgUCgoVHR0dHR3d9FKEQrqzKLpzyxubyiSDtn0NzReYqouDC3/DwzHqNJBoX/EgIE8HYpfIPordXynUDy3imf3IUx9OrzQz+w3QecB1y0rNsIzzAlV+rbvAsGtNKYRWpBQtU72lR9rPuYxHxcmE3GmtyOb5jj6sKCS5OgfUErOLQjeqMcPJJugm446qVeiXYQZvOdc9WTR2iwZaTUeXVjrxdBKxPmp5qpUmqoZaL4JQGjrmbZSQXsuMt/OZAHAK9vAT9LoIHhEbNuR+D52TLkuMSec8jsD5+ukF6fjoY1pHa9zxnqd2atgcfxzugQjrWcpedGW/hoan545rHh0GWAEbhAEMp3bB0LRAKGGuel3NgTklUdIGQFQZpa2AdJOdoYNlUoKjVpDYVhukuY4ArkGF39T18X2pPLqkXdrl5VbAusn3aTJ1NvDHHnMa+A4EYHbMqCZxBsesTJWasZ1Hm4WSyh4EMe+yTEgiw+1FamvlVnxBlTo2z4CTB1LeCLsIWiJlKJCqQCWmTGnNF3HR2x0UaLdrhBB6eRg7SJvESwAb8GogEn4eyAatCuoUUo0z5/qbUxzHkzjiZPNEmDVGMfGLZiHLHrel02cLC94eMN4x0g0TtAITOhimLmoekM1aS+YFGrxQBO1gADLoWlqxmvdOYPprSA6vRemdB1OG7Ssl5NQzq9F0XGM9HwiFNqoto6K3MXSJYPK2WgaenYPjnNET8zqDxwnKse0NoogMS9acYazuFiQT3Ywqj4xruIA5ydArzwz412IGDi3uWMJ5Q5vaWE5W5ZGh3hrqsp1QLR+nzkvKe7KQaXSYLI8MNUG/P1kxM9I5SF5VFGi6ihwjYVBsIYbOP0LVz/0UDv6BPh+V+GG82OkWcnTo4H/udXkIJ4oQc6fnwijgzF7udDZBYXOeRGex5n9RwoZO+6qeS2KPIpJuR5GLAmLudDsaJQqw4Y6jjeRg3ULoHET/sEEGOn3DaYLn67WJrSYEBmjAL10eSZd8BUpQI9g3iAb7wGq0hkBUVRuRIPByBCDeWrIkyPFW9moqbAC6ySLIbkIIqGmanXzuIj40xPEbMOmEczMLwrSEtWPCGtldWbgciJWfiGYzdJsvPgeIk3FdaVsw8RW9b1EtbOhcHVPftaOLdBq914hPhUtCsCYJ8GB9RkwRu+kGsyZnsxJQIbaXiP1wlYhm7GY9xigeUAuthlRLWlHEN9Ay+nazF7k6qPi82wvRrtTIMnATv+BPuwread/6cit2oMqoPsPsF/e7sA98WGZQGiGY7zcFHiuGNy5NVHVcUGmXTpsyK/SABdout1mVeGrqUMdlhENwllYePPEZQ/y4o1sRgQm35nYjG7/QWtputqTUenO+P0n2YU5ak3IciB0trbs9Zh/7dAdKQFBvtceB+yvP2QbgHKQ3/eF6uyV2mN2nzEOdM68JJ4MzMoSsUuf0y3WWiPSGN2x3uRW/LcB9x4o6892J3qM4A6lWhjAk4TRzDSB07c+BJlUP4NGQjSwYqIz/kMoWFOLTSWSq2wBQhAJNAM/JMqCm+LlGLut1Qa7LJDHHlA/BhWGHJM2CxElmTHmkJVn4PzXNkVW3wiz1Y3THaBNOmm27bPRuKCKZHbrsx9KStVL+Z/pESjc7wbaJ5XGVOKKJvlP0FGLVApnuwDYTQjJjpZUpNqOu7en5NvafmW5rXq9s24wup4hU6D/pwmkuq3TKpKqd7kK/BYMnFR0xWyx1es3ly2X88rQQO+d31RuyT3LllXN4X/NpSYHudCiEvOupOsjJaYooyn3tasbLJBNt7HKlxxzpaN7CPceeZrOKQE/L+l6tLvd+FsUdvTY+QIBQW1VM+jxsqw18Djh3AApjGJMK7FhCdzxbr6sstkILxJ5GNJooxUKQPR4SORkJY8bm/tA86NNgh6At+a1lNHh8pCE5An1G48gkrvgauGFmOemBTHLKkqgEP6gmwlBJJY8ut7YojdMsEZxLQGlUYSCTPBDCyHT8Lp3EIVzQh7Mthel3ZWe81lGCh6RHcQNNH5qp1bbP5hNpU6Etz6TXuM7i7MPrjI4a4oz3nLWj4eK6tIW7SaHfTf52xaBL515qGHWpmyaKiDW6mO+H+5ddTHdj4zv7GO1zbb5XG0DhjE2GytQAMhy/xQyjO03jpSOygCgqq3M87iNx2TsLrWx7VQVBVXVk2V6zfO28m7KtVfeqXQ5+l6Er3sWol8bZPzMUHjQ0Ypa/uJVK7eSAmgXxQ3P1AwldKDVwocNBDnHx8X4g1xMJUOwJz8cWJBsrQIzGMLL/4XOT4OYKV5QhIQAHBekC2FfSAOTFdQEZB+UNIouAPDsaaJskoQOnNlADjq0DK7Ib2CwtbU29kVGdMdhGgFVH68Ef41CCQg6F5b+gQih4YYV2aQJ+GkMgbl3LmtzsdI2snJkaSLKzoy7G1qImXVj7rPo4uIZzC8N+E8L6/xsRM6zHMOtODKN+E44RG/s4g4c167mD4c0V5COlbDeUDGnciYoI1NC/hMZhD7rme7kek4w6HSxzE33WU8gVSdSllzN91PqVY0kFa/+vT48w+f/hKCzJ7mDccA0zrTZgvrt5Ywuy+jeryIIOFcRfPu14VIV2MdQ1QchtrlxWlPkIho9lN9S7oEdRoDA1SBve7uaMKAHdzaF9ltCIVZfH7+JzsYR60I1EloJ6FqhAof9Bbf9SP8KlwR6a8v7tVhQzw6DRLf9ZjO8HDiru03pbCd19SSN21zXK5QfaY4U7wHsP2MYq5KEw13GjBw7G2d2xHTWxpYP4YG1bsohSlV3r7tATe22+J4RAf2RyfetpbzJecu+r0u9caI+9aRjD81cUJkmiFFOFKzqhGw/JFTyce5G8oeZIw1M7atcXMvbMRfHW8kzZUMx8Spa4kkm+LMjm8zjCmTg5TFP2sJtDd0BhXnDeqE/jXUDDKtGTeEQ36SaHpAfjK6ygVhKywi/Wdc/6j+1aP63bHxBBBRoz4PEiicXRRX4enfgJAoATQWksqq6uFpFRgDJaDbwcg0OYfv10hRGiinmTW0TP+gOGu2jtm2B2nKynaDexlvsLjuwQY0KEmjUWG4wAYePnYoSaPZ3lqFOpathTXtKttX2XrcQgPEc/qK7q/4px1hAtm+esLRNdYAWTAz7TSz4Xkl3eqTm6vvjnutTl04tR8fO5gNExgA4hSjZWEM1t2WcfefQO1w77CDfrUS8RPXYSazjYxk0LeVVzEVUBMU4a1EIbCoExnZCCAB7RP6wYnDcuppftcnxlQwr/sMY4OUpiUXqmsWzhsmaji1FKbE9CZJrUwL8ZdxHf3eLOe5/WDUww+fcRiySi5XIMzuvxgXiQzQawVsUvzz0ZODSZQvL2xcLev1syM/+to8UDMybLu/qURa7ZRM/lGJzVWQ7RHrZlBX44w2aQxd4dtz5ywa1LwBF72BTSuN/32L+TH+h253d3XGRBrbRV6SZWDhNskqZTU9LEIEIuu+CVEeIaq+4KSy6rqVnS6YKzfPZ0iLjJCBoaaZWuKn+PhUbpqDbtapmBbjQt/Y5JyXOTcqYgoUbZpFyOwWXVZAXlbhkllnahkG7gZS3p1bpwCEogQVAJ9AI3QAtCmSRemjM24WWnWPE23q4e1MgR5XciIRaec+vFJ6ESAcpOzVYF4euOtiscBNAzeKTfZit4tyg00Sm41B6hpn2HeZJnHEreTCLncgzORghzZN0MKdPd9jF02hfr5L/YLbZz6G4jtk7Drbb/DB18L9CVIKj3TLE0dpX4NzfMfoXEOicL8Yme9ralfPchCfaEH46YVnP02a+wIFJ8XiKF2+Q6DZokICJEi3Rx9fNoCUmRS3wYRM0lQB8yBjrmfWTLG3OqYTaDiLkcxwdtWskG6t06aqwddpstcV/Ok28Nr4NO4ci4ZZIz2JE4+i7jewHqE5xSJ2lft15A0kYA2LSiZIltQT4nBiXfjIAzddkwTRc8gOPuxSbiV9P/k+OH0JTQx2jOBZwq9uLeQ0WUxm3+lFOiRAchSXMCPtkG1TQaf1D/b06w44S/TReNJTcp5OUDOY+iIvkqGSZzGHpybXp8ar77cB2rwHMOSyEfxZv1xEoO7A7WarGbGmpmjZEhpV5V7qJ6ocYcu40fJ7qgfBTpuYeCMbI5mxtOv8X0iz7f6dfnO/HGjIGQYW9oEgS/F8eK2hbRV8XFbQBMNhdmQ2JAG/V/3bsq7KDF+E6UZpA5jPlyUN1zLSB9L/UfaA7EFa9YQMrFkDQYi4avw4nu+nwC1cSj4Ld9HMkVv/mjTndymf6m9he1vOZRd54t0EVi7EwRMzUqfjkH8H/rZaJJKvY8m4e1pALnsAjGBYyvyS237lAEwOowLzaqautX+j+qdM/zI+uiae2MhtTaQrG1/jvKfTvFOUTIXDqRNk8r6uJ01tm4f9ZcuSsbXbQs6c0Zbdmue+z0wPQWqyB72bHZzvhUQSoQAD+I/BUwde8tkKW2ndHet5S+e9kGfJWfz/pc4Qo1+xkHSDIvPNKbf2P27ltOoAghLFK65pnQzG5nnvoMOzu3NdsHjf23FYoTk4PeJuaMFKNlRHCuj43rj2qUO3DVTNOndPV3gXOYj0pDV2ghrtM+UeXbg2p6M0+Cu6HiBAR644LoIYPRMo5pH9Rt5WjC9K2mygSbt/7ktbhsACVmBLcF3cNGVfVNEpv2xXUKmnD7hkvw0ohUgXN4ZnCE8dbRCSdI4YWmZa+01fqWEzAaCN8bHldLYjUJizasJr7/Gj3xaRy2S5DD02fNnUg0n5GJZEnNt+ewOk0MW+Bau9DTUjk3xqbIQwBGyxgg4WrJK375qsQ8sOh4wvnEQChCCI/phrq1y0ciOyjXsB9WKdQ+RF6b7GnPpTRuVIQQ5pL9zoyrA5r3vVasqNQvjvZ69TtGA+EpPx6o3bsmW2AnEmnYwpIeJCoMxruY2bGlEgOU+4NBA2GRzYWgMD4jh+o7UgiTLf6NJsm1ZAiIQcuIwHFpWUeTZgEpVp6no/UwgUdi1oA5CAExaBmDB88VbwhfYkPzV8oxKCBU8oeAAECK+eu6/Pkc7S+xHJ4HAFf366UAANfvEvkX/JMI3cNGACgoAAAE/I8i/sGYP42/pXoQhHpJGzYiblBSnpgwZ+xKTVry2endjYpVrbdoJZldMGHMIyt9t9qA5Vb0VedSGUoJDBORZFipzUbK+ziD9emszU3rf4fVWyuXpiQR2bznKQHxXt5S8sSeHICVVvRlOXgEIaa5H0LapQUXszIkORKRdNuMtMcln319Nh37DX7ONWA7H8b09+HPOCHKsJRnezFOamq2hnYQG8y54/zI+InAG0aTOrvHt/tEdLQWDl2zh6XdoxUjqYuXekklji7qw2+zShZJT8PxABK9935a7YaS7odQ3o5dxbheDAAABIydMLW9B1x2VqpUlwGI2DJMqs9yM2ZIf8j+O116gxhF/ufCGGehaJ2MytAlwyB1ts0yf6dmCEVeN0PJutsM46O3Gf57Doqb1UpFs3ovjjbeCUBqpbq4NJGQu8JcbgvpSiXFV9CFli4RDnQuIY0rYsUTY8QlxSW4dGtuVaGxXGUtb4O5JcGJ+Oho8i0BTlcFlzJtLZuqKhI9rSYqXP00xeCiyt02dApzpXWfq8w9BhqeU0dX0Ioo0PrzrdLygc4flOa68syqyrySWxI84ihVFZogpS1rrTIp2lzlLCKUjuR+wC/Sugq1aQK9OtL9ZsI//qcSLr7Xu6HB3jXOw65JQiptEuvlDfr4+vkHBAYFQ0KgMDgCGYoKC0dHREZhsDg8Ydy/icTGkeITyJREKi2JnsxgslLYHC4vlS8QisSSNKksXa5QqtQarS5Dn5mVbTCe2N/eMd4JR3fH+t3b2m82LO1a2Xr07oY9W/pOzPyfYB4W3U5aOXnu9JmzyQ/PX5CkjFy9fCW1J91WUFRYPJNTVlpeUVVZXVNbX9fQ1Li4uaa5tW6yf+D6nRuDQ6Njx4ZHjrfsPZCAg4FCZ2Cw3/PA4aMq65pBe89646XX3gaBOBJIwrvaeX1+Di4xXl5UxVhhallualI28f5xVMz/G0b2YKEZ11SklBTlUv/gO4OB/02E7UEXAA==) format('woff2');
1856 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1857}
1858
DIALOGUE.386-Plex.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with IBM Plex based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'IBM Plex Sans', sans-serif;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'IBM Plex Mono', monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 /* letter-spacing: 0.1ch; */
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* cyrillic-ext */
1851@font-face {
1852 font-family: 'IBM Plex Sans';
1853 font-style: normal;
1854 font-weight: 400;
1855 font-stretch: 100%;
1856 src: url(data:font/woff2;base64,d09GMgABAAAAAC90ABIAAAAAaSwAAC8NAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbq2wcNAZgP1NUQVReAIJUCCoJnwMRDArocNkcC4ISAAE2AiQDhB4EIAWEQAeJaQyBKBsLXxfYNo042O0ApvvVjx6RbLSGJYpg4wCC0J41+///c9JDwiRngTrd70ERkQFl6mOTNgNvVY2gqyDg7SQBom9tpO3ae989ODgw7SU7TA+KN109KoXYHAi4KQjIINFEeelamjD5usll2Tp8QSh+A8cWwqPhRJcJRf5AHsXTs1B+P1RBYLjdf6KfXZO1SIqmTDJNsJMFlQWJM0nOgyzhfmReQVSLHloKcnn6nYHjfNRc/z+a6t/3ZmaBtYKVZJAMivFkTSF2EFxWgQOkAoHdD4jFkFMgdAqE+3+6tP+/RrTSvqcAyskbW54JAE2iEMhmeZflALACpCAUNZz2gKprqutaDdA2/wt0G2t1ExNUSmipOO7ghBP0OO4QFayaCFYusty+exn+6f/PZcYLAF/M+SUFLk/2IKPtNM0ngFs6xItE5z10mtuScc6cbfQypBdS2rcuJ5FLkwsPkYsoAluAj3JCHsqzZqXnwZGq1LgmXiSpmJRY8TztfL+CrADzxMIBTre7yVDCo8rtkxFiMgaH/phqUg6BKBKgirr9suUvreyfafacdc06x3+1lTNHOJfqJAe+9cPevRoCOHtI33MBeylK0XEd6adrnoOz6TACLNpWKITe4V0TorI7t3QpvullLNzi9cLz/fRT+o7lonWXSxraO0YbpjRsmgKBXtGXr57k0v8o2pT63Pv3Jh2gxDClARSoCQwyzoSgYJL/s2mV/uqWNBrPkRYoQg4y+RCD6JKs6lc1VFW33G5bM2ppQHYvyT4woOyBtrzvaTxLHB0gSJ69d/ISYLTZAUGQXHhBkF50L78gTQ7qYz/Vf3IbBBXnomyMIXzhFyBloMCqwlcKVLLG2MK/J5L3w4bbMHFqF1W5iO72+UUScLZfqfIQGSTnBQkSJIi45fdK3dYsWsSo24KlUyM3/zvE7f0liA9WnniFxhpplOQKk6//kyAADgAAYDAIAoSSW4JBACzMVS10cMEpQ7ynraWOaH9RWwNFYgCQ7CLQZX/czRAbj2lpoKT7LC5GtgAggMtWHi4MJgwMV1RDsV3o7EzLaXHt17XeyB+gjDfQALDor1jfBQXAsVm5r1nvRNxY/cN6mHxdeHy2vOcKlkhZsJlCsVIaKNosnmiYZwA1PaxF/sEEvrZYhDiOLnO8QViFTEQIXT+eMB3WAXyAu6DzG8pQEgRizW3zMKtwWR2uDkzcqsIBl7o5ECd5a8eR7LXvkWWvVMVU4OyaCSfftrYmI92m6MCnATZeh7CW2V11tlUeosM6Sb/06SsmlnVQtHOc6zyzJxUFb5F8Z6drll1ugmOTxYXpa2GobrKgnkNU6cCUKsUPkjbuiSARefRUmzl88IU3bDRriAxudn3Yr9lFT1MX7nOKihK28TQ6M3mLOrcFvmiH9XRBz+w93jP3xmM2le/DE0bShl3WJCSj6uzxexCCKNqVY9w7rysWTl0WKDnjeZ13OsrMZEg2ei60fcWdFlhyQmw6VWw2rxe9nKUHy3iq1MetCW8XjDP9kRmtsm9G79AeDXDbV7Y6r+oke4VxxlR9jlOFbxunON0exkNmyF3enbWq+a35NMv9fdC2Xlr/s66hOiOBGQoLzxe6Ij5qPUHDC1021uw3nFDTwJ7RYfRhzOzTJ/r9TH7gUGH/LJyL/fC3m5z7gt1O2B0GN5f2aaNBXas4UutxVRueFduSY40Z69ze8+TTjZhtTm+Y2HB4Fx3U68u+dvFD0vtXVK6OFunLgaWQHtwbpRfv787W4uvFsZtZC9rnX/tV2Pu64rS/RXP5bw7qguGgpAeg1VwMnRawMZ5CwTwZEhzkwDIgG1csl0iVh0SDX5qLGpg0a2cWjJKaYW/CthoYNoQ2EXlAyZoAMw6bRwMyYx+Q4RYEFIxICIC+CZlRAN4q4N5vQzoKAIWAzNQ+IGRnKARyYZfPqyK420QDQIFZcbBOe4276zCntscOfl0w1axeg+I5ABGF+6CyMFA/5FnKKGr4CCAF+qLiUcE1QlXv/BRddFsXhv6wiQwDjWZv64KwIwEFHOAOPpd2umXnZOfwccRZgLTaX9mv7FxhL6omn1+5wB5vZ6zPsHqr1rvWY275OmbtoXlgLlA7nnmL2W0Wrc/cTq0w9hqN+heXvqDfp92j/Wcc0a5meZM2UXPeUzNVT7RXw4uUJR+S/6qud7X/yJGuXdoN9K7YxKff7/I6npkf5gH9A/ofngO7rC/+1R2Au0Py2m1vhrtYtXxmq5vwnj3IgQVhoWBlXINwQUIJ4z4rbpYHLz7lrewPIMAKamhHwyIiUVZM45ESaBJJuUiTKWfRHCtPgSIlETTksqKneqmVdY0nUKUmQ4GNwyQdAniFj7NQldCzhkSYCHEERCRkMYD5VUtU69CTYQA2DhOZkjPmLFiW13ADtuzkNYCP4ZQTSXiBotkJ5e6Vs0/i5gSuSsmnC11ZD6CHNzh/OpKoFAAUABwAyuCtRKRIhxImZm/nsnhuqNIwRIhLgpuUFEyTSVlRrpvypgUoqkBjiY3bFULN0izpFRsCUy2kGkBtuqvqkUNL23GYyFQ+Y86C5fQKrAuqybbOTl976Q19Rz/i8s8A0pVOhQR8O4KhOthQfE4EhxSUMDqsuDEPXnyJtwhAUEN9DYuIRkVcE5UmJSkiTeb2LC9H5mstQJFSuQwEVPZm5EiO5KxcbcGSqqRW7qaGuI3DRKapmcwDWLBkxYZt3HkWXvH3N/8IVJ/hc7iqvypDhdS99KVepQaPhMSoSwKoBJykf7JyORdAlul2kmwj9nxnuF+W6Z9byP8t6hhHGB6nEdLMYgpb96rSQJ7yq31EoXS/bKwKEGVGdrRnDFtivgt+/yY8ACJR0qFgYOEeO6eaWDWpBd9qTpKHBYq9MMOqgpYMynSsZpbz8CYhD0sBADYACGbIW/8+0/3tzFJgMqQSDAAJKuseZuSztlwcfi1trv06QBqxrQBA9lAMvtBV46usKfWIl8umMi0vURmKaTqfX1bJKeTAgiAoWBm3T+iRUML4w4ob8eDFl3iDwNAgErIfJqLRmbgmKk1KUpw0GbLlHJb3r0BRS90k6Mt957SkutSsrHtv0CaWVGFtumHbrdAxpO04TGRa1CbZnLZg6Vyq6z3dDN0aO3klP86cc6xmYSI+DODSz341q0qyenUVnO5HQYBUHwwckkZUJRRy4NvRAHCKQVkkRIWJEJdEAEkRKFlUQhOdbWBiSZWsaaO+vYsPgQ0OE5nqzWROLFiy0nUvbEEgwiwOX6tsCVSvNiIKhapcEjC5MGUpH0ABimUhJWZJg5zy/PlP/HynUUALdrnBxXOK9Gn6pAt+j6GxsOYWp5ZXltPWiRCf2aUpSJMhG/YXCQmJ0Tm+hBu9FAgIKspHcIdKG4eJTLkzmbMXLKdX5uusDb11dvKq/HAdX85WkkIAD6hqIyszlNUT+MwNnGdaGjv98CkoCAjgrFixIibeYDAYDAYbm5CQEG++fq30w9yqMBd5cEvKLwHEoK7Xw0iHRW7qpaBGiVvIq/WWh1hBGPE62EqtyNQd93AaxHrYDWrB9fzi5C4zvBKEFPbwEmkOgAcE5CoVZic8bbWOBy8+AjHoERCsaKP74i3A1wdKKowkkpJUDrfOUVkR5vqPxC3+9HFxgHkIK9srjcrGQ4KVqGwcL13icK/A4ETJj/M9GYzi9/dRxmEoIhDEIiIiIsKqXFKZaTJkY04vOrrRc5FFVEPNDS4Z/ptgzXZmWDtzMRUzmSsXLP1TOe+SHp7m1v2dyvdKWAmwr3NHUGBA4SlmASz0fZVfZH/Nu2VmwviYr768lmL+sjcXA+y9gcvl0+kaFMC7+HIAVz6vSM9jY9YZzLYSigUIFwwICP6LLD6n5wX9R3xdK+m7d0EeThPLwF8DAEveAaCMQCAYEAAyNADd6JTjqtp4KeCUt62K1wHXn1hcxxtBaDaVAQEG0wAAAAEgEJj6MC4IAgBTF10DeBcAgAHBmp5zjGbfc/U8GhyUtfW0o2StbJevyVvkWPqyVHj52iQJKGtlLvtIWSNb5A35P/mgnMlY3fmmj/0L24VPfWOJDF08XlGX2XrVdVviH27R938NAidL58ZxhMItdphkA1KMYBvD1SDSJNaWpkUiITVO5ji1m2yqaZykdY5RHVANnYtMGpm1sGiDaJfBw4VlkUNoDkoUoRvEcI0VgSmWqoKnTqhG4DC5o5RO0zvD4CxAPYhDkstglVRpRhhLOLwDDr8Cl/NwgSRLIiYhqRK7yAAAs6/7P/n86cnjRw8f3L+X3u3u7+vt6e7q7Ghva21pbmpsqK+rramuqryDod/rdtoxvHzx/Nl55eXs9OT46GB/b3dne2tzY32tdfNKMWUvzDtOKeQnvalFjawDJ+Qn04saeW6EMBtuDQ45gjoQu3Uo5VNjrTdsocBEiU+MXU0aXc+UWQWtQ/qdbR3x1kElVGoTM6/5+JN9qbDcbr+WQKGNsNPZbVfmLmdOdicQ2cNRWyZApNl4Ak3EYmUSvqysh59jHHKe0XZsWXq8WckCt/s4POkzbrucr4FCqj1ou3cmZ1wjmlUJeLPv15kxkEA14aiGVcGb9xsUwBMiGILb+6LdOTbZfM4dCi/fMtodWPK+Lk67ZvR9jzQbiWBbCvBpX1L504FKBh4AfzooXwgpDI996o3TCHBTGYRznBl8v2xfvu/QsKreDFSZmWr2hc/j0hqhnrGyCCnyvEFMSaOEUqygCAlLWak0PZdYhjfuFxACbMQpTBCUS3s4pasJNalmqEx+wq/yi2n5LwLYCL8pLGMIUvOw+jemHV7NDBBAW3uS4o6k1vcugm25uPFXGN00pP1cW8lXF8roP7Ksenz6Cs1Gmeig45imrgQSAcDB4A1/BE2SpqnwSMgGgrGeAv+0DhPrWpJwz7BPkyfruTJ53pMtDQ+qNOPHiak1JoPTeMMoK3GxqmdBExsdboX0AIMJkhv3UueUjNtmsn2IipbuTAgV8V2CqR3SREIm8s3Z5g6S4ealoPcYTvC4dbct2RbDAHM9cKrDH+GSS1p8rQm3iaD25ZXp+wieQHEECx6bxGCbtX4xX9SgMsFB97TZ2DpIas/tn4sHuC9ptp2GRmTsxOWkp9aw1eb3DLY/9cRuqYNccWTIZkvPeUkOrLiDI3WhDsAEAQZ4D6uKfORxJeqO8y84kvPIh9qiTjRu2BuNO86uPm02coKsaRSYrLmifI9Epz9OrDm0A7e/YGYuWF/yFZZ9RgKHvDkUfzaxpnu57Gbx7EaYp4WHYqnr4yWECDIW2SMfY4ImOG9Ub8OnNDLD8GI0PzpfdUy1zvsFMLHE56EkrltZnDA45V33chFpm5R7vMoPnJKswZrU13KaxMKkjLRjN7I5k6RtrAeTDwuabNSwqyPlwjjj+PFyOhYHxYKEKSOQRhQ8yRCBvsCahehl6sfIwpLr7Y+lvF/JiKOoA3UhxPkzAHNQiko9thesa+9SDAoOu9ImYEAAfpYFWY6xJ1uFdQRdwpAbTwzrzjmOPfCmLJdLZGMlnjoGBdVMydanQxJuRKu1qwnaVBMkGujbXgsOuljQiRlfp6O/oFZkwGTnNDi2VFCL/BxEc0ELqA0U+DtS9MragrPyaiuJ0y7VxkVNoP6zrmeXJacSoF8QdWsTg+6e9yKatpxAw0vYX7WaeSmE1hVshBpQoTWMMYEGsc8OaoPONzVgKYOXXGVPtq4pRwyojcp0wQYrOOMkfWJ1KdMUWxx/L0aOHDTvvPKIcRifWg3dDx/KTPQOYipE5THoZRX5PMLUxUkkWxgYUY1Da2sQJOZ8tS7RWNzt2LIDtjqV4agN9ZNNuoS1qS+2C3O2161uOy4eFCfgNL4UG2zdoIlPGWnlHByGY16XwR8D74iog3TUBz9pBOdSOcB23A8QmhgJA06TcXmfHOptAgPbtqB8J2c7oc/rYCrkFOzOH6oZzxECkF6V1/EXArSC5TXYYxOhmePUQjSimHWzhKk/dCfp0fsCWOvfDaMllD3DsKorZWncoIz6I3G8UK941SUwPmKnPWdR9rBgOlFZKKN8y5E2BOAj4h1PMJwPmTUQWNqplI04EJ0HObH3hr1T2QR78oaEyk3H8RCTHc3KWjnV5rIzcuVCbPQFlMQKTIcacrcM3XKAaFht1fg6PBYjfMdnvWI6KAue/h3X7ExMMLRPgJvBQbHTmRMKCyDGI1aiy2LkiYlYelCtswwf1UIii5gCF6sk4Du8wUa8QEcPc8JJ3mdh4lOQUF/WsYz4ozFKkgpoYtWVA3I6N6+Brk++0JSGDrRRMwf6cT48AFDZneXFQqxfvhG47ZoNzaxy65ITLXp2YQXYLz+LButaGCqFcMKfXfC2pGzvT1qCLj7+h5uzYcIqRMcESLZsXIQFeaoEyDZbWsKR9LGFZ7lj+YhOiv7nvBAsK2nPytgNJfH0Lp51d7nqY2Dl/b/Cx2Nzeh3BwjwIm+E94i1iMuQFLtKsFVDxTfwK4y5CuHX4k3Gbo0q4oHxjtjGImW39jjFCCExIoH7FA5t14XdBFZ/41Np51LFyXiyE6TJuIrCFR7a12jXX6bQBhiRgG3v3ZxkJal43Q9m+IzD525g7BXIKnF+uzvWXBV2KWOuAARr8xtqhhmF+awPHYXD+TKwdteui14z/VPBbVN+pPPLmLC7Ee5G1aZsM/Gb+CO73qDm26uJrF1hJmZvkAr4UdHfOSDAmWC9WUFRc9TithkA2u1kDjtCqjrH9hSC+YVChA34ED6lQC+MnywPBMGElRT5Oqy/VT8HrDbLTAK8DQD8BaDrAewj0Y3ta9dAzEYjT5AvE33VyEgcHN3PN2tv74xMQKEns4DBe2dIWLfiNkBSvwauB1oGe7dUzGsByMJhNYQvbBlXaxImo19p6+WLUXVAWGvVwYgsj4eHCusJokMn4XEfnM6y209YmNs9tHOuVttqHtpCTWqurJJXJxChebeaHrmtrjF7jfKQuZrOYWzkRkgTAd083S3ET6foSHSqN1H6VeTkeJqTgYfGfiHHnY6921Z7XRuWYSJzdi2CoG9t8hjXj5X64wEtj1gtL4FqrPOz/aCSxxrKE4slbXYP/UEp9R60BRTmR3w9Iy48r3g/FspB+o3kUVFR/xNrTr1Ox6Pf4h0A1ulnJYFjzMH7dWOoV4Yv0ickZ1ncDCt5/69JE8u593wZYogKJrYyFUwaFEjsHYw4XtuZNfYKNVo4fq0JNis4/NK1YQrAmBCKNL3DBF5f0j4aflVgSyZCFh6my551kgPXdjWYbVl34jPlylElCMMdIhNQtBX+mvec/plL8HQAdmc+F6yGnoHs/kT9n4F7ow498I8hDiSuLiZa5/RkfRf+yTYS/iP7o500GtQa/i2qQEZbsOtdgkfqng7BEDzlL+dn3DAf2I2u2NS7Z8mOOGDbr3nMRPWNNt8edTO01DgSGedmETbHh7CssuYF5uAd4iTqS15ipGzfRNxOl5PuZRqJEAviRGs5oxvPj7mOxEKogg4IeUrDHiRwsDyXYGq+l7Gy1OvLFCyTQqtW7evChuOvAxV7xFZjY0LyFHamce3FbOUTvDGnrmK5UZTtZ879DtbfOe/j7NrSPp5eE1yz1u3nKER78P1RG84hQEzxxu7AwuxAaomKWh+JOziYmQNimX1KGwftAPe+29ekDHwmSYefGkqn54PCTJJGIFVn+FmtCVjQUYMdmbcERG7A2hva87e2ZgmJd0YdJr+iXRlQRati8jZEfOImPy3gVcwHnlkCQrWetlDhRs3hyMQQovjHgZG+p119f8qyO9DqJhtjRXUNy2uJnNMk9pqZKYxatelo5VpFQB/mj4cOrDy3WFC5sE1w0046LDfWsPvGYPpEsFyRcOypmOBgkTm6DYqwsGuWO8kY6GffMRQRu7fU2T33vDVdWj2+1hlcYjouqcvrn7lNQxj/gYgL37PYyNH5Eih1Pp7efd94mmzv3Qs2gLE/9tFHkYO3UM5pku+L2n5y2s1GjQKyVKHrIz3glrVEB8cE3FPGMlwiyizw+KzyHKFxMNy8vCqcDigni1clLh8ryeMpMipfHyHIoZRItyZjT719wORtD5agpziagzA478zFittUo73kWapBJr/larb0pryGtwN28RRIwmfOVt5+nfQn4K3oB2xZxM33J1Htlfb3l2RxpuWqtn3VhRJSWPNTIarb9mWoqN2vXTbqLYL3QdrWTorxFbyOKJdRBZuVCFSS8zTzECX8XO9GTKncs+GMmf6XBGKHhnVlkkEzyOq41BnVFxT5MN8W7dVT2erKOCdSo9IM46hSgZ6WVxpjF71Lk6+xk1omFLjF5lx16VbI3vKwOKXJKjl7vNfcySCywoG33q82HzDOZVIys8J9DMesOjGNJkmwhR4XpO+F+yrMvOutTPtVqzY7IupNr037Nmi28feNPhzarXm6LU3vK3tuvK2X+aX1vWRKJmXz3ITmP0u/3vaypV+DL1/t0nKfuSYm/Bg1tGW30h9VQe2Ji+OPkr2d65Fiu0yIWgoVJGeVpin694MOBbywHa2BvZR4Wp5nTu8H0jvmF2SZg70+N0W3ESX5EKAPyjZI2zClp1Y8qILMLRCQcJZ3WMLbq6dvjNf0MKBM3u82ZOIu4jUpJIrtAZvQaJa1OTNLmNRpliNBPwqdpTHYC+u5sSjmgid9O1+9nRFJ8rYs7O81zzmf3QjhIPwdwhekWl8kNWbLTxWZ+xooZR4IR4yhwBahqxTBVawUIm0sAWZ2V2RANoW6L2MJXz5q63mg5zwVZDJgfHk8R0KEzDB1ac01patRTnp+B6szqoRNtmYZeHj+eYq4E1a0YpujSbH6fYYKNjiwMwd5lI4B9p/LmRkT1duZn3e34ZfPucRzYwfRtH4925I93kuOr3eYjMU0r4lX/BGBT9ud4k0x0fg7QnyjuLhTc0NQEbu7C3dktWTQLxDYTgDG3dMqEygml7blQjskCcmiWTiIi/Icdf1vieggi4EtXLx4NFwuK4XmL2CJK7jTM0tPU1NBXc+771chBdHlKaZm50Swtz1PotB6FxF3rMo8ywoFHPtvS7M8Kpceo8OXmWA3F4BWm4Ypx9ZkI1FWjzw/JPgC1IKqRckCqZpnjT5rml7MUGjdHYpeP1mVkQt2X75eDUKtvYaQG1mo5tqR2ZrdP7PU9qYaC38svzCoRa39qTNZS93ocZz+pq95KSjxk5rRjAUjuYJJdYbI7DpY60+OEJSJTUYq1XKTo14jvOT8pmxpYA7LvQGGuN1kVKVgApPnwwnmCKF++n2nrAau3n75EFIVPN53h8Ixshpkfzt105P9jDrtK+2+eyH4IIdDL7CXf+0f8dsBguqr+XcLC1+GBqq0bzHSJPWuCwOid7AJ76urSN00b8nimovDGVpeADCuqvCq12tHlZsJkOhvWquZ8bzaTGI++W9mshYUJR64PrvKcR897zM28/kujENZKm7+7tJkkGbp6yhwtrIr9J3zeJs999L5H/FsI310H3aWs9MqPb1sJc6X6KynDWRZRLVQqkiUPp8N6CciW2Dq9SltZgdUoYn0Myv1ipC47kSBlJoR3kAy+I1zk+P+D2KYn5NPNSaqs7KysPvRXYa1ShSQmHkVJLIKE/m/2QAaLY02Tsi0IUzbb3M0fw05lj+Z3zw6ROomTihgmHA+uI8iMuCvegwZEShvF8j3ukOGyDv9j1r+jFDEUHLzyzgRyGTe46rgBAeKOWTpedczAdR1dryy/js+OphAtYOX2L65+QALHZKeOkKcDmVVIifji7vaRElBpNti5DQCHqFYTdYESZzqMXiZfOC+FZZLp1B6/JNE7gPWFXy3md3H22r497LGLkDIaFhyXt0KX1krmtndpXK8KH33zlfh1OoL8/crhwsltbd178b15OEZI0OGzq/hAvHcAjz5ucIl4XhDUVN8zhmPW4/R7k3qljIX35h8fsv8APkAnSDD8tnW/k9Z5URV3ET1y/Xyt1/TO7L07N2kf7Do+2qguMEk1KiSB1ov20yes+ovCcLysvtxWaGL8MPem+7YG8fRTJcHVdJ1Mj6k+1LdRQpp2IxozTd4q+3h93oyc5pueW+gtz/wbabXcU7Yk7Pta/8659x8/I10TH88PyINnhU+p3Ni31Ku4dXQSzBWlLrywOFEJG00YNHArnE/auiA7qNR3Zb0txVQgTsvVG9KKCuTJxG309vAH5/5z33bqQFr+dxX3URJ6vqJkfYk5Vgjr0YnvJUES+PqLeoXrpJAI1/Oatc2snPXmkq5/duvEByCJ1PvzK3yFBlZT+1OI71hN2ibefdXawUsWnBOBvYSUHw8hwQX0QAfasUK/4t/DNTKGzr2yei/kdZSEngt5Eh10nWQQ+4/Ly3Ml+O0geu/lPRSmOwybtXkstbMDSY0Ye/HL0Cj1eh+Fwv4xNR1Wrh8C46eJLqKPOYxybcg44qF4grR0T0JN8w6+GqTa4mifSKUifeTg7U8j0rTIHgwmKbKwgd2D+YIfj8VLoZbMnfe3PX9asA7+pvXLoGGd6Uf23bVTW+UJClzJE3q9QcqpdBd1B+NmTJ1+wB+5Ox4MvT7Jn7JNXDJ64N8fZu1yJxkn4juuFgEUdEn8pkfkF4/8sKp14R0zuVdOjWxcNCVFtT8PSVg/SMDETnRnz86epqVQsftS86w/+7NYkyiDZXqVPxQBGVNjfekBzbCq9o7CqfXHZcvQ8xdPcVEqppOOoXx7L6ErOPr85UyjwmIRMU7GYI7Pm2gEu/PskvpCg4kCTCbPcYym6KyY2aYUOHK50JDthaX8Gkt1XjlB5JVX2zRtm8P+WHgaoZXyia5xihyFVpmbmporSfH+Fboq51/7ldzzq3bPxphhhJHx3oFOhM0svm5fEVWHlQAl7PO1v7p39l6M4fwPgr9OMSDY43Q4BJmUNb04WelN+MPxh8Ttam3rhlFRLaFUyhTXV/w4lg+Opx8Arp2Kr+dF9sQkxpeR/2svGYKM1UwzP+FWKfhLK4zOv9nPTzV/+Vo4n5z25va8QXIlkFR2PzteM6Fo2LwO2H5mxedyYrkzLXHiCuubg5fHkZ8gvWWnf+GURKOfbXJbLeoyv5QOLd+Vp40eKFv9aZYOH8Bls+a+V34sUYAYOk4lFEeRS4YaJ58uuQ55w/WqNcAaxeQn0dWuvRvPPDqq/Qfa+xkdoo8dNC14r4CvotJlHA70IcNErOY7s+wkVmRJ+eFAs1J9gA/F0XXAui3DJfpdI0P78hXrtUVafACXFknxQPF1lXf/cbNLOxF2ANfatYo7pcvkP3/r8jwGKvxHSEvQvvyJWvVrNHdOl8kLO/lTD8M/+v+ixATbzZ1td1WnjSHuo9MOvN3PcxmmH3u7j2YcivcOfAqk3LSqgDNAPRlp+9sddm76yIAhgA/c22sPWUhht9e9I5nhv8pkufSryGjqh9srgsBp5DPyGNMZMDqgi73qkr6UEOpYeKv4iqvsl6iQP7KF15x/x8azDO2pWH8TRbog+bRqV/nJcSUwvza8sq0JWzqMmDF8y+xvJ8+luNM/zwBnVrQP8blx915kb/PFCXfPC9aLL7nI8k6KIP+wiiKQcK09uIMQo5Q1Vda7vFzKDpFVXlmg0Jmq7rtyYjt663KnotaVoesJxtLY5vRAVnixde5EhPBMzYJ7mFtWMyrTY3bf/+2c9JWeVLKA1zis+c0QD1pzRc3z7PMyh9TjwMKQI4X8h2ClbU9AFGB1bN/W2UOTW3sJ/LvOav3qDixv1I7F5pLfJ9uTnVJ+nrbTCtZ2abNH/r63zLrOVyDtKNVakTKttKPAh22y8aseMGydbjvYaGRBcVgn6kZtmBGwY5Li8nv9Y/UFNjK5TM5jzO1iFFiKxm/sNEWbqEerqK1RlKhWakzlfNbKHnyyk5G2+1Ub3uB/vT0POlG5TvnHBUFzQpLjjz8cx+mg8UjJkj4uDh9lf3zFPef4lIgFo0cu++H/w0LJKDRpiWRofBEt7na9neqxRNtg/ietP84ULss62csKxdPsrKf95v69Cvmj32/0tod3ffvde4wDAdBw9kNEzh3UECBLKfU2mJlXO3vIPNfLnhk7vBzkfW2e5elgvGPKrvPe8Ixy0wOYf7Z5jheh8aCXB5i5qwYtTAFM80wX5CC8KPtBhwXT7rpIkMJn0HEBdiPZ9SLs8ooC6hPSTpaqaxq4mOd77pkx0bS6zhvn1ZebdMy/gFxY0eCJphoM5TfqIZflNKTvCEB3tlD6e7cuyAza/nAuAUB3Mn3JD38yXh8lejlAPJPPau0AP1NxZEB9L91kMLSOPkd1MzdgElM79CwHSCXRS5mA1MPzhIU+gG6vKfI5tRve4Fda5QJEGzaIs6ndNZCAWMo7UJ2JTjrlXyqOjFolmUOD6UVax5HHIj5FGzG1Ipcfd2qCF/EdyMhZmcD02blr4e43yDsw1WuvDYSHALrzyFwfTpJg1dDV15fq7+md3boJm6noh6WQ43BWyO+HGIZRZDR2d9tk1Wy71kib2a6uaiqc0reMavH26vYpJ6RslbWqsZHdbFahDFQckpq7sRfMsZIWGZ/Vs7K+XvfTe8Gq6etI29jzOjPjarBrGitrVB9LqyG7z/vAY88LCz9pZNIGkpfj6hT5n18AQaA7FlfkuCkyAhph7Ezft23HNA2HF3PN4Q3y4h0tUkbYmhBKo+4AZdU0iQNZo62YOV+HJqXhuIZo2KTRCsbYUTVNS/0+I5NVY6mqu/0bVqvHsa7FplJaJ9G4UjZvr6BrnhrlmayU4IHuCV1QUVxcu0kPE4wJiI0us92vFIMoCnzDl33b4NOITz3+bJ8f8vf5/B+fAp98vxF2rVEs6iIW7jkK5VADvhKh+FcYeG+fFA+0TjPq8kuWUL6UHnTp/RjjeFbMflyKOY6NAaN9YFrJrrWr2qCoTfM7rjBKmvr5iYrzvdGFYIziQfD7SAhQjcppzNg1J0Dcs3r7Yk6HZ3PMoeHKHF3ecVzDhZFKKWYZdVLiAl6y6VG6COnP1bwPAkqqpNysXXNVDCG6zpXz/vaO5v6G+pzj6mHY3+8SOqxab0pV60ktQ+Dika/YE+bogoraV0Irv+Ln/SAo6TpaXVpz0X39ffsZvqtLWDWLYp1rJMb2r4xMO98rebzSI88zGa7ZpkJUjgJnvoy8gUAuyHEuR4i0AvLza2EGF7XEwCEa7ieCUT224eNire5A+2agVg/dJXdaA+OOON0W21jnVq/PipEYoBvECae05Lgy5MGG8QXH9YSx8QYesABILANf10TYGHADQpPCYkg8VKRgIouYeFNd8ZujSUwoFQKQrFbpioUJnbI8jqsq8T7FSO2TtJmKqLOldl4e6LU+P1n6oT440N6JdzwgR0PnOoQT2Cw1JAO6yLEYX3ZuvazjqOs4K8u6Rtw+8/IyZSFLGm6xDOJ4f+6zU7xNQ+r9JARW+ymJrKz/2Vyd56VL25aXHKl9SS5bZWTDPxRCvNpGDjQYUXgXC4UwAkwtpTYJza1wdBjW01y3GZ1TzRmd4xnhVmPQzXjDt4JBqHRZoQyODUayYUCEhj3IU0NlXPO5Gys1Z1bN82iBc/wh/0giJUN3xH1YtLdWBoh9krpFbkgMEHHkdRCBSnPhBhHqOYJRrTGCKsAy2On+ava231VnZ7vdjUJcEPA+PRlF0TR2l+Q+zkgcUbEWa/u2Oj+3WRxCkpEUcz2aWZJxtJY8wpgak/Lh9NVtKBfHog95o0oxDtBWRpUkw+1UpPeC7AlXfsucnBIZCdA2AW0KkXHW5tKbkgDnqR0t+bXYWkXYk0eEf1V0rBS+VrnnDAvx63DqRkec0wiHJTRA9V1dpcDyxVD8F6Uk5hjAGUiKYQBZIeVgnLeeUr2BothsQhqQyE+d6XClfO2SJaqqZWldS0lJyqmrVZ67WvXr7pKc3bG73birLGPjSERh2u7lHv9it9iehCy7x56tyLIZThaUfEkytKmJB3mMvxxUiBRJSa5wly1lM0ei30T8foQ+QakviiAGlyCLiG+MOLdL+pITy0xh9FZnjnHQAcsU+1ag1g2NoLpx6UnZL1W+XHJm5oLaU2FdcwoGjGYDsKaZLdWXd8sEIZuNgvp6PZoKXi0CyxKF9oJTHTVomBjqsU0CfgAy0r4/2lb8vO51OV+XbhUQVB1tpTFiqIfRtiUJZFpyRzDrwJIVukL7tjraSMPEUI9tEiAFctGajG3uSlFrOojonfuSpLSV3doKVaKEIK2EBexy5XhiTothc1jSaAVjaph9ra7BFsiMdAYWMtcLJdLBHCXDDpRtRzhJ8x3CnVHqLUya1NsLWTtSmTXNazCilpbORRa1btIMT0gTsOwBWHLQoRWTYVj6a1oSgnW2mjWpu1++awRcIF+6hBCEDVgAq6S9NHLAsM8qVQAZue18KD3ZWUw9721Ztp3V9lQqRP0cNAhm67RXJ10HOTZpTv2EdsWpub6rK0NGQFQO7FqZiRH5ZfTXp5dST09E6bAHaclraepfLZv/6Lzh3ilqSme5s5itKZdfQQYyX47wqAf0H4K9EJSBOELcvqZ2bVb39LPf1+claoQoQQz+ACGuNryUzzVKmeY20Ai19jkpXEIRltzrGiJ9VH9QZ93zstnZmW5RNsVZ8bXXvSqkogrDD2EfmA3NU670CcP4NXirUl5Vj8q1KsZ8bfqwD2Z58aCF7cvHEQRA9J/0G1O6tHDs9E+FJd4AgCcy0SMAXv7TnmqZEPeKawFoYAAAAf+zfJT4ABIqQ95InNpfQk+hzDl08yD68LBD9DlirjwakzHEPYjpY6T4PES8GVN5Iao0gul8G6byarh8IsaLw9HNFcTiCkjKs2ssGO30Kep5GYa4iD5+DEPiEXR221X4VlR5LTJ8UaeyEdWWzLF+Bv0fQ3Q7GvrMoIIS/B3og/wsinIWREV8VfvLgHSTwdmbkOFxyPJx4X2q28ETDsCQ6KuXnuqU70SmJ4fGv4OQ08hqlRMQmlGDbrAAKjFfhALJX0WlgNAOJux5WfoYVdbh8Rmo2oO9ciLPyJ+AfVuI1qEFHMmv4No2QiHHN6OO3wj3B3BrbZDPrOQDkpnrT96FqbUSbp8FfATlC5G3MygvyrE1egJ1wWXiOgeTSdZV8pV+lEGPyAbyJ1non8kz69d6xz23AZdaIRTrkMEILPENaK4/Ci7kPPxrc5ImgIOy7XIQoZg5BzE8Cg4SmOr/gyQ6fT9IoejdQRrGOXWghwFrj0JtcNGtu+QEHNSDEpplX53OyX7SlhzgtgJr+PkUqWXVqEiNKiUy+dXzpTL7lKW5rHz3K1OlQjW+Y8d+AWpLaheVqDcZOGjkBC5WaggEVq4gdAjMxgpkh2q4TCtnw1oDvv45qtCUySJJ16Trq6nP/GrRrLDYckstCxMaTGhHBdpdvm043kPT+H7y1Ga3IX4BberNMBqc1uE1Tca2XsBy3NZ+DV12U3NwoTaCsn7z0S/VgvC6avJkuv/vpYDBeJgPZpEB45FCmmuh5TZ+L4rfAEYYaaSTQSZZZJNDLnnkU+B8lhdlVYem7fphnFbrg3mzXXaHR8cnp2fnF5dX1ze3d/cPj0/PL69v7x/ZXL5QLP0vC6IkK6qmPz49vximVanW6o1mq93p9vqDoe2MxpPpbL6QFM/gaoeWeIFWtKYNbSF2enf877/zwte0Zcy/Yip7UaIAfiUmxeQpNpUBBwAcCTBVagiQ2IEHgQlgmlRj+2ysknagSC7QqZWOtNWnNllyCU/CTo3MjdJQHAWFMCvQjKtW5wefOtI6K0qdmKGCc6UzFZOq0ZFjsxC0h+LkaSqwjYxPY8eaNiY1U7Ny38dtf0otd6QtQe35UtYQOjVSN0Rzy2GUpGGWB7IgjOI4SOI0ix85NFbJv9RlsOa7/7jU/5fqGn9Y3kddtr78L7pqJtPxlc3zyuKW9vq64va27M3YLxkU3jW/1p8WzREBqjGdwdAo41l3hWPtFZYNckbGTmzF5grD6is0q1ZIK1awJQOix1osY46RM4O03QQCFIhGsG5nbNWT/n2vG6sOfp0u/Y8Y+Da+FcP0de3zaxi6k8wbRFcfOP2ql9BwMl4fGXC/KfDr5WjD81b/iUpxAon7Jtgtah+DPAAAAA==) format('woff2');
1857 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1858}
1859/* cyrillic */
1860@font-face {
1861 font-family: 'IBM Plex Sans';
1862 font-style: normal;
1863 font-weight: 400;
1864 font-stretch: 100%;
1865 src: url(data:font/woff2;base64,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) format('woff2');
1866 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1867}
1868/* greek */
1869@font-face {
1870 font-family: 'IBM Plex Sans';
1871 font-style: normal;
1872 font-weight: 400;
1873 font-stretch: 100%;
1874 src: url(data:font/woff2;base64,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) format('woff2');
1875 unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
1876}
1877/* vietnamese */
1878@font-face {
1879 font-family: 'IBM Plex Sans';
1880 font-style: normal;
1881 font-weight: 400;
1882 font-stretch: 100%;
1883 src: url(data:font/woff2;base64,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) format('woff2');
1884 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
1885}
1886/* latin-ext */
1887@font-face {
1888 font-family: 'IBM Plex Sans';
1889 font-style: normal;
1890 font-weight: 400;
1891 font-stretch: 100%;
1892 src: url(data:font/woff2;base64,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) format('woff2');
1893 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1894}
1895/* latin */
1896@font-face {
1897 font-family: 'IBM Plex Sans';
1898 font-style: normal;
1899 font-weight: 400;
1900 font-stretch: 100%;
1901 src: url(data:font/woff2;base64,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) format('woff2');
1902 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1903}
1904
1905/* cyrillic-ext */
1906@font-face {
1907 font-family: 'IBM Plex Mono';
1908 font-style: normal;
1909 font-weight: 400;
1910 src: url(data:font/woff2;base64,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) format('woff2');
1911 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1912}
1913/* cyrillic */
1914@font-face {
1915 font-family: 'IBM Plex Mono';
1916 font-style: normal;
1917 font-weight: 400;
1918 src: url(data:font/woff2;base64,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) format('woff2');
1919 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1920}
1921/* vietnamese */
1922@font-face {
1923 font-family: 'IBM Plex Mono';
1924 font-style: normal;
1925 font-weight: 400;
1926 src: url(data:font/woff2;base64,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) format('woff2');
1927 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
1928}
1929/* latin-ext */
1930@font-face {
1931 font-family: 'IBM Plex Mono';
1932 font-style: normal;
1933 font-weight: 400;
1934 src: url(data:font/woff2;base64,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) format('woff2');
1935 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1936}
1937/* latin */
1938@font-face {
1939 font-family: 'IBM Plex Mono';
1940 font-style: normal;
1941 font-weight: 400;
1942 src: url(data:font/woff2;base64,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) format('woff2');
1943 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1944}
1945
DIALOGUE.386-PlexMono.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme with IBM Plex Mono based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'IBM Plex Mono', monospace;
73 /* change to '' for fluxer's default font */
74 --font-mono: monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 letter-spacing: -0.03ch;
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* cyrillic-ext */
1851@font-face {
1852 font-family: 'IBM Plex Mono';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,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) format('woff2');
1856 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1857}
1858/* cyrillic */
1859@font-face {
1860 font-family: 'IBM Plex Mono';
1861 font-style: normal;
1862 font-weight: 400;
1863 src: url(data:font/woff2;base64,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) format('woff2');
1864 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1865}
1866/* vietnamese */
1867@font-face {
1868 font-family: 'IBM Plex Mono';
1869 font-style: normal;
1870 font-weight: 400;
1871 src: url(data:font/woff2;base64,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) format('woff2');
1872 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
1873}
1874/* latin-ext */
1875@font-face {
1876 font-family: 'IBM Plex Mono';
1877 font-style: normal;
1878 font-weight: 400;
1879 src: url(data:font/woff2;base64,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) format('woff2');
1880 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1881}
1882/* latin */
1883@font-face {
1884 font-family: 'IBM Plex Mono';
1885 font-style: normal;
1886 font-weight: 400;
1887 src: url(data:font/woff2;base64,d09GMgABAAAAADl0ABEAAAAAoSAAADkQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkwbhlIchlYGYACEWAhACYJzERAKgookgetwC4QyAAE2AiQDiGAEIAWDOgeJaQyDNBuPjiXK7ZMCdAeAD68sLSjYNundjkTR3nNoNDKCjQOAInu97P+/JVdjCJwDXssGi7RT4d0UwZnUNdUwngYdnIhTjm3xpqZBorepuK3epk0zfJa4FPNnVGS4lHCoehdRll7Qn31wcTmIpZXxTzgcttddaS+/XhLlMX94Qqag4o209rojNPZJLpfgeZvavL8yHtMqgCg7SFKAHQCujzvAkiql0xE0bYCrQ/L+PJ7+n5t0GaAMctdBzig8UXmwi48BmtN/2iRYMI0TURKifhdRIhchSAhBtIJJ9ZfKK9Xt14RuVAUY20p9UhGZeW1av9T17kr2/z9vpbkqqVOlBKq4Ipbh7COfM+NMPOmB7FYqmhBU4RJbxitd/dsD0oxmNCNYrWAk3mXt3fLx3gfA6NsOEuCIIzt65SDyy174HRKGnyo3hc7sIPIjnv5i+/4Bn9nR6elBSTNNYUVxoE1gTRSIvQYEyBJ4pUv3Uu7Od0aEA88rJAOpTJcUndOaQW8ixADPLlR4ySq0QQpjlgGyMASuRk75f+sv5fn/7vlt+BBO1loBBgcs4WQE5glGlEFwll/BGX5/qXYIcWtbWhJDo0Jbq2ft+yA90P9aOnv/Hp+SvlR9jlKF+zdrTspNcqmbZGfiKF3VZktXwWg04zMIiVCRKKzl53Waq75dHcNWoP1uWApIW28vPH0psawvGVi2dXbCjg9kCINTYnIIz3VKhCPBMAFPU9eReOqwzvX/W+oX7ftKrZ7Z3JK9wn1qUwJQznQmUxPYfnpW/VapVP4+PZO1KWlzcKlaPrIke2KiG9EClNjCxQvYEraYDBzi6cdaXlwSyU5KxGrC/9w9LNp0onfzTmnUQkgM/ULOTAf6r101d7eyGYRW3t8EjajxZb90LyB43KGNTGlUZP2a/4nT2qfgQmg8NTRVZPqVZZQMIbzjtNdbxvS/z+3l81a3xUFLBGQlDGl/IIC7AUiEIOusCBvIkFPIpELmFLJcITsUcvK/ogDUBnj4kQmHgHYsyfBK5/zljC89h/Ygb5Ej+8hgAIp3MWwp0QrIcv6BzEuxSAR/icXfEBhAEIDiYWRA8RER1omBf7z0s3deeOQO2h0XnXbUfu/c6XV/ZKfN1lpuzkRiQEMTPR5ttmlAjL07qpS8luZ5BMXP0rj6aYLjVbsU6gckrEzGNXa4wBZDvIiZXUrbrwAGJ6x5VVCKPrsQ7DnDNWrKA4wItANKuKUEAk6AoBIlcyDHhlhlrWmDwgzmsIDl11oRBSZZ4TGrCBTTQkG+xwNQE0C0IAeIzvFasOFU5wvFDYvGqgybF5vHeHexkQzs2oXteVlus58KDRIHmH0sT4bpW/uJlcXZnVC8AF7+0wkdydhiiFt8ggW+hylcrPAMXsUBRxiscUKtNspxMyyB8AO9kBQXIUGQNKNhKRM29ILmECAhmB9Q2BvT1Ej7tfYrpouik/MRICzsOMLAT+itgAxBkMiWLXsPSHyZw3Xf/r2iq36eijUIncPj6N5D/NkCEhxaDDE4byAifTW+lcybPTGowXvHSCFMmktapEdGZJK6JEQ4LMQQR863kyMyVnFvnDALg9hyAx0o8E0E2gwtRzh9UjBiCD/AZHB1ENURgyYlUoR8DySfQZx5mkIUJ6v9SJwYogYi2DKlS40cMd/kpQ8E8pYRxyCaoilEVclYek/WviYOPE0h6u6QMGdMnzZ1yuShxAvnj8WRJUOafkopbr5mr/2iuPhUFemdculNcaRXmZCXDrGXpSmaoimaoimaoilEBRCCHdp24MiJCwLImniiCBypdS0FBNAEYTRqXxgGFTbARTsp7WJkFaeXoCocyPgQw5GCCAchTVrqEBhsh8JSmgiBgp3FcTLEigUHLChibiJBjoCoIwL3mz6MFfhAej4FgXnsX0Ws5xxRawKWlmNhAlj2I7AdGACAOeuCfMpJ0GOmU/7/PSgFGmyMQa8BUgn/BsjhQAIy4GE4BDyMkZ4FOjHxIYB7mHHAFC9NnSb/T9mGN02kc+leepBNIZQ4ZJRHjWmqpmumzb65aZ4l7C0T25+XV/fI6IaP30W4B8mcI3cJKPWWhxee9JGKJWLwjPClBk3aFBu6a65fMeJIBNAMivug2AYoqkH3jG5Rd9dtwP//x8T8f+PqcMDV01XiVc1V9FXClTtX5l2JXqm6XHvZBQHMANYDO4BDakCMAkAMsc4fYlBwjf9zi4fFCVKhSxamQImSlKvmj8UHxU+ARg2aJHCXLF2KSt64pkiVLU1VssVq16lNtxy52JoUidbKQ4G/Zqh1xVUcX8jT7P+Yz4rFeOOlt+Jttclm222xzQ477bfHXvscdsBBh+x2xAlHHXPKcXVOuuCsc8676IxV+vXoNajPgCHDJowaM27WlGkzRsxbZsGiFZbUW269NdZaZ4PVTPVR37mrFFmkaPK6RZZabIllHjNJxWirzXDMIR2er485llqJuwupu2OO5titORZpjoOaU4mbPnF3usk0GLQ1tC2uXox4udaIYgFQeeZjbciG9YMbYlCed+ys1GPj4IY0qCEGlAc3ZIPyznrWu3NptWctfz73c7Y+n+/Md2zaWi/1dpjTFrqerw3N65ZVd/aFl1fL9Wm1p15LdNVqEwY3lFRoS1AIZM93SWt3MVb9PxtNg+YhwazP4uqSav3Cs0/Vp1VqT5XLeUf9K9cH9ZVcrtUKjM2FZEQ5u/Px4qIWc/MAK7Yq4Jc5fprNVHv+ec7fs1y/4LJz33M4ObSGrwZrGuhp1gZlkVnvjkZcWOzPX4DwVA/e4E21p9Z4lcENbYPmLat2VBKoHq3BAsEJvqbiHQ8Qj0MaRvTnoTtS6R+gvwD/C554A7wgO/TiiSdM4d2Rw6S1KLiJhCdRYk0IRY7MJZoxtHg0Z9lMbYWvl+0KgAaKzS+TaVhUmTC7MJfKGe4q8kx0QInOnzccYeSv4GFjY0XFZslGlK3AzrxISxYhQURn3nFV9NV1g6HhT1Wf287w29FZV0itxWQxDnqgJvfxoukPh01Ow6YYNYQrlm037tpBO5q2hJl2xapumuGwLaIpqHabG0kXlXZA6cC13GnqkNZQP2O2rlAZliSc392JNldbanoThlGc224V50ErXR251HNdbib8A0t/93OutV3onC/O5oxFF9q5m2ohC8fRTj8KQp/eK22UCoQSuSx6V2uZ9ZK2qXaM1rFe8XieUWpmURhRuJIeSibA6Ap3vmSeTaTmNjbWdzxwnqEXrJck3BP0LKwi2L27o8BhQvMw3Vti3BWAunUDaK2EN2GJkIZqWGZv7G6GB/gvUQKZg2eh7yBkQQ68ILm0PY9wfWdD9+IzAeGLIkeXRa4nzvaX/fmDGyo8ZmS5xVJZaV1dAcyHgMy7RWtyvB1mFA5vlQcs5ZMJxJTymlNd8rndRDZtTBQUdpNCT/yFEDOecL8M+nufaMahMzXZC8okgfMeIN4DTBSU1kCZycwIFK54xjVzb8twDugyB4bWK09mqhT+LbnW3Ai2AG86kdiwjTqGOBeOlcTLMnJDLBxg9gSBeQy2UyG51qXQdqcRmAVVaNpyuRi1FaEGjeGKwSzK2tE13QpowxXKmjvAihecsT0k9wZYZIiv6uVnVLY5BVk0MD0dIDOT21OjKYbz9CqPsnsZrxv+qQ1/kR7fnABmKRdYMvODyljqLbzGZW17HQODojpOGeMWkicTSRKDRYymNJTSUo1QIMdGUn9Wm6o0ReeMVn1ZM9cRfEGKSUvCjWFLxy3Z27KYyvgk5jI1gzsOLuzs53c0rTkAKgOMCEiVKcrzhxNnHjB2d00Aqnxzb8lV+Hr374k4EbLRkcSWDFm6JVFlQ9e1K3OfPJBs22BRaIxCLMpWm3D7MBO8uY3+JW6eMJn16baN2JR2Nw7GWANUDhghUXjDyAukJLCmAPIU0T5xLHEdWooVno0KnD6iXx3nR4pn4Oxa1gb4K87/vvJb+cPDiQYSBri7g0tNAndXb86xkzbjJzK9/EJcNYon+/Bih82FRXLR6lfGoRgRYvCApqrjKzcUlmtfLcTC3pH2+cl0u/hwSGWJPZJMpGwgDtqFgmXRUny51a95amC4bR0H0gmrlVi1ObPNM9MdVbRgYDj7ttZlRMngcAMQXn4UOH5O4s6mz+2K2U7A3HRg7V/7wdT8YAXq1/946FLpR+xccFSYlrBsuOmYQHOr0ZpcnkK11enDNk7uV0Hyp0L+VLp/r31e9kv5ae55B5FHrSGYgbGaV3cpf7S52jvMIrp5R6zGCX8M5k/Cp6/Z4utw+OESEd/MGctpogjJl1x7S10UO4vo+c6CMw+ArW53/oWFYPFGt6QnAS6H5jAnYUtxO3VvqKwdKprDoMDAuNzaxBaWbX32lBmTU5GkocsU1UG9vL7GlqyA5gElIle+k8FbYQb70hK1XFeueIPkaLSoVrClqeOmLFvH35SSsWID58hKGdJP1efcUDCh3IlGXV/zExnR761NmvQVIVfDe+cq/mdKxUtGuxnXPPsSBwpFrfHRPqcFfzruillsqSt0hBMBkjNo56ZfsWgJC0LtgmFZBBskKjow5zgXbIvctj4Y0q30D2cwQQhD1J1tOkB5dIGBFtSrQUJt6mGhXtPO9JXDJrQvyAvu+u8byhfBA7jfcJk1TLK0kN++st4MHTAZg5NzdLr6S2eMidzeSt8W/TIM2UEaNKHUErnyqnR9URYaRz9id91Zh/5+REru/5wCZD0o2PvZ2tFL7rDlT85SFo5aZa7z93y0/g9nh8uelOyd3jd7ABfvmdqbGza071xZwCJ4t+qtiLMm6BegqwFJFXT+Orwo0CgiJKqma7HGWs6FxxGbD/FBD1nJyPi/PIrGlsNbZIXmKd3tg0wDLY43hnlzyOEAhuNIGIFESwC8VgqcwaWYUItXXLB3hZ4gQ4jBmlNGj0oosKompr6GAdmf3Mi6qF8crrK+eHSXwS4Ley8lJ1C8BDYBraQ8q1BSCSaUJVyU/VLI/j6rjNCKE0IvaArM92o0rDtAxOKW9PCdX/JoZaFNz6RvPntveA6OIrB2Wu2/mllrrkbJWqGquai6FOusMtb6H/wZvh2Eqt806aRqNueKfteWAgkiFEX4swA1sGGran/J79Ur61/SSrFnDxfqjr+Ax6RMbntDq85rP0Ox0Cc7vCwCEr5twchyjXGydjxfv34nFRLHsDF/qIWb+NUmCzogk5sGxoZHen/y3JkAVzbE5k07sFD19zPn2AHP16tCqW56fK1SQP6BtFtOOOmw4NfPTT2RdPVAEChJgRPEfH6nSfIGajCi5TbS3POswylweCDjkEpk5+Zci33aPqYpGYOjLCc050ZSCrSy6C1AYMe7u4xcIJ2vtJ8B+1rJmevoGw6ZXf8UsqxXEgKU9XgNZ/uyuo9/6+GOqyKD36qGSKGpur/6hX43FQX3bcqMofmD1Q3XOVAHTwj/uSdjR+t8jnHM3br2BzdDw9/8sFCIwMgiWIbmyUZr8qCx2ICd4qREseTsHzs5XSxXMqMSqrojcoxXiVUH+/upT3LSLQLdA3EQVteyU9fAohGrm4Tw2MHuXYWM5t5l5V9EW7u4s6Ys8I90OhSVcKn7n1u0pMrylDTGNzhVSZ3ESYweT5bEojpiLzHmT+oQBWks2q1WdiXUGM4eBmmqkdFyKgn6JjxORBK3t6F5FDst6xz8Idjyg401hBEgJLOvThf3zQbvhYpUgdVAWXlPMtNLwZ3l0oQndaPMsD+v9FSORLe/GeojCI0HLuNyM7OpC3eT+yBjzjLwEibCVDuzBZz5poVghrsr5WEycnYFH77Pek0dm7Altl88Owokc7U/72Q/0DxlrHjKPKirG7yCQjma7JYKlDoOSjepQS7nHHNQ9y+GRmrfvnwdemten5MHfGYdf3NVXr4JHao+ta/skKpdGg5UHVxvtxx+dVBqibuuZYfMsRNb0NmKrNccpXJFtqPcFuWW535kc6Oj4TBdQZ+yy8jr37V1+6kyhaxjem/rlyUzxZJJGHuV+KVEkSGS5GuK+utoEKMwc26PQp1eHVMzt2OWfen+icMUmVRbf2925xaI33QFRjjng3S6PJAYMxUK794gHXnhe+3+NkNRWzc5Jknsvj4t7JE+DaC+VaWvaW/pvs995XliEZLyku4rtr63Vf5L0WwAkWTla9xhr8Vc7+iYJpC9VQh1dH5gdTbmV1ppY6kHYzaSxXhOUJ/lm2bW0ajZ9EVLdnrhvHBLuHFozhyGDfarC4dccNd8OfpfuRE1jjLK/0Ub7ZAxGE5jbsVzl5DouC4PbWJ8x+fOXBVS6qcqDLioSoWPKow+isRWroN+u61lcUm1JQxikMgo6SQLgSLZYLQSAPKwcYSuF08gIVIapKiNBVUqNTGqMvopIiFEUejxpRLqrDxiyeIPyUJbkWwk2qh33y3oWlxPjKMjiSazockD7O8fBUcbhWKdYh94eeNlZtIn/fFWrtw51zpvoFmnZn7cmxSaiaKbeuAvhW4JDa1zWvLZ8qMJuBPEsLGddAKrY9AwOrU1n50889ChtRXXk3MfUVqrS6xWPT5LfUTII7o0TqODOeFRLuRgOYNKZefk7joX0dstb21lvCO4I7UVNpfKpAKVefclvvxaV5OtgzSRk5YzQUJScN54/ziYeHI/OBqtmf8XCAO9/vwe804GSR3rIQ/UP3ddh5dAezZV3fzsZ1n0AjLo+sgVLQaOlh0F4VuPgqMmMdyqhH88xmJPALBrKo6GGfDUWkv028mEbmafO4FEWHR6RqrgLihv3TSxkGI/RWnEV6lV+KjALor5JaMqNb6qiAgE3MWQFQpGwD3WCpgLaszjxLiuT20ntbY/6suVnPqksQNr+teA38xD/BMEDWZXxAAV6x5fAA+08pDudvFQhTHAUCvtTE7W91veZriQwz+pSUzat522DLaxlmXkLvmwSkFUaRn03Ij4qSOPPEzU0eltMijEOqF1LzgHBaIWOo7/AP7Qz4dZ/YFXI91CqFoX3NXw5yjMbbld/C28Zd5xR2EgFmaSf5wQ+DgIPmF74A1OWL37QLz3QH2v6lPE+L+VjmaVD67w2ZvLJv6ZjK30d8vdcKnb2911DeZ6177AdWM91g52y4Yu/+nx37afhqNY0Oewt+rBdY06AHqfys+9wozAzbHpD3RCZULEdbE6MPZTqCbi0ShN/8H22ewWJtpCAXF05G9muU4gZoh0Qvnmf5frRJ9wadxPRSu+btEj5/SPHTjACc3hGvLROV+YCIPdKZMEr2ugobWhStBLmEzpHjQRvsxGG/KBirHTcwYO7NuHOHNOf2KGoLbG5kY8eaEmui00vt8S+sFpcb4MWQKh8VFL9Q9Gi1Hl+KgMMb/DziO3Tjux92jP2GyeKZ+Vs8dEGKxPuYqHnAMNzaJUf/F2Fmhz68yrgaclzs4jyjQVNA4J04TVLHMgYL9wP3Dwgbc9HkMUYk0RG4rtqvOkWovTQPjnW7Aytdaw7x+LJskX7XgCjUPNsNK2i29qXlL+Xl0V7R6HZtosonPlD+NX1Y5F4x9WOMabewWxVbv1446Z221xdvt41092NxEWUlvKVZSiF/h96EGBnWh5gMnn15j1pjEzV5SmQaJWYZqvdAVzvDyfsFWUBhUFQuP/RWoawmHuPbKbPnOnaAdPyNsh2un7frijHV1aitEu5oVyZzmT3ek2RcYbkgNrPtnojeyHBp37AjXeuEPsil2M6SPGxP+3OGYGA1nRBdZMzgvxNPZig0aw1oR0JNFB0ipMQeVApAlqlRC3n3UX6Uw2hbJoiSXJmkQ3kLZhiZFZLVHfjJnQzO8sVItqeGxYgChe28LjtaxFFAuGoeXOlDaOw081mfxUjiOlzbnc+MelsZKqMmscwhpXVea/NAaGxGM2zPKUa/GleytK98anXMMst4jHeqCt8dDWLk3Ys6R0DbxiTWBJ2fPoLV/YNehfCvct9Q6W3Ya6pmb8OlIZPQZthvs3R49V/DqSEaK/tS2h9Fpu2f5H2eStiUkHbekz0n22g8wBAxRQWcYL0p6snKw9JPsPXthnuSCIOzAMH907f+aopTT/mv/bq2xdpThJowN1WlCLsKI3M8vtaIHQha3BWArpOYblS9mndvV5k1dazFpBnNQokUlBbuCXM8EifSaL7cjZSNAxiQYT+jj8bGj9UhqbaH0RxIo5xszI4te/3Lhajy2wOgFNvNoOOLzmSO/ioJX9de+P9Yb6xWUXk/fAwy9nSDMT41a9lXLsmC68UyDAQw8CBdJCMFPX8/qXG5PBfwlmu8MQb3A4LPxIvTEhb3Z/oBApCZCVICGqdnIWmWeU+Hc3Lwo6AIhd+aNuiVuq49iwXbhinqAA+tJfIDKanQ5TvMkZzJM7pG5f2kz+PNvn16zI6SYWUlWKO4uzsMwO76/xrVpI6eqoaGxkk0s5Jd8a/6vDa2bhLDdDOKXR6tUpc5Qenc3mYTC0bvGBRpk4RWyW6fVmAC5pTu6Yk7PIMiOYo5HrXS3YsXU4J19AgB78pOR+P37YnbOf9DtIjhELzzfQUSduxHiOkG1s6sUkXS6loGrT2SpdwSUpjW1kxacNxHxAK5lmLkHUwqL4IcBGK+laO9izPOyvRVz3qTlGlo5UtO/qA4qZlSo2aY6fnd5nr+Wra1Hr6ttxGxXhIF2hhCgiXV5I2G6SIdbdK1SZaqdPN9WpcpBtb+yIPJ8x4iqxL1ozV55azbRamco+5zh5hLqOOkJm7gRUwM7B9QiICOUqEq1PrLlIa9CarNj5Cm00YwoqAzWFYUeSG2GkiRzsnhlj927mkq2OWTi3NQvIRlzKtmfjRM8BYdZcXOZzUcL553ZJLu5zra5Fqzdad/a5GTZZJKiz3x37Ao0gmEN+wZKmLvPR357ogzf7TP3N99MMMCe5dpQLa2AVFRjdII5SU7zJB4vowRSpXiJXmnTXrOgV8iZrPgaUORzKn29RmuMmtU/SY5ag+0uxhTAobbOVbXEftPvltQWdWr82wAaH3IPuzbbyc7izZy+JsYPyze6tDjDBre4ttjJ0+GTxvDz19djrakbnG+/pQFEvZm4madAj75KWwL5MoxqIoFPtBA1EatqXsCXS/3aiNaTNzIPqTx2MvpeIRwTmMBVOHWYSHiFe9jEcn6pNeW9k13rnf+vo3UhIyeLs0/PM7Mw+xkr8O2bewjLviUxU3p1RvSc4A0t6p6xORJ7k8rmT5P7euvExD8BGZL+HsfjF84zzsuNX1BnrDKjwJZHy9VTyZxZLNpsTzGd/03aLKvuPQW1m/+bJsbgEXJkFQtSRAXp4Z8z7rNVXnsBiX4hJbrze5FdFroL7RA+Px/z9mGDR98Xm1FCqWchK1zSzXT5Oj8PO6RUYiIYHmOwOjVm8rwV+ilpPKhEoBQE2ODQrWLkDJRGLq9LtcYfN3C9g9hE0hradIWOuYuBUd3BTtewWVglVj8aj9TQa8/iopyYjUzFAfCreUBA7lVeMy8IV86Zix78IMfQxH+ZnFM3OtrGpBqwSlReXhyJLfqrZ/p2f84Tj/25Ork67AKZdoM7lzo7xwJ0bnBvgMZ7ZvXurCz7Kg39YUyRewBY7eWYLxukg/fjhyuZFmR9htGadajdVeuA95oncRJ6KfhjHWM8qs3vDPggK22xQGPJBYauQfYulYN1i2137WNPJd3/aTCZv/uku2YvUcFrY7BbODxXwfZ9EZa27y9pvWty365wuS3dOc8d6xzMbr/tIbHH/nvTVt/9PvyJnwXz9csptS++YhW9iKBPVpm9xEz44Zjy62hdKFLfyDNU6ubIjE9uSar+YVmqIKqiyg0fSIcRQrJcuZjeaIAtCdfUCeOGqfdYCTZUCPgBzEWvO99bzdpgz13yqANa77dtjxuojUkTc50/39qn7JM5/KwOqtrz5/vkQhwHFu/a99VZdiHeZvmyoygXFNIfMZn2/W2gnlzUGNBViCpsAO8HsM47JheCXiFxWp3A12HHKMlDe0FBu+VP7vq8WCiECvVir1S8Ordh1zcyZmflMTaoemjGjZqgsqUFdp4W7tZrfTsmrV+zYhxgs9ukAeN1uk0LiCS0JSTyKtuPfCQb8wm6eEszF5YmuF4Zvyr4xvCA4lDITnqZ0LzTgj4N/WAZtDSvIQFEyDR0xOLdlAUwO3nHejxO76tVTfxy1Fsr0dp2DkaE78JnhOCkT/6z74h3EHFc0J9EDb9HzJpXFPBARlRrIq3BEX3NlRWytuhaEV0s9Pw6DrKxXN+gG0nY8KdjcUBNXq+7t5i3UJ/947C/5gPi8AfnX14BuxAqOjY8ZhiY7yk90wFe+1FiGDMIT9lTnUqTMYrM6Q86ARgTsoFL3XNO2feCYgmPfRsDkWiLNWdzZIZ6ab+KWFGX+XJ/qWt+5N0rBCywKA+yeXpycx+0/mg0JJec5qYx/ucMcHmgmniSa+8N3UZl6qX4vVZXqrVNWEClZ2AghG/+8J4fx/b7gkis5mcvSUt57/0gyUJpcPTT9nP850fr5ab/yZ7mjsBw1Q7e0b3GTNEBSAvgKhQJfIQUcpCJVsaSLN6QPr6kylJVqEkxsaFaiWVOu7T4BuG1Oo9NtA1xfuAG4KF6hyaT5Kma35ofEF6fRhab8c2r7pA97jqqD9fLvv86O/+R7nE6zcll0y4EieqHR3+gPBrpbpO810cwBCwv5oTQTy/hMHaseRoO89PepxowqtSojSjW+Ty/UcnAwL8Bg2qydHeK3+WZukJPxifmxa33tUgFiX+203N1riw17NgSK9z6pjW0Ph4XkYkBUiVbqQX3IrzHlA2XS2jTwwPOUk0M3V+p/zuySXFi7flyhi2NOw87fNho2/rXT8BY3UDt9cMZSff/Z3Pn3BSJRj7oyp7nObRLQmFJ3bNtZYYXWmmKX1sWcOAdc3cSJ61T9dEg7FDedhSydzik+oqjZlDfbfdzuDM1eTZm1c6+IGOp+s5ViIp3n2NcHL31S/NRbCub0Hdi3j51zUstS5A3IzfT5OppHCHF9daFxaOXuSE1jWRkPPbJ7w4vdomGukDss2h2NnP/SpVralfcFDbwof2FC8PlVCZdwtiPwWO/GeQfM/JaEBvH/BrSgpopfesycJptbfz4FHYtKIZAKurzu4vhHOLVOyS0UardUWi8G8guo9lx4PhOH7bqxLf40X2bmscl3X8Oy0XSeXa6X3GY8vdlHok7HxkocbME0VrVBHfJ6oDfICI+3LMijPGWpWE8p/dnJFekfJyYkfpz+Sz1vYmPF18HCviYJiPXyfy09vGNGSagIkbkbhfpxnWHbKZFsEZ1ZbLfLj/JfB8jVwvV/PznOJmATc+NyxQUkPonwTXpc1m1U0aKV+eFC8X/0gsEz8JcnSGxQ1G3cPawYuu55XMQt0qpm7IbN3NXEqOb33Js8m4zFF6BhKBUm91C3KWniimBrfDvigz8JnJt8AaDzFlYrAZOSPF04Vh54RQtsCLqGl5PYI1wBqDuAVaORaDX22x0WaFgwVytpfyUeyNNqWNVqrZhJ7HoDHxVhqVdlsqtUrGgU/qaLyLwqqzqP/TY7LvtbLGbHrMGjchNyUfiza7vV+L3DfjgNoyL1fU79ILMjL8xC6HZDwhO8lS1b9RAroVnliFUHMRy1GalYiD3ldv8T+9frX33+lQRE5U/gT4hKwkqf/9dLl4rKTgW8lfYoyv2mPzE5fdOPcdevkN7kzt1yMg9cyl5qwK/LSslah7djN3Dx2HyzBNplJpLGv+lhKyYhlf8zbdml9pnfL6F6liZv68/58P28Nc8rMwP9IyoH9SPa/hg4Mv+IV6EnWkh/UVWxE3VqyaXd18kyKvmprp3bWxd6/2mhvsvNWd08cEtW1xnZW5AZycjzscc0FNxJ94sd4fzMuGjdPTw53LH+1v7lGn9algfm0bdMHR4/bq43xXDHtz7pjyytTQnwf/cij6waHCz7+chgk8lY3x0jigBGNHECVTGnn7JvQ0NcdTplWEXPe9PPOhYLLJD68AFaXszxYrKeYf/BwL8pSQQe28HvX4ngF0IQ0g7/kYNwo6Ad+e2pSJ3n+opqP9Jg1Hm1GTIibam6ROkhgXRwflpKnmRLrvwHf0BEOEnyJBtcTEY4ueRJNrgN8Wz8rE/iFUieZEsu/kAuwumWPMkGt6WECsD2VaLhSi2lVNIjsdoMuwSQHa4FqaWEgnbEBamlhIIBBAylK7WUUkHAXLpSSwnlrHu3+qLbBGjK+KzFQ1MjfqS/Hqb5sf5GmOYn+uv6G/qbYZqf6m+Faf0zfq6/ob+lvxOm6UXBGfnTfZP/Mps5xK3Mf+H+/XoMAwn+O33FVCzv9avguf7qrRjeSiz6fYS86JvoTMlwuW0xD0u35nLsSS+E0xuvKJEyTc7gth7+7EdOoOYBSu0uBVJnGjee/jgrs1l9magZMp3+fedGUDqjqjs8KLuIdPrX3cBxHkg9kE7/uhvwqN34L91R1cxR3czJ0s+52zMlXuJgvI6dPGK4G0HHNpWOhDyuqoM0ITsGHnlvFviKmkcuyNO4+FprLmb8yP2AUaQrgR+5H8CGUib/hH1fJkKJ8YjB3V4eFErxscOP3A/YniRIs1BqKoNo/7InezQnxrsnoypw4r27eJTKR1F6UJSkahvGnaIjDRgck0VTajQ9bhQ3kkXZhHz8Knkr55xe/gbFOe/DD+gCfOFX4LkfwPrTAPT3D2gAmRoFoS025+1X/3/phY0tFpmiPM8ZWSHWYzRBC/4dW9bhNylMrupMRatFQXUWv/wHmjnyQoRlBKDmQujAyBhBRkj1K3KWnRUiPUKT3/JnzrIiJRAEpSuQQlDGQgoUkdQzSaiHVGT1WyT7JXktD5ZKM7lNpFC7pcNUSby2YPQN4QMNHqQg/SBoldGb0SUzZoJBT6ArvRUqiMWq8YQlyUKoqgrUuKpAkjO/TCZJFeT9uJr5ULxC5ckqoj3KUDSOslMA6kmpnCvyWsAllmwrkPOgmRXEe/wSjGdB/AslpKw/o3ZNa2Dyq9bYpqq6R2SP9YnMf66Hnqj4MpavY8E7nRB9dHL6Lyp+4eRjJ/hEyRdO0LZLsovjmTKiVy8gw+uCPGOadW3i/ZyS/oTclut5hy6wQPIj/8CZpzP1pKW66rVFCjcJlX9OuAyA3S8x9r0+aaGlH/hBdHCmFyJ1aEfGwHldulp5Evcq+KBWToeQeRaU5s3xoo0dADn9DilSLJfcok7swK/wzwUiyHnCrq5GizDRSGX/aWFiupbzvbZhxhFE7NAwKvoLGrQGnplsRWQMq50QVkh5qZIPCYliLPRgfWhwjV06gYJQZMNcuIAslGkKgM6I9WNx35NFyBvHAYL7CGDI7/l8kvuUGU712zASbuQ78QxSN+JZm9nSZTCI31XkTTa1VokdsD8cOTjORmYTow0zs2y09MI3AhIEHSMbuY+VUfcY8/3KSP9gvcjQqMcXjOxN7Hlhw+JewkRmiWzF7wXaHoOKhstDRna/TWkrha28AsAjeEHipl63IK2K+H64tWA/rvgCAoLY2sc5GroT03px/ee4MYFd1jC+8qzHtdCA8DWx4PFI9NPJgoElPcG5/Qyx6B+ArJgy84L7IzPMFUFiBxz+/AsuHtnEoe8D7212cl5kzpHHk30gmsqPcBo3wF/FqtwOimCeOD5nb5xbKH/B0q3l1VnrLHlWmJpdqApdo3Y+nIegHyig4AnLN/V0Akg/JspMmUlgtoDalPRAcUOTX18wZafSpcNnzEDEwDZ0RBSFCZ8MwNPQObKds3WaCAIEygrZouCO2AjnHZ4PsiDlxz/dWOoN1bCY26BFawHXJerZTtgiV9uc+hDARHOiMRUzvmeXikh2VRF34vbPhq0ow/C7UfIAgs4HtvojP0N8bqPt8fjtkDGLFBPG3eqp04slxu/uWjCfd/MwdJEQThLBZiCQs5cTZ95mlQ2F/krCxkxFmCMiaSIQRpdgZozZQjzFc8pDs4+pyZBpZ2U44treMVIfhpWKE821CKoDI4/Rtv0UqezWpHYNxXDBFwOTHypHgEWTDfxyIOV7UyOBgRdGvKwgq2XdTstLMcsSdVLzVKbyop8I3EtlmSbcjwltguxLJzA0S2LKAWtHQgGn8XFm5YziDWIJvxtDjLJ0WisB9K+rppEYO8DIjePg6+Yc2yVMOLBaCwOPDxg5ZZTF/V+Yn1xwH9eiHpjYJswlWyqE83FCs/tJQi6etZyDz5UdwBYC41gBOGzlOzpl3K7jekcMLKInzGvqQQQ/dzAhFRkVAr7Ksm7C+8YEKwB78UoLhfAW3vJEDVFdCJfK3ANXzrqaU1wMCkw8xfaVawH1xpceo3R6qQZ/+zK2ZQcf4vvnKRcHT8jkCkEw0kSjDTS3iSRQ8fVuUBGbDZaJw6IkIDHRu964Jb/fp0lnQls/T4LEFSYl3XEVdV0Z8VdUQG1Ef+CLob5Q3ZgsyLsFX4m5EvJ2XBbTUOp4bmFJM8yiYaqeLbC/mzo+bq27bHp5MuRSjeytnF0bTINRUk8AgKoQmKrkQDJpVHAOsahExKQVLigAzGFUjLl74zatshV5e3sSR7APBN2e2I8mZOuJf5tQK7cimfnKpIxpHAGKstD1xmOcy2IYD93KWLeSeBcouKhS77sTzzJo16vhuijY2I3SoX1gbQXXY6FrhDY/nJ7kaaAWxk5uestj6SwCEm6lWPXZUe9MHd0dY4G19CQdJJ2e66kEgOqpzDkaQ+lJT92R1O7mKEoJ+XWUEb47sGNt7l7b3SFXPsOBuhu8AKCsH9FvIfLfm30dm3d5EzTMYNto2LfOjF6jMquJoHRvrK7iXbygONh9+iqGzd7cCC1sU9ZojRvNM8VL1dELBG04HGym+pCF4RU5UbALUrazC0gSsNfh8tz/xWzONYLdm1cDvYtnIlYNTy0PrRVbDnVrRuPxeEJVwn05wD354L46WPcGefzFqamkkq8bBmKUdswXhdDVPJGOFeptKJMleQSBspcsHGgRoKLPoCJe18KX6FVgD+NUD8GcfcWHrtw5uXYktG5ckdkag0nqwziHJ/Ok10sTHrhFh1t1o0M3OoTwTrKm4Fic84QSxo0OASlYB0cMABLxVhG7iZM45p0zwHpXJhl9hEZ840Rrp13qpSVq42Sj9RZTaV1ZtK0yTd24W5AGaNk1rFtmgnEwKEnPGV09D2D2/CLmODaRTqyFLWfOaW59wkI81Sz0KscVCOl5WIF4kyLAeldlalGEFqzvprWuNOifPNTG2pP+pQtfuPCSkl2Ax0Wv52KIoYHchr/fGULzZwCeY8SnVjwv26UnKJT7UXT2S4NazjbTqksscf9YOih7z+vskCR7yj1lcK98wpMTuWO37pLy8HxW7D2WMo5a80n/S9HwUO+XjD/hi6fR3ZC8WrswIsWbrY1+/L+PvAL41m/hkyIZPyEOI5APPCkrOTmAcKtpv4hVtDrpeyc97tWF3rl3MesXDqB63vQDhxVWG1AsWhGpyVKWJXjMCWIKAAfUfqsgiO1gVq8QEhS1z97Ehn4iSh5qQJl88dH2qanOn07XnTd5XmvKSDNZjWRWGjCeccuok1hTyASB6rZIBXmVOzc0hFtdBPrgYwAYiAgQz/gFF9nIQ47dRrszIpEK/+XhgUZbwyJZs5AJSSUmChA+KX8gyRzim/K037BYK5khHXOidSeiwNNDULASTrckXFDtcqHq3bBR26iQMfD/DLmgqsLGqdMA/zN//4TD3u9SjnGS34kpg1VOYubyIQCXAlYEpGZtGysRIj3F5djUF6z9yTkIcBmh4PL5LqaeG9ajxguu8b1k8dZ3bbTSPT3sogTAczmhHvYInT1JkMUcfjCsjLBAQwTx3d9gcCS4go6Ahmi2+i1WOhRXbstAiq4GKv5sJOoqV/ulpLwO/VMMmssOl0c97KV2XTphYMClynz4GHhzL0ydNOvqjYwJhVBHi3/S+BhPV4sSJNRiwBVKVKXCKbKuNvPYb8HCchcGFZtuXgn4i1+KirXYE/zTeNsQLxf+iwy9QfxL5mis9zE1QwJ05sz5ovmfDbkNBcBSgkBrOU5bTsgOuO1g1cyFS7C6b7fJnvzGC58ITNJ8ymxgxNxJsMXK55y5odaN7AGYAM5nE26nAZZl+jzxdjw3aKYKEpuIeidAWghu4OmCNgioc71a6im/SL3G+RhSqm/bvcqL1dJPTKP3Agn6gdatNaKphJSVX0DaJl2c2UmyxK4JPN+GXD2ra2PPotZ7FyRsdUKNl/hB3I4KR3ex47UDsJOLk5iGYiE4/J1ygvGUasb6Y8jGbr67GptERj11cLw6jVjUrG9e5eFMP284rLwv2NnbGGpaxM5Mm74hdJhGOyT3cl+NkrDcO7eui3avNqneQIkH3wJxJAyXeEfnVJ281ztzOXgpxXcX8pGC+6x3K8ZL072nAehB0GcxzfpndL7uXNRY/stQAGFmWY9zFSLBJWtlN3R5xz42PixyALOSvrvElAt1pZOftw7xd+9CC1/np2GyRmBsJdtcV5KqXi7VBWMbryr4DbQvOb3zqk/9ynv1EHgbhgVl0tCRxhE/wpZFX0kbGHaZ2ZZsSMWhoQSjCaX/w969J5RCe7+f34SlAav3y91KPHKsfxKxw0CMWMXoMUEl17izVqrLcQHkKvXmYgTvnibePcpVBNQO53ckTXHgxJy718hTefBTkzYQzStZNQm5UGhZgV2A1lm9+FA7u6A9ysyHn+nSjNKVFmQbt2Wyw9rLFQoWpyQYCM2q1O7h3XMvSII1vdUS10IihbgBvTtMxJRgvi8BIGNSapk0Vp31FM3exyKZyrhuEyyDbdGQholPy1xPIlbqkHjsoaeWIYweO/sFdjlHIcsRopglqdEWAYO6nCOY3fF92TdaKNtWFFozsMZtXfUbkP7suNZbkVY6pBxJyOWlLS1n0vmxT6J7Ez15cgACLTmzHgKYM6LwXUKbzy2EEAGuZ0wtiebmxqyxWzbg2kb+BtQ/jIr/Mh4zcDHk4z1GzVzI0z1STnOiJzNmoLAmMME6Z+nnADCW433OGErHKV81rIAKRBsGwH0hwvz0quozqjapIJKhU60CpqUppdzoTTxqM6xjoEJa0nfHAnpOT3YdQTJFZD0Bi1mPEFZzHOFOiq+TGrOAByWgvb5WZ9bxx9O5AebySYaBVvh5eK9udVrOiPNUqQ5xKUJbH3Y9NbO/lnGI13Aoquna4BfInId0yBnT33weBgxzc4PfVualVusRK54OvnKDfk5hSsfGJi5ew8WmksGu5O1KPbKMXIEUVKy8DGveNd6H3gYYLGbturprDH30do2PXMc18PaHdM6YsYTtTXenoAdw4+UzeBCYQTxJgwc4xXeNd+iEm5hhvFgGD/acap7WXNxXgNJc+Q3be/z+VzSurHnxC4PwWuzo+0WzH504icGerN32522P3sRRm9eCfeUW9tcV617D3csKHweOyFqUfx1skCEIY+jiTwNmfcwMwDK+lgolZBIMb1hyunKt2rNr00uQGsGKdcWixaG1hGfEPOIeUWx56Od/hOpFUYvXQtEPCGj0z92IAkC8Blxj5Dqfk8ELjw4Y14bCmvAWaqHJ19z2G+0HSstdHHMS+x0/iM7bECFS0R2qYBO4jzHiWWx9gdu1O/jTeOAJx771Q4ipJh5l8rFAUD2P8QX9e3xujEuTj7WxWLgyPqcJygvI4Aa7tIvnlZV0SOQ09QjVbEimW+HzQXk/9UEZ4D3w1MEaE23tkhX/EUgAwNynMsyss/InBS9vvTggvT+6bUb0Da7bGKgFB9spk2XmhHp76IRJ2RQ2kXl7qESNVQ27HKVIohCAQNjWTsui6KBKk+XudVJb3mUnsDce16rILd5J/4eAgOT0887er+l9yt95AvkP4NKSvUNc+biNdf/z3/YtKoWBNhhAgH9c+naqZpJ/DPoMmZ+Kx1MQyQ6vpxQOtATE4qjSqFwDV8RB9AnT46CiKaOFoyLigxeMUSYhi5QLFCtNd8CgphSbDnbyg5GRoKSHSyGKjkdkiVaMZCmfOhssysQ4nnUWNr9Ez5TY3pj9TnvMY1q+hN3OswLyDEIcLmr0VLizoTM0L2NgSkJvjBtbjA5pllhqrh+sxkoajfCpGk+Dy/jgWQ6L7CBGQnw5b9FDYiC8BGCpRuWvValIEZOiVvilMtYpWg5eFmNnzmKhxSCuxaQpQij0l1xMuirrbbPGTrvtM2JH8zC/6XzUHsp7Mqz3pkanHLrADstN+d8h/fb76ej0bVCU6NDkhhX2Ot9VvabqFjVrtOsUcAw43x8gHo+3mHIREEA7SPD34RDQKgsOlRwAq3GXFUTJswpGzI0Kzt5chcFQSYWPnPgKQZd1EXMnYIeKZbqEI7PT5dKVyU1LhRk1VV4K5PcUK5PNTAhvgfywBAlVIFONIMWKFDMRLlO2SgXSlImWqUy5XMWKkCyZspLbIUc75Ggxco264zT6CKcsr3N3zap40GGJ2qo2sk2wUryr5izYIWVWCaXMt2qK5K5AAZLcKOdKpsgsVe44g+nh5WtFO2dwUNkc/TigkqngxZsPX378BQgUJFiIUGHCRYgUJVqMWHHiJUiURJsOXXr0GTBkxJgJU2YFbsGSFWs2bD09QnH2F6XJkCX322zWbrX/ownSIhEY7LQLi6RNVIlTI4TPXvvstsdpZxx1zAYbrcKwkiZhIlwxJUslxc3hwEFAine69OjXZ8CiJe1BIBtEEdylEfPVuG9GkdRpOKXbakd0JA468ZuSK1+BPEUKLVfsgxJlypW6q0KVapWJhxq16jWos0KjHXp90aRFq2afHHTBOZQt0m01IiMJ8F6m8y665LIrrromC+26bDeN2ma7z265LccdH0377neP/4MwLdtxn6LijxEZiiVSGSNXKHupUveq1xqtzsjYxNTM3MJSb+Wsu91rmSGA/z3Ese4Rrq2dvYOjC5euXLtx687JvSc8SUcPSPti/4i8qtbNR4bxWMe+ncO4T4HO1Aj+9jjJ3e/29/RZilfe1A/j7y9tcMvBpiNt/4031jxNxt86fV+X+7QfF872D8ju6Gj77Gx6785jlK1t54l6Uhh/1sd+8ec2bec+1eepNgLdIBA1EfFEENQP4UQEIl5V7+Md9w4HjlxwyRXXPMWGp3mGZ3lubOfra6/T92k9OrALNnsOXLFlM65PP8fdXlXv7PraDhZu2nL0SBdX/cvcGNd1r7T3q4sOa2/fuWdr1/85ho7CgrTLcVM85RB732eOTf1q11heaPs4N6wn3Z09O4t9cFrDapWEmnkoH6yY0vZErhO9eXYUDHSDtAQ2MMaJwFz06c3xZMeIOmmgdeCXRDHZMKBGSuBVHSGJAjgxJBejI0wYD9Z0KbAALkeUV4ypIcDgyrJcIcmgMp9QLFZ0VAQIZvSKFXki6IifBV1aZEkIAQHBmINRW6IjQYY0KZEmLHQkZFS1JCz6QmFhAVyZs3YdJEYQ/8AG+IgMRcYxSUFHJbZJTEdwg0kJy28J6u2Gj0lGRrCM5VyjZC0mt6RSOA7zXaGJt6OiLwMAAAA=) format('woff2');
1888 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1889}
1890
DIALOGUE.386-VT323.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: 'VT323', monospace;
73 /* change to '' for fluxer's default font */
74 --font-mono: 'VT323', monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 /* letter-spacing: -0.03ch; */
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
1847/* these are base64 encoded fonts to bypass fluxer's import restrictions
1848 * credits to https://amio.github.io/embedded-google-fonts/ */
1849
1850/* vietnamese */
1851@font-face {
1852 font-family: 'VT323';
1853 font-style: normal;
1854 font-weight: 400;
1855 src: url(data:font/woff2;base64,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) format('woff2');
1856 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
1857}
1858/* latin-ext */
1859@font-face {
1860 font-family: 'VT323';
1861 font-style: normal;
1862 font-weight: 400;
1863 src: url(data:font/woff2;base64,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) format('woff2');
1864 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1865}
1866/* latin */
1867@font-face {
1868 font-family: 'VT323';
1869 font-style: normal;
1870 font-weight: 400;
1871 src: url(data:font/woff2;base64,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) format('woff2');
1872 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
1873}
1874
DIALOGUE.386.css Ham
1/**
2 * @name DIALOGUE.386
3 * @description A late 80s to early 90s TUI-style theme based on System-Glass (system24) Theme by Deer ♡
4 * @basetheme dark
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9body {
10 container-name: body;
11
12 /* ----------------------------------------------------------------------- */
13 /* Toggles
14 /* ----------------------------------------------------------------------- */
15
16 /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */
17 --SquareAvatars: on;
18 /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */
19 --OutlineOnlineStatus: on;
20 /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken
21 /* see also: --ThemeMessageBubbleColor */
22 --MessageBubbles: off;
23 /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */
24 --ThemePanelLabels: off;
25 /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off
26 /* see also: --ThemeRoundingMultiplier */
27 --UseDefaultRounding: off;
28 /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */
29 --ExtraAnimations: off;
30 /* set a custom app icon in the top left corner | Options: off, on */
31 --CustomAppIcon: off;
32 /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */
33 --ThemeCustomIconUrl: url('');
34 /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */
35 --Horizontal-Serverlist: off;
36 /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */
37 --Serverlist-Alignment: left;
38}
39
40:root {
41 /* ----------------------------------------------------------------------- */
42 /* Colors & default theme overrides
43 /* ----------------------------------------------------------------------- */
44
45 --brand-primary: #00ff00;
46 --brand-secondary: #00aa00;
47
48 --ThemeMessageBubbleColor: #cacaca;
49
50 --ThemeFlatPrimary: #000071;
51 --ThemeFlatLighter: #5500ff;
52 --ThemeFlatDarker: black;
53
54 --ThemeDarkenLight: #000071;
55 --ThemeDarkenMedium: #c0c0c088;
56 --ThemeBrightenLight: rgba(255, 255, 255, .06);
57 --ThemeBrightenMedium: rgba(255, 255, 255, .15);
58
59 /* color overrides */
60 --background-primary: var(--ThemeFlatDarker);
61 --background-secondary: var(--ThemeFlatPrimary);
62 --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
63 --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/
64 --background-textarea: var(--ThemeDarkenLight); /* used in search bars */
65 --status-danger: #ff0055; /* notification badges */
66
67 /* ----------------------------------------------------------------------- */
68 /* Fonts & Text
69 /* ----------------------------------------------------------------------- */
70
71 /* change to '' for Fluxer's default font */
72 --font-sans: sans-serif;
73 /* change to '' for fluxer's default font */
74 --font-mono: monospace;
75 /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */
76 font-weight: 500;
77 /* decreases letter spacing for better readability. recommended on monospace fonts.*/
78 /* letter-spacing: -0.03ch; */
79
80 /* ----------------------------------------------------------------------- */
81 /* Background
82 /* ----------------------------------------------------------------------- */
83
84 /* Background Image | fluxer currently only allows using images hosted on their own servers.
85 /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */
86 --background-image: var(--bg-2);
87 /* fallback color behind the background image. can be used to give your bg image a tint */
88 --ThemeBackgroundColor: #b8b8b8;
89 /* Image position | center, left, right, bottom, top */
90 --backgroundPosition: top;
91 /* To cover the entire app, set to "cover". You can also set it to "100% 100%" but the image will be stretched. Set to "contain" to see the entire image */
92 --backgroundSize: cover;
93 /* if you want the image to repeat */
94 --backgroundRepeat: no-repeat;
95 /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */
96 --backgroundBlur: 0px;
97 /* 0 is fully transparent, 1 is fully opaque */
98 --backgroundOpacity: 0;
99
100 /* ----------------------------------------------------------------------- */
101 /* panels
102 /* ----------------------------------------------------------------------- */
103
104 /* gap between panels */
105 --ThemePanelMargin: 16px;
106 /* panel */
107 --ThemePanelBGColor: var(--ThemeDarkenLight);
108 /* panel hovered */
109 /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */
110 /* background color for tooltips, context panels etc */
111 --ThemePanelContextBGColor: #5500aa;
112 /* background color for media picker, notification inbox, search filters, pins etc */
113 --ThemePanelModalBGColor: #aa00aa;
114 /* panel border thickness */
115 --ThemePanelBorderThickness: 6px;
116 /* panel border rounding */
117 --ThemePanelBorderRounding: 0px;
118 /* panel border color (not hovered) */
119 --ThemePanelBorderColor: white;
120 /* panel border color (hovered) */
121 /* --ThemePanelBorderColorHovered: var(--brand-primary); */
122 /* panel shadows */
123 --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8);
124
125 /* you can ignore these */
126 --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor);
127 --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered);
128
129 /* ----------------------------------------------------------------------- */
130 /* rounding
131 /* ----------------------------------------------------------------------- */
132
133 /* change this value to control the ui's overall rounding strength
134 * 1 is the default, 0 removes most rounding. */
135 --ThemeRoundingMultiplier: 0;
136
137 /* leave these alone unless you know what youre doing */
138 --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier));
139 --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier));
140 --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier));
141 --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier));
142 --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier));
143 --radius-full: calc(9999px * var(--ThemeRoundingMultiplier));
144 --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier));
145 --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier));
146
147 /* set universal border rounding */
148 /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */
149
150 /* ----------------------------------------------------------------------- */
151 /* background presets (credits to ThaSilentArtist)
152 /* ----------------------------------------------------------------------- */
153 --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png");
154 --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif");
155 --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png");
156}
157
158
159/* ################################################################################################# */
160/* ################################################################################################# */
161/* ################################################################################################# */
162
163/* ---------------------------------------------------------------- */
164/* basic setup */
165/* ---------------------------------------------------------------- */
166
167html {
168 background: var(--ThemeBackgroundColor);
169 opacity: 1;
170 background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px);
171 background-size: 4px 4px;
172}
173
174/* prevent background turning black in mobile view */
175body {
176 background: transparent!important;
177}
178
179/* this holds the background image */
180body::before {
181 content: "";
182 position: fixed;
183 inset: 0;
184 background: var(--background-image);
185 background-size: var(--backgroundSize);
186 background-position: var(--backgroundPosition);
187 background-repeat: var(--backgroundRepeat);
188 filter: blur(var(--backgroundBlur));
189 opacity: var(--backgroundOpacity);
190 z-index: -1;
191}
192
193
194/* remove backgrounds. this is safer than overwriting the color variables directly */
195html:not(.auth-page) [class*="App.module__appContainer_"],
196[class*="App.module__appContainer_"],
197[class*="GuildsLayout.module__guildsLayoutContainer_"],
198[class*="GuildsLayout.module__guildListScrollContainer_"],
199[class*="GuildsLayout.module__contentContainer_"],
200[class*="UserArea.module__userAreaInnerWrapper_"],
201[class*="OutlineFrame.module__frame_"],
202[class*="GuildsLayout.module__contentInner_"],
203[class*="GuildLayout.module__guildLayoutContainer_"],
204[class*="ChannelListContent.module__channelListScroller_"],
205[class*="GuildLayout.module__guildMainContent_"],
206[class*="ChannelLayout.module__channelLayoutContainer_"],
207[class*="ChannelIndexPage.module__channelGrid_"],
208[class*="ChannelHeader.module__headerContainer_"],
209[class*="ChannelChatLayout.module__container_"],
210[class*="InputWrapper.module__box_"],
211[class*="GuildHeader.module__headerContainer_"],
212[class*="DMLayout.module__dmLayoutContainer_"],
213[class*="DMList.module__dmListContainer_"],
214[class*="DMList.module__dmListHeader_"],
215[class*="DMList.module__desktopScroller_"],
216[class*="DMList.module__dmChannelList_"],
217[class*="DMLayout.module__contentColumn_"],
218[class*="DMLayout.module__contentInner_"],
219[class*="DMFriendsView.module__container_"],
220[class*="UserProfileModal.module__modalContainer_"],
221[class*="Divider.module__text_"],
222[class*="Divider.module__dateWithUnreadText_"],
223[class*="SplashScreen.module__splashOverlay_"],
224[class*="MobileTextareaLayout.module__mobilePlusButton_"],
225[class*="MobileTextareaLayout.module__mobileInputContainer_"],
226[class*="MobileTextareaLayout.module__mobileVoiceButton_"],
227[class*="ChannelHeader.module__iconButtonMobile_"],
228[class*="NotificationsPage.module__container_"],
229[class*="SelectBottomSheet.module__trigger_"],
230[class*="NotificationsPage.module__bookmarkButton_"],
231[class*="YouPage.module__profile_"],
232[class*="YouPage.module__noteIconWrapper_"],
233[class*="DMList.module__mobileContainer_"],
234[class*="DMList.module__mobileScroller_"],
235[class*="DMList.module__mobileHeaderButton_"],
236[class*="DMList.module__mobileAddFriendButton_"],
237[class*="MemberListContainer.module__memberListScroller_"],
238[class*="ChannelSearchResults.module__container_"],
239[class*="GuildNavbarSkeleton.module__skeletonHeader_"]
240{
241 background: transparent;
242}
243
244/* ---------------------------------------------------------------- */
245/* panel scaling fixes | setup to ensure proper scaling with custom area margins
246/* ---------------------------------------------------------------- */
247
248/* server list container */
249[class*="GuildsLayout.module__guildListScrollerWrapper_"],
250/* server channel list */
251[class*="GuildNavbar.module__guildNavbarContainer_"],
252/* server channel list skeleton */
253[class*="GuildNavbarSkeleton.module__skeletonContainer_"],
254/* dm list container */
255[class*="DMLayout.module__dmListColumn_"]
256{
257 width: -webkit-fill-available;
258 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
259}
260/* self status */
261[class*="GuildsLayout.module__userAreaWrapper_"]
262{
263 width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin));
264}
265
266/* channel header to message list */
267[class*="ChannelIndexPage.module__channelGrid_"]
268{
269 display: flex;
270 flex-direction: column;
271}
272/* typing users list
273[class*="ChannelChatLayout.module__typingArea_"]
274{
275 height: fit-content;
276 transition-property: height;
277 transition-duration: 0.3s;
278} */
279
280/* self profile popout */
281[class*="UserAreaPopout.module__container_"]
282{
283 width: inherit;
284}
285
286
287/* ---------------------------------------------------------------- */
288/* panel gaps/margins
289/* ---------------------------------------------------------------- */
290
291/* whole ui app layout container */
292[class*="AppLayout.module__appLayout_"]
293{
294 padding: var(--ThemePanelMargin);
295 gap: var(--ThemePanelMargin);
296}
297
298/* whole ui layout container */
299[class*="GuildsLayout.module__guildsLayoutContainer_"],
300/* whole ui content container */
301[class*="GuildsLayout.module__contentContainer_"],
302/* dm area container */
303[class*="DMLayout.module__dmLayoutContainer_"],
304/* channel header to message list */
305[class*="ChannelIndexPage.module__channelGrid_"],
306/* messages to text input */
307[class*="ChannelChatLayout.module__container_"],
308/* server area container */
309[class*="GuildLayout.module__guildLayoutContent_"],
310/* friendslist to active panel */
311[class*="DMFriendsView.module__container_"],
312/* friendslist header & friendslist */
313[class*="DMFriendsView.module__mainColumn_"],
314/* mobile notifications page header to notifs */
315[class*="NotificationsPage.module__container_"]
316{
317 gap: var(--ThemePanelMargin);
318}
319
320/* messages to text input | correcting for the typing members section */
321[class*="ChannelChatLayout.module__container_"] {
322 gap: calc(var(--ThemePanelMargin) / 2);
323}
324
325
326/* these require a margin because using gap leaves a gap even when those panels are hidden. */
327/* message list to member list */
328[class*="MemberListContainer.module__memberListContainer_"],
329/* message list to search results */
330[class*="ChannelIndexPage.module__searchPanel_"]
331{
332 margin-left: var(--ThemePanelMargin);
333 margin-right: var(--ThemePanelMargin);
334 width: calc(100% - var(--ThemePanelMargin));
335}
336
337/* server list */
338[class*="GuildsLayout.module__guildListScrollContainer_"] {
339 padding-top: var(--spacing-2);
340}
341
342
343/* ordered list fix */
344[class*="Markup.module__markup_"] ol {
345 -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
346 margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em);
347}
348/* unordered list fix */
349[class*="Markup.module__markup_"] ul {
350 -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
351 margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em);
352}
353
354/* ---------------------------------------------------------------- */
355/* panel borders
356/* ---------------------------------------------------------------- */
357
358/* remove default panel dividers */
359[class*="UserArea.module__separator_"],
360[class*="OutlineFrame.module__divider_"],
361[class*="ChannelIndexPage.module__memberListDivider_"]
362{
363 display: none;
364}
365/* remove default panel borders */
366[class*="ActiveNowSidebar.module__sidebar_"],
367[class*="OutlineFrame.module__frame_"] {
368 border: none;
369}
370
371
372
373/* loading splashscreen */
374[class*='SplashScreen.module__splashContent_'],
375/* server sidebar */
376[class*="GuildsLayout.module__guildListScroller"],
377/* dm list */
378[class*="DMLayout.module__dmListColumn_"],
379/* server channel list */
380[class*="GuildNavbar.module__guildNavbarContainer_"],
381/* self status */
382[class*="GuildsLayout.module__userAreaWrapper_"],
383/* channel header */
384[class*="ChannelHeader.module__headerWrapper_"],
385/* channel member list */
386[class*="MemberListContainer.module__memberListContainer_"],
387/* friendslist */
388[class*='DMFriendsView.module__content_'],
389/* friendslist active now panel */
390[class*="ActiveNowSidebar.module__sidebar_"],
391/* search results */
392[class*="ChannelIndexPage.module__searchPanel_"],
393/* settings panel */
394[class*="Modal.module__root_"],
395/* VC panel */
396[class*="VoiceCallView.module__root_"],
397/* VC panel empty */
398[class*="ChannelIndexPage.module__emptyStateContent_"],
399/* server member page */
400[class*="GuildMembersPage.module__pageContainer_"],
401/* mobile bottom nav */
402[class*="MobileBottomNav.module__container_"],
403/* mobile notifications page header */
404[class*="NotificationsPage.module__header_"],
405/* mobile notifications page content */
406[class*="NotificationsPage.module__content_"],
407/* mobile own profile page */
408[class*="YouPage.module__container_"],
409/* server discovery explore page */
410[class*="DiscoveryPage.module__container_"],
411/* auth page */
412[class*="AuthLayout.module__card_"],
413/* server unavailable */
414[class*="GuildLayout.module__guildUnavailableContainer_"],
415/* server unavailable channels skeleton */
416[class*="GuildNavbarSkeleton.module__skeletonContainer_"]
417{
418 border: var(--ThemePanelBorder)!important;
419 border-radius: var(--ThemePanelBorderRounding)!important;
420 backdrop-filter: blur(var(--ThemePanelBlur)) !important;
421 -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important;
422 background: var(--ThemePanelBGColor)!important;
423 transition: var(--transition-slow);
424 box-shadow: var(--ThemePanelShadow)!important;
425}
426
427
428/* channel message container */
429[class*="ChannelChatLayout.module__messagesArea_"],
430/* chat input area */
431[class*='ChannelChatLayout\.module__textareaArea_'] {
432 border: var(--ThemePanelBorder)!important;
433 border-radius: var(--ThemePanelBorderRounding)!important;
434 backdrop-filter: blur(var(--ThemePanelBlur))!important;
435 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
436 background: var(--ThemeFlatDarker)!important;
437 transition: var(--transition-slow);
438 box-shadow: none !important;
439}
440
441[class*="ChannelChatLayout.module__messagesArea___"] {
442 background: var(--ThemeFlatDarker);
443}
444
445[class*='ChannelChatLayout\.module__textareaArea_'],
446[class*="TextareaInput.module__textarea___"],
447[class*="TextareaButton.module__button___"] {
448 background: #aa0000 !important;
449 color: #ffff00 !important;
450}
451
452
453
454/* area borders hovered */
455/* loading splashscreen */
456[class*='SplashScreen.module__splashContent_']:hover,
457/* server sidebar */
458[class*="GuildsLayout.module__guildListScroller"]:hover,
459/* dm list */
460[class*="DMLayout.module__dmListColumn_"]:hover,
461/* server channel list */
462[class*="GuildNavbar.module__guildNavbarContainer_"]:hover,
463/* self status */
464[class*="GuildsLayout.module__userAreaWrapper_"]:hover,
465/* channel header */
466[class*="ChannelHeader.module__headerWrapper_"]:hover,
467/* channel member list */
468[class*="MemberListContainer.module__memberListContainer_"]:hover,
469/* channel message container */
470[class*="ChannelChatLayout.module__messagesArea_"]:hover,
471/* chat input area */
472[class*='ChannelChatLayout\.module__textareaArea_']:hover,
473/* friendslist */
474[class*='DMFriendsView.module__content_']:hover,
475/* friendslist active now panel */
476[class*="ActiveNowSidebar.module__sidebar_"]:hover,
477/* search results */
478[class*="ChannelIndexPage.module__searchPanel_"]:hover,
479/* settings panel */
480[class*="Modal.module__root_"]:hover,
481/* VC panel */
482[class*="VoiceCallView.module__root_"]:hover,
483/* VC panel empty */
484[class*="ChannelIndexPage.module__emptyStateContent_"]:hover,
485/* server member page */
486[class*="GuildMembersPage.module__pageContainer_"]:hover,
487/* mobile bottom nav */
488[class*="MobileBottomNav.module__container_"]:hover,
489/* mobile notifications page header */
490[class*="NotificationsPage.module__header_"]:hover,
491/* mobile notifications page content */
492[class*="NotificationsPage.module__content_"]:hover,
493/* mobile own profile page */
494[class*="YouPage.module__container_"]:hover,
495/* server discovery explore page */
496[class*="DiscoveryPage.module__container_"]:hover,
497/* auth page */
498[class*="AuthLayout.module__card_"]:hover,
499/* server unavailable */
500[class*="GuildLayout.module__guildUnavailableContainer_"]:hover,
501/* server unavailable channels skeleton */
502[class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover
503{
504 background: var(--ThemePanelBGColor);
505 border: var(--ThemePanelBorder)!important;
506 transition: var(--transition-fast);
507}
508
509
510/* channel message container */
511[class*="ChannelChatLayout.module__messagesArea_"]:hover,
512/* chat input area */
513[class*='ChannelChatLayout\.module__textareaArea_']:hover {
514 border: double yellow 6px !important;
515}
516
517
518/* hide Fluxer logo pulse */
519[class*="iconPulse___"] {
520 display: none !important;
521}
522
523
524
525/* ---------------------------------------------------------------- */
526/* settings menu
527/* ---------------------------------------------------------------- */
528/* settings menu backdrop */
529[class*="Modal.module__modalBackdrop_"] {
530 backdrop-filter: blur(var(--ThemePanelBlur));
531 opacity: 1!important;
532 background: var(--ThemeDarkenMedium);
533}
534
535/* settings menu panel */
536[class*="Modal.module__root_"] {
537 background-color: var(--ThemeDarkenMedium);
538 background-color: var(--ThemeFlatPrimary)!important;
539}
540
541
542
543/* ---------------------------------------------------------------- */
544/* dm list
545/* ---------------------------------------------------------------- */
546/* dm list users */
547[class*='DMList.module__dmItem_'] {
548 background: rgba(var(--brand-secondary), 0.8)!important;
549 transition: var(--transition-normal);
550 margin: 0px 6px 6px -2px !important;
551 width: calc(100% - 8px) !important;
552}
553/* dm list users hover*/
554[class*='DMList.module__dmItem_']:hover {
555 background: var(--brand-primary)!important;
556 color: black !important;
557 transition-duration: 0.0s;
558}
559
560/* dm list active user */
561[class*='DMList.module__dmItemSelected_'] {
562 background: var(--brand-primary)!important;
563 background: #ffffff21!important;
564 color: black !important;
565}
566
567[class*='DMList.module__dmItemSelected_']:hover {
568 filter: brightness(1.2);
569}
570
571
572/* ---------------------------------------------------------------- */
573/* markup
574/* ---------------------------------------------------------------- */
575
576/*block quote & markup alert panels */
577[class*="Markup.module__blockquoteContainer_"],
578[class*="Markup.module__alert_"]
579{
580 background: linear-gradient(
581 90deg,
582 color-mix(in srgb, var(--brand-secondary) 50%, transparent),
583 transparent
584 )!important;
585}
586/* alert divider line */
587[class*="Markup.module__alert_"]::before
588{
589 border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important;
590}
591/* blockquote divider line */
592[class*="Markup.module__blockquoteDivider_"] {
593 background-color: var(--brand-primary) !important;
594}
595
596
597/* ---------------------------------------------------------------- */
598/* modals
599/* ---------------------------------------------------------------- */
600
601/* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */
602/* media picker*/
603[class*='ExpressionPickerPopout.module__container_'],
604/* channel pins*/
605[class*='ChannelPinsPopout.module__container_'],
606/* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */
607[class*='ContextMenu.module__submenuPopover_'],
608/* searchbar filter list */
609[class*="MessageSearchBar.module__popoutContainer_"],
610/* settings profile profile type dropdown */
611.css-206gj2-menu,
612/* notifications inbox */
613[class*='InboxPopout.module__container_'],
614/* profile card */
615[class*='ProfileCardLayout.module__profileCard_'],
616/* server options context panel */
617[class*='GuildHeaderPopout.module__container_'] {
618 background-color: var(--ThemePanelModalBGColor)!important;
619 border: var(--ThemePanelBorder)!important;
620 border-radius: var(--ThemePanelBorderRounding)!important;
621 box-shadow: var(--ThemePanelShadow)!important;
622}
623
624/* ---------------------------------------------------------------- */
625/* context panels
626/* ---------------------------------------------------------------- */
627
628/* emoji tooltip */
629[class*="EmojiTooltipContent.module__container_"],
630/* tooltip panels */
631[class*="Tooltip.module__tooltip_"] {
632 backdrop-filter: blur(var(--ThemePanelBlurSmall));
633 background: var(--ThemePanelContextBGColor)!important;
634 box-shadow: var(--ThemePanelShadow)!important;
635 border-radius: var(--ThemePanelBorderRounding)!important;
636}
637
638/* emoji autocomplete */
639[class*="Autocomplete.module__container_"] {
640 border-left: unset!important;
641 border-right: unset!important;
642 border-bottom: unset!important;
643 border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important;
644 top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important;
645
646 backdrop-filter: blur(var(--ThemePanelBlurSmall));
647 background: var(--ThemePanelContextBGColor);
648}
649
650
651/* right click context menu */
652[class*='module__contextMenu_'],
653/* vc stats info panel */
654[class*='VoiceStatsOverlay.module__overlay_'],
655/* media buttons */
656[class*='module__mediaHoverAction_'] > button {
657 backdrop-filter: blur(var(--ThemePanelBlurSmall));
658 background-color: var(--ThemePanelContextBGColor);
659 box-shadow: var(--ThemePanelShadow)!important;
660 border-radius: var(--ThemePanelBorderRounding)!important;
661}
662
663/* message hover reaction suggestions. blur effect doesnt seem to work correctly. */
664[class*='MessageActionBar.module__actionBar_'] {
665 background-color: var(--ThemePanelContextBGColor);
666 box-shadow: var(--ThemePanelShadow)!important;
667 border-radius: var(--ThemePanelBorderRounding)!important;
668}
669
670/* ---------------------------------------------------------------- */
671/* user profile poputs
672/* ---------------------------------------------------------------- */
673
674/* full user profile */
675[class*='UserProfileModal.module__modalRoot_'] {
676 height: unset;
677}
678
679/* small user profile popouts */
680[class*='ProfileCardLayout.module__profileCard_'],
681/* big user profile popouts */
682[class*='UserProfileModal.module__modalContainer_'] {
683 border-width: var(--ThemePanelBorderWidth)!important;
684 border-radius: var(--ThemePanelBorderRounding)!important;
685}
686
687/* pfp button */
688[class*="ProfileCardBanner.module__avatarButton_"],
689[class*="UserProfileModal.module__avatarContainer_"]
690{
691 anchor-name: --anchor-userstatus;
692 background-color: var(--ThemePanelPrimary);
693 border-color: var(--ThemeFlatPrimary);
694}
695
696/* "display name, username, pronouns */
697[class*="ProfileCardUserInfo.module__userInfoContainer_"],
698[class*="UserProfileModal.module__userInfoContent_"]
699{
700 display: flex;
701 flex-direction: row;
702 flex-wrap: wrap;
703}
704/* display name */
705[class*="ProfileCardUserInfo.module__nameRow_"],
706[class*="UserProfileModal.module__nameRow_"]
707{
708 width: 100%;
709}
710/* username */
711[class*="ProfileCardUserInfo.module__usernameRow_"],
712[class*="UserProfileModal.module__usernameRow_"]
713{
714 gap: unset;
715 color: var(--text-secondary);
716}
717/* username pronouns separator */
718[class*="ProfileCardUserInfo.module__pronouns_"]::before,
719[class*="UserProfileModal.module__pronouns_"]::before
720{
721 content: "";
722 width: 4px!important;
723 height: 4px!important;
724 margin: 0rem 0.5rem;
725 background-color: var(--text-tertiary);
726 border-radius: var(--radius-full);
727}
728
729/* pronouns */
730[class*="ProfileCardUserInfo.module__pronouns_"],
731[class*="UserProfileModal.module__pronouns_"]
732{
733 font-size: 14px;
734 margin-top: unset;
735 color: var(--text-secondary);
736 display: inline-flex;
737 align-items: center;
738}
739
740/* custom profile status */
741[class*="UserProfilePopout.module__profileCustomStatus_"],
742/* custom profile status (user area) */
743[class*="UserAreaPopout.module__customStatusRow_"],
744[class*="UserProfileModal.module__customStatusRow_"],
745/* profile preview custom status */
746[class*="ProfilePreview.module__profileCustomStatus_"]
747{
748 align-items: flex-start;
749
750 position: absolute;
751 position-anchor: --anchor-userstatus;
752 position-area: right span-all;
753 position-visibility: always;
754
755
756 margin-left: 0.75rem;
757
758 width: max-content;
759 max-width: 175px;
760 max-height: 3.7rem;
761
762 overflow: hidden;
763
764 background: var(--ThemeFlatLighter);
765 /* border: 1px solid var(--background-header-secondary); */
766 border-radius: calc(4px * var(--ThemeRoundingMultiplier));
767 box-shadow: var(--shadow-md);
768
769 transition: var(--transition-normal);
770}
771
772/* custom profile status */
773[class*="UserProfilePopout.module__profileCustomStatus_"]:hover,
774/* custom profile status (user area) */
775[class*="UserAreaPopout.module__customStatusRow_"]:hover,
776[class*="UserProfileModal.module__customStatusRow_"]:hover,
777/* profile preview custom status */
778[class*="ProfilePreview.module__profileCustomStatus_"]:hover {
779 max-height: 10rem;
780}
781
782/* custom profile status inner */
783[class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"],
784[class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"],
785[class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"],
786[class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] {
787 margin: 0.25rem 0.5rem;
788}
789
790[class*="UserProfileModal.module__profileContentWrapper_"] {
791 background: var(--ThemeFlatDarker);
792}
793/* mobile view personal page bio section */
794[class*="YouPage.module__section_"],
795/* mobile view personal page note section */
796[class*="YouPage.module__noteButton_"],
797/* mobile view personal page settings button */
798 [class*="YouPage.module__settingsButton_"] {
799 background: var(--ThemeDarkenLight);
800}
801
802/* bio join date notes etc container */
803[class*="UserProfileModal.module__profileContent_"] {
804 padding-top: 16px!important;
805}
806
807
808/* ---------------------------------------------------------------- */
809/* server member list panel
810/* ---------------------------------------------------------------- */
811
812/* sever member list tab table */
813[class*="GuildMembersPage.module__tableWrapper_"],
814/* sever member list tab rows per page dropdown */
815.css-185nao-control {
816 background-color: var(--ThemeDarkenLight)!important;
817}
818.css-185nao-control:focus {
819 background-color: var(--ThemeDarkenLight)!important;
820}
821
822/* sever member list tab */
823[class*="GuildMembersPage.module__table_"]
824{
825 margin-top: 0;
826}
827
828/* ---------------------------------------------------------------- */
829/* forwarded messages
830/* ---------------------------------------------------------------- */
831
832/* forwarded message link button */
833[class*="MessageAttachments.module__forwardedSourceButton_"]
834{
835 background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent);
836 border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent);
837 color: var(--markup-mention-text);
838}
839/* forwarded message link button hover */
840[class*="MessageAttachments.module__forwardedSourceButton_"]:hover
841{
842 background-color: var(--markup-mention-fill);
843 border-color: var(--markup-mention-border);
844}
845/* "forwarded from" label */
846[class*="MessageAttachments.module__forwardedSourceLabel_"]
847{
848 color: var(--markup-mention-text);
849}
850
851/* forwarded message link source & destination label*/
852[class*="MessageAttachments.module__forwardedSourceName_"]
853{
854 color: var(--markup-mention-text);
855}
856/* forwarded message link channel symbol */
857[class*="MessageAttachments.module__forwardedSourceButton_"] svg
858{
859 fill: var(--markup-mention-text);
860}
861
862/* ---------------------------------------------------------------- */
863/* titlebar
864 /** ---------------------------------------------------------------- */
865
866 /* window titlebar */
867 [class*="NativeTitlebar.module__titlebar_"] {
868 background: var(--ThemeBackgroundColor)!important;
869 }
870 /* Fluxer wordmark inside titlebar */
871 [class*="NativeTitlebar"][class*="module__wordmark"] {
872 color: var(--ThemeFlatPrimary) !important;
873 }
874 /* window control buttons (min/max/close) */
875 [class*="NativeTitlebar"][class*="module__controlButton"] {
876 background: var(--brand-primary)!important;
877 border-radius: var(--ThemePanelBorderRounding)!important;
878 margin: 2px 1px !important;
879 color: var(--ThemeFlatDarker) !important;
880 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
881 }
882
883 [class*="NativeTitlebar"][class*="module__controlButton"]:hover {
884 background: var(--brand-secondary)!important;
885 box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important;
886 color: white !important;
887 }
888
889 [class*="NativeTitlebar"][class*="module__controlButton"]:active {
890 background: var(--ThemeFlatDarker) !important;
891 color: white !important;
892 margin: 3px 0 2px 0 !important;
893 box-shadow: none important;
894 }
895
896/* ---------------------------------------------------------------- */
897/* misc panels
898/* ---------------------------------------------------------------- */
899
900/* most buttons */
901[class*="Button.module__button___"],
902[class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] {
903 border-radius: var(--ThemePanelBorderRounding)!important;
904}
905
906/* member list */
907[class*="MemberListContainer.module__memberListContainer_"] {
908 min-width: 10rem;
909 max-width: 20rem;
910}
911[class*="DMList.module__dmItemUserTag___"],
912[class*="DMFriendsView.module__tabButton___"] {
913 background: var(--brand-primary);
914 color: var(--ThemeFlatDarker);
915}
916
917/* generic button primary */
918[class*="Button.module__primary_"] {
919 background: var(--brand-primary)!important;
920 color: black !important;
921}
922[class*="Button.module__primary_"]:hover {
923 background: var(--brand-secondary)!important;
924 color: white !important;
925}
926
927/* generic button secondary */
928[class*="Button.module__secondary_"] {
929 background: var(--ThemeFlatLighter)!important;
930 color: white !important;
931}
932[class*="Button.module__secondary_"]:hover {
933 background: var(--ThemeFlatDarker)!important;
934}
935
936/* keyboard hints */
937[class*="KeybindHint.module__key___"] {
938 background: var(--brand-primary);
939 color: var(--ThemeFlatDarker);
940 border-radius: var(--ThemePanelRounding);
941}
942
943/* scroll indicator */
944[class*="ScrollIndicatorOverlay.module__indicator___"] {
945 background: var(--ThemePanelContextBGColor);
946 color: yellow !important;
947 border-radius: var(--ThemePanelBorderRounding);
948 box-shadow: var(--ThemePanelShadow);
949}
950
951/* embed cards */
952[class*="EmbedCard.module__"],
953[class*="ThemeEmbed.module__iconCircleActive___"] {
954 border-radius: var(--ThemePanelBorderRounding);
955}
956[class*="ThemeEmbed.module__iconOnBrand___"] {
957 background: var(--brand-primary);
958 color: var(--ThemeFlatDarker);
959}
960
961/* Plutonium-related elements */
962
963[class*="ToggleButton.module__active___"] {
964 background: var(--brand-primary)!important;
965 color: black !important;
966 border-radius: var(--ThemePanelBorderRounding);
967}
968
969[class*="PricingCard.module__cardPopular___"],
970[class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"],
971[class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"],
972[class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"],
973[class*="PlutoniumUpsell.module__text___"],
974[class*="PlutoniumUpsell.module__icon___"]{
975 background: var(--brand-primary)!important;
976 color: black;
977}
978
979[class*="PricingCard.module__card___"] {
980 border-radius: var(--ThemePanelBorderRounding)!important;
981}
982
983[class*="PricingCard.module__popularBadge___"] {
984 color: black !important;
985 border-radius: var(--ThemePanelBorderRounding)!important;
986}
987
988
989/* user mentioned */
990[class*="Message\.module__messageMentioned_"]
991{
992 background: #aa0000 !important;
993}
994[class*="Markup.module__mention___"] {
995 background: var(--ThemeFlatLighter)!important;
996 color: yellow !important;
997}
998
999/* embed backgrounds */
1000[class*="EmbedCard.module__wrapper_"],
1001[class*="Embed.module__embedFull_"],
1002[class*="AttachmentFile.module__attachmentContainer_"],
1003[class*="InlineAudioPlayer.module__container_"] {
1004 background: var(--ThemeDarkenLight);
1005}
1006
1007/* Codeblocks */
1008[class*="ThemeAcceptModal.module__codeContainer___"] pre,
1009[class*="Markup.module__codeContainer___"] pre {
1010 background: var(--ThemeFlatDarker);
1011}
1012
1013/* attachment uploads */
1014[class*="ChannelAttachmentArea.module__upload_"] {
1015 background: var(--ThemeDarkenLight);
1016}
1017
1018/* video controls */
1019[class*="VideoPlayer.module__controlsRow_"] {
1020 background: var(--ThemeDarkenLight);
1021}
1022
1023/* message preview (like in bookmarks for example) */
1024[class*="MessagePreview.module__previewCard_"]
1025{
1026 overflow: hidden;
1027 background: var(--ThemeDarkenLight);
1028}
1029
1030/* vc header gradient */
1031[class*='VoiceCallView.module__voiceHeader_']::before {
1032 border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0;
1033}
1034/* vc buttons gradient */
1035[class*='VoiceCallView\.module__controlBarContainer_']::before {
1036 display: none;
1037}
1038
1039
1040/* user typing status user container thingy */
1041[class*='ChannelChatLayout.module__typingContent_'] {
1042 /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed.
1043 height: fit-content;
1044 position: inherit;
1045 left: unset;
1046 right: unset;
1047 bottom: unset;
1048 */
1049 transition-property: height;
1050 transition-duration: 0.3s;
1051}
1052
1053/* user typing status user pills */
1054[class*='Message.module__typingPill_'] {
1055 backdrop-filter: blur(var(--ThemePanelBlurSmall));
1056 -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important;
1057 background-color: var(--ThemePanelBGColor);
1058 box-shadow: var(--ThemePanelShadow);
1059 /* transform: none!important; */
1060}
1061
1062/* guild panel buttons */
1063
1064[class*="GuildsLayout.module__fluxerButtonIcon___"] {
1065 background: var(--brand-primary);
1066 color: var(--ThemeFlatDarker)!important;
1067}
1068
1069
1070/* "X new messages since Date" panel */
1071[class*='Messages.module__newMessagesBar_'] {
1072 padding-top: 0px;
1073 top: 0.5rem;
1074 border-radius: var(--ThemePanelBorderRounding)!important;
1075}
1076[class*="Messages.module__newMessagesBarText___"],
1077[class*="Messages.module__newMessagesBarAction___"] {
1078 color: black !important;
1079}
1080/* "youre viewing older messages" panel */
1081[aria-busy="false"][class*='Messages.module__newMessagesBar_'] {
1082 padding-top: 0px;
1083 bottom: 0.5rem!important;
1084 border-radius: var(--ThemePanelBorderRounding)!important;
1085}
1086
1087
1088/* emoji reactions */
1089[class*='MessageReactions.module__reactionButton_'] {
1090 background: var(--ThemeDarkenLight);
1091 border: 1px solid var(--background-modifier-accent);
1092}
1093
1094/* profile role badge */
1095[class*='RoleManagement.module__roleBadge_'] {
1096 background: var(--ThemeDarkenLight);
1097}
1098
1099
1100/* discovery explore page top banner */
1101[class*="DiscoveryPage.module__hero_"]
1102{
1103 border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2);
1104 margin: var(--spacing-5);
1105 margin-bottom: unset;
1106}
1107
1108
1109/* discovery explore page search bar */
1110[class*="DiscoveryPage.module__searchInput_"]
1111{
1112 background-color: var(--ThemeDarkenMedium);
1113}
1114/* search/input bars */
1115[class*="Input.module__input_"] {
1116 background-color: var(--ThemeDarkenLight);
1117}
1118
1119/* search results container inner */
1120[class*="ChannelSearchResults.module__container_"] {
1121 border: unset;
1122 border-radius: var(--ThemePanelBorderRounding);
1123 overflow: hidden;
1124}
1125/* search results */
1126[class*="ChannelSearchResults.module__messageItem_"] {
1127 border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem);
1128 background-color: var(--ThemeDarkenLight);
1129}
1130
1131/* toasts */
1132[class*="Toast.module__toast_"]
1133{
1134 border-radius: var(--radius-full)!important;
1135 background-color: var(--ThemeFlatPrimary)!important;
1136}
1137
1138/* unread divider with date */
1139[class*="Divider.module__dateWithUnreadText_"] {
1140 position: static;
1141 transform: none;
1142}
1143
1144/* server folder expanded */
1145[class*="GuildFolderItem.module__expandedFolderBackground_"] {
1146 border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */
1147}
1148/* server folder items container */
1149[class*="GuildFolderItem.module__expandedGuilds_"] {
1150 padding-bottom: 0px;
1151 overflow: visible!important;
1152}
1153
1154/* make theme input field resizable */
1155textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD {
1156 resize: vertical !important;
1157 max-height: 900px !important;
1158}
1159
1160
1161/* ---------------------------------------------------------------- */
1162/* splashscreen
1163/* ---------------------------------------------------------------- */
1164[class*='SplashScreen.module__splashContent_'] {
1165 padding: 10px;
1166 background: var(--ThemePanelBGColor);
1167 aspect-ratio: 1 / 1;
1168 justify-content: center;
1169}
1170
1171@media (min-width: 1024px) {
1172 [class*='SplashScreen.module__splashContent_'] {
1173 width: 30rem;
1174 height: 30rem;
1175 }
1176}
1177@media (min-width: 768px) {
1178 [class*='SplashScreen.module__splashContent_'] {
1179 width: 30rem;
1180 height: 30rem;
1181 }
1182}
1183/* Loading screen message
1184[class*='ChannelHeader.module__headerWrapper_']::after,
1185[class*='SplashScreen.module__connectionStatus_']::after */
1186[class*='SplashScreen.module__splashContent_']::after {
1187
1188 border: var(--ThemePanelBorder)!important;
1189 border-radius: var(--ThemePanelBorderRounding)!important;
1190 backdrop-filter: blur(var(--ThemePanelBlur))!important;
1191 -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important;
1192
1193 transition: var(--transition-slow);
1194
1195
1196 position: absolute;
1197 bottom: calc(-64px - var(--ThemePanelMargin));
1198
1199 /* margin-top: calc(120px + var(--ThemePanelMargin)); */
1200 height: 40px;
1201 width: fit-content;
1202 padding: 0.3rem 0.5rem;
1203 line-height: 18px;
1204
1205
1206 content: "░▒▓ DIALOGUE.386 ▓▒░";
1207 background: var(--ThemePanelBGColor);
1208 color: var(--brand-primary);
1209 box-shadow: var(--ThemePanelShadow);
1210
1211 font-weight: bold;
1212 z-index: 100;
1213}
1214
1215/* ---------------------------------------------------------------- */
1216/* fluxer ui fixes | things that should be fixed on fluxer's end
1217/* ---------------------------------------------------------------- */
1218
1219[class*='ScreenShareSettingsModal.module__audioToggleRow_'] {
1220 padding: 12px;
1221}
1222
1223/* unread messages "NEW" divider */
1224[class*='Divider.module__unreadBadge_'] {
1225 height: unset;
1226}
1227
1228/* profile role badge name */
1229[class*='RoleManagement.module__roleName_'] {
1230 line-height: inherit;
1231}
1232
1233/* ################################################################################################# */
1234/* ################################################################################################# */
1235/* ################################################################################################# */
1236
1237/* ---------------------------------------------------------------- */
1238/* Customization: Panel labels */
1239/* ---------------------------------------------------------------- */
1240@property --ThemePanelLabels {
1241 syntax: 'off | on';
1242 inherits: false;
1243 initial-value: on;
1244}
1245
1246@container body style(--ThemePanelLabels: on) {
1247
1248 /* prevent clipping off panel labels */
1249
1250 [class*="GuildNavbar.module__guildNavbarContainer_"],
1251 [class*="ChannelChatLayout.module__messagesArea_"],
1252 [class*="ChannelChatLayout.module__container_"],
1253 [class*="ChannelIndexPage.module__channelGrid_"],
1254 [class*="GuildLayout.module__guildMainContent_"],
1255 [class*="ChannelLayout.module__channelLayoutContainer_"],
1256 [class*="ChannelHeader.module__headerWrapper_"],
1257 [class*="ChannelIndexPage.module__contentGrid_"],
1258 [class*="OutlineFrame.module__frame_"],
1259 [class*="OutlineFrame.module__body_"],
1260 [class*="MemberListContainer.module__memberListContainer_"],
1261 [class*='ChannelChatLayout.module__textareaArea_'],
1262 [class*="NotificationsPage.module__content_"],
1263 [class*="GuildNavbarSkeleton.module__skeletonContainer_"] {
1264 overflow: visible!important;
1265 }
1266
1267 [class*="OutlineFrame.module__frame_"] {
1268 min-height: 0; /* magic memberlist overflow fix */
1269 }
1270
1271 /* server sidebar */
1272 [class*="GuildsLayout.module__guildListScroller"],
1273 /* dm list */
1274 [class*="DMLayout.module__dmListColumn_"],
1275 /* server channel list */
1276 [class*="GuildNavbar.module__guildNavbarContainer_"],
1277 /* self status */
1278 [class*="GuildsLayout.module__userAreaWrapper_"],
1279 /* channel header */
1280 [class*="ChannelHeader.module__headerWrapper_"],
1281 /* channel member list */
1282 [class*="MemberListContainer.module__memberListContainer_"],
1283 /* channel message container */
1284 [class*="ChannelChatLayout.module__messagesArea_"],
1285 /* chat input area */
1286 [class*='ChannelChatLayout\.module__textareaArea_'],
1287 /* friendslist */
1288 [class*='DMFriendsView.module__content_'],
1289 /* friendslist active now panel */
1290 [class*="ActiveNowSidebar.module__sidebar_"],
1291 /* search results */
1292 [class*="ChannelIndexPage.module__searchPanel_"],
1293 [class*="ChannelChatLayout.module__messagesArea_"],
1294 [class*="ChannelHeader.module__headerWrapper_"],
1295 [class*="MemberListContainer.module__memberListContainer_"],
1296 [class*='ChannelChatLayout.module__textareaArea_'],
1297 /* vc panel */
1298 [class*="VoiceCallView.module__root_"],
1299 /* vc panel empty */
1300 [class*="ChannelIndexPage.module__emptyStateContent_"],
1301 /* server member page */
1302 [class*="GuildMembersPage.module__pageContainer_"],
1303 /* mobile nav bar */
1304 [class*="MobileBottomNav.module__container_"],
1305 /* mobile notifications page list */
1306 [class*="NotificationsPage.module__content_"],
1307 /* server discovery explore page */
1308 [class*="DiscoveryPage.module__container_"],
1309 /* server unavailable channels skeleton */
1310 [class*="GuildNavbarSkeleton.module__skeletonContainer_"],
1311 /* server unavailable server area */
1312 [class*="GuildLayout.module__guildUnavailableContainer_"] {
1313 &::after {
1314 display: block;
1315 position: absolute;
1316 top: -11px;
1317 left: 8px;
1318 line-height: 14px;
1319 padding: 2px 4px;
1320 z-index: 100;
1321 font-size: 16px;
1322 font-weight: bold;
1323 background: var(--ThemePanelBGColor);
1324 color: var(--ThemePanelBorderColor);
1325
1326 transition: var(--transition-slow);
1327 }
1328
1329 &:hover::after {
1330 color: var(--brand-primary);
1331 transition: var(--transition-fast);
1332 }
1333 }
1334
1335
1336 /* chat input area */
1337 [class*='ChannelChatLayout.module__textareaArea_']::after {
1338 content: "input";
1339 }
1340 /* server member page */
1341 [class*="GuildMembersPage.module__pageContainer_"]::after,
1342 /* server member list */
1343 [class*="MemberListContainer.module__memberListContainer_"]::after {
1344 content: "members";
1345 }
1346 /* server channel list */
1347 [class*="ChannelHeader.module__headerWrapper_"]::after {
1348 content: "channel";
1349 }
1350 /* dm list */
1351 [class*="DMLayout.module__dmListColumn_"]::after {
1352 content: "users";
1353 }
1354 /* server channel list */
1355 [class*="GuildNavbar.module__guildNavbarContainer_"]::after,
1356 /* server unavailable channels skeleton */
1357 [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after {
1358 content: "channels";
1359 }
1360 /* search results */
1361 [class*="ChannelIndexPage.module__searchPanel_"]::after {
1362 content: "search";
1363 }
1364 /* server sidebar */
1365 [class*="GuildsLayout.module__guildListScroller"]::after,
1366 [class*="MobileBottomNav.module__container_"]::after {
1367 content: "nav";
1368 }
1369 /* self status */
1370 [class*="GuildsLayout.module__userAreaWrapper_"]::after {
1371 content: "user";
1372 }
1373 /* friendslist */
1374 [class*='DMFriendsView.module__content_']::after {
1375 content: "friends";
1376 }
1377 /* friendslist active now panel */
1378 [class*="ActiveNowSidebar.module__sidebar_"]::after {
1379 content: "activity";
1380 }
1381 /* vc panel */
1382 [class*="VoiceCallView.module__root_"]::after,
1383 [class*="ChannelIndexPage.module__emptyStateContent_"]::after {
1384 content: "voice";
1385 }
1386
1387 /* mobile notifications page list */
1388 [class*="NotificationsPage.module__content_"]::after {
1389 content: "messages";
1390 }
1391
1392 /* server discovery explore page */
1393 [class*="DiscoveryPage.module__container_"]::after {
1394 content: "servers";
1395 }
1396
1397 /* server unavailable server area */
1398 [class*="GuildLayout.module__guildUnavailableContainer_"]::after {
1399 content: "server";
1400 }
1401 /* cant get this one to work without clipping.
1402 [class*="ChannelChatLayout.module__messagesArea_"]::after {
1403 content: "chat";
1404 }
1405 */
1406}
1407
1408/* ---------------------------------------------------------------- */
1409/* Customization: Avatar Shape */
1410/* ---------------------------------------------------------------- */
1411
1412@property --SquareAvatars {
1413 syntax: 'off | on';
1414 inherits: false;
1415 initial-value: on;
1416}
1417
1418@container body style(--SquareAvatars: off) {
1419 [class*="BaseAvatar"] {
1420 border-radius: 0px!important;
1421 }
1422}
1423
1424@container body style(--SquareAvatars: on) {
1425 [class*="BaseAvatar"] {
1426 border-radius: 0px!important;
1427 }
1428
1429 [class*="BaseAvatar"] > image {
1430 mask: none;
1431 }
1432}
1433
1434
1435/* ---------------------------------------------------------------- */
1436/* Customization: border online status */
1437/* ---------------------------------------------------------------- */
1438
1439@property --OutlineOnlineStatus {
1440 syntax: 'off | on';
1441 inherits: false;
1442 initial-value: on;
1443}
1444
1445
1446@container body style(--OutlineOnlineStatus: on) {
1447 /* hide original status indicator */
1448 [class*="BaseAvatar.module__statusContainer_"] {
1449 display: none!important;
1450 }
1451
1452 [class*="BaseAvatar"] > image {
1453 mask: none;
1454 border-radius: var(--radius-full)!important;
1455 }
1456
1457 [class*="BaseAvatar.module__container_"] {
1458 border-radius: var(--radius-full)!important;
1459 overflow: hidden;
1460 }
1461
1462
1463 [class*="BaseAvatar.module__container_"][aria-label*="Offline"],
1464 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"],
1465 [class*="BaseAvatar.module__container_"][aria-label*="Idle"],
1466 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1467 border-width: 0.15rem;
1468 border-style: solid;
1469 }
1470
1471 [class*="BaseAvatar.module__container_"][aria-label*="Offline"] {
1472 border-color: var(--status-offline);
1473 }
1474 [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] {
1475 border-color: var(--status-dnd);
1476 }
1477 [class*="BaseAvatar.module__container_"][aria-label*="Idle"] {
1478 border-color: var(--status-idle);
1479 }
1480 [class*="BaseAvatar.module__container_"][aria-label*="Online"] {
1481 border-color: var(--status-online);
1482 }
1483
1484 /* pfp view outline medium */
1485 [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"],
1486 [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"],
1487 [class*="YouPage"] [class*="BaseAvatar.module__container_"]{
1488 border-width: 4px;
1489 }
1490}
1491
1492
1493/* ---------------------------------------------------------------- */
1494/* Customization: App Icon */
1495/* ---------------------------------------------------------------- */
1496
1497@property --CustomAppIcon {
1498 syntax: 'off | on';
1499 inherits: false;
1500 initial-value: on;
1501}
1502
1503@container body style(--CustomAppIcon: on) {
1504 /* replace appicon with custom image */
1505 [class*="GuildsLayout.module__fluxerSymbolIcon_"]
1506 {
1507 background: var(--ThemeCustomIconUrl) no-repeat;
1508 background-size: contain;
1509 }
1510 /* hide original svg path */
1511 [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path {
1512 display: none;
1513 }
1514}
1515
1516
1517/* ---------------------------------------------------------------- */
1518/* Customization: Rounding */
1519/* ---------------------------------------------------------------- */
1520
1521@property --UseDefaultRounding {
1522 syntax: 'off | on';
1523 inherits: false;
1524 initial-value: on;
1525}
1526
1527@container body style(--UseDefaultRounding: off) {
1528 /* get rid of all panel rounding */
1529 * {
1530 border-radius: 0px!important;
1531 }
1532
1533 [class*="Markup.module__markup_"] ul {
1534 list-style-type: square;
1535 }
1536
1537 /* user popout banner pfp mask */
1538 [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle,
1539 [class*="UserProfileModal.module__bannerMask_"] > mask > circle{
1540 display: none;
1541 }
1542}
1543/* ---------------------------------------------------------------- */
1544/* Customization: Message Bubbles */
1545/* ---------------------------------------------------------------- */
1546
1547@property --MessageBubbles {
1548 syntax: 'off | on';
1549 inherits: false;
1550 initial-value: on;
1551}
1552
1553@container body style(--MessageBubbles: on) {
1554
1555 /*
1556 [aria-label="Message group"] {
1557 background: var(--ThemeMessageBubbleColor);
1558 border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2);
1559 border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier));
1560 padding-left: 0.3rem;
1561 } */
1562
1563 [class*="messageContent"] {
1564 /* display: block !important; restore proper layout */
1565 width: fit-content; /* shrink to content */
1566 margin-top: 4px;
1567 padding: 8px 14px;
1568 background: var(--ThemeMessageBubbleColor)!important;
1569 border-radius: 12px !important;
1570 }
1571}
1572
1573
1574
1575/* ---------------------------------------------------------------- */
1576/* Customization: Animations */
1577/* ---------------------------------------------------------------- */
1578
1579@property --ExtraAnimations {
1580 syntax: 'off | on';
1581 inherits: false;
1582 initial-value: on;
1583}
1584
1585@container body style(--ExtraAnimations: on) {
1586
1587 /* channel select flash */
1588 [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] {
1589 background-color: var(--background-modifier-selected);
1590 animation-name: ChannelSelectAnim;
1591 animation-duration: 1s;
1592 }
1593
1594 @keyframes ChannelSelectAnim {
1595 from {background-color: var(--brand-primary);}
1596 to {background-color: var(--background-modifier-selected);}
1597 }
1598
1599 /* server list favorites icon */
1600 [class*="GuildsLayout.module__favoritesIcon_"] {
1601 transition: transform 0.5s;
1602 }
1603 [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] {
1604 transform: rotate(216deg);
1605 }
1606
1607 [class*="ChannelSearchResults.module__messageItem_"] {
1608 transition: var(--transition-fast);
1609 }
1610
1611 [class*="ChannelSearchResults.module__messageItem_"]:hover {
1612 border-color: var(--ThemePanelBorderColorHovered);
1613 background-color: var(--background-modifier-hover);
1614 }
1615}
1616
1617
1618/* ---------------------------------------------------------------- */
1619/* Customization: horizontal server list */
1620/* ---------------------------------------------------------------- */
1621
1622/* setting property setup */
1623@property --Horizontal-Serverlist {
1624 syntax: 'off | on';
1625 inherits: false;
1626 initial-value: left;
1627}
1628
1629@property --Serverlist-Alignment {
1630 syntax: 'left | center | right';
1631 inherits: false;
1632 initial-value: left;
1633}
1634
1635
1636@container body style(--Horizontal-Serverlist: on) {
1637
1638 /* doesnt have any effect placed here. need to find a workaround. */
1639 :root {
1640 --layout-guild-list-width: 4.4rem; /* more compact */
1641 --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */
1642 }
1643
1644 /* only show on desktop */
1645 @media (min-width: 650px) {
1646
1647
1648 /* container for server list & rest */
1649 [class*="GuildsLayout.module__guildsLayoutContainer_"] {
1650 display: flex;
1651 flex-direction: column;
1652 }
1653
1654 /* make channel list etc wider to match user area */
1655 [class*="GuildsLayout.module__userAreaWrapper_"] {
1656 width: var(--layout-sidebar-width);
1657 }
1658
1659 /* scroller wrapper */
1660 [class*="GuildsLayout.module__guildListScrollerWrapper_"] {
1661 height: var(--layout-guild-list-width);
1662 width: 100%;
1663 }
1664 /* scroller wrap | changed to fix hover region while allowing panel labels */
1665 [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] {
1666 overflow: hidden;
1667 }
1668
1669 /* rotate scroller */
1670 [class*="GuildsLayout.module__guildListScrollContainer_"] {
1671 padding: var(--spacing-2) 0px;
1672 width: var(--layout-guild-list-width);
1673 height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2);
1674
1675 transform: rotateZ(-90deg);
1676 }
1677
1678 /* scroller child container*/
1679 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1680 align-items: flex-end;
1681 }
1682
1683 /* serverlist section container */
1684 [class*="GuildsLayout.module__guildListContent_"] {
1685 align-items: flex-end;
1686 width: var(--layout-guild-list-width);
1687 }
1688
1689 /* serverlist top & lower section */
1690 [class*="GuildsLayout.module__guildListTopSection_"],
1691 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1692 width: unset;
1693 }
1694
1695 /* unrotate server button & misc buttons */
1696 [class*="GuildsLayout.module__guildListItem_"],
1697 [class*="GuildFolderItem.module__folderHeader_"] {
1698 width: 3.7rem;
1699 transform: rotateZ(-180deg);
1700 }
1701 /* unrotate server image & extra buttons */
1702 [class*="GuildListDMItem.module__relative_"],
1703 [class*="GuildsLayout.module__relative_"],
1704 [class*="GuildFolderItem.module__relative_"],
1705 [class*="GuildsLayout.module__addGuildButtonIcon_"]
1706 {
1707 transform: rotateZ(-90deg);
1708 }
1709
1710
1711 @container body style(--Serverlist-Alignment: left) {
1712 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1713 justify-content: start;
1714 }
1715 }
1716
1717 @container body style(--Serverlist-Alignment: center) {
1718 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1719 justify-content: center;
1720 }
1721 }
1722
1723 @container body style(--Serverlist-Alignment: right) {
1724
1725 /* reverse server list */
1726 [class*="GuildsLayout.module__guildListContent_"],
1727 [class*="GuildsLayout.module__guildListTopSection_"],
1728 [class*="GuildsLayout.module__guildListGuildsSection_"] {
1729 flex-direction: column-reverse;
1730 }
1731
1732 [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] {
1733 justify-content: end;
1734 }
1735 }
1736 }
1737}
1738
1739
1740
1741/* ################################################################################################# */
1742/* ################################################################################################# */
1743/* ################################################################################################# */
1744
1745
1746/* ---------------------------------------------------------------- */
1747/* mobile tweaks
1748/* ---------------------------------------------------------------- */
1749
1750@media (max-width: 840px) {
1751
1752 /* mobile bottom nav */
1753 [class*="MobileBottomNav.module__container_"] {
1754 margin: var(--ThemePanelMargin);
1755 margin-top: 0px;
1756 }
1757
1758
1759 /* mobile sheets */
1760 [class*="Sheet.module__root_"]
1761 /* mobile user profile popout
1762 [class*="UserProfileMobileSheet.module__profileContent_"]*/
1763 {
1764 background: var(--ThemeFlatDarker);
1765 }
1766 /* mobile sheets */
1767 [class*="Sheet.module__container_"]
1768 {
1769 border-radius: unset!important;
1770 }
1771
1772
1773 /* settings modal backdrop */
1774 [class*="Modal.module__modalBackdrop_"] {
1775 backdrop-filter: unset;
1776 }
1777
1778 /* add friend button */
1779 [class*="DMList.module__mobileAddFriendButton_"] {
1780 width: 2rem;
1781 height: 2rem;
1782 padding: unset;
1783 align-items: center;
1784 justify-content: center;
1785 }
1786 [class*="DMList.module__mobileAddFriendButton_"] > svg {
1787 width: 1.25rem;
1788 height: 1.25rem;
1789 }
1790 [class*="DMList.module__mobileAddFriendButton_"] > span {
1791 display: none;
1792 }
1793
1794
1795 /* notifications page content alignment */
1796 [class*="NotificationsPage.module__content_"] {
1797 justify-content: center;
1798 }
1799
1800 /* notifications page content alignment */
1801 [class*="DMList.module__dmItemMobile_"] {
1802 height: 2.7rem;
1803 }
1804
1805 /* notifications page X button */
1806 [class*="InboxMessageHeader\.module__headerIconButton_"] {
1807 background: var(--ThemeDarkenLight);
1808 background: transparent;
1809 }
1810
1811 /* server list container */
1812 [class*="GuildsLayout.module__guildListScrollerWrapper_"],
1813 /* server channel list */
1814 [class*="GuildNavbar.module__guildNavbarContainer_"],
1815 /* dm list container */
1816 [class*="DMLayout.module__dmListColumn_"]
1817 {
1818 width: -webkit-fill-available;
1819 /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/
1820 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1821 }
1822
1823
1824 /* mobile notifications page */
1825 [class*="NotificationsPage.module__container_"],
1826 /* mobile notifications page */
1827 [class*="NotificationsPage.module__content_"],
1828 /* mobile self profile */
1829 [class*="YouPage.module__container_"] {
1830 height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2);
1831 /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */
1832 height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness));
1833 overflow: hidden auto;
1834 }
1835
1836 /* mobile user profile banner */
1837 [class*="UserProfileMobileSheet.module__bannerContainer_"] {
1838 border-radius: unset;
1839 }
1840}
1841
1842
1843/* ################################################################################################# */
1844/* ################################################################################################# */
1845/* ################################################################################################# */
1846
breeze-dark.css Ham
1* { border-radius: 5px !important; }
2
3:root { --background-secondary: #141618; }
4:root { --background-primary: #202326; }
5:root { --background-secondary-alt: #292C30; }
6:root { --background-tertiary: #141618; }
7:root { --background-textarea: #141618; }
8:root { --background-header-secondary: #202326; }
9:root { --background-header-primary-hover: #292C30; }
10:root { --background-modifier-hover: #292C30; }
11:root { --guild-list-foreground: #141618; }
12:root { --background-modifier-accent: #A1A9B1; }
13:root { }
14:root { --brand-primary: #1E5774; }
15:root { --brand-secondary: #3DAEE9; }
16:root { --brand-primary-light: #3DAEE9; }
17:root { --brand-primary-fill: #FCFCFC; }
18:root { --status-online: #6EC137; }
19:root { --status-idle: #C65C00; }
20:root { --status-danger: #DA4453; }
21:root { --status-dnd: #B03745; }
22:root { --status-offline: #A1A9B1; }
23:root { }
24:root { --text-secondary: #A1A9B1; }
25:root { --text-tertiary: #A1A9B1; }
26:root { --text-primary-muted: #A1A9B1; }
27:root { --text-chat-muted: #A1A9B1; }
28:root { --text-chat: #FCFCFC; }
29:root { --text-link: #1D99F3; }
30:root { --text-tertiary-muted: #A1A9B1; }
31:root { --text-tertiary-secondary: #A1A9B1; }
32:root { --border-color: #A1A9B1; }
33:root { --border-color-hover: #1E5774; }
34:root { --border-color-focus: #3DAEE9; }
35:root { --accent-success: #27AE60; }
36:root { --accent-warning: #F67400; }
37:root { --accent-danger: #DA4453; }
38:root { --alert-note-color: #3DAEE9; }
39:root { --accent-purple: #9B59B6; }
40:root { --alert-tip-color: #6EC137; }
41:root { --alert-important-color: #AC8DD9; }
42:root { --alert-warning-color: #DF6D44; }
43:root { --alert-caution-color: #DD575C; }
44:root { --markup-mention-text: #FCFCFC; }
45:root { --markup-mention-fill: #1E5774; }
46:root { --markup-interactive-hover-fill: #3DAEE9; }
47:root { --markup-interactive-hover-text: #FCFCFC; }
48:root { --button-primary-fill: #292C30; }
49:root { --button-primary-active-fill: #3DAEE9; }
50:root { --button-primary-text: #FCFCFC; }
51:root { --button-inverted-text: #141618; }
52:root { --button-secondary-fill: #1D1F22; }
53:root { --button-secondary-active-fill: #1E5774; }
54:root { --button-secondary-text: #FCFCFC; }
55:root { --button-danger-fill: #292C30; }
56:root { --button-danger-active-fill: #DA4453; }
57:root { --button-danger-outline-border: #DA4453; }
58:root { --button-danger-outline-active-fill: #DA4453; }
59:root { --button-danger-text: #FCFCFC; }
60:root { --button-danger-outline-text: #FCFCFC; }
61:root { --button-danger-outline-active-border: #A1A9B1; }
62:root { --button-outline-border: #A1A9B1; }
63:root { --button-outline-text: #FCFCFC; }
64:root { --button-outline-active-fill: #FCFCFC; }
65:root { --button-outline-active-border: #3DAEE9; }
66:root { --bg-code-block: #121417; }
67:root { --bg-blockquote: #292C30; }
68:root { --bg-table-row-odd: #141618; }
69:root { --bg-table-row-even: #292C30; }
70:root { --background-modifier-selected: #1E5774; }
71:root { --text-primary: #FCFCFC; }
72:root { --background-modifier-accent-focus: #3DAEE9; }
73
breeze-light.css Ham
1* { border-radius: 5px !important; }
2
3:root { --background-primary: #EFF0F1; }
4:root { --background-secondary: #FFFFFF; }
5:root { --background-secondary-alt: #F7F7F7; }
6:root { --background-tertiary: #E3E5E7; }
7:root { --background-textarea: #FFFFFF; }
8:root { --background-header-primary: #DEE0E2; }
9:root { --background-header-secondary: #EFF0F1; }
10:root { --background-header-primary-hover: #E3E5E7; }
11:root { --background-modifier-hover: #E3E5E7; }
12:root { --background-modifier-accent: #707D8A; }
13:root { --brand-primary: #3DAEE9; }
14:root { --brand-secondary: #A3D4FA; }
15:root { --brand-primary-light: #A3D4FA; }
16:root { }
17:root { --text-on-brand-primary: #232629; }
18:root { --background-modifier-selected: #3DAEE9; }
19:root { --text-primary-muted: #707D8A; }
20:root { --text-chat-muted: #707D8A; }
21:root { --text-tertiary-muted: #707D8A; }
22:root { --border-color-focus: #3DAEE9; }
23:root { --status-online: #27AE60; }
24:root { --status-idle: #C65C00; }
25:root { --status-dnd: #B03745; }
26:root { --status-offline: #707D8A; }
27:root { --status-danger: #DA4453; }
28:root { --text-secondary: #707D8A; }
29:root { --button-inverted-fill: #2A2E32; }
30:root { --button-ghost-text: #232629; }
31:root { --guild_list-foreground: #232629; }
32:root { --text-primary: #232629; }
33:root { --text-chat: #232629; }
34:root { --button-secondary-fill: #A3D4FA; }
35:root { --button-secondary-active-fill: #3DAEE9; }
36:root { --button-secondary-text: #232629; }
37:root { --button-secondary-active-text: #232629; }
38:root { --button-inverted-text: #FCFCFC; }
39:root { --button-outline-text: #232629; }
40:root { --button-primary-text: #232629; }
41:root { --button-danger-text: #232629; }
42:root { --text-link: #2980B9; }
43:root { --brand-primary-fill: #232629; }
44:root { --accent-warning: #F67400; }
45:root { --accent-danger: #DA4453; }
46:root { --alert-note-color: #3DAEE9; }
47:root { --alert-tip-color: #27AE60; }
48:root { --accent-purple: #9B59B6; }
49:root { --alert-warning-color: #F67400; }
50:root { --alert-caution-color: #DA4453; }
51:root { --alert-important-color: #9B59B6; }
52:root { --markup-mention-text: #232629; }
53:root { --markup-mention-fill: #A3D4FA; }
54:root { --markup-interactive-hover-fill: #3DAEE9; }
55:root { --markup-interactive-hover-text: #232629; }
56:root { --button-primary-fill: #FCFCFC; }
57:root { --button-primary-active-fill: #3DAEE9; }
58:root { --button-danger-fill: #FCFCFC; }
59:root { --button-danger-outline-border: #DA4453; }
60:root { --button-danger-active-fill: #DA4453; }
61:root { --button-danger-outline-text: #232629; }
62:root { --button-danger-outline-active-fill: #DA4453; }
63:root { --button-outline-border: #2A2E32; }
64:root { --button-outline-active-fill: #3DAEE9; }
65:root { --button-outline-active-border: #3DAEE9; }
66:root { --background-modifier-accent-focus: #3DAEE9; }
67
memphis-storm.css Ham
1/**
2 * @name Memphis Storm
3 * @description A theme based on WINDOWS 95 — FLUXER THEME v3 by SupremeGooper:9570 and the Storm (VGA) theme from Windows 98/2000.
4 * @basetheme light
5 * @author jce:2492
6 * @invite https://fluxer.gg/themes
7 */
8
9/* ─────────────────────────────────────────────────
10 * CHAT BACKGROUND
11 * ───────────────────────────────────────────────── */
12[class*="chatContent___"],
13[class*="messagesWrapper___"] {
14 background: white !important;
15}
16
17/* ─────────────────────────────────────────────────
18 * GUILD LIST (far left icon rail)
19 * ───────────────────────────────────────────────── */
20[class*="guildListScrollerWrapper___XzkwZG"],
21[class*="guildListScrollContainer___XzkwZG"],
22[class*="guildListContent___XzkwZG"],
23[class*="guildListTopSection___XzkwZG"],
24[class*="guildListGuildsSection___XzkwZG"] {
25 background: #c0c0c0 !important;
26}
27
28[class*="guildListScrollerWrapper___XzkwZG"] {
29 border-right: 2px solid #808080 !important;
30}
31
32[class*="guildIndicatorBar___XzkwZG"] {
33 background: #800080 !important;
34}
35
36[class*="guildDivider___XzkwZG"] {
37 background: #808080 !important;
38 border-bottom: 1px solid #ffffff !important;
39}
40
41[class*="addGuildButtonIcon___XzkwZG"] {
42 background: #c0c0c0 !important;
43 border-top: 2px solid #ffffff !important;
44 border-left: 2px solid #ffffff !important;
45 border-bottom: 2px solid #000000 !important;
46 border-right: 2px solid #000000 !important;
47 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
48 border-radius: 0 !important;
49 color: #800080 !important;
50}
51
52[class*="addGuildButtonIcon___XzkwZG"]:hover {
53 background: #c0c0c0 !important;
54 border-top: 2px solid #000000 !important;
55 border-left: 2px solid #000000 !important;
56 border-bottom: 2px solid #ffffff !important;
57 border-right: 2px solid #ffffff !important;
58 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
59}
60
61[class*="fluxerButtonIcon___XzkwZG"] {
62 background: #c0c0c0 !important;
63 border-top: 2px solid #ffffff !important;
64 border-left: 2px solid #ffffff !important;
65 border-bottom: 2px solid #000000 !important;
66 border-right: 2px solid #000000 !important;
67 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
68 border-radius: 0 !important;
69 color: #800080 !important;
70}
71
72[class*="fluxerButton___XzkwZG"]:hover [class*="fluxerButtonIcon___XzkwZG"] {
73 border-top: 2px solid #000000 !important;
74 border-left: 2px solid #000000 !important;
75 border-bottom: 2px solid #ffffff !important;
76 border-right: 2px solid #ffffff !important;
77}
78
79/* ─────────────────────────────────────────────────
80 * DM LIST PANEL (Direct Messages column)
81 * ───────────────────────────────────────────────── */
82
83/* Outer column wrapper */
84.DMLayout\.module__dmListColumn___ZmIwOG,
85[class="DMLayout.module__dmListColumn___ZmIwOG"],
86div[class*="dmListColumn___ZmIwOG"] {
87 background: #c0c0c0 !important;
88}
89
90/* Main container + scroller */
91div[class*="dmListContainer___XzM3ZG"],
92div[class*="desktopScroller___XzM3ZG"],
93div[class*="scrollerContent___XzM3ZG"],
94div[class*="dmChannelList___XzM3ZG"] {
95 background: #c0c0c0 !important;
96}
97
98/* Quick Switcher header */
99button[class*="dmListHeader___XzM3ZG"] {
100 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
101 border-bottom: 2px solid #000000 !important;
102 border-top: 1px solid #a0a0ff !important;
103 width: 100% !important;
104}
105
106span[class*="dmListHeaderText___XzM3ZG"] {
107 color: #ffffff !important;
108}
109
110/* Ctrl+K kbd badges */
111div[class*="dmListHeaderShortcut___XzM3ZG"],
112kbd[class*="key___XzViNG"],
113span[class*="keybindHint___XzViNG"] {
114 background: #c0c0c0 !important;
115 color: #000000 !important;
116 border-top: 1px solid #ffffff !important;
117 border-left: 1px solid #ffffff !important;
118 border-bottom: 1px solid #000000 !important;
119 border-right: 1px solid #000000 !important;
120 border-radius: 0 !important;
121}
122
123/* Friends / Personal Notes / Plutonium nav buttons */
124button[class*="clickableItem___XzM3ZG"] {
125 background: #c0c0c0 !important;
126 border-top: 2px solid #ffffff !important;
127 border-left: 2px solid #ffffff !important;
128 border-bottom: 2px solid #000000 !important;
129 border-right: 2px solid #000000 !important;
130 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
131 border-radius: 0 !important;
132 margin: 2px 4px !important;
133 transition: none !important;
134 width: calc(100% - 8px) !important;
135}
136
137button[class*="clickableItem___XzM3ZG"]:hover {
138 background: #800080 !important;
139 border-top: 2px solid #000000 !important;
140 border-left: 2px solid #000000 !important;
141 border-bottom: 2px solid #ffffff !important;
142 border-right: 2px solid #ffffff !important;
143}
144
145button[class*="clickableItem___XzM3ZG"]:hover * {
146 color: #ffffff !important;
147}
148
149span[class*="clickableItemText___XzM3ZG"],
150div[class*="clickableItemIcon___XzM3ZG"] {
151 color: #000000 !important;
152}
153
154/* "Direct Messages" section separator */
155div[class*="dmSectionSeparator___XzM3ZG"] {
156 background: #808080 !important;
157 border-bottom: 1px solid #ffffff !important;
158 height: 2px !important;
159 margin: 4px 0 !important;
160}
161
162/* "Direct Messages" section header row */
163div[class*="dmSectionHeader___XzM3ZG"] {
164 background: #c0c0c0 !important;
165 border-top: 1px solid #808080 !important;
166 border-bottom: 1px solid #ffffff !important;
167 padding: 2px 8px !important;
168}
169
170span[class*="dmSectionHeaderLabel___XzM3ZG"] {
171 color: #000000 !important;
172 text-transform: uppercase !important;
173 letter-spacing: 0.05em !important;
174}
175
176/* + New DM button */
177button[class*="dmCreateButton___XzM3ZG"] {
178 background: #c0c0c0 !important;
179 border-top: 2px solid #ffffff !important;
180 border-left: 2px solid #ffffff !important;
181 border-bottom: 2px solid #000000 !important;
182 border-right: 2px solid #000000 !important;
183 box-shadow: inset -1px -1px 0 #808080 !important;
184 border-radius: 0 !important;
185 color: #000000 !important;
186}
187
188button[class*="dmCreateButton___XzM3ZG"]:hover {
189 border-top: 2px solid #000000 !important;
190 border-left: 2px solid #000000 !important;
191 border-bottom: 2px solid #ffffff !important;
192 border-right: 2px solid #ffffff !important;
193}
194
195/* DM conversation items — normal */
196button[class*="dmItem___XzM3ZG"] {
197 background: #c0c0c0 !important;
198 border-top: 2px solid #ffffff !important;
199 border-left: 2px solid #ffffff !important;
200 border-bottom: 2px solid #000000 !important;
201 border-right: 2px solid #000000 !important;
202 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
203 border-radius: 0 !important;
204 margin: 2px 4px !important;
205 transition: none !important;
206 width: calc(100% - 8px) !important;
207}
208
209button[class*="dmItem___XzM3ZG"]:hover {
210 background: #c0c0c0 !important;
211 outline: 1px dotted #800080 !important;
212 outline-offset: -2px !important;
213}
214
215/* DM item — SELECTED/active — sunken */
216button[class*="dmItemSelected___XzM3ZG"] {
217 background: #c0c0c0 !important;
218 border-top: 2px solid #000000 !important;
219 border-left: 2px solid #000000 !important;
220 border-bottom: 2px solid #ffffff !important;
221 border-right: 2px solid #ffffff !important;
222 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
223}
224
225button[class*="dmItemSelected___XzM3ZG"] span[class*="dmItemNameText___XzM3ZG"] {
226 text-decoration: underline !important;
227}
228
229/* DM item text */
230span[class*="dmItemName___XzM3ZG"],
231span[class*="dmItemNameText___XzM3ZG"] {
232 color: #000000 !important;
233}
234
235/* Close X button on DM items */
236div[class*="dmItemCloseButton___XzM3ZG"] {
237 background: #c0c0c0 !important;
238 border-top: 2px solid #ffffff !important;
239 border-left: 2px solid #ffffff !important;
240 border-bottom: 2px solid #000000 !important;
241 border-right: 2px solid #000000 !important;
242 box-shadow: inset -1px -1px 0 #808080 !important;
243 border-radius: 0 !important;
244 color: #000000 !important;
245}
246
247div[class*="dmItemCloseButton___XzM3ZG"]:hover {
248 border-top: 2px solid #000000 !important;
249 border-left: 2px solid #000000 !important;
250 border-bottom: 2px solid #ffffff !important;
251 border-right: 2px solid #ffffff !important;
252}
253
254/* System tag badge (e.g. "SYSTEM" on Fluxer bot) */
255span[class*="tag___XzM2Zm"] {
256 background: #800080 !important;
257 color: #ffffff !important;
258 border-radius: 0 !important;
259 padding: 1px 4px !important;
260}
261
262span[class*="text___XzM2Zm"] {
263 color: #ffffff !important;
264}
265
266/* ─────────────────────────────────────────────────
267 * CHANNEL LIST PANEL — silver chrome
268 * ───────────────────────────────────────────────── */
269[class*="channelListScrollerWrapper___XzdlNz"] {
270 background: #c0c0c0 !important;
271 border-right: 2px solid #808080 !important;
272}
273
274[class*="channelListScroller___XzdlNz"] {
275 background: #c0c0c0 !important;
276}
277
278[class*="navigationContainer___XzdlNz"],
279[class*="channelGroupsContainer___XzdlNz"],
280[class*="channelGroup___XzdlNz"],
281[class*="membersSection___XzdlNz"] {
282 background: transparent !important;
283}
284
285/* ─────────────────────────────────────────────────
286 * GUILD HEADER — title bar
287 * ───────────────────────────────────────────────── */
288[class*="headerWrapper___ZGNlOD"] {
289 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
290 border-top: 2px solid #ffffff !important;
291 border-left: 2px solid #ffffff !important;
292 border-bottom: 2px solid #000000 !important;
293 border-right: 2px solid #000000 !important;
294 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #a0a0ff !important;
295 padding: 0 !important;
296}
297
298[class*="headerContainer___ZGNlOD"] {
299 background: transparent !important;
300 border: none !important;
301 box-shadow: none !important;
302}
303
304[class*="headerContent___ZGNlOD"] {
305 padding: 4px 8px !important;
306}
307
308[class*="guildName___ZGNlOD"] {
309 color: #ffffff !important;;
310 text-shadow: 1px 1px 0 #000040 !important;
311}
312
313[class*="caretIcon___ZGNlOD"] {
314 background: #c0c0c0 !important;
315 color: #000000 !important;
316 border-top: 2px solid #ffffff !important;
317 border-left: 2px solid #ffffff !important;
318 border-bottom: 2px solid #000000 !important;
319 border-right: 2px solid #000000 !important;
320 box-shadow: inset -1px -1px 0 #808080 !important;
321 border-radius: 0 !important;
322 padding: 2px !important;
323 width: 16px !important;
324 height: 14px !important;
325}
326
327[class*="headerContent___ZGNlOD"]:hover [class*="caretIcon___ZGNlOD"] {
328 border-top: 2px solid #000000 !important;
329 border-left: 2px solid #000000 !important;
330 border-bottom: 2px solid #ffffff !important;
331 border-right: 2px solid #ffffff !important;
332}
333
334/* ─────────────────────────────────────────────────
335 * CHANNEL HEADER BAR (top of chat)
336 * ──────────────────────────────�────────────────── */
337[class*="headerWrapper___XzkyNm"] {
338 background: #c0c0c0 !important;
339 border-bottom: 2px solid #808080 !important;
340 border-top: 1px solid #ffffff !important;
341}
342
343[class*="headerContainer___XzkyNm"] {
344 background: transparent !important;
345}
346
347/* Channel name + icon */
348[class*="channelName___XzkyNm"] {
349 color: #000000 !important;
350}
351
352[class*="channelIcon___XzkyNm"] {
353 color: #800080 !important;
354}
355
356/* Topic divider dot */
357[class*="topicDivider___XzkyNm"] {
358 color: #808080 !important;
359}
360
361/* Topic text */
362[class*="topicContainer___XzkyNm"],
363[class*="topicButton___XzkyNm"],
364[class*="topicButton___XzkyNm"] * {
365 color: #444444 !important;
366}
367
368/* Header icon buttons (star, bell, pin, members, search) */
369[class*="iconButton___XzkyNm"] {
370 background: #c0c0c0 !important;
371 border-top: 2px solid #ffffff !important;
372 border-left: 2px solid #ffffff !important;
373 border-bottom: 2px solid #000000 !important;
374 border-right: 2px solid #000000 !important;
375 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
376 border-radius: 0 !important;
377 color: #000000 !important;
378 transition: none !important;
379}
380
381[class*="iconButton___XzkyNm"]:hover {
382 background: #c0c0c0 !important;
383 border-top: 2px solid #000000 !important;
384 border-left: 2px solid #000000 !important;
385 border-bottom: 2px solid #ffffff !important;
386 border-right: 2px solid #ffffff !important;
387 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
388}
389
390/* Selected/active icon button (members panel toggle when open) */
391[class*="iconButtonSelected___XzkyNm"] {
392 background: #c0c0c0 !important;
393 border-top: 2px solid #000000 !important;
394 border-left: 2px solid #000000 !important;
395 border-bottom: 2px solid #ffffff !important;
396 border-right: 2px solid #ffffff !important;
397 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
398 border-radius: 0 !important;
399 color: #000000 !important;
400}
401
402[class*="buttonIcon___XzkyNm"] {
403 color: #000000 !important;
404}
405
406/* Back button */
407[class*="backButton___XzkyNm"] {
408 background: #c0c0c0 !important;
409 border-top: 2px solid #ffffff !important;
410 border-left: 2px solid #ffffff !important;
411 border-bottom: 2px solid #000000 !important;
412 border-right: 2px solid #000000 !important;
413 box-shadow: inset -1px -1px 0 #808080 !important;
414 border-radius: 0 !important;
415 color: #000000 !important;
416}
417
418/* Search bar inside header */
419[class*="inputContainer___XzZhZj"] {
420 background: #ffffff !important;
421 border-top: 2px solid #808080 !important;
422 border-left: 2px solid #808080 !important;
423 border-bottom: 2px solid #dfdfdf !important;
424 border-right: 2px solid #dfdfdf !important;
425 box-shadow: inset 1px 1px 0 #000000 !important;
426 border-radius: 0 !important;
427}
428
429[class*="input___XzZhZj"] {
430 background: transparent !important;
431 color: #000000 !important;
432}
433
434[class*="input___XzZhZj"]::placeholder {
435 color: #808080 !important;
436}
437
438[class*="scopeButton___XzZhZj"] {
439 background: transparent !important;
440 color: #800080 !important;
441}
442
443/* ─────────────────────────────────────────────────
444 * CHANNEL ITEMS — raised buttons
445 * ───────────────────────────────────────────────── */
446[class*="container___Xzk5Zm"] {
447 margin: 2px 4px !important;
448 background: transparent !important;
449}
450
451[class*="channelItemSurface___YTdjZW"] {
452 background: #c0c0c0 !important;
453 border-top: 2px solid #ffffff !important;
454 border-left: 2px solid #ffffff !important;
455 border-bottom: 2px solid #000000 !important;
456 border-right: 2px solid #000000 !important;
457 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
458 border-radius: 0 !important;
459 padding: 3px 8px !important;
460 gap: 6px !important;
461 transition: none !important;
462}
463
464[class*="channelItemSurface___YTdjZW"]:hover {
465 background: #c0c0c0 !important;
466 outline: 1px dotted #800080 !important;
467 outline-offset: -2px !important;
468}
469
470[class*="channelItemSurface___YTdjZW"]:hover [class*="channelName___Xzk5Zm"] {
471 color: #800080 !important;
472}
473
474[class*="channelItemSurfaceSelected___YTdjZW"] {
475 background: #c0c0c0 !important;
476 border-top: 2px solid #000000 !important;
477 border-left: 2px solid #000000 !important;
478 border-bottom: 2px solid #ffffff !important;
479 border-right: 2px solid #ffffff !important;
480 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
481}
482
483[class*="channelItemSurfaceSelected___YTdjZW"] [class*="channelName___Xzk5Zm"] {
484 color: #000000 !important;
485 text-decoration: underline !important;
486}
487
488[class*="channelItemCategory___Xzk5Zm"] {
489 background: #c0c0c0 !important;
490 border-top: 1px solid #808080 !important;
491 border-bottom: 1px solid #ffffff !important;
492 border-left: none !important;
493 border-right: none !important;
494 box-shadow: none !important;
495 padding: 2px 8px !important;
496 margin-top: 4px !important;
497}
498
499[class*="channelItemCategory___Xzk5Zm"]:hover {
500 outline: none !important;
501 background: #c0c0c0 !important;
502}
503
504[class*="categoryName___Xzk5Zm"] {
505 color: #000000 !important;
506 text-transform: uppercase !important;
507 letter-spacing: 0.05em !important;
508}
509
510[class*="channelName___Xzk5Zm"] {
511 color: #000000 !important;
512}
513
514[class*="channelItemIcon___Xzk5Zm"] {
515 color: #800080 !important;
516}
517
518[class*="channelItemIconSelected___Xzk5Zm"] {
519 color: #000000 !important;
520}
521
522[class*="iconButton___XzJiN2"] {
523 background: #c0c0c0 !important;
524 border-top: 2px solid #ffffff !important;
525 border-left: 2px solid #ffffff !important;
526 border-bottom: 2px solid #000000 !important;
527 border-right: 2px solid #000000 !important;
528 box-shadow: inset -1px -1px 0 #808080 !important;
529 border-radius: 0 !important;
530 color: #000000 !important;
531}
532
533[class*="iconButton___XzJiN2"]:hover {
534 border-top: 2px solid #000000 !important;
535 border-left: 2px solid #000000 !important;
536 border-bottom: 2px solid #ffffff !important;
537 border-right: 2px solid #ffffff !important;
538}
539
540/* ─────────────────────────────────────────────────
541 * MEMBER LIST (far right panel)
542 * ───────────────────────────────────────────────── */
543[class*="memberListContainer___XzM3MW"],
544[class*="memberListScroller___XzM3MW"] {
545 background: #c0c0c0 !important;
546}
547
548[class*="frame___ZmU4ZG"],
549[class*="contentWrapper___ZmU4ZG"],
550[class*="body___ZmU4ZG"] {
551 background: #c0c0c0 !important;
552}
553
554[class*="groupHeader___Yjk5ZT"] {
555 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
556 color: #ffffff !important;
557 text-transform: uppercase !important;
558 letter-spacing: 0.05em !important;
559 padding: 2px 8px !important;
560 border-top: 1px solid #a0a0ff !important;
561 border-bottom: 1px solid #000040 !important;
562}
563
564[class*="button___YTg2NG"] {
565 background: #c0c0c0 !important;
566 border-top: 2px solid #ffffff !important;
567 border-left: 2px solid #ffffff !important;
568 border-bottom: 2px solid #000000 !important;
569 border-right: 2px solid #000000 !important;
570 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
571 border-radius: 0 !important;
572 margin: 2px 4px !important;
573 transition: none !important;
574}
575
576[class*="button___YTg2NG"]:hover {
577 background: #800080 !important;
578 border-top: 2px solid #000000 !important;
579 border-left: 2px solid #000000 !important;
580 border-bottom: 2px solid #ffffff !important;
581 border-right: 2px solid #ffffff !important;
582}
583
584[class*="button___YTg2NG"]:hover [class*="name___YTg2NG"],
585[class*="button___YTg2NG"]:hover [class*="truncatedText___XzM5NG"] {
586 color: #ffffff !important;
587 -webkit-text-fill-color: #ffffff !important;
588}
589
590[class*="truncatedText___XzM5NG"] {
591 color: #808080 !important;
592}
593
594[class*="track___YzkyYz"] {
595 background: #c0c0c0 !important;
596 border-left: 1px solid #808080 !important;
597}
598
599[class*="thumb___YzkyYz"] {
600 background: #c0c0c0 !important;
601 border-top: 2px solid #ffffff !important;
602 border-left: 2px solid #ffffff !important;
603 border-bottom: 2px solid #000000 !important;
604 border-right: 2px solid #000000 !important;
605 box-shadow: inset -1px -1px 0 #808080 !important;
606 border-radius: 0 !important;
607}
608
609/* ─────────────────────────────────────────────────
610 * USER AREA
611 * ───────────────────────────────────────────────── */
612[class*="userAreaContainer"] {
613 background: #c0c0c0 !important;
614 border-top: 2px solid #808080 !important;
615 border-radius: 0 !important;
616 margin: 0 !important;
617 max-width: 100% !important;
618}
619
620[class*="userAreaInnerWrapper"],
621[class*="userAreaWrapper"] {
622 background: transparent !important;
623}
624
625[class*="userName"] {
626 color: #000000 !important;
627 text-shadow: none !important;
628}
629
630[class*="userStatus"],
631[class*="userStatusLabel"] {
632 color: #808080 !important;
633}
634
635[class*="userInfo"]:hover {
636 background: #800080 !important;
637 border-radius: 0 !important;
638 animation: none !important;
639}
640
641[class*="userInfo"]:hover * {
642 color: #ffffff !important;
643}
644
645[class*="controlButton"] {
646 background: #c0c0c0 !important;
647 border-top: 2px solid #ffffff !important;
648 border-left: 2px solid #ffffff !important;
649 border-bottom: 2px solid #000000 !important;
650 border-right: 2px solid #000000 !important;
651 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
652 border-radius: 0 !important;
653 color: #000000 !important;
654 width: 24px !important;
655 height: 24px !important;
656 min-width: 24px !important;
657 min-height: 24px !important;
658 animation: none !important;
659}
660
661[class*="controlButton"] svg {
662 color: #000000 !important;
663 width: 13px !important;
664 height: 13px !important;
665 filter: none !important;
666}
667
668[class*="controlButton"]:hover {
669 background: #c0c0c0 !important;
670 border-top: 2px solid #000000 !important;
671 border-left: 2px solid #000000 !important;
672 border-bottom: 2px solid #ffffff !important;
673 border-right: 2px solid #ffffff !important;
674 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
675 animation: none !important;
676}
677
678[class*="controlsContainer"] {
679 gap: 3px !important;
680 padding: 3px 4px !important;
681 background: transparent !important;
682}
683
684/* ─────────────────────────────────────────────────
685 * MESSAGE EDIT TEXTAREA
686 * ───────────────────────────────────────────────── */
687[class*="mainWrapperEditing___XzI3Mz"] {
688 background: #ffffff !important;
689 border-top: 2px solid #808080 !important;
690 border-left: 2px solid #808080 !important;
691 border-bottom: 2px solid #dfdfdf !important;
692 border-right: 2px solid #dfdfdf !important;
693 box-shadow: inset 1px 1px 0 #000000 !important;
694 border-radius: 0 !important;
695 padding: 4px !important;
696}
697
698[class*="contentAreaEditing___XzI3Mz"],
699[class*="scroller___ZTdjNm"],
700[class*="flexColumnContainer___ZTdjNm"] {
701 background: transparent !important;
702}
703
704[class*="textarea___XzI3Mz"] {
705 background: transparent !important;
706 color: #000000 !important;
707 -webkit-text-fill-color: #000000 !important;
708 caret-color: #000000 !important;
709}
710
711[class*="textarea___XzI3Mz"]::placeholder {
712 color: #808080 !important;
713 -webkit-text-fill-color: #808080 !important;
714}
715
716/* Emoji button inside edit box */
717[class*="buttonCompact___XzMzZT"],
718[class*="button___XzMzZT"] {
719 background: #c0c0c0 !important;
720 border-top: 2px solid #ffffff !important;
721 border-left: 2px solid #ffffff !important;
722 border-bottom: 2px solid #000000 !important;
723 border-right: 2px solid #000000 !important;
724 box-shadow: inset -1px -1px 0 #808080 !important;
725 border-radius: 0 !important;
726 color: #000000 !important;
727}
728
729[class*="buttonCompact___XzMzZT"]:hover,
730[class*="button___XzMzZT"]:hover {
731 border-top: 2px solid #000000 !important;
732 border-left: 2px solid #000000 !important;
733 border-bottom: 2px solid #ffffff !important;
734 border-right: 2px solid #ffffff !important;
735}
736
737[class*="buttonContainerEditing___XzI3Mz"] {
738 background: transparent !important;
739}
740
741/* ─────────────────────────────────────────────────
742 * TEXTAREA
743 * ───────────────────────────────────────────────── */
744[class*="textareaOuter"] {
745 background: #ffffff !important;
746 border-top: 2px solid #808080 !important;
747 border-left: 2px solid #808080 !important;
748 border-bottom: 2px solid #dfdfdf !important;
749 border-right: 2px solid #dfdfdf !important;
750 box-shadow: inset 1px 1px 0 #000000 !important;
751 border-radius: 0 !important;
752 margin: 4px !important;
753}
754
755[class*="textareaArea"] {
756 background: #c0c0c0 !important;
757}
758
759textarea[data-channel-textarea="true"] {
760 background: transparent !important;
761 color: #000000 !important;
762 -webkit-text-fill-color: #000000 !important;
763 caret-color: #000000 !important;
764}
765
766textarea[data-channel-textarea="true"]::placeholder {
767 color: #808080 !important;
768 -webkit-text-fill-color: #808080 !important;
769 opacity: 1 !important;
770}
771
772[class*="placeholder"] {
773 color: #808080 !important;
774 -webkit-text-fill-color: #808080 !important;
775 opacity: 1 !important;
776}
777
778/* ────────────────────�────────────────────────────
779 * MESSAGE BUBBLES
780 * ───────────────────────────────────────────────── */
781[class*="messageContent"] {
782 background: rgba(192,192,192,0.92) !important;
783 border-top: 2px solid #ffffff !important;
784 border-left: 2px solid #ffffff !important;
785 border-bottom: 2px solid #000000 !important;
786 border-right: 2px solid #000000 !important;
787 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf, 2px 2px 0 rgba(0,0,0,0.3) !important;
788 border-radius: 0 !important;
789 padding: 5px 10px !important;
790 backdrop-filter: none !important;
791 color: #000000 !important;
792}
793
794[class*="messageContent"] * {
795 color: #000000 !important;
796 text-shadow: none !important;
797}
798
799/* Code blocks (triple backtick) */
800[class*="messageContent"] pre,
801[class*="messageContent"] code,
802pre[class*="hljs"],
803code[class*="hljs"],
804[class*="codeBlock"],
805[class*="markup___"] pre,
806[class*="markup___"] code {
807 background: #ffffff !important;
808 color: #000000 !important;
809 -webkit-text-fill-color: #000000 !important;
810 border-top: 2px solid #808080 !important;
811 border-left: 2px solid #808080 !important;
812 border-bottom: 2px solid #dfdfdf !important;
813 border-right: 2px solid #dfdfdf !important;
814 box-shadow: inset 1px 1px 0 #000000 !important;
815 border-radius: 0 !important;
816 font-family: monospace !important;
817 padding: 6px 8px !important;
818}
819
820/* Inline backtick code */
821[class*="messageContent"] code:not(pre code),
822[class*="markup___"] code:not(pre code) {
823 background: #dfdfdf !important;
824 color: #000000 !important;
825 -webkit-text-fill-color: #000000 !important;
826 border-top: 1px solid #808080 !important;
827 border-left: 1px solid #808080 !important;
828 border-bottom: 1px solid #ffffff !important;
829 border-right: 1px solid #ffffff !important;
830 box-shadow: none !important;
831 padding: 1px 4px !important;
832 font-family: monospace !important;
833}
834
835/* Syntax highlight token colors — readable on white */
836.hljs-keyword, .hljs-selector-tag, .hljs-built_in { color: #800080 !important; -webkit-text-fill-color: #800080 !important; }
837.hljs-string, .hljs-attr { color: #800000 !important; -webkit-text-fill-color: #800000 !important; }
838.hljs-number, .hljs-literal { color: #008000 !important; -webkit-text-fill-color: #008000 !important; }
839.hljs-comment { color: #808080 !important; -webkit-text-fill-color: #808080 !important; font-style: italic !important; }
840.hljs-function, .hljs-title { color: #800080 !important; -webkit-text-fill-color: #800080 !important; }
841.hljs-variable, .hljs-name { color: #000000 !important; -webkit-text-fill-color: #000000 !important; }
842
843[class*="username___"],
844[class*="usernameBlock"] {
845 color: #800080 !important;
846}
847
848[class*="timestamp"] {
849 color: #808080 !important;
850}
851
852/* ─────────────────────────────────────────────────
853 * PROFILE POPOUT (quick card on member click)
854 * ───────────────────────────────────────────────── */
855[class*="popout___XzkxYm"] {
856 background: #c0c0c0 !important;
857 border-top: 2px solid #ffffff !important;
858 border-left: 2px solid #ffffff !important;
859 border-bottom: 2px solid #000000 !important;
860 border-right: 2px solid #000000 !important;
861 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf, 4px 4px 0 #000000 !important;
862 border-radius: 0 !important;
863}
864
865/* Profile card inner container */
866[class*="profileCard___XzE1MW"] {
867 background: #c0c0c0 !important;
868 border: none !important;
869 border-radius: 0 !important;
870}
871
872/* Banner area — W98 title bar gradient */
873[class*="headerSection___XzU1Zj"] {
874 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
875 border-bottom: 2px solid #000000 !important;
876}
877
878[class*="bannerWrapper___XzU1Zj"] {
879 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
880}
881
882[class*="banner___XzU1Zj"] {
883 opacity: 0.25 !important;
884}
885
886/* Content area */
887[class*="contentSection___XzRiYj"] {
888 background: #c0c0c0 !important;
889 border-radius: 0 !important;
890 padding: 8px !important;
891}
892
893/* Name button */
894[class*="nameButton___YjA5MD"] {
895 color: #000000 !important;
896}
897
898/* Username tag */
899[class*="usernameRow___YjA5MD"] button,
900[class*="usernameButton___YjA5MD"] {
901 color: #444444 !important;
902}
903
904/* Membership info */
905[class*="membershipContainer___YzQ4NT"],
906[class*="membershipTitle___YzQ4NT"],
907[class*="membershipDateText___YzQ4NT"] {
908 color: #000000 !important;
909}
910
911/* Action buttons (note, copy ID) */
912[class*="noteButton___XzkwMW"],
913[class*="copyIdButton___XzkwMW"] {
914 background: #c0c0c0 !important;
915 border-top: 2px solid #ffffff !important;
916 border-left: 2px solid #ffffff !important;
917 border-bottom: 2px solid #000000 !important;
918 border-right: 2px solid #000000 !important;
919 box-shadow: inset -1px -1px 0 #808080 !important;
920 border-radius: 0 !important;
921 color: #000000 !important;
922}
923
924[class*="noteButton___XzkwMW"]:hover,
925[class*="copyIdButton___XzkwMW"]:hover {
926 border-top: 2px solid #000000 !important;
927 border-left: 2px solid #000000 !important;
928 border-bottom: 2px solid #ffffff !important;
929 border-right: 2px solid #ffffff !important;
930}
931
932/* Footer section */
933[class*="footerSection___ZjVlMW"] {
934 background: #c0c0c0 !important;
935 border-top: 2px solid #808080 !important;
936 border-radius: 0 !important;
937 padding: 8px !important;
938}
939
940/* ─────────────────────────────────────────────────
941 * SHARED BUTTON MODULE (Message, Friend, etc.)
942 * ───────────────────────────────────────────────── */
943[class*="button___Yzg1Yz"] {
944 border-radius: 0 !important;
945 transition: none !important;
946}
947
948[class*="button___Yzg1Yz"][class*="primary___Yzg1Yz"] {
949 background: #c0c0c0 !important;
950 border-top: 2px solid #ffffff !important;
951 border-left: 2px solid #ffffff !important;
952 border-bottom: 2px solid #000000 !important;
953 border-right: 2px solid #000000 !important;
954 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
955 color: #000000 !important;
956}
957
958[class*="button___Yzg1Yz"][class*="primary___Yzg1Yz"]:hover {
959 background: #800080 !important;
960 border-top: 2px solid #000000 !important;
961 border-left: 2px solid #000000 !important;
962 border-bottom: 2px solid #ffffff !important;
963 border-right: 2px solid #ffffff !important;
964 color: #ffffff !important;
965}
966
967[class*="button___Yzg1Yz"][class*="primary___Yzg1Yz"]:hover * {
968 color: #ffffff !important;
969}
970
971[class*="button___Yzg1Yz"][class*="secondary___Yzg1Yz"] {
972 background: #c0c0c0 !important;
973 border-top: 2px solid #ffffff !important;
974 border-left: 2px solid #ffffff !important;
975 border-bottom: 2px solid #000000 !important;
976 border-right: 2px solid #000000 !important;
977 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
978 color: #000000 !important;
979}
980
981[class*="button___Yzg1Yz"][class*="secondary___Yzg1Yz"]:hover {
982 background: #c0c0c0 !important;
983 border-top: 2px solid #000000 !important;
984 border-left: 2px solid #000000 !important;
985 border-bottom: 2px solid #ffffff !important;
986 border-right: 2px solid #ffffff !important;
987 outline: 1px dotted #800080 !important;
988 outline-offset: -3px !important;
989}
990
991/* ─────────────────────────────────────────────────
992 * FULL USER PROFILE MODAL
993 * ─────────────�─────────────────────────────────── */
994
995/* Modal surface/backdrop */
996[class*="surface___XzA4MW"] {
997 border-top: 2px solid #ffffff !important;
998 border-left: 2px solid #ffffff !important;
999 border-bottom: 2px solid #000000 !important;
1000 border-right: 2px solid #000000 !important;
1001 box-shadow: 4px 4px 0 #000000 !important;
1002 border-radius: 0 !important;
1003 overflow: hidden !important;
1004}
1005
1006/* Modal root and container */
1007[class*="modalRoot___XzU2Zj"],
1008[class*="modalContainer___XzU2Zj"] {
1009 background: #c0c0c0 !important;
1010 border: none !important;
1011 border-radius: 0 !important;
1012}
1013
1014/* Banner */
1015[class*="bannerContainer___XzU2Zj"] {
1016 border-bottom: 2px solid #000000 !important;
1017}
1018
1019[class*="bannerImage___XzU2Zj"] {
1020 opacity: 0.3 !important;
1021}
1022
1023/* Header — W95 title bar */
1024[class*="headerContainer___XzU2Zj"] {
1025 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
1026 border-bottom: 2px solid #000000 !important;
1027 padding: 4px 8px !important;
1028}
1029
1030/* Action buttons row */
1031[class*="actionButtonsContainer___XzU2Zj"],
1032[class*="actionButtons___XzU2Zj"] {
1033 background: transparent !important;
1034}
1035
1036/* Content container */
1037[class*="contentContainer___XzU2Zj"] {
1038 background: #c0c0c0 !important;
1039}
1040
1041/* User name */
1042[class*="userName___XzU2Zj"] {
1043 color: #000000 !important;
1044 text-shadow: none !important;
1045}
1046
1047/* Username tag row */
1048[class*="usernameRow___XzU2Zj"] {
1049 color: #444444 !important;
1050}
1051
1052/* Pronouns */
1053[class*="pronouns___XzU2Zj"] {
1054 color: #444444 !important;
1055}
1056
1057/* Tabs — Overview / Mutual Friends */
1058[class*="tabsWrapper___XzU2Zj"] {
1059 background: #c0c0c0 !important;
1060 border-bottom: 2px solid #808080 !important;
1061}
1062
1063[class*="tab___XzIxNj"] {
1064 background: #c0c0c0 !important;
1065 border-top: 2px solid #ffffff !important;
1066 border-left: 2px solid #ffffff !important;
1067 border-bottom: 2px solid #000000 !important;
1068 border-right: 2px solid #000000 !important;
1069 box-shadow: inset -1px -1px 0 #808080 !important;
1070 border-radius: 0 !important;
1071 color: #000000 !important;
1072 margin-right: 2px !important;
1073 transition: none !important;
1074}
1075
1076[class*="tab___XzIxNj"]:hover {
1077 background: #c0c0c0 !important;
1078 outline: 1px dotted #800080 !important;
1079 outline-offset: -2px !important;
1080}
1081
1082[class*="selected___XzIxNj"] {
1083 background: #c0c0c0 !important;
1084 border-top: 2px solid #000000 !important;
1085 border-left: 2px solid #000000 !important;
1086 border-bottom: 2px solid #ffffff !important;
1087 border-right: 2px solid #ffffff !important;
1088 box-shadow: inset 1px 1px 0 #808080 !important;
1089 color: #000000 !important;
1090}
1091
1092/* Profile content area */
1093[class*="profileContentWrapper___XzU2Zj"],
1094[class*="profileContent___XzU2Zj"],
1095[class*="profileContentHeader___XzU2Zj"] {
1096 background: #c0c0c0 !important;
1097}
1098
1099/* Bio */
1100[class*="bioContainer___YzQ4NT"] {
1101 background: #ffffff !important;
1102 border-top: 2px solid #808080 !important;
1103 border-left: 2px solid #808080 !important;
1104 border-bottom: 2px solid #dfdfdf !important;
1105 border-right: 2px solid #dfdfdf !important;
1106 box-shadow: inset 1px 1px 0 #000000 !important;
1107 padding: 6px 8px !important;
1108 border-radius: 0 !important;
1109 color: #000000 !important;
1110}
1111
1112[class*="bio___XzBhZT"],
1113[class*="bio___XzBhZT"] * {
1114 color: #000000 !important;
1115}
1116
1117[class*="link___XzBhZT"] {
1118 color: #800080 !important;
1119 text-decoration: underline !important;
1120}
1121
1122/* Roles */
1123[class*="rolesContainer___YzQ4NT"] {
1124 background: transparent !important;
1125}
1126
1127[class*="rolesHeader___YzQ4NT"],
1128[class*="rolesTitle___YzQ4NT"] {
1129 color: #000000 !important;
1130 text-transform: uppercase !important;
1131 letter-spacing: 0.05em !important;
1132 border-bottom: 1px solid #808080 !important;
1133}
1134
1135[class*="roleBadge___YWExM2"] {
1136 background: #c0c0c0 !important;
1137 border-top: 2px solid #ffffff !important;
1138 border-left: 2px solid #ffffff !important;
1139 border-bottom: 2px solid #000000 !important;
1140 border-right: 2px solid #000000 !important;
1141 box-shadow: inset -1px -1px 0 #808080 !important;
1142 border-radius: 0 !important;
1143 color: #000000 !important;
1144}
1145
1146[class*="roleName___YWExM2"] {
1147 color: #000000 !important;
1148}
1149
1150/* Connections */
1151[class*="connectionsContainer___YzQ4NT"] {
1152 background: transparent !important;
1153}
1154
1155[class*="connectionsTitle___YzQ4NT"] {
1156 color: #000000 !important;
1157 text-transform: uppercase !important;
1158 letter-spacing: 0.05em !important;
1159 border-bottom: 1px solid #808080 !important;
1160}
1161
1162[class*="connectionCard___YzQ4NT"] {
1163 background: #c0c0c0 !important;
1164 border-top: 2px solid #ffffff !important;
1165 border-left: 2px solid #ffffff !important;
1166 border-bottom: 2px solid #000000 !important;
1167 border-right: 2px solid #000000 !important;
1168 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1169 border-radius: 0 !important;
1170}
1171
1172[class*="connectionCardName___YzQ4NT"],
1173[class*="connectionCardNameRow___YzQ4NT"] {
1174 color: #000000 !important;
1175}
1176
1177[class*="connectionIcon___YzQ4NT"] {
1178 color: #800080 !important;
1179}
1180
1181/* Note textarea */
1182[class*="noteLabel___XzU2Zj"] {
1183 color: #000000 !important;
1184 text-transform: uppercase !important;
1185}
1186
1187[class*="noteTextarea___XzU2Zj"] {
1188 background: #ffffff !important;
1189 color: #000000 !important;
1190 border-top: 2px solid #808080 !important;
1191 border-left: 2px solid #808080 !important;
1192 border-bottom: 2px solid #dfdfdf !important;
1193 border-right: 2px solid #dfdfdf !important;
1194 box-shadow: inset 1px 1px 0 #000000 !important;
1195 border-radius: 0 !important;
1196}
1197
1198[class*="noteTextarea___XzU2Zj"]::placeholder {
1199 color: #808080 !important;
1200}
1201
1202/* ─────────────────────────────────────────────────
1203 * CONTEXT MENU
1204 * ───────────────────────────────────────────────── */
1205[class*="contextMenu___Yzg0NW"] {
1206 background: #c0c0c0 !important;
1207 border-top: 2px solid #ffffff !important;
1208 border-left: 2px solid #ffffff !important;
1209 border-bottom: 2px solid #000000 !important;
1210 border-right: 2px solid #000000 !important;
1211 box-shadow: 2px 2px 0 #000000 !important;
1212 border-radius: 0 !important;
1213 padding: 2px !important;
1214}
1215
1216[class*="item___Yzg0NW"] {
1217 background: transparent !important;
1218 color: #000000 !important;
1219 border-radius: 0 !important;
1220 padding: 3px 20px !important;
1221}
1222
1223[class*="item___Yzg0NW"]:hover,
1224[class*="item___Yzg0NW"]:focus {
1225 background: #800080 !important;
1226 color: #ffffff !important;
1227 outline: none !important;
1228}
1229
1230[class*="item___Yzg0NW"]:hover *,
1231[class*="item___Yzg0NW"]:focus * { color: #ffffff !important; }
1232
1233[class*="label___YjQzN2"] {
1234 color: inherit !important;
1235}
1236
1237[class*="itemIcon___Yzg0NW"] svg { color: #000000 !important; width: 14px !important; height: 14px !important; }
1238[class*="item___Yzg0NW"]:hover [class*="itemIcon___Yzg0NW"] svg { color: #ffffff !important; }
1239[class*="danger___Yzg0NW"] { color: #800000 !important; }
1240[class*="danger___Yzg0NW"]:hover { background: #800000 !important; }
1241[class*="danger___Yzg0NW"]:hover * { color: #ffffff !important; }
1242[class*="submenuCaret___Yzg0NW"] { color: #000000 !important; }
1243[class*="item___Yzg0NW"]:hover [class*="submenuCaret___Yzg0NW"] { color: #ffffff !important; }
1244[class*="separator___Yzg0NW"] {
1245 height: 5px !important;
1246 background: transparent !important;
1247 border: none !important;
1248 border-top: 1px solid #808080 !important;
1249 border-bottom: 1px solid #ffffff !important;
1250 margin: 0 4px !important;
1251}
1252
1253/* ─────────────────────────────────────────────────
1254 * FAVORITES & DISCOVERY — main content area
1255 * ───────────────────────────────────────────────── */
1256
1257/* Main content area background */
1258[class*="guildMainContent___Xzk4ZG"] {
1259 background: #c0c0c0 !important;
1260}
1261
1262/* Favorites welcome section */
1263[class*="welcomeSection___XzMxOT"] {
1264 background: #c0c0c0 !important;
1265}
1266
1267[class*="iconWrapper___XzMxOT"] {
1268 background: #c0c0c0 !important;
1269 border-top: 2px solid #ffffff !important;
1270 border-left: 2px solid #ffffff !important;
1271 border-bottom: 2px solid #000000 !important;
1272 border-right: 2px solid #000000 !important;
1273 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1274 border-radius: 0 !important;
1275 padding: 12px !important;
1276 color: #800080 !important;
1277}
1278
1279[class*="icon___XzMxOT"] {
1280 color: #800080 !important;
1281}
1282
1283[class*="heading___XzMxOT"] {
1284 color: #000000 !important;
1285 text-shadow: none !important;
1286}
1287
1288[class*="description___XzMxOT"],
1289[class*="tip___XzMxOT"] {
1290 color: #000000 !important;
1291}
1292
1293[class*="tip___XzMxOT"] {
1294 color: #444444 !important;
1295 font-style: italic !important;
1296}
1297
1298/* Favorites guild header (top-left "Favorites" title bar) */
1299[class*="headerIconContainer___Xzk2MT"] {
1300 background: transparent !important;
1301}
1302
1303[class*="headerIcon___Xzk2MT"] {
1304 color: #ffffff !important;
1305}
1306
1307/* Channel list skeleton (gray placeholder bars) */
1308[class*="skeletonContent___XzRhYT"],
1309[class*="skeletonCategory___XzRhYT"],
1310[class*="skeletonChannel___XzRhYT"] {
1311 background: transparent !important;
1312}
1313
1314[class*="skeletonCategoryPill___XzRhYT"],
1315[class*="skeletonChannelPill___XzRhYT"] {
1316 background: #a0a0a0 !important;
1317 border-radius: 0 !important;
1318}
1319
1320/* ─────────────────────────────────────────────────
1321 * DISCOVERY (Explore Communities) — left sidebar
1322 * ───────────────────────────────────────────────── */
1323
1324[class*="guildNavbarContainer___Xzc4Nm"] {
1325 background: #c0c0c0 !important;
1326 border-right: 2px solid #808080 !important;
1327}
1328
1329/* "Explore" header — reuses ZGNlOD which is already navy, good */
1330[class*="headerIconContainer___XzBlOG"] {
1331 background: transparent !important;
1332}
1333
1334[class*="headerIcon___XzBlOG"] {
1335 color: #ffffff !important;
1336}
1337
1338/* Discovery sidebar container */
1339[class*="container___XzU1Nj"] {
1340 background: #c0c0c0 !important;
1341}
1342
1343[class*="categoryList___XzU1Nj"] {
1344 background: #c0c0c0 !important;
1345 padding: 4px !important;
1346}
1347
1348/* Category filter buttons */
1349button[class*="categoryItem___XzU1Nj"] {
1350 background: #c0c0c0 !important;
1351 border-top: 2px solid #ffffff !important;
1352 border-left: 2px solid #ffffff !important;
1353 border-bottom: 2px solid #000000 !important;
1354 border-right: 2px solid #000000 !important;
1355 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1356 border-radius: 0 !important;
1357 color: #000000 !important;
1358 margin: 2px 0 !important;
1359 width: calc(100% - 4px) !important;
1360 text-align: left !important;
1361 padding: 4px 8px !important;
1362 transition: none !important;
1363}
1364
1365button[class*="categoryItem___XzU1Nj"]:hover {
1366 background: #c0c0c0 !important;
1367 outline: 1px dotted #800080 !important;
1368 outline-offset: -2px !important;
1369}
1370
1371/* Active/selected category — sunken */
1372button[class*="categoryItemActive___XzU1Nj"] {
1373 background: #c0c0c0 !important;
1374 border-top: 2px solid #000000 !important;
1375 border-left: 2px solid #000000 !important;
1376 border-bottom: 2px solid #ffffff !important;
1377 border-right: 2px solid #ffffff !important;
1378 box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf !important;
1379 color: #000000 !important;
1380 text-decoration: underline !important;
1381}
1382
1383/* ─────────────────────────────────────────────────
1384 * DISCOVERY — main content grid + cards
1385 * ───────────────────────────────────────────────── */
1386
1387[class*="container___ZTBkMm"] {
1388 background: #c0c0c0 !important;
1389}
1390
1391/* Hero search area */
1392[class*="hero___ZTBkMm"] {
1393 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
1394 border-bottom: 2px solid #000000 !important;
1395}
1396
1397[class*="heroPattern___ZTBkMm"] {
1398 opacity: 0.1 !important;
1399}
1400
1401[class*="heroContent___ZTBkMm"],
1402[class*="heroControls___ZTBkMm"] {
1403 background: transparent !important;
1404}
1405
1406/* Search input in hero */
1407[class*="inputContainer___ZGQ3MT"],
1408[class*="inputWrapper___ZGQ3MT"] {
1409 background: #ffffff !important;
1410 border-top: 2px solid #808080 !important;
1411 border-left: 2px solid #808080 !important;
1412 border-bottom: 2px solid #dfdfdf !important;
1413 border-right: 2px solid #dfdfdf !important;
1414 box-shadow: inset 1px 1px 0 #000000 !important;
1415 border-radius: 0 !important;
1416}
1417
1418[class*="input___ZGQ3MT"],
1419[class*="searchInput___ZTBkMm"] {
1420 background: transparent !important;
1421 color: #000000 !important;
1422 -webkit-text-fill-color: #000000 !important;
1423}
1424
1425[class*="input___ZGQ3MT"]::placeholder {
1426 color: #808080 !important;
1427 -webkit-text-fill-color: #808080 !important;
1428}
1429
1430[class*="leftIcon___ZGQ3MT"] {
1431 color: #800080 !important;
1432}
1433
1434/* Content grid */
1435[class*="content___ZTBkMm"],
1436[class*="grid___ZTBkMm"] {
1437 background: #c0c0c0 !important;
1438}
1439
1440/* Guild cards */
1441[class*="card___YzBjMm"] {
1442 background: #c0c0c0 !important;
1443 border-top: 2px solid #ffffff !important;
1444 border-left: 2px solid #ffffff !important;
1445 border-bottom: 2px solid #000000 !important;
1446 border-right: 2px solid #000000 !important;
1447 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1448 border-radius: 0 !important;
1449 transition: none !important;
1450}
1451
1452[class*="card___YzBjMm"]:hover {
1453 outline: 1px dotted #800080 !important;
1454 outline-offset: -2px !important;
1455 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1456}
1457
1458[class*="cardBody___YzBjMm"],
1459[class*="footer___YzBjMm"] {
1460 background: transparent !important;
1461}
1462
1463[class*="footer___YzBjMm"] {
1464 border-top: 1px solid #808080 !important;
1465 padding-top: 6px !important;
1466}
1467
1468[class*="name___YzBjMm"] {
1469 color: #000000 !important;
1470 text-shadow: none !important;
1471}
1472
1473[class*="category___YzBjMm"] {
1474 color: #800080 !important;
1475 text-transform: uppercase !important;
1476 letter-spacing: 0.05em !important;
1477}
1478
1479[class*="description___YzBjMm"] {
1480 color: #000000 !important;
1481}
1482
1483[class*="statText___YzBjMm"] {
1484 color: #444444 !important;
1485}
1486
1487/* ─────────────────────────────────────────────────
1488 * ADD COMMUNITY MODAL (XzNjNz)
1489 * ───────────────────────────────────────────────── */
1490
1491/* Modal surface already styled via XzA4MW, content area: */
1492[class*="content___XzNjNz"],
1493[class*="landingContainer___XzNjNz"] {
1494 background: #c0c0c0 !important;
1495}
1496
1497[class*="landingContainer___XzNjNz"] p {
1498 color: #000000 !important;
1499}
1500
1501/* Modal header */
1502[class*="layout___XzA4MW"][class*="header___XzA4MW"] {
1503 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
1504 border-bottom: 2px solid #000000 !important;
1505 border-radius: 0 !important;
1506}
1507
1508[class*="headerText___XzA4MW"] h3 {
1509 color: #ffffff !important;
1510 text-shadow: 1px 1px 0 #000040 !important;
1511}
1512
1513/* Close button in modal header */
1514[class*="layout___XzA4MW"][class*="header___XzA4MW"] button {
1515 background: #c0c0c0 !important;
1516 border-top: 2px solid #ffffff !important;
1517 border-left: 2px solid #ffffff !important;
1518 border-bottom: 2px solid #000000 !important;
1519 border-right: 2px solid #000000 !important;
1520 box-shadow: inset -1px -1px 0 #808080 !important;
1521 border-radius: 0 !important;
1522 color: #000000 !important;
1523 width: 16px !important;
1524 height: 14px !important;
1525 min-width: 16px !important;
1526 padding: 0 !important;
1527}
1528
1529[class*="layout___XzA4MW"][class*="header___XzA4MW"] button:hover {
1530 border-top: 2px solid #000000 !important;
1531 border-left: 2px solid #000000 !important;
1532 border-bottom: 2px solid #ffffff !important;
1533 border-right: 2px solid #ffffff !important;
1534}
1535
1536/* Action buttons: Create Community / Join Community / Import Template */
1537button[class*="actionButton___XzNjNz"] {
1538 background: #c0c0c0 !important;
1539 border-top: 2px solid #ffffff !important;
1540 border-left: 2px solid #ffffff !important;
1541 border-bottom: 2px solid #000000 !important;
1542 border-right: 2px solid #000000 !important;
1543 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1544 border-radius: 0 !important;
1545 transition: none !important;
1546}
1547
1548button[class*="actionButton___XzNjNz"]:hover {
1549 background: #c0c0c0 !important;
1550 border-top: 2px solid #000000 !important;
1551 border-left: 2px solid #000000 !important;
1552 border-bottom: 2px solid #ffffff !important;
1553 border-right: 2px solid #ffffff !important;
1554 outline: 1px dotted #800080 !important;
1555 outline-offset: -3px !important;
1556}
1557
1558[class*="actionIcon___XzNjNz"] {
1559 background: #800080 !important;
1560 color: #ffffff !important;
1561 border-radius: 0 !important;
1562 padding: 8px !important;
1563}
1564
1565[class*="actionLabel___XzNjNz"] {
1566 color: #000000 !important;
1567}
1568
1569[class*="actionButtonsGroup___XzNjNz"],
1570[class*="actionButtons___XzNjNz"] {
1571 background: transparent !important;
1572}
1573
1574/* ─────────────────────────────────────────────────
1575 * SETTINGS MODAL
1576 * ───────────────────────────────────────────────── */
1577[class*="container___XzU3Zj"] { background: #c0c0c0 !important; }
1578
1579[class*="desktopSidebar___XzU3Zj"],
1580[class*="desktopSidebarInner___XzU3Zj"] {
1581 background: #c0c0c0 !important;
1582 border-right: 2px solid #808080 !important;
1583}
1584
1585[class*="sidebarCategoryTitle___XzU3Zj"] {
1586 color: #000000 !important;
1587 text-transform: uppercase !important;
1588 border-bottom: 1px solid #808080 !important;
1589}
1590
1591[class*="sidebarItem___XzU3Zj"] {
1592 color: #000000 !important;
1593 border-radius: 0 !important;
1594 background: transparent !important;
1595}
1596
1597[class*="sidebarItem___XzU3Zj"]:hover {
1598 background: #800080 !important;
1599 color: #ffffff !important;
1600}
1601
1602[class*="sidebarItem___XzU3Zj"]:hover * { color: #ffffff !important; }
1603
1604[class*="sidebarItemSelected___XzU3Zj"],
1605[class*="sidebarItemSelected___XzU3Zj"] * {
1606 background: #800080 !important;
1607 color: #ffffff !important;
1608}
1609
1610[class*="sidebarItemDanger___XzU3Zj"] { color: #800000 !important; }
1611
1612[class*="desktopContent___XzU3Zj"],
1613[class*="desktopContentCard___XzU3Zj"],
1614[class*="desktopContentPad___XzU3Zj"] { background: #c0c0c0 !important; }
1615
1616[class*="desktopHeader___XzU3Zj"] {
1617 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
1618 border-bottom: 2px solid #000000 !important;
1619}
1620
1621[class*="title___XzhlMD"],
1622[class*="title___XzhkYm"] {
1623 color: #ffffff !important;
1624}
1625
1626[class*="desktopContent___XzU3Zj"] label,
1627[class*="desktopContent___XzU3Zj"] p,
1628[class*="desktopContent___XzU3Zj"] span,
1629[class*="desktopContent___XzU3Zj"] div {
1630 color: #000000 !important;
1631}
1632
1633[class*="desktopContent___XzU3Zj"] input,
1634[class*="desktopContent___XzU3Zj"] textarea {
1635 background: #ffffff !important;
1636 color: #000000 !important;
1637 -webkit-text-fill-color: #000000 !important;
1638 border-top: 2px solid #808080 !important;
1639 border-left: 2px solid #808080 !important;
1640 border-bottom: 2px solid #dfdfdf !important;
1641 border-right: 2px solid #dfdfdf !important;
1642 border-radius: 0 !important;
1643}
1644
1645[class*="legalLink___ZWQxYT"] { color: #800080 !important; }
1646[class*="sidebarFooter___XzU3Zj"] * { color: #808080 !important; }
1647
1648/* ═══════════════════════════════════════════════════════
1649 * VOICE CONNECTION STATUS AREA (user area / bottom panel)
1650 * ═══════════════════════════════════════════════════════ */
1651
1652[class*="voiceConnectionWrapper___XzEyMT"],
1653[class*="voiceConnectionContainer___XzRiYz"] {
1654 background: #c0c0c0 !important;
1655 border-top: 2px solid #808080 !important;
1656}
1657
1658/* "Voice Connected" status button */
1659[class*="statusRow___XzRiYz"] {
1660 background: transparent !important;
1661}
1662
1663[class*="statusButton___XzRiYz"] {
1664 background: #c0c0c0 !important;
1665 border-top: 2px solid #ffffff !important;
1666 border-left: 2px solid #ffffff !important;
1667 border-bottom: 2px solid #000000 !important;
1668 border-right: 2px solid #000000 !important;
1669 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1670 border-radius: 0 !important;
1671 color: #000000 !important;
1672 transition: none !important;
1673}
1674
1675[class*="statusButton___XzRiYz"]:hover {
1676 border-top: 2px solid #000000 !important;
1677 border-left: 2px solid #000000 !important;
1678 border-bottom: 2px solid #ffffff !important;
1679 border-right: 2px solid #ffffff !important;
1680 outline: 1px dotted #800080 !important;
1681 outline-offset: -3px !important;
1682}
1683
1684/* Signal / ping icon — keep green */
1685[class*="signalIcon___XzRiYz"] {
1686 color: #00aa00 !important;
1687}
1688
1689/* Noise suppression, disconnect, and other control buttons */
1690[class*="controlButton___XzRiYz"],
1691[class*="mediaButton___XzRiYz"] {
1692 background: #c0c0c0 !important;
1693 border-top: 2px solid #ffffff !important;
1694 border-left: 2px solid #ffffff !important;
1695 border-bottom: 2px solid #000000 !important;
1696 border-right: 2px solid #000000 !important;
1697 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1698 border-radius: 0 !important;
1699 color: #000000 !important;
1700 transition: none !important;
1701}
1702
1703[class*="controlButton___XzRiYz"]:hover,
1704[class*="mediaButton___XzRiYz"]:hover {
1705 background: #c0c0c0 !important;
1706 border-top: 2px solid #000000 !important;
1707 border-left: 2px solid #000000 !important;
1708 border-bottom: 2px solid #ffffff !important;
1709 border-right: 2px solid #ffffff !important;
1710}
1711
1712/* Connection info text: channel name, connection ID */
1713[class*="connectionInfo___XzRiYz"],
1714[class*="channelSourceLink___XzRiYz"],
1715[class*="connectionIdValue___XzRiYz"] {
1716 color: #000000 !important;
1717 text-shadow: none !important;
1718}
1719
1720[class*="channelSourceLink___XzRiYz"] {
1721 color: #800080 !important;
1722 text-decoration: underline !important;
1723}
1724
1725/* Avatar stack (participant mini-avatars) */
1726[class*="channelAvatarStack___XzRiYz"] {
1727 background: transparent !important;
1728}
1729
1730/* ═══════════════════════════════════════════════════════
1731 * VOICE CALL PARTICIPANT GRID
1732 * ═══════════════════════════════════════════════════════ */
1733
1734/* Root view — match chat wallpaper */
1735[class*="root___XzdmOG"] {
1736 background: black !important;
1737}
1738
1739[class*="mainContent___XzdmOG"] {
1740 background: transparent !important;
1741}
1742
1743/* Grid viewport */
1744[class*="gridViewport___XzYwZT"],
1745[class*="grid___XzYwZT"] {
1746 background: transparent !important;
1747}
1748
1749/* Individual participant tiles */
1750[class*="gridItem___XzYwZT"] {
1751 background: transparent !important;
1752}
1753
1754[class*="lkParticipantTile___XzdmOG"] {
1755 background: #c0c0c0 !important;
1756 border-top: 2px solid #ffffff !important;
1757 border-left: 2px solid #ffffff !important;
1758 border-bottom: 2px solid #000000 !important;
1759 border-right: 2px solid #000000 !important;
1760 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1761 border-radius: 0 !important;
1762}
1763
1764/* Avatar placeholder background inside tile */
1765[class*="lkParticipantPlaceholder___XzdmOG"] {
1766 background: #a0a0a0 !important;
1767 border-radius: 0 !important;
1768}
1769
1770/* Avatar ring */
1771[class*="avatarRing___XzdmMT"] {
1772 border-color: #800080 !important;
1773 border-radius: 50% !important;
1774}
1775
1776/* Name / metadata overlay at bottom of tile */
1777[class*="lkParticipantMetadata___XzdmOG"] {
1778 background: linear-gradient(transparent, rgba(0,0,0,0.6)) !important;
1779}
1780
1781[class*="participantNameText___XzdmMT"] {
1782 color: #ffffff !important;
1783 text-shadow: 1px 1px 0 #000000 !important;
1784}
1785
1786[class*="participantConnectionText___XzdmMT"] {
1787 color: #c0c0c0 !important;
1788 text-shadow: 1px 1px 0 #000000 !important;
1789}
1790
1791/* Per-tile context menu button */
1792[class*="menuButton___XzdmMT"] {
1793 background: #c0c0c0 !important;
1794 border-top: 2px solid #ffffff !important;
1795 border-left: 2px solid #ffffff !important;
1796 border-bottom: 2px solid #000000 !important;
1797 border-right: 2px solid #000000 !important;
1798 border-radius: 0 !important;
1799 color: #000000 !important;
1800 transition: none !important;
1801}
1802
1803/* Bottom control bar */
1804[class*="container___XzgyOT"] {
1805 background: #c0c0c0 !important;
1806 border-top: 2px solid #808080 !important;
1807 box-shadow: none !important;
1808}
1809
1810[class*="button___XzgyOT"] {
1811 background: #c0c0c0 !important;
1812 border-top: 2px solid #ffffff !important;
1813 border-left: 2px solid #ffffff !important;
1814 border-bottom: 2px solid #000000 !important;
1815 border-right: 2px solid #000000 !important;
1816 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1817 border-radius: 0 !important;
1818 color: #000000 !important;
1819 transition: none !important;
1820}
1821
1822[class*="button___XzgyOT"]:hover {
1823 background: #c0c0c0 !important;
1824 border-top: 2px solid #000000 !important;
1825 border-left: 2px solid #000000 !important;
1826 border-bottom: 2px solid #ffffff !important;
1827 border-right: 2px solid #ffffff !important;
1828 outline: 1px dotted #800080 !important;
1829 outline-offset: -3px !important;
1830}
1831
1832/* Muted state — sunken/pressed button */
1833[class*="buttonMuted___XzgyOT"] {
1834 background: #c0c0c0 !important;
1835 border-top: 2px solid #000000 !important;
1836 border-left: 2px solid #000000 !important;
1837 border-bottom: 2px solid #ffffff !important;
1838 border-right: 2px solid #ffffff !important;
1839 box-shadow: inset 1px 1px 0 #808080 !important;
1840 color: #800000 !important;
1841}
1842
1843/* Settings caret buttons */
1844[class*="settingsButton___XzgyOT"] {
1845 background: #c0c0c0 !important;
1846 border-top: 2px solid #ffffff !important;
1847 border-left: 2px solid #ffffff !important;
1848 border-bottom: 2px solid #000000 !important;
1849 border-right: 2px solid #000000 !important;
1850 border-radius: 0 !important;
1851 color: #000000 !important;
1852 transition: none !important;
1853}
1854
1855/* Disconnect button — red W95 style */
1856[class*="button___XzgyOT"][class*="disconnect"],
1857[class*="button___XzgyOT"][aria-label*="Disconnect"],
1858[class*="button___XzgyOT"][aria-label*="disconnect"] {
1859 background: #c0c0c0 !important;
1860 color: #800000 !important;
1861 border-top: 2px solid #ffffff !important;
1862 border-left: 2px solid #ffffff !important;
1863 border-bottom: 2px solid #000000 !important;
1864 border-right: 2px solid #000000 !important;
1865}
1866
1867/* Fullscreen button */
1868[class*="fullscreenButtonWrap___XzdmOG"] button {
1869 background: #c0c0c0 !important;
1870 border-top: 2px solid #ffffff !important;
1871 border-left: 2px solid #ffffff !important;
1872 border-bottom: 2px solid #000000 !important;
1873 border-right: 2px solid #000000 !important;
1874 border-radius: 0 !important;
1875 color: #000000 !important;
1876 transition: none !important;
1877}
1878
1879/* Grey divider bar fix — any horizontal rule or separator in the voice view */
1880[class*="root___XzdmOG"] hr,
1881[class*="root___XzdmOG"] [class*="separator"],
1882[class*="root___XzdmOG"] [class*="divider"] {
1883 background: #808080 !important;
1884 border: none !important;
1885 height: 2px !important;
1886}
1887
1888/* ══════════════════════════����═══════════════════════════
1889 * PICTURE-IN-PICTURE STREAMING OVERLAY
1890 * ═══════════════════════════════════════════════════════ */
1891
1892[class*="container___ZjM0OD"] {
1893 background: #c0c0c0 !important;
1894 border-top: 2px solid #ffffff !important;
1895 border-left: 2px solid #ffffff !important;
1896 border-bottom: 2px solid #000000 !important;
1897 border-right: 2px solid #000000 !important;
1898 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1899 border-radius: 0 !important;
1900}
1901
1902/* Frozen/paused frame */
1903[class*="frozenFrame___ZjM0OD"] {
1904 border-radius: 0 !important;
1905 opacity: 0.7 !important;
1906}
1907
1908/* Paused overlay */
1909[class*="previewPausedOverlay___ZjM0OD"] {
1910 background: rgba(192, 192, 192, 0.92) !important;
1911 border-radius: 0 !important;
1912}
1913
1914[class*="previewPausedIcon___ZjM0OD"] {
1915 color: #800080 !important;
1916}
1917
1918[class*="previewPausedTextWrap___ZjM0OD"],
1919[class*="previewPausedTextWrap___ZjM0OD"] * {
1920 color: #000000 !important;
1921 text-shadow: none !important;
1922}
1923
1924/* Hover overlay — header gradient */
1925[class*="hoverOverlay___ZjM0OD"] {
1926 background: transparent !important;
1927}
1928
1929[class*="headerGradient___ZjM0OD"] {
1930 background: linear-gradient(180deg, rgba(0,0,128,0.9) 0%, transparent 100%) !important;
1931}
1932
1933[class*="headerContent___ZjM0OD"] {
1934 background: transparent !important;
1935}
1936
1937/* "Return to call" button */
1938[class*="returnToCallButton___ZjM0OD"] {
1939 background: #c0c0c0 !important;
1940 border-top: 2px solid #ffffff !important;
1941 border-left: 2px solid #ffffff !important;
1942 border-bottom: 2px solid #000000 !important;
1943 border-right: 2px solid #000000 !important;
1944 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
1945 border-radius: 0 !important;
1946 transition: none !important;
1947}
1948
1949[class*="returnToCallButton___ZjM0OD"]:hover {
1950 border-top: 2px solid #000000 !important;
1951 border-left: 2px solid #000000 !important;
1952 border-bottom: 2px solid #ffffff !important;
1953 border-right: 2px solid #ffffff !important;
1954}
1955
1956[class*="returnToCallLabel___ZjM0OD"] {
1957 color: #000000 !important;
1958}
1959
1960[class*="returnToCallIcon___ZjM0OD"] {
1961 color: #800080 !important;
1962}
1963
1964/* Close button (X) */
1965[class*="closeButton___ZjM0OD"] {
1966 background: #c0c0c0 !important;
1967 border-top: 2px solid #ffffff !important;
1968 border-left: 2px solid #ffffff !important;
1969 border-bottom: 2px solid #000000 !important;
1970 border-right: 2px solid #000000 !important;
1971 border-radius: 0 !important;
1972 color: #000000 !important;
1973 width: 16px !important;
1974 height: 14px !important;
1975 min-width: 16px !important;
1976 padding: 0 !important;
1977 transition: none !important;
1978}
1979
1980[class*="closeButton___ZjM0OD"]:hover {
1981 border-top: 2px solid #000000 !important;
1982 border-left: 2px solid #000000 !important;
1983 border-bottom: 2px solid #ffffff !important;
1984 border-right: 2px solid #ffffff !important;
1985}
1986
1987/* Footer gradient + streamer name */
1988[class*="footerGradient___ZjM0OD"] {
1989 background: linear-gradient(0deg, rgba(0,0,128,0.9) 0%, transparent 100%) !important;
1990}
1991
1992[class*="footerContent___ZjM0OD"] {
1993 background: transparent !important;
1994}
1995
1996[class*="streamerName___ZjM0OD"] {
1997 color: #ffffff !important;
1998 text-shadow: 1px 1px 0 #000000 !important;
1999}
2000
2001/* Resize handles — W95 style gripper dots */
2002[class*="resizeHandleTop___ZjM0OD"],
2003[class*="resizeHandleBottom___ZjM0OD"],
2004[class*="resizeHandleLeft___ZjM0OD"],
2005[class*="resizeHandleRight___ZjM0OD"],
2006[class*="resizeHandleTopLeft___ZjM0OD"],
2007[class*="resizeHandleTopRight___ZjM0OD"],
2008[class*="resizeHandleBottomLeft___ZjM0OD"],
2009[class*="resizeHandleBottomRight___ZjM0OD"] {
2010 background: transparent !important;
2011 border: none !important;
2012}
2013
2014[class*="resizeHandleBottomRight___ZjM0OD"] {
2015 background-image: radial-gradient(circle, #808080 1px, transparent 1px) !important;
2016 background-size: 3px 3px !important;
2017 background-position: bottom right !important;
2018 background-repeat: repeat !important;
2019 width: 12px !important;
2020 height: 12px !important;
2021}
2022
2023
2024/* ═══════════════════════════════════════════════════════
2025 * WINDOWS SPLASH / LOADING SCREEN
2026 * ═══════════════════════════════════════════════════════ */
2027
2028[class*="splashOverlay___ZTBkMm"] {
2029 background: black !important; /* Storm (VGA) only had a black desktop */
2030 display: flex !important;
2031 align-items: center !important;
2032 justify-content: center !important;
2033}
2034
2035[class*="topDragRegion___ZTBkMm"] {
2036 background: transparent !important;
2037}
2038
2039/* The window itself */
2040[class*="splashContent___ZTBkMm"] {
2041 background: #c0c0c0 !important;
2042 border-top: 2px solid #ffffff !important;
2043 border-left: 2px solid #ffffff !important;
2044 border-bottom: 2px solid #000000 !important;
2045 border-right: 2px solid #000000 !important;
2046 box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
2047 border-radius: 0 !important;
2048 padding: 0 !important;
2049 width: 420px !important;
2050 display: flex !important;
2051 flex-direction: column !important;
2052 overflow: visible !important;
2053}
2054
2055/* Title bar via ::before */
2056[class*="splashContent___ZTBkMm"]::before {
2057 content: "Fluxer" !important;
2058 display: flex !important;
2059 width: 99%;
2060 align: left !important;
2061 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
2062 color: #ffffff !important;
2063 padding: 3px 4px 3px 6px !important;
2064 text-shadow: 1px 1px 0 #000040 !important;
2065 flex-shrink: 0 !important;
2066 letter-spacing: 0 !important;
2067}
2068
2069/* Icon area */
2070
2071/* Hide the Fluxer SVG icon pulse */
2072[class*="iconPulse___ZTBkMm"] {
2073 display: none !important;
2074}
2075
2076/* Wordmark removed — logo image contains the text */
2077[class*="iconWrapper___ZTBkMm"]::after {
2078 content: none !important;
2079 display: none !important;
2080}
2081
2082/* Quote / status area */
2083[class*="quoteContainer___ZTBkMm"] {
2084 background: #c0c0c0 !important;
2085 padding: 10px 14px !important;
2086 border-bottom: 1px solid #808080 !important;
2087 display: flex !important;
2088 flex-direction: column !important;
2089 gap: 4px !important;
2090}
2091
2092[class*="quoteLink___ZTBkMm"] {
2093 color: #000000 !important;
2094 text-decoration: none !important;
2095}
2096
2097[class*="incidentCta___ZTBkMm"] {
2098 color: #800080 !important;
2099 text-decoration: underline !important;
2100}
2101
2102/* "Connecting" + progress bar */
2103[class*="connectionStatus___ZTBkMm"] {
2104 background: #c0c0c0 !important;
2105 color: #000000 !important;
2106 text-transform: uppercase !important;
2107 letter-spacing: 0.05em !important;
2108 padding: 8px 14px 10px !important;
2109 margin: 0 !important;
2110 text-align: left !important;
2111}
2112
2113[class*="connectionStatus___ZTBkMm"]::after {
2114 content: "" !important;
2115 display: block !important;
2116 margin-top: 6px !important;
2117 height: 16px !important;
2118 background: repeating-linear-gradient(
2119 90deg,
2120 #800080 0px,
2121 #800080 10px,
2122 #c0c0c0 10px,
2123 #c0c0c0 12px
2124 ) !important;
2125 border-top: 2px solid #808080 !important;
2126 border-left: 2px solid #808080 !important;
2127 border-bottom: 2px solid #ffffff !important;
2128 border-right: 2px solid #ffffff !important;
2129 animation: w98progress 1.4s steps(10, end) infinite !important;
2130 background-size: 220% 100% !important;
2131}
2132
2133@keyframes w98progress {
2134 0% { background-position: 0% 0%; }
2135 100% { background-position: -100% 0%; }
2136}
2137
2138
2139/* Desktop client title bar */
2140
2141[class*="NativeTitlebar"][class*="module__titlebar"] {
2142 background: linear-gradient(90deg, #800080 0%, #388cb0 100%) !important;
2143 /* border-bottom: 1px solid #0e264a !important; */
2144 padding: 0 7px !important;
2145}
2146
2147/* Fluxer wordmark inside title bar */
2148[class*="NativeTitlebar"][class*="module__wordmark"] {
2149 color: #ffffff !important;
2150 /* filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5)) !important; */
2151}
2152
2153