/** * @name DIALOGUE.386 * @description A late 80s to early 90s TUI-style theme with B612 Mono based on System-Glass (system24) Theme by Deer ♡ * @basetheme dark * @author jce:2492 * @invite https://fluxer.gg/themes */ body { container-name: body; /* ----------------------------------------------------------------------- */ /* Toggles /* ----------------------------------------------------------------------- */ /* decide if you want square or rounded avatars. | Options: off, on | Recommended: on */ --SquareAvatars: on; /* set the user online status appearance. outlines look better with square avatars, but only in the desktop client. | Options: off, on | Recommended: on */ --OutlineOnlineStatus: on; /* decide if you want bubbles to highlight message groups. | Options: off, on | Currently broken /* see also: --ThemeMessageBubbleColor */ --MessageBubbles: off; /* decide if you want panel labels. looks better without a background image | Options: off, on | Currently broken */ --ThemePanelLabels: off; /* overwrites fluxer's panel rounding in most places | Options: off, on | Recommended: off /* see also: --ThemeRoundingMultiplier */ --UseDefaultRounding: off; /* decide if you want to disable some additional animations added by the theme | Options: off, on | Recommended: off */ --ExtraAnimations: off; /* set a custom app icon in the top left corner | Options: off, on */ --CustomAppIcon: off; /* link to your custom icon. currently it HAS to be hosted on fluxer's servers */ --ThemeCustomIconUrl: url(''); /* [Experimental] Controls the server list position, only works in the desktop client for now. | Options: off | on */ --Horizontal-Serverlist: off; /* Controls the server list alignment. only works with horizontal serverlist enabled | Options: left | center | right */ --Serverlist-Alignment: left; } :root { /* ----------------------------------------------------------------------- */ /* Colors & default theme overrides /* ----------------------------------------------------------------------- */ --brand-primary: #00ff00; --brand-secondary: #00aa00; --ThemeMessageBubbleColor: #cacaca; --ThemeFlatPrimary: #000071; --ThemeFlatLighter: #5500ff; --ThemeFlatDarker: black; --ThemeDarkenLight: #000071; --ThemeDarkenMedium: #c0c0c088; --ThemeBrightenLight: rgba(255, 255, 255, .06); --ThemeBrightenMedium: rgba(255, 255, 255, .15); /* color overrides */ --background-primary: var(--ThemeFlatDarker); --background-secondary: var(--ThemeFlatPrimary); --background-secondary-alt: var(--ThemeFlatLighter); /* mainly used in for mobile view*/ --background-tertiary: var(--ThemeFlatLighter); /* mainly used in for mobile view*/ --background-textarea: var(--ThemeDarkenLight); /* used in search bars */ --status-danger: #ff0055; /* notification badges */ /* ----------------------------------------------------------------------- */ /* Fonts & Text /* ----------------------------------------------------------------------- */ /* change to '' for Fluxer's default font */ --font-sans: 'B612 Mono', monospace; /* change to '' for fluxer's default font */ --font-mono: 'B612 Mono', monospace; /* 300 is light, 400 is normal. DOES NOT AFFECT BOLD TEXT */ font-weight: 500; /* decreases letter spacing for better readability. recommended on monospace fonts.*/ letter-spacing: -0.03ch; /* ----------------------------------------------------------------------- */ /* Background /* ----------------------------------------------------------------------- */ /* Background Image | fluxer currently only allows using images hosted on their own servers. /* theres a list of presets further below, named --bg-1 to --bg-5. of course, you can also use your own images. */ --background-image: var(--bg-2); /* fallback color behind the background image. can be used to give your bg image a tint */ --ThemeBackgroundColor: #b8b8b8; /* Image position | center, left, right, bottom, top */ --backgroundPosition: top; /* 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 */ --backgroundSize: cover; /* if you want the image to repeat */ --backgroundRepeat: no-repeat; /* Set to 0 to remove blur. i recommend leaving this off and tweaking --ThemePanelBlur instead */ --backgroundBlur: 0px; /* 0 is fully transparent, 1 is fully opaque */ --backgroundOpacity: 0; /* ----------------------------------------------------------------------- */ /* panels /* ----------------------------------------------------------------------- */ /* gap between panels */ --ThemePanelMargin: 16px; /* panel */ --ThemePanelBGColor: var(--ThemeDarkenLight); /* panel hovered */ /* --ThemePanelBGColorHovered: hsl(0, 0%, 10%); */ /* background color for tooltips, context panels etc */ --ThemePanelContextBGColor: #5500aa; /* background color for media picker, notification inbox, search filters, pins etc */ --ThemePanelModalBGColor: #aa00aa; /* panel border thickness */ --ThemePanelBorderThickness: 6px; /* panel border rounding */ --ThemePanelBorderRounding: 0px; /* panel border color (not hovered) */ --ThemePanelBorderColor: white; /* panel border color (hovered) */ /* --ThemePanelBorderColorHovered: var(--brand-primary); */ /* panel shadows */ --ThemePanelShadow: 10px 10px rgb(0, 0, 0, 0.8); /* you can ignore these */ --ThemePanelBorder: var(--ThemePanelBorderThickness) double var(--ThemePanelBorderColor); --ThemePanelBorderHovered: var(--ThemePanelBorderThickness) solid var(--ThemePanelBorderColorHovered); /* ----------------------------------------------------------------------- */ /* rounding /* ----------------------------------------------------------------------- */ /* change this value to control the ui's overall rounding strength * 1 is the default, 0 removes most rounding. */ --ThemeRoundingMultiplier: 0; /* leave these alone unless you know what youre doing */ --radius-sm: calc(0.25rem * var(--ThemeRoundingMultiplier)); --radius-md: calc(0.375rem * var(--ThemeRoundingMultiplier)); --radius-lg: calc(0.5rem * var(--ThemeRoundingMultiplier)); --radius-xl: calc(0.75rem * var(--ThemeRoundingMultiplier)); --radius-2xl: calc(1rem * var(--ThemeRoundingMultiplier)); --radius-full: calc(9999px * var(--ThemeRoundingMultiplier)); --media-border-radius: calc(4px * var(--ThemeRoundingMultiplier)); --message-reply-spine-radius: calc(6px * var(--ThemeRoundingMultiplier)); /* set universal border rounding */ /* * { border-radius: var(--ThemePanelBorderRounding) !important; } */ /* ----------------------------------------------------------------------- */ /* background presets (credits to ThaSilentArtist) /* ----------------------------------------------------------------------- */ --bg-1: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481279988511911959/41511cd77e70.png"); --bg-2: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481670714326512122/a8082672504ec71.gif"); --bg-3: url("https://fluxerusercontent.com/attachments/1474610319297830991/1481671197485134759/rocket_thasilentartist.png"); } /* ################################################################################################# */ /* ################################################################################################# */ /* ################################################################################################# */ /* ---------------------------------------------------------------- */ /* basic setup */ /* ---------------------------------------------------------------- */ html { background: var(--ThemeBackgroundColor); opacity: 1; background-image: radial-gradient(var(--ThemeFlatPrimary) 2px, var(--ThemeBackgroundColor) 2px); background-size: 4px 4px; } /* prevent background turning black in mobile view */ body { background: transparent!important; } /* this holds the background image */ body::before { content: ""; position: fixed; inset: 0; background: var(--background-image); background-size: var(--backgroundSize); background-position: var(--backgroundPosition); background-repeat: var(--backgroundRepeat); filter: blur(var(--backgroundBlur)); opacity: var(--backgroundOpacity); z-index: -1; } /* remove backgrounds. this is safer than overwriting the color variables directly */ html:not(.auth-page) [class*="App.module__appContainer_"], [class*="App.module__appContainer_"], [class*="GuildsLayout.module__guildsLayoutContainer_"], [class*="GuildsLayout.module__guildListScrollContainer_"], [class*="GuildsLayout.module__contentContainer_"], [class*="UserArea.module__userAreaInnerWrapper_"], [class*="OutlineFrame.module__frame_"], [class*="GuildsLayout.module__contentInner_"], [class*="GuildLayout.module__guildLayoutContainer_"], [class*="ChannelListContent.module__channelListScroller_"], [class*="GuildLayout.module__guildMainContent_"], [class*="ChannelLayout.module__channelLayoutContainer_"], [class*="ChannelIndexPage.module__channelGrid_"], [class*="ChannelHeader.module__headerContainer_"], [class*="ChannelChatLayout.module__container_"], [class*="InputWrapper.module__box_"], [class*="GuildHeader.module__headerContainer_"], [class*="DMLayout.module__dmLayoutContainer_"], [class*="DMList.module__dmListContainer_"], [class*="DMList.module__dmListHeader_"], [class*="DMList.module__desktopScroller_"], [class*="DMList.module__dmChannelList_"], [class*="DMLayout.module__contentColumn_"], [class*="DMLayout.module__contentInner_"], [class*="DMFriendsView.module__container_"], [class*="UserProfileModal.module__modalContainer_"], [class*="Divider.module__text_"], [class*="Divider.module__dateWithUnreadText_"], [class*="SplashScreen.module__splashOverlay_"], [class*="MobileTextareaLayout.module__mobilePlusButton_"], [class*="MobileTextareaLayout.module__mobileInputContainer_"], [class*="MobileTextareaLayout.module__mobileVoiceButton_"], [class*="ChannelHeader.module__iconButtonMobile_"], [class*="NotificationsPage.module__container_"], [class*="SelectBottomSheet.module__trigger_"], [class*="NotificationsPage.module__bookmarkButton_"], [class*="YouPage.module__profile_"], [class*="YouPage.module__noteIconWrapper_"], [class*="DMList.module__mobileContainer_"], [class*="DMList.module__mobileScroller_"], [class*="DMList.module__mobileHeaderButton_"], [class*="DMList.module__mobileAddFriendButton_"], [class*="MemberListContainer.module__memberListScroller_"], [class*="ChannelSearchResults.module__container_"], [class*="GuildNavbarSkeleton.module__skeletonHeader_"] { background: transparent; } /* ---------------------------------------------------------------- */ /* panel scaling fixes | setup to ensure proper scaling with custom area margins /* ---------------------------------------------------------------- */ /* server list container */ [class*="GuildsLayout.module__guildListScrollerWrapper_"], /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"], /* server channel list skeleton */ [class*="GuildNavbarSkeleton.module__skeletonContainer_"], /* dm list container */ [class*="DMLayout.module__dmListColumn_"] { width: -webkit-fill-available; height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2); } /* self status */ [class*="GuildsLayout.module__userAreaWrapper_"] { width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + var(--ThemePanelMargin)); } /* channel header to message list */ [class*="ChannelIndexPage.module__channelGrid_"] { display: flex; flex-direction: column; } /* typing users list [class*="ChannelChatLayout.module__typingArea_"] { height: fit-content; transition-property: height; transition-duration: 0.3s; } */ /* self profile popout */ [class*="UserAreaPopout.module__container_"] { width: inherit; } /* ---------------------------------------------------------------- */ /* panel gaps/margins /* ---------------------------------------------------------------- */ /* whole ui app layout container */ [class*="AppLayout.module__appLayout_"] { padding: var(--ThemePanelMargin); gap: var(--ThemePanelMargin); } /* whole ui layout container */ [class*="GuildsLayout.module__guildsLayoutContainer_"], /* whole ui content container */ [class*="GuildsLayout.module__contentContainer_"], /* dm area container */ [class*="DMLayout.module__dmLayoutContainer_"], /* channel header to message list */ [class*="ChannelIndexPage.module__channelGrid_"], /* messages to text input */ [class*="ChannelChatLayout.module__container_"], /* server area container */ [class*="GuildLayout.module__guildLayoutContent_"], /* friendslist to active panel */ [class*="DMFriendsView.module__container_"], /* friendslist header & friendslist */ [class*="DMFriendsView.module__mainColumn_"], /* mobile notifications page header to notifs */ [class*="NotificationsPage.module__container_"] { gap: var(--ThemePanelMargin); } /* messages to text input | correcting for the typing members section */ [class*="ChannelChatLayout.module__container_"] { gap: calc(var(--ThemePanelMargin) / 2); } /* these require a margin because using gap leaves a gap even when those panels are hidden. */ /* message list to member list */ [class*="MemberListContainer.module__memberListContainer_"], /* message list to search results */ [class*="ChannelIndexPage.module__searchPanel_"] { margin-left: var(--ThemePanelMargin); margin-right: var(--ThemePanelMargin); width: calc(100% - var(--ThemePanelMargin)); } /* server list */ [class*="GuildsLayout.module__guildListScrollContainer_"] { padding-top: var(--spacing-2); } /* ordered list fix */ [class*="Markup.module__markup_"] ol { -webkit-margin-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em); margin-inline-start: calc(1.4em + var(--totalCharacters, 1) * 0.6em); } /* unordered list fix */ [class*="Markup.module__markup_"] ul { -webkit-margin-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em); margin-inline-start: calc(0.8em + var(--totalCharacters, 1) * 0.6em); } /* ---------------------------------------------------------------- */ /* panel borders /* ---------------------------------------------------------------- */ /* remove default panel dividers */ [class*="UserArea.module__separator_"], [class*="OutlineFrame.module__divider_"], [class*="ChannelIndexPage.module__memberListDivider_"] { display: none; } /* remove default panel borders */ [class*="ActiveNowSidebar.module__sidebar_"], [class*="OutlineFrame.module__frame_"] { border: none; } /* loading splashscreen */ [class*='SplashScreen.module__splashContent_'], /* server sidebar */ [class*="GuildsLayout.module__guildListScroller"], /* dm list */ [class*="DMLayout.module__dmListColumn_"], /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"], /* self status */ [class*="GuildsLayout.module__userAreaWrapper_"], /* channel header */ [class*="ChannelHeader.module__headerWrapper_"], /* channel member list */ [class*="MemberListContainer.module__memberListContainer_"], /* friendslist */ [class*='DMFriendsView.module__content_'], /* friendslist active now panel */ [class*="ActiveNowSidebar.module__sidebar_"], /* search results */ [class*="ChannelIndexPage.module__searchPanel_"], /* settings panel */ [class*="Modal.module__root_"], /* VC panel */ [class*="VoiceCallView.module__root_"], /* VC panel empty */ [class*="ChannelIndexPage.module__emptyStateContent_"], /* server member page */ [class*="GuildMembersPage.module__pageContainer_"], /* mobile bottom nav */ [class*="MobileBottomNav.module__container_"], /* mobile notifications page header */ [class*="NotificationsPage.module__header_"], /* mobile notifications page content */ [class*="NotificationsPage.module__content_"], /* mobile own profile page */ [class*="YouPage.module__container_"], /* server discovery explore page */ [class*="DiscoveryPage.module__container_"], /* auth page */ [class*="AuthLayout.module__card_"], /* server unavailable */ [class*="GuildLayout.module__guildUnavailableContainer_"], /* server unavailable channels skeleton */ [class*="GuildNavbarSkeleton.module__skeletonContainer_"] { border: var(--ThemePanelBorder)!important; border-radius: var(--ThemePanelBorderRounding)!important; backdrop-filter: blur(var(--ThemePanelBlur)) !important; -webkit-backdrop-filter: blur(var(--ThemePanelBlur)) !important; background: var(--ThemePanelBGColor)!important; transition: var(--transition-slow); box-shadow: var(--ThemePanelShadow)!important; } /* channel message container */ [class*="ChannelChatLayout.module__messagesArea_"], /* chat input area */ [class*='ChannelChatLayout\.module__textareaArea_'] { border: var(--ThemePanelBorder)!important; border-radius: var(--ThemePanelBorderRounding)!important; backdrop-filter: blur(var(--ThemePanelBlur))!important; -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important; background: var(--ThemeFlatDarker)!important; transition: var(--transition-slow); box-shadow: none !important; } [class*="ChannelChatLayout.module__messagesArea___"] { background: var(--ThemeFlatDarker); } [class*='ChannelChatLayout\.module__textareaArea_'], [class*="TextareaInput.module__textarea___"], [class*="TextareaButton.module__button___"] { background: #aa0000 !important; color: #ffff00 !important; } /* area borders hovered */ /* loading splashscreen */ [class*='SplashScreen.module__splashContent_']:hover, /* server sidebar */ [class*="GuildsLayout.module__guildListScroller"]:hover, /* dm list */ [class*="DMLayout.module__dmListColumn_"]:hover, /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"]:hover, /* self status */ [class*="GuildsLayout.module__userAreaWrapper_"]:hover, /* channel header */ [class*="ChannelHeader.module__headerWrapper_"]:hover, /* channel member list */ [class*="MemberListContainer.module__memberListContainer_"]:hover, /* channel message container */ [class*="ChannelChatLayout.module__messagesArea_"]:hover, /* chat input area */ [class*='ChannelChatLayout\.module__textareaArea_']:hover, /* friendslist */ [class*='DMFriendsView.module__content_']:hover, /* friendslist active now panel */ [class*="ActiveNowSidebar.module__sidebar_"]:hover, /* search results */ [class*="ChannelIndexPage.module__searchPanel_"]:hover, /* settings panel */ [class*="Modal.module__root_"]:hover, /* VC panel */ [class*="VoiceCallView.module__root_"]:hover, /* VC panel empty */ [class*="ChannelIndexPage.module__emptyStateContent_"]:hover, /* server member page */ [class*="GuildMembersPage.module__pageContainer_"]:hover, /* mobile bottom nav */ [class*="MobileBottomNav.module__container_"]:hover, /* mobile notifications page header */ [class*="NotificationsPage.module__header_"]:hover, /* mobile notifications page content */ [class*="NotificationsPage.module__content_"]:hover, /* mobile own profile page */ [class*="YouPage.module__container_"]:hover, /* server discovery explore page */ [class*="DiscoveryPage.module__container_"]:hover, /* auth page */ [class*="AuthLayout.module__card_"]:hover, /* server unavailable */ [class*="GuildLayout.module__guildUnavailableContainer_"]:hover, /* server unavailable channels skeleton */ [class*="GuildNavbarSkeleton.module__skeletonContainer_"]:hover { background: var(--ThemePanelBGColor); border: var(--ThemePanelBorder)!important; transition: var(--transition-fast); } /* channel message container */ [class*="ChannelChatLayout.module__messagesArea_"]:hover, /* chat input area */ [class*='ChannelChatLayout\.module__textareaArea_']:hover { border: double yellow 6px !important; } /* hide Fluxer logo pulse */ [class*="iconPulse___"] { display: none !important; } /* ---------------------------------------------------------------- */ /* settings menu /* ---------------------------------------------------------------- */ /* settings menu backdrop */ [class*="Modal.module__modalBackdrop_"] { backdrop-filter: blur(var(--ThemePanelBlur)); opacity: 1!important; background: var(--ThemeDarkenMedium); } /* settings menu panel */ [class*="Modal.module__root_"] { background-color: var(--ThemeDarkenMedium); background-color: var(--ThemeFlatPrimary)!important; } /* ---------------------------------------------------------------- */ /* dm list /* ---------------------------------------------------------------- */ /* dm list users */ [class*='DMList.module__dmItem_'] { background: rgba(var(--brand-secondary), 0.8)!important; transition: var(--transition-normal); margin: 0px 6px 6px -2px !important; width: calc(100% - 8px) !important; } /* dm list users hover*/ [class*='DMList.module__dmItem_']:hover { background: var(--brand-primary)!important; color: black !important; transition-duration: 0.0s; } /* dm list active user */ [class*='DMList.module__dmItemSelected_'] { background: var(--brand-primary)!important; background: #ffffff21!important; color: black !important; } [class*='DMList.module__dmItemSelected_']:hover { filter: brightness(1.2); } /* ---------------------------------------------------------------- */ /* markup /* ---------------------------------------------------------------- */ /*block quote & markup alert panels */ [class*="Markup.module__blockquoteContainer_"], [class*="Markup.module__alert_"] { background: linear-gradient( 90deg, color-mix(in srgb, var(--brand-secondary) 50%, transparent), transparent )!important; } /* alert divider line */ [class*="Markup.module__alert_"]::before { border-radius: calc(4px * var(--ThemeRoundingMultiplier))!important; } /* blockquote divider line */ [class*="Markup.module__blockquoteDivider_"] { background-color: var(--brand-primary) !important; } /* ---------------------------------------------------------------- */ /* modals /* ---------------------------------------------------------------- */ /* NOTE: backdrop filter doesnt work on these panels. might reconsider re-adding backdropfilter to their parent Popout.module__popout_ */ /* media picker*/ [class*='ExpressionPickerPopout.module__container_'], /* channel pins*/ [class*='ChannelPinsPopout.module__container_'], /* right click side subpanel | its inconsistent whether or not backdrop-filter works on these */ [class*='ContextMenu.module__submenuPopover_'], /* searchbar filter list */ [class*="MessageSearchBar.module__popoutContainer_"], /* settings profile profile type dropdown */ .css-206gj2-menu, /* notifications inbox */ [class*='InboxPopout.module__container_'], /* profile card */ [class*='ProfileCardLayout.module__profileCard_'], /* server options context panel */ [class*='GuildHeaderPopout.module__container_'] { background-color: var(--ThemePanelModalBGColor)!important; border: var(--ThemePanelBorder)!important; border-radius: var(--ThemePanelBorderRounding)!important; box-shadow: var(--ThemePanelShadow)!important; } /* ---------------------------------------------------------------- */ /* context panels /* ---------------------------------------------------------------- */ /* emoji tooltip */ [class*="EmojiTooltipContent.module__container_"], /* tooltip panels */ [class*="Tooltip.module__tooltip_"] { backdrop-filter: blur(var(--ThemePanelBlurSmall)); background: var(--ThemePanelContextBGColor)!important; box-shadow: var(--ThemePanelShadow)!important; border-radius: var(--ThemePanelBorderRounding)!important; } /* emoji autocomplete */ [class*="Autocomplete.module__container_"] { border-left: unset!important; border-right: unset!important; border-bottom: unset!important; border-radius: calc(var(--ThemePanelBorderRounding) - var(--ThemePanelBorderThickness))!important; top: calc(0px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)*2)!important; backdrop-filter: blur(var(--ThemePanelBlurSmall)); background: var(--ThemePanelContextBGColor); } /* right click context menu */ [class*='module__contextMenu_'], /* vc stats info panel */ [class*='VoiceStatsOverlay.module__overlay_'], /* media buttons */ [class*='module__mediaHoverAction_'] > button { backdrop-filter: blur(var(--ThemePanelBlurSmall)); background-color: var(--ThemePanelContextBGColor); box-shadow: var(--ThemePanelShadow)!important; border-radius: var(--ThemePanelBorderRounding)!important; } /* message hover reaction suggestions. blur effect doesnt seem to work correctly. */ [class*='MessageActionBar.module__actionBar_'] { background-color: var(--ThemePanelContextBGColor); box-shadow: var(--ThemePanelShadow)!important; border-radius: var(--ThemePanelBorderRounding)!important; } /* ---------------------------------------------------------------- */ /* user profile poputs /* ---------------------------------------------------------------- */ /* full user profile */ [class*='UserProfileModal.module__modalRoot_'] { height: unset; } /* small user profile popouts */ [class*='ProfileCardLayout.module__profileCard_'], /* big user profile popouts */ [class*='UserProfileModal.module__modalContainer_'] { border-width: var(--ThemePanelBorderWidth)!important; border-radius: var(--ThemePanelBorderRounding)!important; } /* pfp button */ [class*="ProfileCardBanner.module__avatarButton_"], [class*="UserProfileModal.module__avatarContainer_"] { anchor-name: --anchor-userstatus; background-color: var(--ThemePanelPrimary); border-color: var(--ThemeFlatPrimary); } /* "display name, username, pronouns */ [class*="ProfileCardUserInfo.module__userInfoContainer_"], [class*="UserProfileModal.module__userInfoContent_"] { display: flex; flex-direction: row; flex-wrap: wrap; } /* display name */ [class*="ProfileCardUserInfo.module__nameRow_"], [class*="UserProfileModal.module__nameRow_"] { width: 100%; } /* username */ [class*="ProfileCardUserInfo.module__usernameRow_"], [class*="UserProfileModal.module__usernameRow_"] { gap: unset; color: var(--text-secondary); } /* username pronouns separator */ [class*="ProfileCardUserInfo.module__pronouns_"]::before, [class*="UserProfileModal.module__pronouns_"]::before { content: ""; width: 4px!important; height: 4px!important; margin: 0rem 0.5rem; background-color: var(--text-tertiary); border-radius: var(--radius-full); } /* pronouns */ [class*="ProfileCardUserInfo.module__pronouns_"], [class*="UserProfileModal.module__pronouns_"] { font-size: 14px; margin-top: unset; color: var(--text-secondary); display: inline-flex; align-items: center; } /* custom profile status */ [class*="UserProfilePopout.module__profileCustomStatus_"], /* custom profile status (user area) */ [class*="UserAreaPopout.module__customStatusRow_"], [class*="UserProfileModal.module__customStatusRow_"], /* profile preview custom status */ [class*="ProfilePreview.module__profileCustomStatus_"] { align-items: flex-start; position: absolute; position-anchor: --anchor-userstatus; position-area: right span-all; position-visibility: always; margin-left: 0.75rem; width: max-content; max-width: 175px; max-height: 3.7rem; overflow: hidden; background: var(--ThemeFlatLighter); /* border: 1px solid var(--background-header-secondary); */ border-radius: calc(4px * var(--ThemeRoundingMultiplier)); box-shadow: var(--shadow-md); transition: var(--transition-normal); } /* custom profile status */ [class*="UserProfilePopout.module__profileCustomStatus_"]:hover, /* custom profile status (user area) */ [class*="UserAreaPopout.module__customStatusRow_"]:hover, [class*="UserProfileModal.module__customStatusRow_"]:hover, /* profile preview custom status */ [class*="ProfilePreview.module__profileCustomStatus_"]:hover { max-height: 10rem; } /* custom profile status inner */ [class*="CustomStatusDisplay"] > [class*="CustomStatusDisplay.module__content_"], [class*="UserProfilePopout"] > [class*="CustomStatusDisplay.module__content_"], [class*="UserProfileModal"] > [class*="CustomStatusDisplay.module__content_"], [class*="ProfilePreview"] > [class*="CustomStatusDisplay.module__content_"] { margin: 0.25rem 0.5rem; } [class*="UserProfileModal.module__profileContentWrapper_"] { background: var(--ThemeFlatDarker); } /* mobile view personal page bio section */ [class*="YouPage.module__section_"], /* mobile view personal page note section */ [class*="YouPage.module__noteButton_"], /* mobile view personal page settings button */ [class*="YouPage.module__settingsButton_"] { background: var(--ThemeDarkenLight); } /* bio join date notes etc container */ [class*="UserProfileModal.module__profileContent_"] { padding-top: 16px!important; } /* ---------------------------------------------------------------- */ /* server member list panel /* ---------------------------------------------------------------- */ /* sever member list tab table */ [class*="GuildMembersPage.module__tableWrapper_"], /* sever member list tab rows per page dropdown */ .css-185nao-control { background-color: var(--ThemeDarkenLight)!important; } .css-185nao-control:focus { background-color: var(--ThemeDarkenLight)!important; } /* sever member list tab */ [class*="GuildMembersPage.module__table_"] { margin-top: 0; } /* ---------------------------------------------------------------- */ /* forwarded messages /* ---------------------------------------------------------------- */ /* forwarded message link button */ [class*="MessageAttachments.module__forwardedSourceButton_"] { background-color: color-mix(in srgb, var(--markup-mention-fill) 70%, transparent); border-color: color-mix(in srgb, var(--markup-mention-border) 65%, transparent); color: var(--markup-mention-text); } /* forwarded message link button hover */ [class*="MessageAttachments.module__forwardedSourceButton_"]:hover { background-color: var(--markup-mention-fill); border-color: var(--markup-mention-border); } /* "forwarded from" label */ [class*="MessageAttachments.module__forwardedSourceLabel_"] { color: var(--markup-mention-text); } /* forwarded message link source & destination label*/ [class*="MessageAttachments.module__forwardedSourceName_"] { color: var(--markup-mention-text); } /* forwarded message link channel symbol */ [class*="MessageAttachments.module__forwardedSourceButton_"] svg { fill: var(--markup-mention-text); } /* ---------------------------------------------------------------- */ /* titlebar /** ---------------------------------------------------------------- */ /* window titlebar */ [class*="NativeTitlebar.module__titlebar_"] { background: var(--ThemeBackgroundColor)!important; } /* Fluxer wordmark inside titlebar */ [class*="NativeTitlebar"][class*="module__wordmark"] { color: var(--ThemeFlatPrimary) !important; } /* window control buttons (min/max/close) */ [class*="NativeTitlebar"][class*="module__controlButton"] { background: var(--brand-primary)!important; border-radius: var(--ThemePanelBorderRounding)!important; margin: 2px 1px !important; color: var(--ThemeFlatDarker) !important; box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important; } [class*="NativeTitlebar"][class*="module__controlButton"]:hover { background: var(--brand-secondary)!important; box-shadow: 3px 3px rgb(0, 0, 0, 0.8)!important; color: white !important; } [class*="NativeTitlebar"][class*="module__controlButton"]:active { background: var(--ThemeFlatDarker) !important; color: white !important; margin: 3px 0 2px 0 !important; box-shadow: none important; } /* ---------------------------------------------------------------- */ /* misc panels /* ---------------------------------------------------------------- */ /* most buttons */ [class*="Button.module__button___"], [class="Button.module__button___Yzg1Yz Button.module__inverted___Yzg1Yz Button.module__superCompact___Yzg1Yz Button.module__fitContent___Yzg1Yz"] { border-radius: var(--ThemePanelBorderRounding)!important; } /* member list */ [class*="MemberListContainer.module__memberListContainer_"] { min-width: 10rem; max-width: 20rem; } [class*="DMList.module__dmItemUserTag___"], [class*="DMFriendsView.module__tabButton___"] { background: var(--brand-primary); color: var(--ThemeFlatDarker); } /* generic button primary */ [class*="Button.module__primary_"] { background: var(--brand-primary)!important; color: black !important; } [class*="Button.module__primary_"]:hover { background: var(--brand-secondary)!important; color: white !important; } /* generic button secondary */ [class*="Button.module__secondary_"] { background: var(--ThemeFlatLighter)!important; color: white !important; } [class*="Button.module__secondary_"]:hover { background: var(--ThemeFlatDarker)!important; } /* keyboard hints */ [class*="KeybindHint.module__key___"] { background: var(--brand-primary); color: var(--ThemeFlatDarker); border-radius: var(--ThemePanelRounding); } /* scroll indicator */ [class*="ScrollIndicatorOverlay.module__indicator___"] { background: var(--ThemePanelContextBGColor); color: yellow !important; border-radius: var(--ThemePanelBorderRounding); box-shadow: var(--ThemePanelShadow); } /* embed cards */ [class*="EmbedCard.module__"], [class*="ThemeEmbed.module__iconCircleActive___"] { border-radius: var(--ThemePanelBorderRounding); } [class*="ThemeEmbed.module__iconOnBrand___"] { background: var(--brand-primary); color: var(--ThemeFlatDarker); } /* Plutonium-related elements */ [class*="ToggleButton.module__active___"] { background: var(--brand-primary)!important; color: black !important; border-radius: var(--ThemePanelBorderRounding); } [class*="PricingCard.module__cardPopular___"], [class*="PricingCard.module__cardTitlePopular___YmJhOD PricingCard.module__cardTitle___YmJhOD"], [class*="PricingCard.module__cardPricePopular___YmJhOD PricingCard.module__cardPrice___YmJhOD"], [class*="PricingCard.module__cardPeriodPopular___YmJhOD PricingCard.module__cardPeriod___YmJhOD"], [class*="PlutoniumUpsell.module__text___"], [class*="PlutoniumUpsell.module__icon___"]{ background: var(--brand-primary)!important; color: black; } [class*="PricingCard.module__card___"] { border-radius: var(--ThemePanelBorderRounding)!important; } [class*="PricingCard.module__popularBadge___"] { color: black !important; border-radius: var(--ThemePanelBorderRounding)!important; } /* user mentioned */ [class*="Message\.module__messageMentioned_"] { background: #aa0000 !important; } [class*="Markup.module__mention___"] { background: var(--ThemeFlatLighter)!important; color: yellow !important; } /* embed backgrounds */ [class*="EmbedCard.module__wrapper_"], [class*="Embed.module__embedFull_"], [class*="AttachmentFile.module__attachmentContainer_"], [class*="InlineAudioPlayer.module__container_"] { background: var(--ThemeDarkenLight); } /* Codeblocks */ [class*="ThemeAcceptModal.module__codeContainer___"] pre, [class*="Markup.module__codeContainer___"] pre { background: var(--ThemeFlatDarker); } /* attachment uploads */ [class*="ChannelAttachmentArea.module__upload_"] { background: var(--ThemeDarkenLight); } /* video controls */ [class*="VideoPlayer.module__controlsRow_"] { background: var(--ThemeDarkenLight); } /* message preview (like in bookmarks for example) */ [class*="MessagePreview.module__previewCard_"] { overflow: hidden; background: var(--ThemeDarkenLight); } /* vc header gradient */ [class*='VoiceCallView.module__voiceHeader_']::before { border-radius: var(--ThemePanelBorderRounding) var(--ThemePanelBorderRounding) 0 0; } /* vc buttons gradient */ [class*='VoiceCallView\.module__controlBarContainer_']::before { display: none; } /* user typing status user container thingy */ [class*='ChannelChatLayout.module__typingContent_'] { /* these were from a test, it was kinda irritating to have the messages window shift whenever someone typed. height: fit-content; position: inherit; left: unset; right: unset; bottom: unset; */ transition-property: height; transition-duration: 0.3s; } /* user typing status user pills */ [class*='Message.module__typingPill_'] { backdrop-filter: blur(var(--ThemePanelBlurSmall)); -webkit-backdrop-filter: blur(var(--ThemePanelBlurSmall))!important; background-color: var(--ThemePanelBGColor); box-shadow: var(--ThemePanelShadow); /* transform: none!important; */ } /* guild panel buttons */ [class*="GuildsLayout.module__fluxerButtonIcon___"] { background: var(--brand-primary); color: var(--ThemeFlatDarker)!important; } /* "X new messages since Date" panel */ [class*='Messages.module__newMessagesBar_'] { padding-top: 0px; top: 0.5rem; border-radius: var(--ThemePanelBorderRounding)!important; } [class*="Messages.module__newMessagesBarText___"], [class*="Messages.module__newMessagesBarAction___"] { color: black !important; } /* "youre viewing older messages" panel */ [aria-busy="false"][class*='Messages.module__newMessagesBar_'] { padding-top: 0px; bottom: 0.5rem!important; border-radius: var(--ThemePanelBorderRounding)!important; } /* emoji reactions */ [class*='MessageReactions.module__reactionButton_'] { background: var(--ThemeDarkenLight); border: 1px solid var(--background-modifier-accent); } /* profile role badge */ [class*='RoleManagement.module__roleBadge_'] { background: var(--ThemeDarkenLight); } /* discovery explore page top banner */ [class*="DiscoveryPage.module__hero_"] { border-radius: calc(var(--ThemePanelBorderRounding) - var(--spacing-5) / 2); margin: var(--spacing-5); margin-bottom: unset; } /* discovery explore page search bar */ [class*="DiscoveryPage.module__searchInput_"] { background-color: var(--ThemeDarkenMedium); } /* search/input bars */ [class*="Input.module__input_"] { background-color: var(--ThemeDarkenLight); } /* search results container inner */ [class*="ChannelSearchResults.module__container_"] { border: unset; border-radius: var(--ThemePanelBorderRounding); overflow: hidden; } /* search results */ [class*="ChannelSearchResults.module__messageItem_"] { border-radius: calc(var(--ThemePanelBorderRounding) - 0.5rem); background-color: var(--ThemeDarkenLight); } /* toasts */ [class*="Toast.module__toast_"] { border-radius: var(--radius-full)!important; background-color: var(--ThemeFlatPrimary)!important; } /* unread divider with date */ [class*="Divider.module__dateWithUnreadText_"] { position: static; transform: none; } /* server folder expanded */ [class*="GuildFolderItem.module__expandedFolderBackground_"] { border-radius: calc(var(--guild-icon-size)/100*30 + var(--guild-list-item-inset)); /* focused server icon border-radius (30%) + padding */ } /* server folder items container */ [class*="GuildFolderItem.module__expandedGuilds_"] { padding-bottom: 0px; overflow: visible!important; } /* make theme input field resizable */ textarea.FormSurface\.module__surface___XzQ4ZT.Input\.module__input___ZGQ3MT.Scroller\.module__scroller___ZTgyZD { resize: vertical !important; max-height: 900px !important; } /* ---------------------------------------------------------------- */ /* splashscreen /* ---------------------------------------------------------------- */ [class*='SplashScreen.module__splashContent_'] { padding: 10px; background: var(--ThemePanelBGColor); aspect-ratio: 1 / 1; justify-content: center; } @media (min-width: 1024px) { [class*='SplashScreen.module__splashContent_'] { width: 30rem; height: 30rem; } } @media (min-width: 768px) { [class*='SplashScreen.module__splashContent_'] { width: 30rem; height: 30rem; } } /* Loading screen message [class*='ChannelHeader.module__headerWrapper_']::after, [class*='SplashScreen.module__connectionStatus_']::after */ [class*='SplashScreen.module__splashContent_']::after { border: var(--ThemePanelBorder)!important; border-radius: var(--ThemePanelBorderRounding)!important; backdrop-filter: blur(var(--ThemePanelBlur))!important; -webkit-backdrop-filter: blur(var(--ThemePanelBlur))!important; transition: var(--transition-slow); position: absolute; bottom: calc(-64px - var(--ThemePanelMargin)); /* margin-top: calc(120px + var(--ThemePanelMargin)); */ height: 40px; width: fit-content; padding: 0.3rem 0.5rem; line-height: 18px; content: "░▒▓ DIALOGUE.386 ▓▒░"; background: var(--ThemePanelBGColor); color: var(--brand-primary); box-shadow: var(--ThemePanelShadow); font-weight: bold; z-index: 100; } /* ---------------------------------------------------------------- */ /* fluxer ui fixes | things that should be fixed on fluxer's end /* ---------------------------------------------------------------- */ [class*='ScreenShareSettingsModal.module__audioToggleRow_'] { padding: 12px; } /* unread messages "NEW" divider */ [class*='Divider.module__unreadBadge_'] { height: unset; } /* profile role badge name */ [class*='RoleManagement.module__roleName_'] { line-height: inherit; } /* ################################################################################################# */ /* ################################################################################################# */ /* ################################################################################################# */ /* ---------------------------------------------------------------- */ /* Customization: Panel labels */ /* ---------------------------------------------------------------- */ @property --ThemePanelLabels { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--ThemePanelLabels: on) { /* prevent clipping off panel labels */ [class*="GuildNavbar.module__guildNavbarContainer_"], [class*="ChannelChatLayout.module__messagesArea_"], [class*="ChannelChatLayout.module__container_"], [class*="ChannelIndexPage.module__channelGrid_"], [class*="GuildLayout.module__guildMainContent_"], [class*="ChannelLayout.module__channelLayoutContainer_"], [class*="ChannelHeader.module__headerWrapper_"], [class*="ChannelIndexPage.module__contentGrid_"], [class*="OutlineFrame.module__frame_"], [class*="OutlineFrame.module__body_"], [class*="MemberListContainer.module__memberListContainer_"], [class*='ChannelChatLayout.module__textareaArea_'], [class*="NotificationsPage.module__content_"], [class*="GuildNavbarSkeleton.module__skeletonContainer_"] { overflow: visible!important; } [class*="OutlineFrame.module__frame_"] { min-height: 0; /* magic memberlist overflow fix */ } /* server sidebar */ [class*="GuildsLayout.module__guildListScroller"], /* dm list */ [class*="DMLayout.module__dmListColumn_"], /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"], /* self status */ [class*="GuildsLayout.module__userAreaWrapper_"], /* channel header */ [class*="ChannelHeader.module__headerWrapper_"], /* channel member list */ [class*="MemberListContainer.module__memberListContainer_"], /* channel message container */ [class*="ChannelChatLayout.module__messagesArea_"], /* chat input area */ [class*='ChannelChatLayout\.module__textareaArea_'], /* friendslist */ [class*='DMFriendsView.module__content_'], /* friendslist active now panel */ [class*="ActiveNowSidebar.module__sidebar_"], /* search results */ [class*="ChannelIndexPage.module__searchPanel_"], [class*="ChannelChatLayout.module__messagesArea_"], [class*="ChannelHeader.module__headerWrapper_"], [class*="MemberListContainer.module__memberListContainer_"], [class*='ChannelChatLayout.module__textareaArea_'], /* vc panel */ [class*="VoiceCallView.module__root_"], /* vc panel empty */ [class*="ChannelIndexPage.module__emptyStateContent_"], /* server member page */ [class*="GuildMembersPage.module__pageContainer_"], /* mobile nav bar */ [class*="MobileBottomNav.module__container_"], /* mobile notifications page list */ [class*="NotificationsPage.module__content_"], /* server discovery explore page */ [class*="DiscoveryPage.module__container_"], /* server unavailable channels skeleton */ [class*="GuildNavbarSkeleton.module__skeletonContainer_"], /* server unavailable server area */ [class*="GuildLayout.module__guildUnavailableContainer_"] { &::after { display: block; position: absolute; top: -11px; left: 8px; line-height: 14px; padding: 2px 4px; z-index: 100; font-size: 16px; font-weight: bold; background: var(--ThemePanelBGColor); color: var(--ThemePanelBorderColor); transition: var(--transition-slow); } &:hover::after { color: var(--brand-primary); transition: var(--transition-fast); } } /* chat input area */ [class*='ChannelChatLayout.module__textareaArea_']::after { content: "input"; } /* server member page */ [class*="GuildMembersPage.module__pageContainer_"]::after, /* server member list */ [class*="MemberListContainer.module__memberListContainer_"]::after { content: "members"; } /* server channel list */ [class*="ChannelHeader.module__headerWrapper_"]::after { content: "channel"; } /* dm list */ [class*="DMLayout.module__dmListColumn_"]::after { content: "users"; } /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"]::after, /* server unavailable channels skeleton */ [class*="GuildNavbarSkeleton.module__skeletonContainer_"]::after { content: "channels"; } /* search results */ [class*="ChannelIndexPage.module__searchPanel_"]::after { content: "search"; } /* server sidebar */ [class*="GuildsLayout.module__guildListScroller"]::after, [class*="MobileBottomNav.module__container_"]::after { content: "nav"; } /* self status */ [class*="GuildsLayout.module__userAreaWrapper_"]::after { content: "user"; } /* friendslist */ [class*='DMFriendsView.module__content_']::after { content: "friends"; } /* friendslist active now panel */ [class*="ActiveNowSidebar.module__sidebar_"]::after { content: "activity"; } /* vc panel */ [class*="VoiceCallView.module__root_"]::after, [class*="ChannelIndexPage.module__emptyStateContent_"]::after { content: "voice"; } /* mobile notifications page list */ [class*="NotificationsPage.module__content_"]::after { content: "messages"; } /* server discovery explore page */ [class*="DiscoveryPage.module__container_"]::after { content: "servers"; } /* server unavailable server area */ [class*="GuildLayout.module__guildUnavailableContainer_"]::after { content: "server"; } /* cant get this one to work without clipping. [class*="ChannelChatLayout.module__messagesArea_"]::after { content: "chat"; } */ } /* ---------------------------------------------------------------- */ /* Customization: Avatar Shape */ /* ---------------------------------------------------------------- */ @property --SquareAvatars { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--SquareAvatars: off) { [class*="BaseAvatar"] { border-radius: 0px!important; } } @container body style(--SquareAvatars: on) { [class*="BaseAvatar"] { border-radius: 0px!important; } [class*="BaseAvatar"] > image { mask: none; } } /* ---------------------------------------------------------------- */ /* Customization: border online status */ /* ---------------------------------------------------------------- */ @property --OutlineOnlineStatus { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--OutlineOnlineStatus: on) { /* hide original status indicator */ [class*="BaseAvatar.module__statusContainer_"] { display: none!important; } [class*="BaseAvatar"] > image { mask: none; border-radius: var(--radius-full)!important; } [class*="BaseAvatar.module__container_"] { border-radius: var(--radius-full)!important; overflow: hidden; } [class*="BaseAvatar.module__container_"][aria-label*="Offline"], [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"], [class*="BaseAvatar.module__container_"][aria-label*="Idle"], [class*="BaseAvatar.module__container_"][aria-label*="Online"] { border-width: 0.15rem; border-style: solid; } [class*="BaseAvatar.module__container_"][aria-label*="Offline"] { border-color: var(--status-offline); } [class*="BaseAvatar.module__container_"][aria-label*="Do Not Disturb"] { border-color: var(--status-dnd); } [class*="BaseAvatar.module__container_"][aria-label*="Idle"] { border-color: var(--status-idle); } [class*="BaseAvatar.module__container_"][aria-label*="Online"] { border-color: var(--status-online); } /* pfp view outline medium */ [class*="UserProfileModal"] [class*="BaseAvatar.module__container_"], [class*="ProfileCardBanner"] [class*="BaseAvatar.module__container_"], [class*="YouPage"] [class*="BaseAvatar.module__container_"]{ border-width: 4px; } } /* ---------------------------------------------------------------- */ /* Customization: App Icon */ /* ---------------------------------------------------------------- */ @property --CustomAppIcon { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--CustomAppIcon: on) { /* replace appicon with custom image */ [class*="GuildsLayout.module__fluxerSymbolIcon_"] { background: var(--ThemeCustomIconUrl) no-repeat; background-size: contain; } /* hide original svg path */ [class*="GuildsLayout.module__fluxerSymbolIcon_"] > path { display: none; } } /* ---------------------------------------------------------------- */ /* Customization: Rounding */ /* ---------------------------------------------------------------- */ @property --UseDefaultRounding { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--UseDefaultRounding: off) { /* get rid of all panel rounding */ * { border-radius: 0px!important; } [class*="Markup.module__markup_"] ul { list-style-type: square; } /* user popout banner pfp mask */ [class*="ProfileCardBanner.module__bannerMask_"] > mask > circle, [class*="UserProfileModal.module__bannerMask_"] > mask > circle{ display: none; } } /* ---------------------------------------------------------------- */ /* Customization: Message Bubbles */ /* ---------------------------------------------------------------- */ @property --MessageBubbles { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--MessageBubbles: on) { /* [aria-label="Message group"] { background: var(--ThemeMessageBubbleColor); border-radius: calc(var(--ThemePanelBorderRounding) - var(--chat-horizontal-padding)/2); border-radius: calc(var(--ThemePanelBorderRounding) * var(--ThemeRoundingMultiplier)); padding-left: 0.3rem; } */ [class*="messageContent"] { /* display: block !important; restore proper layout */ width: fit-content; /* shrink to content */ margin-top: 4px; padding: 8px 14px; background: var(--ThemeMessageBubbleColor)!important; border-radius: 12px !important; } } /* ---------------------------------------------------------------- */ /* Customization: Animations */ /* ---------------------------------------------------------------- */ @property --ExtraAnimations { syntax: 'off | on'; inherits: false; initial-value: on; } @container body style(--ExtraAnimations: on) { /* channel select flash */ [class*="ChannelItemSurface\.module__channelItemSurfaceSelected_"] { background-color: var(--background-modifier-selected); animation-name: ChannelSelectAnim; animation-duration: 1s; } @keyframes ChannelSelectAnim { from {background-color: var(--brand-primary);} to {background-color: var(--background-modifier-selected);} } /* server list favorites icon */ [class*="GuildsLayout.module__favoritesIcon_"] { transition: transform 0.5s; } [class*="GuildsLayout.module__guildListItem_"]:hover [class*="GuildsLayout.module__favoritesIcon_"] { transform: rotate(216deg); } [class*="ChannelSearchResults.module__messageItem_"] { transition: var(--transition-fast); } [class*="ChannelSearchResults.module__messageItem_"]:hover { border-color: var(--ThemePanelBorderColorHovered); background-color: var(--background-modifier-hover); } } /* ---------------------------------------------------------------- */ /* Customization: horizontal server list */ /* ---------------------------------------------------------------- */ /* setting property setup */ @property --Horizontal-Serverlist { syntax: 'off | on'; inherits: false; initial-value: left; } @property --Serverlist-Alignment { syntax: 'left | center | right'; inherits: false; initial-value: left; } @container body style(--Horizontal-Serverlist: on) { /* doesnt have any effect placed here. need to find a workaround. */ :root { --layout-guild-list-width: 4.4rem; /* more compact */ --layout-sidebar-width: calc(16.875rem + var(--layout-guild-list-width))!important; /* make sidebar wider to compensate for extra space */ } /* only show on desktop */ @media (min-width: 650px) { /* container for server list & rest */ [class*="GuildsLayout.module__guildsLayoutContainer_"] { display: flex; flex-direction: column; } /* make channel list etc wider to match user area */ [class*="GuildsLayout.module__userAreaWrapper_"] { width: var(--layout-sidebar-width); } /* scroller wrapper */ [class*="GuildsLayout.module__guildListScrollerWrapper_"] { height: var(--layout-guild-list-width); width: 100%; } /* scroller wrap | changed to fix hover region while allowing panel labels */ [class*="GuildsLayout.module__guildListScrollerWrapper_"] [class*="Scroller.module__scrollerWrap_"] { overflow: hidden; } /* rotate scroller */ [class*="GuildsLayout.module__guildListScrollContainer_"] { padding: var(--spacing-2) 0px; width: var(--layout-guild-list-width); height: calc(100vw - var(--ThemePanelMargin)*2 - var(--ThemePanelBorderThickness) * 2); transform: rotateZ(-90deg); } /* scroller child container*/ [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] { align-items: flex-end; } /* serverlist section container */ [class*="GuildsLayout.module__guildListContent_"] { align-items: flex-end; width: var(--layout-guild-list-width); } /* serverlist top & lower section */ [class*="GuildsLayout.module__guildListTopSection_"], [class*="GuildsLayout.module__guildListGuildsSection_"] { width: unset; } /* unrotate server button & misc buttons */ [class*="GuildsLayout.module__guildListItem_"], [class*="GuildFolderItem.module__folderHeader_"] { width: 3.7rem; transform: rotateZ(-180deg); } /* unrotate server image & extra buttons */ [class*="GuildListDMItem.module__relative_"], [class*="GuildsLayout.module__relative_"], [class*="GuildFolderItem.module__relative_"], [class*="GuildsLayout.module__addGuildButtonIcon_"] { transform: rotateZ(-90deg); } @container body style(--Serverlist-Alignment: left) { [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] { justify-content: start; } } @container body style(--Serverlist-Alignment: center) { [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] { justify-content: center; } } @container body style(--Serverlist-Alignment: right) { /* reverse server list */ [class*="GuildsLayout.module__guildListContent_"], [class*="GuildsLayout.module__guildListTopSection_"], [class*="GuildsLayout.module__guildListGuildsSection_"] { flex-direction: column-reverse; } [class*="GuildsLayout.module__guildListScrollContainer_"] [class*="Scroller.module__scrollerChildren_"] { justify-content: end; } } } } /* ################################################################################################# */ /* ################################################################################################# */ /* ################################################################################################# */ /* ---------------------------------------------------------------- */ /* mobile tweaks /* ---------------------------------------------------------------- */ @media (max-width: 840px) { /* mobile bottom nav */ [class*="MobileBottomNav.module__container_"] { margin: var(--ThemePanelMargin); margin-top: 0px; } /* mobile sheets */ [class*="Sheet.module__root_"] /* mobile user profile popout [class*="UserProfileMobileSheet.module__profileContent_"]*/ { background: var(--ThemeFlatDarker); } /* mobile sheets */ [class*="Sheet.module__container_"] { border-radius: unset!important; } /* settings modal backdrop */ [class*="Modal.module__modalBackdrop_"] { backdrop-filter: unset; } /* add friend button */ [class*="DMList.module__mobileAddFriendButton_"] { width: 2rem; height: 2rem; padding: unset; align-items: center; justify-content: center; } [class*="DMList.module__mobileAddFriendButton_"] > svg { width: 1.25rem; height: 1.25rem; } [class*="DMList.module__mobileAddFriendButton_"] > span { display: none; } /* notifications page content alignment */ [class*="NotificationsPage.module__content_"] { justify-content: center; } /* notifications page content alignment */ [class*="DMList.module__dmItemMobile_"] { height: 2.7rem; } /* notifications page X button */ [class*="InboxMessageHeader\.module__headerIconButton_"] { background: var(--ThemeDarkenLight); background: transparent; } /* server list container */ [class*="GuildsLayout.module__guildListScrollerWrapper_"], /* server channel list */ [class*="GuildNavbar.module__guildNavbarContainer_"], /* dm list container */ [class*="DMLayout.module__dmListColumn_"] { width: -webkit-fill-available; /* idk why it doesnt need to multiply the themepanelborderthickness on mobile*/ height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)); } /* mobile notifications page */ [class*="NotificationsPage.module__container_"], /* mobile notifications page */ [class*="NotificationsPage.module__content_"], /* mobile self profile */ [class*="YouPage.module__container_"] { height: calc(100% - var(--layout-user-area-reserved-height) - var(--layout-mobile-bottom-nav-reserved-height) - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness) * 2); /* NOTE: currently need to hardcode var(--layout-mobile-bottom-nav-reserved-height) here since its wrongly set to 0 on the you page. */ height: calc(100% - var(--layout-user-area-reserved-height) - 60px - var(--ThemePanelMargin) - var(--ThemePanelBorderThickness)); overflow: hidden auto; } /* mobile user profile banner */ [class*="UserProfileMobileSheet.module__bannerContainer_"] { border-radius: unset; } } /* ################################################################################################# */ /* ################################################################################################# */ /* ################################################################################################# */ /* these are base64 encoded fonts to bypass fluxer's import restrictions * credits to https://amio.github.io/embedded-google-fonts/ */ /* latin */ @font-face { font-family: 'B612 Mono'; font-style: normal; font-weight: 400; src: url(data:font/woff2;base64,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) format('woff2'); 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; }