Userstyles General Thread - Post original KF styles, give feedback, and discuss styling of and relating to the site

This is custom CSS made by @The Spoils of War. It needs some fixing up since it doesn't work out-of-the-box because of the theme update from 2 months ago. @The Spoils of War has his profile set to private (Undoubtely before Jewsh unbroke it) and hasn't been here since March so it's unlikely he'll un-private it. As such, it'll be a good idea to share it since he only ever posted it on his profile.
CSS:
.message-inner,
.messageUserBlock {
  padding-left: 0 !important;
  margin-left: 0 !important;
  contain: layout style;
}

.message-cell.message-cell--main {
  padding-left: 10px !important;
  contain: layout style;
}

.contentRow-figure {
  display: none !important;
}

.message--quickReply .message-cell.message-cell--user {
  display: none !important;
}

.p-body-inner {
  background: #1a1c1e !important;
  contain: layout style paint;
}

.block-container {
  background: #242628 !important;
  contain: layout style;
}

.node {
  background-color: #242628 !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
  contain: layout style;
}

.node + .node:nth-child(even) {
  background-color: #242628 !important;
}



.node:hover,
.node + .node:nth-child(even):hover {
  background-color: #2a2c2e !important;
}

.message {
  background-color: #242628 !important;
  contain: layout style;
}

.message-cell.message-cell--main {
  background-color: #242628 !important;
}

.structItem {
  background-color: #242628 !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
  contain: layout style;
}

.structItem:hover {
  background-color: #2a2c2e !important;
}

.node-title a,
.structItem-title a {
  color: #e0e0e0 !important;
}

@media (min-width: 750px) {
.p-pageWrapper {
  background-image: none !important;
  background-size: initial !important;
  background-position: initial !important;
  background-color: #1a1c1e !important;
 }
}

.block-header {
  background-color: #2a2c2e !important;
}

.node--unread .node-icon i:before,
.structItem--unread .structItem-statuses i:before {
  color: #6ba65e !important;
}
He had screenshots of it on his profile. The theme, as he showcased, was going for a very minimal look. He had a lot of text and elements removed from the main page and elsewhere.
 
Somebody made a userstyle that resembles Kiwi Farms' OG theme (Kiwi.X2 Dark) even moreso than @Doktor Grimm's KFKompakt but it's broken as shit due to the theme update.

If somebody who knows CSS could fix it, please do, :'(. I'll buy T&H and everything, 🥺. It's my fucking dream theme...
that would be me, also i agree because i'm a lazy fuck and don't want to fix it myself
EDIT: has anyone else thought of sending nool a link to pirated UI.X 2? i'd rather not do it myself
 
Last edited:
I don't know how it took me this long to discover, but apparently after looking through some example userstyles for other domains, I found out that Stylus supports UserCSS, which allows one to add parameters in the metadata [of a UserCSS type style] that can allow an end user to adjust the style via a graphical popup on install or in the manager. I've updated the OP with a spoiler that contains this information.

With this, I've updated my Cave Theme such that it now uses these parameters.
  • If you've been using the Sandstone variant and want to receive updates, the old page for the Sandstone variant has been deletedand you will not be able to get updates for it if the link is still set to that as the source. You should either:
    1. Remove the old theme and install the new version of it from the centralized page originally for the Normal variant: https://userstyles.world/style/17733/
    2. [If using Stylus], set the Update URL to https://userstyles.world/api/style/17733.user.css in the Style Settings dropdown in the sidebar of the style editor while editing the style and then try to pull the update that way.*
  • If you've been using the Normal variant and want to receive updates, [if using Stylus] set the Update URL to https://userstyles.world/api/style/17733.user.css in the Style Settings dropdown in the sidebar of the style editor while editing the style and then try to pull the update that way.*
*UserCSS styles could be treated differently by Stylus (they have a tag in the manager and appear differently in the editor) than the plain/traditional styles. Thus I'm not sure that the method to get the update will necessarily work. If it fails, just reinstall from https://userstyles.world/style/17733/ and that's certain to work

Also with the update to the Cave Theme, I replaced the icon/{special character} suffixed to external hyperlinks and changed the color function for it to try to mitigate color at hues which would appear darker/less contrasted against the post background. I might make the exact suffix text a parameter if it isn't of taste to someone.
 
Last edited:
I've pushed an update to the Cave theme which adds an experimental light variant that abides by the selected style variation as controlled by the button next to the style chooser.

For this addition, the color palette for the light variant primarily uses light grey colors to reduce the lightness that comes from looking at a page. Some variables were moved around in the process of creating this iteration to facilitate the added design; I think I got nearly all elements but be on the lookout for any oddities or inconsistencies between the themes.

The System option in the style variation is not supported; however, I might try to implement it for an potentially upcoming iteration.
 
Check this out!
CSS:
*{
    filter:invert(0.5);
}

Oh shoot! :sadwaifu:


:waifu: Now this looks fun! Maybe I'll think of some stuff to make.

@keyframes is going to be wild. Screw it! Let's do this!
CSS:
.avatar{
    animation-name:animation;
    animation-duration:2s;
    -webkit-animation-iteration-count:infinite;
    -moz-animation-iteration-count:infinite;
    -o-animation-iteration-count:infinite;
    animation-iteration-count:infinite;
}
@keyframes animation {
    0% {transform:translate(0%, 0%);}
    2.9411764705882355% {transform:translate(21.693045781865617%, -21.693045781865617%);}
    5.882352941176471% {transform:translate(21.693045781865617%, -43.386091563731235%);}
    8.823529411764707% {transform:translate(10.846522890932809%, -65.07913734559685%);}
    11.764705882352942% {transform:translate(-21.693045781865617%, -75.92566023652967%);}
    14.705882352941178% {transform:translate(-54.232614454664045%, -54.232614454664045%);}
    17.647058823529413% {transform:translate(-43.386091563731235%, -43.386091563731235%);}
    20.58823529411765% {transform:translate(-10.846522890932809%, -32.539568672798424%);}
    23.529411764705884% {transform:translate(32.539568672798424%, -10.846522890932809%);}
    26.47058823529412% {transform:translate(32.539568672798424%, 21.693045781865617%);}
    29.411764705882355% {transform:translate(10.846522890932809%, 32.539568672798424%);}
    32.352941176470594% {transform:translate(-21.693045781865617%, 32.539568672798424%);}
    35.294117647058826% {transform:translate(-43.386091563731235%, 10.846522890932809%);}
    38.23529411764706% {transform:translate(-21.693045781865617%, 0%);}
    41.17647058823529% {transform:translate(0%, -10.846522890932809%);}
    44.11764705882352% {transform:translate(75.92566023652967%, -32.539568672798424%);}
    47.058823529411754% {transform:translate(75.92566023652967%, -65.07913734559685%);}
    49.999999999999986% {transform:translate(54.232614454664045%, -75.92566023652967%);}
    52.94117647058822% {transform:translate(10.846522890932809%, -86.77218312746247%);}
    55.88235294117645% {transform:translate(-21.693045781865617%, -54.232614454664045%);}
    58.82352941176468% {transform:translate(-32.539568672798424%, -21.693045781865617%);}
    61.764705882352914% {transform:translate(-54.232614454664045%, 0%);}
    64.70588235294115% {transform:translate(-75.92566023652967%, -10.846522890932809%);}
    67.64705882352938% {transform:translate(-75.92566023652967%, -54.232614454664045%);}
    70.58823529411761% {transform:translate(-43.386091563731235%, -54.232614454664045%);}
    73.52941176470584% {transform:translate(-10.846522890932809%, -43.386091563731235%);}
    76.47058823529407% {transform:translate(0%, -10.846522890932809%);}
    79.4117647058823% {transform:translate(10.846522890932809%, 21.693045781865617%);}
    82.35294117647054% {transform:translate(32.539568672798424%, 32.539568672798424%);}
    85.29411764705877% {transform:translate(65.07913734559685%, 21.693045781865617%);}
    88.235294117647% {transform:translate(65.07913734559685%, 0%);}
    91.17647058823523% {transform:translate(43.386091563731235%, -32.539568672798424%);}
    94.11764705882347% {transform:translate(21.693045781865617%, -21.693045781865617%);}
    97.0588235294117% {transform:translate(-10.846522890932809%, -10.846522890932809%);}
    100% {transform:translate(0%, 0%);}
}

Wowza!
 
A bit of an experiment, this is by no means finished, but if you want to expand on what I did. It's Valentine's themed, and its major feature for the gimmick is the heartbeat on PFPs that have an avatar.

output.gif


Honestly, it's a bit of a mess, this was just an experiment.
CSS:
:root{
    --z-icons:#cf6dcd;
}

.avatar{
    animation-name:heartbeat;
    animation-duration:2s;
    -webkit-animation-iteration-count:infinite;
    -moz-animation-iteration-count:infinite;
    -o-animation-iteration-count:infinite;
    animation-iteration-count:infinite;
}
@keyframes heartbeat {
    0% {transform:scale(1);}
    15% {transform:scale(1.1);}
    25% {transform:scale(1.03);}
    35% {transform:scale(1.09);}
    100% {transform:scale(1);}
}

*::selection{
    background:#7a5888;
    color:#fff;
}

.avatar img{
    mask:
        radial-gradient(at 70% 31%,#000 29%,#0000 30%),
        radial-gradient(at 30% 31%,#000 29%,#0000 30%),
        linear-gradient(#000 0 0) bottom/100% 50% no-repeat;
    clip-path: polygon(-41% 0,50% 91%, 141% 0);
}

a, a:link, a:visited{
    color:#eb59bd !important;
    text-decoration:none;
}
a:hover{
    color:#f57ccf !important;
    text-decoration:underline;
}
a:active{
    color:#fbb3e5 !important;
    text-decoration:underline;
}

.p-pageWrapper{
    background-color:#a55491 !important;
    background-image: radial-gradient(circle, #0000 1rem, #c574bb 1rem, #552236 3rem, #491c35 3rem, #0000 5rem) !important;
    background-size:5rem 5rem !important;
}

footer.p-footer{
    background:radial-gradient(#462547e0, #8d4587e3, #462547e0) !important;
}

.p-breadcrumbs li:first-of-type:before, .node-icon i.fa--xf.fal::before{
    background-color:#cf6dcd !important;
}

.XenBase .notice.notice--primary{
    border-top:2px solid var(--z-icons);
    border-right:2px solid var(--z-icons);
    border-bottom:2px solid var(--z-icons);
    border-left:2px solid var(--z-icons);
}

.userBanner.userBanner--green{
    background:linear-gradient(90deg, #f93131, #ffff4a, #44ff44, #4cfdfd, #5151ff, #ff42ff);
    color:#000;
}

.button.button--longText, a.button.button--longText, .hb-rules{
    color:var(--z-icons);
}

.block--messages .message.hbReact-postmarked.hbReact-postmarked--auto, .message.hbReact-postmarked.hbReact-postmarked--auto{
    border-top-color:var(--z-icons);
}

.pageNav-page.pageNav-page--current, .p-nav-list .p-navEl.is-menuOpen{
    background:#714570;
}

.pageNav-page.pageNav-page--current:hover{
    background:#895188;
}

.fa--xf svg, .XenBase label.iconic i, .button.button--primary, a.button.button--primary, .button{
    color:var(--z-icons);
}

.bbCodeBlock{
    border-left:3px solid var(--z-icons);
}

.menu-content{
    border-top:3px solid var(--z-icons);
}

.menu-arrow{
    border-bottom-color:var(--z-icons);
}

.p-nav{
    background:#341e35;
}

.p-sectionLinks{
    background:#2b2233;
}

.menu-linkRow.is-selected.is-selected, .menu-linkRow:hover.is-selected, .menu-linkRow:focus.is-selected{
    border-left-color:var(--z-icons);
}

.structItem--thread .structItem-cell.structItem-cell--main:before, .pollResult-bar>i{
    background-color:var(--z-icons);
}
 
So I made a theme. A light one unfortunately. You've been warned.
Some of the css were taken from other users, they are placed and credited at the bottom of the code.
use with the site's light mode for best results.
homepage.webp
*The borders on the buttons at the header requires additional js, see extras.
thread.webp
spoliers and quotes.webp
post editor.webp
CSS:
/* remove the gap on top of the whole page and remove curved borders (apparently the curved borders is only visible in this theme despite being in the og css?)*/

.xb-page-wrapper {
    padding-top: 0;
    margin: auto;
    border-radius: 0;
}


/* site header */

.p-nav {
    background: #d2dff0;
}


/* header buttons */


/* move the header buttons a bit away from the logo */

.p-nav .p-nav-scroller {
    padding: 0px 0px 0px 25px;
}

.p-nav-list>.navmembers>.p-navEl {
    border-radius: 0 5px 0 0;
}

.p-nav-list>.navforums>.p-navEl {
    border-radius: 5px 0 0 0;
}

.p-nav-list>.navhb_chat>.p-navEl,
.p-nav-list>.navwhatsNew>.p-navEl {
    border-radius: 0;
}

.p-nav-list .p-navEl {
    background: white;
}

.p-nav a {
    color: #718aaa !important;
}

.p-navEl a:hover {
    background: none !important;
}


/* buttons selected */

.p-nav-list .p-navEl.is-selected {
    background: white;
    border-radius: 5px 5px 0 0;
    border-bottom: none;
    box-shadow: none;
    padding-top: 4px;
}


/* buttons hoverd / active for drop down menus */

.p-nav-list .p-navEl:hover,
.p-nav-list li:hover,
.p-nav-list .p-navEl.is-menuOpen {
    background: #bfd4f2 !important;
    border-radius: 5px 5px 0 0;
    transition: all 0.2s linear 0s;
    box-shadow: none;
}

.p-nav-list .p-navEl.is-menuOpen a {
    color: #718aaa !important;
}


/* lift the menu with profile, alerts,... a bit so the style variation icon won't get cut off */

.p-nav-opposite {
    background: white;
    border-radius: 5px 5px 0 0;
    padding-bottom: 2px;
}


/* the bar right below site header with buttons */

.p-sectionLinks {
    background: #edf4fc !important;
    background-image: -webkit-linear-gradient(top, white 35px, #cfcece) !important;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2);
    position: relative;
    z-index: 10;
}


/* add some extra space between buttons */

.p-sectionLinks-list>li {
    padding-left: 3px;
}

.p-sectionLinks-list a {
    color: #718aaa !important;
    /*color: #747474 !important;*/
}

.p-sectionLinks-list a:hover {
    text-decoration: none;
}


/* random.txt (moving to middle) */

.hb-quotes {
    color: #718aaa;
    text-align: center;
    margin: 12px auto 8px auto;
    font-size: 0.9em;
}


/* outermost bg of the site body, background behind side blocks in homepage */

.p-body-inner,
.p-body-sidebar .block .block-container,
.p-body-sideNavContent .block .block-container {
    background: #edf4fc;
    /*background: #d5e1f166;
    backdrop-filter: blur(8px);*/
}


/* remove the bottom border in block headers */

.block-header,
.p-body-pageContent .block .block-minorHeader {
    border-bottom: none;
}


/* icons, titles for blocks, side blocks and community features in homepage */

.block-minorHeader a,
.block-header a,
.p-body-sidebar .block .block-minorHeader:before,
.p-body-sideNavContent .block .block-minorHeader:before {
    color: #718aaa !important;
}

.block-header a:hover,
.block-minorHeader a:hover {
    text-shadow: 0 0 5px #edf4fc;
    text-decoration: none !important;
}


/* blocks body */

.block-body {
    color: #718aaa;
    background: #edf4fc;
    /*background: #edf4fccc;
    backdrop-filter: blur(8px)*/
    ;
}


/* items bg hovered */

.structItemContainer-group .structItem:hover,
.structItemContainer .structItem:hover,
.block-body>.block-row:hover,
.block-body.block-row:hover,
.node:hover,
.node+.node:nth-child(even):hover,
.structItemContainer .structItemContainer-group .structItem:nth-child(even):not(.is-mod-selected):hover {
    background-color: #b2caeb66;
    transition: all 0.2s linear 0s;
}


/* titles, subtitles in items, titles in watched threads */

.node-title a,
.structItem-title a,
.structItem-subtitle {
    color: #718aaa !important;
}


/* username and reply count in side blocks */

.contentRow-minor {
    color: #718aaa;
}


/* title icons for block items in homepage except talk to staff */

.block--category {
    --link-color: #718aaa;
}


/* talk to staff icon */

.node-icon i {
    color: #718aaa;
}


/* thread preview when hovering on title */

.tooltip--preview .tooltip-content {
    background: #edf4fccc;
    backdrop-filter: blur(6px);
    border: 1px solid #d5e1f1;
    border-radius: 4px;
    color: #718aaa;
}


/* page jump buttons */

.structItem-pageJump a {
    opacity: 1;
    color: #718aaa !important;
    background: #d2dff0;
    background-image: -webkit-linear-gradient(top, white 7px, #ccddef);
    border: 1px solid #ccc;
    border-radius: 0;
}

.structItem-pageJump a:hover {
    background: #bfd4f2;
    transition: all 0.2s linear 0s;
}


/* icons like polls and thread watched */

.structItem-status.fa--xf svg,
.structItem-status--solved::before,
.structItem-status--sticky::before,
.structItem-status--watched::before {
    color: #718aaa;
}


/* stats in items */

.structItem-cell.structItem-cell--meta .pairs,
.structItem-cell.structItem-cell--main .structItem-minor {
    color: #9ab8d1;
}


/* border between items */

.structItemContainer-group .structItem:not(:first-child),
.structItemContainer-group .block-row:not(:first-child) .structItem,
.structItemContainer .structItem:not(:first-child),
.node+.node {
    border-top: 2px dashed #aabdd5;
}


/* removes the old border */

.structItem {
    border-top: none;
}


/* even items in blocks have a different bg color but i don't need it atm */

.node+.node:nth-child(even),
.structItemContainer .structItemContainer-group .structItem:nth-child(even):not(.is-mod-selected) {
    background-color: #edf4fc
}


/* self explainatory */

.block-header,
.block-footer {
    color: #718aaa;
    background: #edf4fc;
    border-top: none;
}


/* make some space between footer and body to prevent things like polls having its body cut off at the bottom */

.block-footer {
    margin-top: 5px;
}


/* ? */

.block-header .block-desc {
    color: #879fbd;
    font-size: 0.87em;
}


/* menus like search, alert, messages */

.menu-arrow {
    border-bottom-color: #bfd4f2;
}


/* menu header, blocks and side blocks headers, headers in overlays (popups) */


/* z-index just use an arbitrary value to make sure it stays above everything else */


/* text color only applies to menus and some side blocks */

.menu-header,
.block-minorHeader,
.p-body-sidebar .block .block-minorHeader,
.p-body-sideNavContent .block .block-minorHeader,
.p-body-pageContent .block .block-minorHeader,
.block-header,
.overlay>.overlay-title:first-child,
.overlay .overlay-firstChild {
    color: #718aaa;
    border-bottom: none;
    border-radius: 8px 8px 0 0 !important;
    background-image: -webkit-linear-gradient(top, white, #a6c3e1, #c5d7eb, #e4f1f7) !important;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2);
    position: relative;
    z-index: 10;
}


/* used for custom title text for current user's profile but could also be for something else */

.menu-row.menu-row--alt {
    color: #718aaa;
}

.menu-content {
    color: #718aaa;
    background: #edf4fccc;
    backdrop-filter: blur(6px);
    border-width: 0;
}

.menu-content:has(.menu-header) {
    border-radius: 8px 8px 0 0 !important;
}


/* menu row, block link (looks like menu row but for dedicated pages?) */

.menu-linkRow,
.blockLink {
    color: #718aaa !important;
}


/* menu row, block link hovered / selected */

.menu-linkRow.is-selected,
.menu-linkRow.is-selected.is-selected,
.menu-linkRow:hover,
.menu-linkRow:hover.is-selected,
.menu-linkRow:focus,
.menu-linkRow:focus.is-selected,
.menu-row.menu-row--clickable:hover,
.blockLink:hover,
.blockLink.is-selected {
    background: #b2caeb66;
    border-left-color: #aabdd5;
    transition: all 0.2s linear 0s;
}

.menu-footer {
    background: #edf4fccc;
    backdrop-filter: blur(6px);
    border-color: #aabdd5;
    border-width: 2px;
    border-top-style: dashed;
    border-radius: 0 0 8px 8px;
}


/* menu text input */

.input,
.fr-popup .fr-input-line input[type="text"], .fr-popup .fr-input-line textarea {
    background: #edf4fc !important;
    border-color: #aabdd5 !important;
    color: #718aaa;
}


/* menu, profile message, input placeholder */

.input::placeholder,
.u-muted {
    color: #b0c3d4 !important;
}


/* color for checkbox, radio button,... */

.XenBase label.iconic i,
.XenBase label.iconic:hover>input+i {
    color: #718aaa;
}


/* unread alerts (same as hovered, which is covered in menu row)*/

.alert.is-unread {
    color: #718aaa;
    background: #b2caeb66;
}


/* hover effect for alerts in their dedicated page */

.alert.block-row:hover {
    background: #b2caeb66;
    transition: all 0.2s linear 0s;
}


/* border between alerts in their dedicated page */

.block-row.block-row--separated+.block-row {
    border-top: 2px dashed #aabdd5;
}


/* alert border new post */

.alert .contentRow.alert-row.alert-action--insert,
.alert .contentRow.alert-row.alert-action--forumwatch_insert,
.alert .contentRow.alert-row.alert-action--other_commenter,
.alert .contentRow.alert-row.alert-action--your_post,
.alert .contentRow.alert-row.alert-action--your_profile {
    border-color: #718aaa;
}


/* forms */

.formRow>dt,
.formSubmitRow-bar {
    background: #edf4fc;
    border: none;
    margin-top: 10px;
}


/* form and input explainations / hints */

.formRow .formRow-explain,
.formRow .formRow-hint,
.inputChoices-explain {
    color: #718aaa;
}


/* breadcrumb icon */

.p-breadcrumbs li:first-of-type:before {
    background-color: #718aaa
}


/* breadcrumbs */

.p-breadcrumbs--parent .p-breadcrumbs a {
    color: #718aaa !important;
}


/* thread title, subforum title in their dedictaed pages */

.p-title-value {
    color: #718aaa;
}


/* container for things below thread title (username, date posted) only used for icons atm as it all got overidden by the elements inside it */

.p-description {
    color: #718aaa;
}


/* forum guidelines */

.hb-rules {
    color: #718aaa;
    border: 3px solid #aabdd5;
    border-radius: 10px;
    padding-top: 10px;
    padding-left: 10px;
}


/* post container (for content part) */

.block--messages .message .message-cell.message-cell--main {
    background: #edf4fc;
    border: 3px solid #aabdd5;
    border-radius: 8px !important;
}


/* post content */

.message-content {
    background-image: linear-gradient(#d2dff052 .1em, transparent .1em);
    background-size: 100% 1.2em;
}


/* post text, node text (section desc in main page) */

.block--messages .message,
.block--messages .block-row,
.node-description {
    color: #718aaa;
}


/* highlighted posts top border */


/* remove the original border and change highlighted post to having a border around content section instead */

.block--messages .message.hbReact-postmarked.hbReact-postmarked--auto,
.message.hbReact-postmarked.hbReact-postmarked--auto {
    border-top: none;
}


/* auto (default highlight) */

.block--messages .message.hbReact-postmarked.hbReact-postmarked--auto>div>div,
.message.hbReact-postmarked.hbReact-postmarked--auto>div>div {
    box-shadow: 0 0 15px #6ba65e;
}


/* highlighted by staff */

.block--messages .message.hbReact-postmarked.hbReact-postmarked--feature.hbReact-postmarked--staff>div>div,
.message.hbReact-postmarked.hbReact-postmarked--feature.hbReact-postmarked--staff>div>div {
    box-shadow: 0 0 15px #a65e5e;
}


/* fixes prev highlight button being cut off on the right */

.hb-react-highlightPrev {
    padding-right: 1px;
}


/* featured notice / moderator notice(?) / thread locked notice */

.message-cell .messageNotice,
.blockStatus {
    background-color: #d5e1f1;
    color: #718aaa;
    border-left: 2px solid #718aaa;
}


/* date posted */

.u-dt {
    color: #718aaa;
}


/* notice icon, not for thread lock notice though */

.block--messages .message.hbReact-postmarked .hbReact-messageNotice--featured:before,
.message.hbReact-postmarked .hbReact-messageNotice--featured:before {
    background-color: #718aaa;
}


/* spoiler, quote container, block quote (quote with no header) */

.bbCodeBlock,
.fr-view blockquote {
    background: white;
    border: 2px solid #aabdd5;
    border-radius: 8px;
}


/* quote header */

.bbCodeBlock-title {
    color: #718aaa;
    background-image: -webkit-linear-gradient(top, white, #a6c3e1, #c5d7eb, #e4f1f7);
    border-radius: 8px 8px 0 0;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2);
}


/* quote header link to og post */

.bbCodeBlock-title>a {
    color: #718aaa !important;
}

.bbCodeBlock-title>a:hover {
    text-shadow: 0 0 5px #edf4fc;
    text-decoration: none;
}


/* quote content */

.bbCodeBlock-content {
    padding-top: 10px;
}


/* embeded post */


/* TODO: do more work on this */

.embed {
    border: 3px solid #aabdd5 !important;
    border-radius: 8px;
}


/* border for page break like in ops */

.bbWrapper hr {
    border-top: 3px solid #d5e1f1;
}


/* header for attachments section */

.block-textHeader {
    color: #718aaa;
}


/* file icons */

.file-typeIcon {
    color: #718aaa;
}


/* last edit label */

.message-lastEdit {
    color: #718aaa;
}


/* list of user that reacted to post, currently overidden by <a> */

.reactionsBar-link {
    color: #8898a7;
}


/* the 'all' tab over reaction overlay */

.block-minorTabHeader .tabs-tab.is-active {
    border-color: #87bbf0;
}


/* action bar = container for buttons below a post (report, reaction,... ), border that seperate the description and content like in polls,
menu separator */

.block-separator,
.message-footer .message-actionBar,
.menu-separator {
    border-top: 2px dashed #aabdd5;
}


/* reactions / ratings tooltip */

.tooltip--reaction .tooltip-content {
    background: #edf4fccc;
    backdrop-filter: blur(6px);
    border: 1px solid #d5e1f1;
    border-radius: 4px;
}


/* poster container next to post, poster container for a&h */

.message-cell.message-cell--user,
.message-cell.message-cell--action,
.message-articleUserInfo {
    background: #d5e1f1;
}


/* user stats for a&h (value only) */


/*TODO: find a different color (and for values in general) */

.message-articleUserStats {
    color: #718aaa;
}


/* username */

.username {
    color: #718aaa !important;
}


/* username in mentions */


/* update this along with link colors if it ever get changed */

.bbWrapper .username {
    color: #87bbf0 !important;
}


/* join date label */

.pairs>dt {
    color: #718aaa;
}


/* t&h badge */

.userBanner.userBanner--green {
    color: #718aaa;
    background: #bfd5ec;
    border: none;
}


/* user profile, bookmark tooltip */


/* backdrop filter for this is pretty buggy, would often lag / not show up */


/* color is for values text */

.tooltip--member .tooltip-content,
.memberTooltip-header,
.tooltip--bookmark .tooltip-content,
.tooltip--share .tooltip-content {
    background: #edf4fccc;
    backdrop-filter: blur(6px);
    color: #9ab8d1;
    border: 1px solid #d5e1f1;
    border-radius: 4px;
}


/* add extra space between buttons */

.buttonGroup>.button {
    margin-right: 3px;
}


/* new indicator */

.message-newIndicator,
a.message-newIndicator {
    background-color: #718aaa;
    ;
    color: white;
}


/* editor outer bg */

.message--quickReply .message-cell.message-cell--main {
    background-color: #edf4fc;
}


/* user arrow in editor, would only work when --xf content bg in root is also set to some custom value */

.message-userArrow {
    color: #edf4fc;
}


/* editor toolbar */

.fr-box.fr-basic .fr-toolbar.fr-top,
.fr-toolbar .fr-more-toolbar,
.fr-popup .fr-buttons.fr-tabs {
    background: #edf4fc !important;
}


/* editor toolbar buttons */

.fr-toolbar .fr-command.fr-btn,
.fr-popup .fr-command.fr-btn,
.fr-modal .fr-command.fr-btn,
.fr-toolbar .fr-command.fr-btn.fr-dropdown,
.fr-popup .fr-command.fr-btn.fr-dropdown,
.fr-modal .fr-command.fr-btn.fr-dropdown {
    color: #718aaa;
    background: #d2dff0;
    border-radius: 0;
}


/* color of dropdown buttons */

.fr-toolbar .fr-command.fr-btn.fr-dropdown:after,
.fr-popup .fr-command.fr-btn.fr-dropdown:after,
.fr-modal .fr-command.fr-btn.fr-dropdown:after {
    border-top-color: #718aaa;
}

.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:after,
.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:after,
.fr-modal .fr-command.fr-btn.fr-dropdown.fr-active:after {
    border-bottom-color: #718aaa;
}


/* button text when disabled  */

.fr-toolbar .fr-command.fr-btn.fr-disabled,
.fr-popup .fr-command.fr-btn.fr-disabled,
.fr-modal .fr-command.fr-btn.fr-disabled {
    color: #bdbdbd;
}


/* editor toolbar buttons hovered / active */

.fr-toolbar.fr-ltr.fr-desktop.fr-top.fr-basic>div>button:hover,
.fr-toolbar .fr-command.fr-btn.fr-open:not(:hover):not(:focus):not(:active),
.fr-toolbar .fr-command.fr-btn.is-menuOpen,
.fr-toolbar .fr-command.fr-btn.fr-active:not(.fr-disabled),
.fr-toolbar .fr-command.fr-btn.fr-btn-active-popup,
.fr-popup .fr-command.fr-btn.fr-btn-active-popup,
.fr-modal .fr-command.fr-btn.fr-btn-active-popup,
.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,
.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active,
.fr-modal .fr-command.fr-btn.fr-dropdown.fr-active {
    color: #718aaa !important;
    background: #bfd4f2 !important;
    transition: all 0.2s linear 0s;
}


/* drop down menus */

.fr-command.fr-btn+.fr-dropdown-menu {
    background: #edf4fc80;
    backdrop-filter: blur(6px);
}

.fr-command.fr-btn+.fr-dropdown-menu a {
    color: #718aaa !important;
}

.fr-desktop .fr-command:hover:not(.fr-table-cell),
.fr-desktop .fr-command:focus:not(.fr-table-cell),
.fr-desktop .fr-command.fr-btn-hover:not(.fr-table-cell),
.fr-desktop .fr-command.fr-expanded:not(.fr-table-cell),
.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active {
    background: #b2caeb66;
    transition: all 0.2s linear 0s;
}

/* pop up menus */
.fr-popup {
    background: #edf4fc80;
    backdrop-filter: blur(6px);
    color: #718aaa;
}


/* bg for search bar in emoji menu */

.menu-row.menu-row--alt {
    background: #edf4fccc;
    backdrop-filter: blur(6px);
}


/* header text for emoji menu */

.menu--emoji .menu-header,
.menu--gif .menu-header {
    color: #718aaa;
}


/* make those 3 dots buttons have the same opacity as other buttons */

.fr-toolbar .fr-command.fr-btn[data-cmd^="more"] {
    opacity: 1;
}


/* removes the random border below preview button */

.fr-toolbar .fr-btn-grp.rte-tab--inactive,
.block-filterBar {
    border-bottom: none;
}


/* editor textbox */

.fr-box.fr-basic,
.fr-box.fr-basic.is-focused {
    background: #edf4fc;
    background-image: linear-gradient(#d2dff052 .1em, transparent .1em);
    background-size: 100% 1.2em;
    border: none;
}


/* editor textbox wrapper */

.fr-box.fr-basic.fr-top .fr-wrapper {
    border: 3px solid #aabdd5;
    border-radius: 8px;
}


/* editor textbox text*/

.fr-box.fr-basic .fr-element,
.fr-box.fr-basic.is-focused .fr-element {
    color: #718aaa;
}


/* editor textbox placeholder */

.fr-wrapper .fr-placeholder {
    color: #b0c3d4;
}

.attachmentUploads-banner {
    background-color: #edf4fc;
}


/* preview button, post button, post thread button, attach button, page buttons, menu buttons, header buttons (p-nav-list),... */

.p-sectionLinks-list .p-navEl,
.pageNav-page,
.pageNav-page>a,
.pageNav-jump,
.button.button--link,
a.button.button--link,
.button.bbCodeSpoiler-button,
.button,
a.button,
.button.button--primary,
a.button.button--primary,
.fr-toolbar .fr-btn-grp.rte-tab--preview .fr-command.fr-btn,
.inputGroup.inputGroup--joined .inputGroup-text,
.button.button--cta,
a.button.button--cta,
.fr-popup .fr-action-buttons button.fr-command {
    background: #d2dff0;
    color: #718aaa !important;
    background-image: -webkit-linear-gradient(top, white 10px, #ccddef);
    /*color: #747474 !important;
    background-image: -webkit-linear-gradient(top, white 10px, #c2c2c2);*/
    border: 1px solid #ccc;
    box-shadow: none;
}


/* those buttons hovered / active */

.p-sectionLinks-list .p-navEl:hover,
.p-sectionLinks-list .p-navEl.is-menuOpen,
.p-navgroup-link:hover,
.p-navgroup-link.is-menuOpen,
.pageNav-page:hover,
.pageNav-page>a:hover,
.pageNav-page.pageNav-page--current,
.pageNav-page.pageNav-page--current>a,
.pageNav-page.pageNav-page--current:hover,
.pageNav-jump:hover,
.button:hover,
a.button:hover,
.button.button--primary:hover,
a.button.button--primary:hover,
.inputGroup.inputGroup--joined .inputGroup-text:hover,
.fr-popup .fr-action-buttons button.fr-command:hover {
    color: #718aaa !important;
    background: #bfd4f2 !important;
    box-shadow: none;
    transition: all 0.2s linear 0s;
}

a {
    color: #87bbf0 !important;
}

:root {
    --xf-contentBg: #edf4fc;
}


/* tooltips (doesn't cover those in editor toolbar) */

.tooltip--basic .tooltip-content {
    background-color: #718aaa;
}

.tooltip--basic .tooltip-content a {
    color: white !important;
}


/* tab buttons */

.block-tabHeader,
.tabs--standalone,
.menu-tabHeader {
    background: #d2dff0;
    background-image: -webkit-linear-gradient(top, white 10px, #ccddef);
}

.block-tabHeader a,
.tabs--standalone a,
.menu-tabHeader a {
    color: #718aaa !important;
}

.block-tabHeader .tabs-tab:not(.is-readonly):hover,
.block-tabHeader .tabs-tab.is-active,
.tabs--standalone .tabs-tab:hover,
.tabs--standalone .tabs-tab.is-active,
.menu-tabHeader .tabs-tab:hover,
.menu-tabHeader .tabs-tab.is-active {
    background: #bfd4f2;
    border-color: #bfd4f2;
    transition: all 0.2s linear 0s;
}


/* "see more" buttons in members page (originally a link but i turned it to a button) */

.memberOverviewBlock-seeMore {
    background: #d2dff0;
    background-image: -webkit-linear-gradient(top, white 10px, #ccddef);
    border: 1px solid #ccc;
    transition: all 0.2s linear 0s;
}

.memberOverviewBlock-seeMore a {
    color: #718aaa !important;
}

.memberOverviewBlock-seeMore:hover {
    background: #bfd4f2;
    transition: all 0.2s linear 0s;
}

.memberOverviewBlock-seeMore a:hover {
    text-decoration: none;
}


/* profile message text */

.bbWrapper {
    color: #718aaa;
}


/* profile message input bg */

.message-responseRow {
    background: #edf4fc;
}


/* overlays */

.overlay-titleCloser:after {
    color: #718aaa;
}

.overlay-title {
    color: #718aaa;
}

.overlay {
    background: #edf4fc;
    color: #718aaa;
}


/* poll overlays */

.pollResult.pollResult--showVoters:hover {
    background: #b2caeb66;
}


/* seen in things like error page */

.blockMessage {
    color: #718aaa;
}


/* make the 'click to expand' part of a&h articles looks the same as those of quotes */

.message-expandLink {
    background: linear-gradient(to bottom, hsla(var(--xf-contentAltBg--h), var(--xf-contentAltBg--s), var(--xf-contentAltBg--l), 0%) 0%, hsla(var(--xf-contentAltBg)) 80%);
    font-family: QuattrocentoKF, "Palatino Linotype", "Book Antiqua", Palatino, serif;
}


/* change footer text to white so it's visible in the comic bg in light mode */

.p-footer-copyright {
    color: white;
}


/* off canvas menu for mobile */

.offCanvasMenu--nav .offCanvasMenu-header {
    border-radius: 8px 8px 0 0 !important;
    background-image: -webkit-linear-gradient(top, white, #a6c3e1, #c5d7eb, #e4f1f7) !important;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2);
}


/* give the close button the same effect as those of overlays */

.offCanvasMenu .offCanvasMenu-closer {
    opacity: .5;
}

.offCanvasMenu .offCanvasMenu-closer:hover {
    opacity: 1;
}

.XenBase .offCanvasMenu--nav .offCanvasMenu-content {
    color: #718aaa;
    background: #edf4fccc;
    backdrop-filter: blur(6px);
}

.offCanvasMenu--nav .offCanvasMenu-content a {
    color: #718aaa !important;
}

.offCanvasMenu--nav .offCanvasMenu-linkHolder:hover,
.offCanvasMenu--nav .offCanvasMenu-linkHolder.is-selected,
.offCanvasMenu-subList li:hover {
    background-color: #b2caeb66;
    transition: all 0.2s linear 0s;
}


/* from other users */


/* notification badge (elem found by @Slav Power)*/

.badge.badge--highlighted,
.badgeContainer.badgeContainer--highlighted:after {
    background-color: #718aaa;
    ;
    border-radius: 4px;
}


/* remove the excess chevron of breadcrumbs (by @Wol) */

.p-breadcrumbs li:last-of-type::after {
    display: none;
}
I was going to do more with the buttons but I'm not that good at css (which is why the code is a mess and I probably got some terms wrong in the comments) so maybe one day when I'm better at it I will revise it somehow. Also I don't know where the tooltips for post editor is located so they will remain untouched, sorry.
Inspired by this (a) winamp skin but made it lighter. (I'm not sure if I managed to get anything right though...)
this just adds some extra divs that is then styled to become borders.
JavaScript:
const els = document.querySelectorAll('.p-nav-list > li');
    els.forEach((el, index) => {
        if (index == 0) {
            return;
        }
        const border = document.createElement('div');
        border.id = 'extra-border-nav-btns';
        el.appendChild(border);
    });
const pNavGroupOpposite = document.querySelector('.p-navgroup.p-discovery');
const border = document.createElement('div');
border.id = 'extra-border-nav-opp';
const searchBtn = document.querySelector('.p-navgroup-link .p-navgroup-link--iconic .p-navgroup-link--search');
pNavGroupOpposite.appendChild(border);
searchBtn.parentNode.insertBefore(border);



Also I couldn't quote the part, but @Slav Power 's hide ignored would also hide the highlight button at the bottom, I tried to fix it using js by wrapping just the 'show me anyways' button with a div and hide just that div (the original button is grouped with the highlight button so css would affect both)
Screenshot 2025-08-09 132201.webp
Screenshot 2025-08-09 132313.webp
JavaScript:
const showIgnoredBtn = document.querySelector('a.js-showIgnored.button');
if (showIgnoredBtn) {
    const ignoredBtnWrapper = document.createElement('div');
    ignoredBtnWrapper.classList.add('ignored-btn');
    showIgnoredBtn.parentNode.insertBefore(ignoredBtnWrapper, showIgnoredBtn);
    ignoredBtnWrapper.appendChild(showIgnoredBtn);
    ignoredBtnWrapper.style.display = 'none';
}
then I just remove the button part in the css:
CSS:
.message-inner:has(div.messageNotice--ignored) {
    visibility: hidden !important;
    width: 0px !important;
    height: 0px !important;
}
article:has(div.messageNotice--ignored) {
    margin-top: 0px !important;
}
 
Here's some CSS I whipped up to make a lot of the lines that seperate/outline stuff on the site the gray that the last site theme had than the black that it is now.:
(NOTE: I haven't finished this yet. Some things and ways I did stuff broke some other elements of the site. I'm posting this now because I'm probably gonna procrastinate on finishing this and, as such, probably never will. I welcome anyone else to finish it)
CSS:
.structItem{
border-top: #52565c
}

.structItem{
background-color: #393d42   
}

.block-body{
border-top-color:  #484c51
}

.block-body{
border-right-color:  #484c51   
}

.block-body{
border-bottom-color:  #484c51   
}

.block-body{
border-left-color:  #484c51   
}

.node+.node{
border-top: 1px solid #52565c
}

.block-footer{
border-top: 1px solid #52565c   
}

.p-body-pageContent .block .block-minorHeader {
background: #393d42
}

.p-body-pageContent .block .block-minorHeader {
border-bottom-color:  #39283300
}

.block-header{
background: #393d42
}

.block-header{
border-bottom: 1px solid  #52565c   
}

.block-body.block-body--collapsible.is-active {
background-color: #393d42
}

.block-row{
background-color: #43474d   
}

.p-body-sidebar .block .block-minorHeader{
background-color: #43474d
}

.p-body-sidebar .block .block-minorHeader{
border-bottom: 1px solid  #585c62   
}

.block-filterBar {
border-bottom: 2px solid #52565c
}

.message-responseRow {
border: 1px solid #52565c
}

.input{
border-top-color: #52565c 
}

.input{
border-right-color: #52565c   
}

.input{
border-bottom-color: #52565c   
}

.input{
border-left-color:  #52565c   
}

.structItemContainer .structItemContainer-group .structItem:nth-child(even):not(.is-mod-selected) {
border-bottom: 1px solid  #52565c
}

.structItemContainer .structItemContainer-group .structItem:nth-child(even):not(.is-mod-selected) {
border-top: 1px solid  #52565c
}
Also, the code looks strange because, for some reason, Stylus kept giving me a warning that it expected an empty rule after the first change of CSS to a class and this fucked with the first change making it not work. As such, I had to seperate all changes on I wanted to make to an element since I couldn't stack them together into one.
Some images to showcase the CSS:
before1.webp
after1.webp
before2.webp
after2.webp
before3.webp
after3.webp

I also got some other goodies. Here's CSS that brings back the individual colors for each board, sub-forum titles and text et-all:
CSS:
.block--category .node-title a
{
    color: hsl(109, 29%, 51%) !important;
}

.block--category104 .node-title a
{
    color: hsl(300,29%,51%) !important;
}

.block--category7 .node-title a
{
    color: hsl(197,100%,48%) !important;
}

.block--category116 .node-title a
{
    color: hsl(6,68%,51%) !important;
}

.block--category74 .node-title a
{
    color: hsl(197,100%,48%) !important;
}

.block--category3 .node-title a
{
    color: hsl(26, 100%, 50%) !important;
}

.block--category .node-extra-row a
{
    color: hsl(109, 29%, 51%) !important;
}

.block--category104 .node-extra-row a
{
  color: hsl(300,29%,51%) !important;
}

.block--category7 .node-extra-row a
{
    color: hsl(197,100%,48%) !important;
}

.block--category116 .node-extra-row a
{
    color: hsl(6,68%,51%) !important;
}

.block--category74 .node-extra-row a
{
    color: hsl(197,100%,48%) !important;
}

.block--category3 .node-extra-row a
{
    color: hsl(26, 100%, 50%) !important;
}
before4.webp
before5.webp
after4.webp
after5.webp
(Thanks to @Wol for the CSS that changes the color. I just took it from his cave theme)

CSS that extends the highlight buttons at the bottom of a thread to make the award image in the midde:
CSS:
.fa--xf.fal.fa-forward {
padding-left: 15px   
}
before6.webp
after6.webp

CSS that makes the True & Honest Fan banner look similar to the older one used from ( I think) 2020 - 2021:
CSS:
.userBanner.userBanner--green {
background: hsl(120, 100%, 25%);
border-color: #00b300;
border-width: 1px;
padding-top: 1px;
padding-right: 3px;
padding-bottom: 1px;
}
before7.webp
after7.webp
 
@Toji Suzuhara I tried posting this on your profile but the motherfucking character limit cucked me.

Since you hated me for getting the T&H Fan badge filled in instead of being transparent, here's the old transparent style:
CSS:
.userBanner.userBanner--green {
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
color: rgb(0, 128, 0);
font-size: 11.25px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-color: rgba(0, 0, 0, 0);
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-color: rgb(0, 128, 0);
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-style: solid;
border-bottom-width: 1px;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-color: rgb(0, 128, 0);
border-left-style: solid;
border-left-width: 1px;
border-right-color: rgb(0, 128, 0);
border-right-style: solid;
border-right-width: 1px;
border-top-color: rgb(0, 128, 0);
border-top-left-radius: 2px;
border-top-right-radius: 2px;
border-top-style: solid;
border-top-width: 1px;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 3px;
padding-left: 6px;
padding-right: 6px;
padding-top: 3px;
text-align: center;
}
new.webpold.webp
I literally just went into an archive of an old thread and took the CSS of the badge from there:
34984534.webp
That's how easy it is to get the old badges back.
 
Last edited by a moderator:
Is there any way for me to just add a custom pre-made theme for Xenforo or no? I like the default one that ships as a template with the software, stealth just doesn't cut it. Obviously Jersh isn't going to add six gorillion individual themes (which I understand) but being able to change it client-side would be nice.
 
Is there any way for me to just add a custom pre-made theme for Xenforo or no? I like the default one that ships as a template with the software, stealth just doesn't cut it. Obviously Jersh isn't going to add six gorillion individual themes (which I understand) but being able to change it client-side would be nice.
The simplest way to do it would be to just inspect and grab the css from a site that use it then paste it into an extension.
 
After enough tinkering around with this, I think it's ready enough for a full release. Introducing...

THE OLD THEME THAT WAS IN USE UNTIL NULL BROKE THE FUCKING SITE AND REPLACED IT WITH THE SHITTY ONE WE HAVE NOW!!!
CSS:
.xb-page-wrapper {
margin-top: 0 !important;
padding-top: 0 !important;
border-radius: 0px;
}

.p-nav{
background: #2d3238;
}

.p-sectionLinks{
background: #42464d;
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.p-nav-list .p-navEl.is-selected{
background: #42464d;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}

.p-navgroup{
background: #3a3f44;
}

.p-sectionLinks-list a{
color: #b3b3b3;
}

.p-nav a{
color: hsla(var(--xf-primaryLinkColor));
}

.p-nav-list .p-navEl.is-selected .p-navEl-link{
color: #ffffff
}

.p-nav-list .p-navEl.is-menuOpen{
background: hsl(197deg 100% 48% / 0%);
box-shadow: 0px 0px;
}

.p-navgroup-link.is-menuOpen{
background: hsl(197deg 100% 48% / 0%);
box-shadow: 0px 0px;
}

.p-body-inner{
background: #2d3238;
}

.p-body-pageContent .block .block-minorHeader{
background: #383c42;
border-bottom: 1px solid #505459;
padding: 6px 8px;
}

.block-header{
background: #383c42;
border-bottom: 1px solid #505459;
padding: 6px 8px;
}

.structItem.structItem-features{
border-top: 0px;
}

.block-body{
border-radius: 0px;
}

.structItem{
border-top: 1px solid #5b5f65;
}

.node+.node{
border-top: 1px solid #5b5f65;
}

.structItem-pageJump a{
border: 1px solid #505459
}

.structItemContainer .structItemContainer-group .structItem:nth-child(even):not(.is-mod-selected){
background-color: hsl(218deg 8% 28% / 0%);
}

.p-body-sidebar .block .block-container, .p-body-sideNavContent .block .block-container{
background: #42464d;
}

div.block-body.block-row{
background: #42464d
}

.block-row.block-row--minor{
background: #42464d
}

.block-minorHeader{
border-bottom:  2px solid #595c63;
padding: 6px 8px
}

.block-footer{
border-top: 1px solid #595c63;
}

.bbCodeBlock.bbCodeBlock--expandable.bbCodeBlock--quote.js-expandWatch{
border-top: 1px solid #595c63;
border-bottom: 1px solid #595c63;
border-right: 1px solid #595c63;
}

.fr-box.bbWrapper.fr-ltr.fr-basic.fr-top{
border: 1px solid #595c63;
}

.memberOverviewBlock-seeMore{
border: 1px solid #595c63;
}

.p-body-sideNavContent > .block > .block-container > .block-header{
background: #42464d;
border-bottom: 2px solid #595c63;
}

.p-body-sideNavContent > .block > .block-container > .block-body{
background: #42464d;
}

.p-body-sideNavContent > .block > .block-container > .block-body > .blockLink.is-selected{
background: #595c63;
}

.menu-row.menu-row--alt{
background: #383c42;
}

.menu-tabHeader .tabs-tab.is-active{
color: #ffffff;
}

.menu-header{
border-bottom: 1px solid #505459;  
}

.menu-footer{
border-top: 1px solid #505459;
}

.menu-tabHeader{
border-bottom: 1px solid #505459;
}

.menu-separator{
border-top: 1px solid #5b5f65;
}

.menu-row.menu-row--separated+.menu-row{
border-top: 1px solid #5b5f65;
}

.menu-row+.menu-scroller{
border-top: 1px solid #505459;
}

.block-row.block-row--separated+.block-row{
border-top: 1px solid #505459;
}

.message-responseRow{
border: 1px solid #5b5f65;
}

.input{
border-top-color: #5b5f65;
border-bottom-color: #5b5f65;
border-left-color: #5b5f65;
border-right-color: #5b5f65;
background: #383c42
}

.block-filterBar{
background: #383c42;
border-bottom: 2px solid #505459;
}

.block-body.js-newsFeedTarget{
background: #383c42;
}

.inputGroup.inputGroup--joined .inputGroup-text{
border-top-color: #5b5f65;
border-bottom-color: #5b5f65;
border-left-color: #5b5f65;
border-right-color: #5b5f65;
}

.inputGroup.inputGroup--joined .input+.inputGroup-text{
border-left-color: #5b5f65;
}

.block-tabHeader.tabs.hScroller{
border-bottom: 1px solid #505459;
}

.formSubmitRow-bar{
border-top: 1px solid #505459;  
}

.block-body+.block-minorHeader{
border-top: 2px solid #595c63;
}

.button.button--link, a.button.button--link{
background-color: #212428;
color: #ffffff;
border: 1px solid #3c3f42;
font-weight: normal;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}

.button.button{
background-color: #212428;
color: #ffffff;
border: 1px solid #3c3f42;
font-weight: normal;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}

.button.bbCodeSpoiler-button.button--longText{
border-top-color: #555555;
border-bottom-color: #555555;
border-left-color: #555555;
border-right-color: #555555;
font-weight: normal;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}

.formRowSep{
border-top: 1px solid #505459;
}

.formRow>dt{
border-right: 1px solid #505459;
}

.tabs.hScroller.block-minorTabHeader{
border-bottom: 2px solid #505459;
}

.memberHeader-separator{
border-top: 1px solid #505459;
}

.memberHeader-main{
border-bottom: 1px solid #505459;
}

.p-body-sidebar > .block > .block-container > .block-body{
background: #42464d;
}

.block-separator{
border-top: 1px solid #595c63;
}

.overlay-title{
border-bottom: 2px solid #595c63;
}

.p-sectionLinks-list{
padding-left: 195px;
}

.p-body-inner {
max-width:80% !important;
}

.p-nav .p-nav-inner {
padding: 12px 192px 0px 202px;
}

@media (min-width: 1401px) {
.xb-toggle-default .xb-page-wrapper {
max-width: 100%;
}
}

.xb-page-wrapper .p-footer--container{
padding-right: 170px;
padding-left: 170px;
}

.structItem-features .structItem-cell--featureDate{
color: #b3b3b3;
font-size: 85%  
}

.contentRow-minor{
color: #b3b3b3;
}

.pairs>dt{
color: #b3b3b3;
}

.pairs.pairs--justified.structItem-minor{
color: #b3b3b3;
}

.node-subNodeMenu .menuTrigger{
color: #b3b3b3;
}

.structItem-minor{
color: #b3b3b3;
}

.structItem-parts{
color: #b3b3b3;
font-size: 0.85rem;
}

.p-sectionLinks-list .p-navEl.is-menuOpen{
background: hsl(24deg 100% 55% / 0%);
box-shadow: 0px 0px 0px 0px;
}

.hb-quotes{
font-size: 1rem;
}

.message-footer .message-actionBar{
border-top: 1px solid #505459;
}

.tooltip--reaction .tooltip-content{
border: 1px solid #505459;
}

.p-navgroup-link{
border-left: 1px solid rgba(133, 133, 133, 0.15);
}

.inputGroup.inputGroup--joined .input+.input{
border-left: 1px solid #5b5f65;
}

.autoCompleteList{
border: 1px solid #5b5f65;
}

.memberTooltip-separator{
border-top: 1px solid #505459;
}

.memberTooltip-header{
border-bottom: 1px solid #505459;
}

.bbCodeBlock{
border-top: 1px solid #595c63;
border-bottom: 1px solid #595c63;
border-right: 1px solid #595c63;
}

.tooltip--member .tooltip-content{
border: 1px solid #595c63;
}

.node .node-stats{
display: table-cell;
}

.node .node-statsMeta{
display: none;
}

.structItem-cell{
padding: 6px 8px;
}

.node.node--id9.node--depth2.node--forum.node--unread > .node-body > .node-main.js-nodeMain > .node-meta > .node-statsMeta{
display: inline;
}

.node.node--id9.node--depth2.node--forum.node--unread > .node-body > .node-stats{
display: none;
}

.p-body-sidebar .block .block-minorHeader:before{
color: #9199ad;
position: relative;
left: 305px;
}

.block-minorHeader:before{
position: relative;
margin-left: -25px;
}

.p-body-sideNavContent .block .block-minorHeader:before{
margin-right: 5px;
margin-left: 0px;
}

.inputGroup.inputGroup--joined .inputGroup-text{
background: #383c42;
}

.inputGroup.inputGroup--joined .inputGroup-text+.input{
border-left: 1px solid #5b5f65;
}

.formRow+.formRow.formRow--fullWidth{
border-top: 1px solid #505459;
}

.codeEditor.CodeMirror{
border-top-color: #505459;
border-bottom-color: #505459;
border-left-color: #505459;
border-right-color: #505459;
}

.fr-popup .fr-input-line input[type="text"], .fr-popup .fr-input-line textarea{
border-top-color: #505459;
border-right-color: #505459;
border-bottom-color: #505459;
border-left-color: #505459;
}

.menu--emoji .menu-header{
border-top: 0px;
border-bottom: 1px solid #505459;
}

.fr-view blockquote{
border-top: 1px solid #505459;
border-bottom: 1px solid #505459;
border-right: 1px solid #505459;
}

.fr-view>table>tbody>tr>td{
border: 1px solid #505459;
}
Screenshots:
Before/After/Screenshot of the actual old theme
23198843.webp4398433.webp9348324.webp
Before/After
092834.webp2783429.webp
Before/After
932823384.webp03237827.webp
Before/After
3492834.webp83478344.webp
(The change of the sub-forums stats (The threads and messages counters) being on the right of the board compared to under the sub-forum description/title made the boards more compact and I think that it looks leagues better)
I think the current result is close enough to the original that you can't really tell a difference between them but if you notice any discrepencies, tell me about them and I'll handle them the best way I can as well as if anything looks wrong/broken. I don't remember everything from the old theme had to offer and I don't know of enough places to go to find them, like for stuff that was dynamically loaded like notifications (Barring scouring archives for the elements directly or this website for screenshots of them).

(ALSO TO NOTE: This isn't a 1 to 1 recreation of the old theme and I don't plan for it to be. For example, the old theme had hover effects when your mouse went over sub-forums and the collapsable icon on the board titles. Another one is the position of some of the lists on the sidebar (Members online being at the top), things that are gone from the sidebar like the stats that were at the very top, and the titles the lists were called (New Off-Topic Threads originally being New Sperging). Some of this stuff goes over my head with my knowledge of CSS, which isn't much, and is not something that I'm very interested in doing. I just wanted to do the most obvious visual elements. Another thing I want to clarify is that I left some stuff from the new theme in, mostly buttons that are filled in now with the color of whatever theme you're using. There is some stuff I like about the new theme and prefer over the old one)

BTW, to clarify, >@Hellwalker I thought you already did this before. I can see some CSS a couple posts above.

That was a terrible attempt at recreating it and was more of a late-night experiment than anything else. Moving on from this, I also have some other stuff:

I have CSS from the T&H badge that was used from (I think) 2019 and I figured that I should modify the other badges to play along with the sizing of the badge:
CSS:
/* T&H Badge */
.userBanner.userBanner--green {
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
color: rgb(255, 255, 255);
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-color: rgb(0, 128, 0);
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-color: rgb(0, 179, 0);
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: 0.996553px;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-color: rgb(0, 179, 0);
border-left-style: solid;
border-left-width: 0.996553px;
border-right-color: rgb(0, 179, 0);
border-right-style: solid;
border-right-width: 0.996553px;
border-top-color: rgb(0, 179, 0);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: 0.996553px;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;
}
CSS:
/* Deceased */
.userBanner.userBanner--gray {
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: 0.996553px;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-style: solid;
border-left-width: 0.996553px;
border-right-style: solid;
border-right-width: 0.996553px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: 0.996553px;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;
color: #7f8c8d;
}

/* Staff Badges */
.userBanner.userBanner--primary {
color: #1C46E9;
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: 0.996553px;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-style: solid;
border-left-width: 0.996553px;
border-right-style: solid;
border-right-width: 0.996553px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: 0.996553px;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;
}

/* Forum Staff */
.userBanner.userBanner--staff {
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: medium;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-style: solid;
border-left-width: medium;
border-right-style: solid;
border-right-width: medium;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: medium;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;
border-left-color: #247cb7;
border-right-color: #247cb7;  
}

/* Global Moderator */
.userBanner.userBanner--royalBlue {
color: hsl(225, 84%, 63%);
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: thin;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-style: solid;
border-left-width: thin;
border-right-style: solid;
border-right-width: thin;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: thin;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;
}

/* Administrator */
.userBanner.userBanner--red{
background-position: initial;
background-repeat: initial;
-webkit-background-clip: border-box;
font-size: 11px;
font-style: normal;
font-weight: 400;
background-attachment: scroll;
background-clip: border-box;
background-image: none;
background-origin: padding-box;
background-size: auto;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom-style: solid;
border-bottom-width: thin;
border-image-outset: 0;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-style: solid;
border-left-width: thin;
border-right-style: solid;
border-right-width: thin;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top-style: solid;
border-top-width: thin;
box-sizing: border-box;
margin-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
padding-top: 1px;
text-align: center;    
}
(This CSS is pretty much copy/pasting from the T&H badge while accomodating whatever other badge that was worked with. I'm sure there's a cleaner way to do this but this works fine enough)​
Screenshots:
Before/After
02834.webp3489832.webp3493488.webp398334.webp

Make the border around embeded posts link to whatever theme you are using:
CSS:
.embed{
border: 1px solid hsla(var(--xf-primaryLinkColor));  
}
Screenshots:
Before/After
934884.webp394834.webp
That's all I have to show the world today. See all you guys next time :)
 
Last edited:
I modified my Cave Theme with the recent changes to the site. Since early November, one may notice that the new userstyle version has:
  • Modestly rounded avatar borders on posts and in chat. The new gilded avatar decoration is also adjusted for rounded borders.
    • This is a somewhat opinionated/artistic addition, and while I aimed to keep the rounding semi-subtle, I'm open to make this a toggle if there's a preference for it.
  • Made certain buttons (namely the dark gray ones) become lit on hover as a UI improvement.
  • Updated the unread post indicator [for unread posts in threads] to instead subtly color [message attribution] header of the main cell of an unread post.
  • Added a userstyle option to hide sponsored posts that hides said posts by default.
    • One could alternatively do this via uBlock cosmetic filters, but I figured that there's no reason not to make it an easy option for anyone.
    • In their present state, I think they visually look ugly in contrast to post embeds and I'm not sure how I would pretty them up while not awkwardly taking up a whole bunch of space in the page body. Additionally, I figured some users may not like other people potentially putting up shit they might not take kindly to (e.g. NSFW content/images) and seeing said shit outside of the thread.
  • Subtle adjustments to the reactions and post cell layout
 
dirty hack to colorize sneedchat usernames based on user id, but it's only a pool of 10 because I don't think the calc(attr(data-id type(<integer>)) % 100 * 3.6) bullshit I want is supported yet :optimistic:
CSS:
    #chat-messages .chat-message .author {
        --chat-s: 30%;
        --chat-v: 60%;
        &[data-id$="0"] { color: hsl(calc(0*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="1"] { color: hsl(calc(1*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="2"] { color: hsl(calc(2*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="3"] { color: hsl(calc(3*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="4"] { color: hsl(calc(4*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="5"] { color: hsl(calc(5*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="6"] { color: hsl(calc(6*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="7"] { color: hsl(calc(7*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="8"] { color: hsl(calc(8*36), var(--chat-s), var(--chat-v)); }
        &[data-id$="9"] { color: hsl(calc(9*36), var(--chat-s), var(--chat-v)); }
    }
    #chat-activity-scroller .activity {
        --chat-s: 30%;
        --chat-v: 60%;
        &[id$="0"] { color: hsl(calc(0*36), var(--chat-s), var(--chat-v)); }
        &[id$="1"] { color: hsl(calc(1*36), var(--chat-s), var(--chat-v)); }
        &[id$="2"] { color: hsl(calc(2*36), var(--chat-s), var(--chat-v)); }
        &[id$="3"] { color: hsl(calc(3*36), var(--chat-s), var(--chat-v)); }
        &[id$="4"] { color: hsl(calc(4*36), var(--chat-s), var(--chat-v)); }
        &[id$="5"] { color: hsl(calc(5*36), var(--chat-s), var(--chat-v)); }
        &[id$="6"] { color: hsl(calc(6*36), var(--chat-s), var(--chat-v)); }
        &[id$="7"] { color: hsl(calc(7*36), var(--chat-s), var(--chat-v)); }
        &[id$="8"] { color: hsl(calc(8*36), var(--chat-s), var(--chat-v)); }
        &[id$="9"] { color: hsl(calc(9*36), var(--chat-s), var(--chat-v)); }
    }
 
Last edited:
CSS:
/* Kiwifarms-Rat CSS */

:root {   
    --xf-buttonBg: var(--xf-buttonBg--h), var(--xf-buttonBg--s), var(--xf-buttonBg--l), var(--xf-buttonBg--a);
    --xf-buttonBg--h: var(--xf-contentBg--h);
    --xf-buttonBg--s: var(--xf-contentBg--s);
    --xf-buttonBg--l: calc(var(--xf-contentBg--l) + (var(--xf-color-adjust, 1) * 10%)) !important;
    --xf-buttonBg--a: var(--xf-contentBg--a);
    
    --borderColor1: hsla(var(--xf-borderColorHighlight--h),var(--xf-borderColorHighlight--s),calc(var(--xf-borderColorHighlight--l) + -4%),var(--xf-borderColorHighlight--a));
    --borderColor2: rgb(45, 45, 45);
    --borderColor3: rgb(50, 50, 50);
}

.p-sectionLinks {
    padding-left: 10% !important;
    padding-right: 10% !important;
}

@media (min-width: 1401px) {
    .p-nav {
        padding-left: 10% !important;
        padding-right: 10% !important;
    }

    .xb-toggle-default .xb-page-wrapper {
        max-width: 100% !important;
        width: 100% !important;
    }
 
    .p-footer-inner {
        max-width: 80% !important;
    }
}

.xb-page-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-radius: 0 !important;
}

.p-body-inner {
    padding-top: 0% !important;
    max-width: 80% !important;
}

.p-footer {
    margin-top: 2% !important;
    margin-bottom: 1% !important;
    
    background-color: rgb(0, 0, 0, 65%) !important;
    backdrop-filter: blur(2px);

    border-top: 1px solid hsla(var(--xf-paletteAccent1)) !important;
    border-bottom: 1px solid hsla(var(--xf-paletteAccent1))  !important;
}

.p-footer-copyright, .p-footer-default { /* null WHY */
    background: none !important;
    padding-top: 8px;
}

.p-footer-copyright {
    margin-bottom: 1% !important;
}

.p-footer-linkList > li a {
    text-decoration: none !important;
}

.p-footer-linkList > li a:hover {
    text-decoration: underline !important;
}

.copyright-left {
    color: rgb(190, 190, 190, 80%) !important;
}

.copyright-left a {
    color: rgba(255, 255, 255) !important;
    text-decoration: none !important;
    padding: 2px 4px !important;
    border-radius: 2px;
}

.copyright-left a:hover {
    color: rgb(255, 255, 255) !important;
    background-color: hsla(0,0%,100%,10%);

}

.p-navEl.is-selected {
    border-top: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
    border-left: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
    border-right: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
}

.p-navgroup {
    background: hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc((var(--xf-pageBg--l) - 5%) - 2.5%), var(--xf-pageBg--a)) !important;
    border-top: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
    border-left: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
    border-right: 0.5px solid hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(((var(--xf-pageBg--l) - 5%) - 2.5%) - (var(--xf-color-adjust, 1) * 10%)), var(--xf-pageBg--a)) !important;
}



.js-replyNewMessageContainer {
    box-shadow: none !important;
    border: none !important;
}

.message-footer {
    border-top-width: 1.5px !important;
    border-top-color: var(--borderColor1) !important;
    border-top-style: solid !important;
    border-bottom-right-radius: 3px !important;

    padding-bottom: 0.5% !important;
}

/* FUCK OFF WITH YOUR GROSS HOMOSEXUAL SHIT THAT MAKES MY SHIT LOOK EVEN STUPIDER */
.block--messages .message.hbReact-postmarked, .message.hbReact-postmarked {
    border-top: none !important;
}

/*
.message-cell--user {
    border-right-width: 1.5px !important;
    border-right-color: var(--borderColor1) !important;
    border-right-style: solid !important;
}
*/

.message-responseRow {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-color: rgb(0,0,0,0) !important;
    border: 0 !important

}


.message-responseRow > .comment {
    padding-top: 12px !important;
    border-top: 1px solid var(--borderColor1) !important;
}

.reactPlusSummary li .reactionsBar-link {
    border: 1px solid var(--borderColor2);
}

.reactPlusSummary li .reactionsBar-link:hover {
    border: 1px solid rgb(255, 255, 255, 65%);
}



.reactTooltip {
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2) !important;
}




/* Fix colour on selected user buttons (account, notifs, DM's) changing on hover */
.p-navgroup-link.p-navgroup-link.is-menuOpen:hover {
    background: hsla(var(--xf-paletteColor3)) !important;
}

.p-navgroup-link.p-navgroup-link:hover {
    background: hsla(var(--xf-textColor--h), var(--xf-textColor--s), var(--xf-textColor--l), 12%) !important;
}




.fr-box.fr-basic {
    border-color: var(--borderColor2) !important;
    
    border-top-left-radius: 2px !important;   
    border-top-right-radius: 2px !important;   

    border-bottom-left-radius: 0px !important;   
    border-bottom-right-radius: 0px !important;
}

.fr-box.fr-basic.is-focused {
    border-color: hsla(var(--xf-paletteAccent1)) !important;
}

.fr-btn-grp.fr-float-right.rte-tab--inactive.rte-tab--preview {
    border: none !important;
}

.fr-toolbar {
    border-bottom-color: var(--input-border-heavy) !important;
    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
    border-radius: 0px !important;
    -webkit-border-radius: 0px !important;
    -mox-border-radius: 0px !important;
}



/* Remove stripe effect */
.structItemContainer, .structItemContainer-group, .structItem:nth-child(2n):not(.is-mod-selected), .node, .node:nth-child(2n) {
    background-color: hsla(var(--xf-contentBg)) !important;
}

.block--features > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
    border-top: none !important;
}

.block-body {
    border-radius: 0 !important;
}

.block-container {
    border-left: 1px solid hsla(var(--xf-borderColorFaint)) !important;
    border-right: 1px solid hsla(var(--xf-borderColorFaint)) !important;
    border-bottom: 1px solid hsla(var(--xf-borderColorFaint)) !important;
    
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.block-header,
.block-minorHeader {
    /*background-color: rgb(0, 0, 0, 15%) !important;*/
    background: hsla(var(--xf-pageBg--h), var(--xf-pageBg--s), calc(var(--xf-pageBg--l) - 5%), var(--xf-pageBg--a)) !important;
}

.u-dt {
    font-size: 85% !important;
}


/* Page navigation buttons */
.pageNav-main {
    border-radius: 0px !important;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2) !important;
}

.pageNav-page {
    box-shadow: unset !important;
    border-right: 1px solid var(--borderColor3) !important;
}

.pageNav-page:first-child {
    border-left: none !important;
}

.pageNav-page:last-child {
    border-right: none !important;
}




/* Thread navigation links "[board] > [thread] >" */
.p-breadcrumbs > li > a, a.ui {
    border-radius: 2px !important;
    margin-left: 1px !important;
}

.p-breadcrumbs > li > a:hover,
a.ui:hover {
    background: hsla(var(--xf-paletteNeutral3--h), var(--xf-paletteNeutral3--s), var(--xf-paletteNeutral3--l), 20%) !important;
}

.hb-quotes {
    font-size: 0.95rem !important;
    margin-bottom: 2.5% !important;
}




/* Hopefully fix strange floating left-side-navbar button behaviour */
.p-nav-scroller > div:nth-child(1) {
    margin-bottom: unset !important;
    padding-bottom: unset !important;
    overflow-x: hidden !important;
}




/* Fix navigation bar weird bottom padding */
.hScroller-scroll.is-calculated {
    margin-bottom: -42px !important;
}

.embed, .fauxboxlink {
    background-color: hsla(var(--xf-paletteColor2)) !important;
    border-color: hsla(var(--xf-paletteAccent1)) !important;
}

.embed-container {
    background-color: hsla(var(--xf-paletteColor1)) !important;
    border-bottom: 1px hsla(var(--xf-borderColorFaint)) solid !important;
    margin-bottom: 1% !important;
}

.embed:hover, .fauxboxlink:hover {
    border-color: rgb(255, 255, 255, 65%) !important;
}

.reactionSummary > li {
    background: unset !important;
}




/* fix button hover colour being inconsistent with other buttons */
.button:hover {
    color: hsla(var(--xf-linkHoverColor)) !important; 
    background: hsla(var(--xf-contentHighlightBg)) !important;
}

.button {
  background-color: hsla(var(--xf-buttonBg)) !important;
  color: hsla(var(--xf-buttonTextColor)) !important;
}




/* Message box button border shit below !!! */
.fr-btn[data-cmd^="more"], .fr-btn[data-cmd^="more"]:hover {
    border-bottom: unset !important
}

.fr-btn, .fr-btn:hover, .fr-active:not(.fr-disabled), .fr-btn-active-popup {
    margin-left: 2px !important;
    margin-right: 2px !important;
    border-radius: 0px !important;
}

.fr-btn:hover {
    background: hsla(var(--xf-contentBg)) !important;
    opacity: 1 !important;
}

.fr-btn-active-popup, .fr-open:hover, .fr-active, .fr-btn.is-menuOpen {
    color: hsla(var(--xf-editorButtonActiveColor)) !important;
    background: hsla(var(--xf-contentBg)) !important;
}

.fr-btn:hover {
    background:  hsla(var(--xf-editorToolsOverflowBg--h), var(--xf-editorToolsOverflowBg--s), var(--xf-editorToolsOverflowBg--l), 0.5) !important;
}

.fr-toolbar .fr-more-toolbar > .fr-command.fr-btn:hover {
    background:  hsla(var(--xf-editorToolsOverflowBg--h), var(--xf-editorToolsOverflowBg--s), calc(var(--xf-editorToolsOverflowBg--l) + 6%), 1) !important;
}

.fr-popup.fr-desktop.fr-ltr.fr-active {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 0 !important;
    border-radius: 0px !important;
}

div.fr-popup:nth-child(10) {
    padding-top: 8px !important;
}

.fr-popup .fr-buttons.fr-tabs {
    padding-left: 0px !important;
    border-radius: 0 !important;
   -moz-border-radius: 0 !important;
   -webkit-border-radius: 0 !important;
}

#imageUpload-1:hover, #imageByURL-1:hover,
#imageUpload-1.fr-active:hover, #imageByURL-1.fr-active:hover {
    background:  hsla(var(--xf-editorToolsOverflowBg--h), var(--xf-editorToolsOverflowBg--s), calc(var(--xf-editorToolsOverflowBg--l) + 10%), 1) !important;
}

#imageUpload-1.fr-active, #imageByURL-1.fr-active {
    background:  hsla(var(--xf-editorToolsOverflowBg--h), var(--xf-editorToolsOverflowBg--s), calc(var(--xf-editorToolsOverflowBg--l) + 7%), 1) !important;
    border-bottom: 1px solid hsla(var(--xf-paletteAccent2)) !important;

}

#imageUpload-1, #imageByURL-1 {
    background: hsla(var(--xf-editorToolsOverflowBg)) !important;
    
    margin-left: 0 !important;
    margin-right: 0 !important;
    
    border-bottom: 1px solid var(--borderColor1) !important;
}

#imageUpload-1 {

}


.fr-command.fr-btn.fr-active + .fr-dropdown-menu {
    border-radius: 0 !important;
}




/* Remove all the hover fade in/out effects because they look dumb and slow IMO */
.tabs-tab, .p-breadcrumbs > li > a, a.ui,
.button, .button:hover,
.menu,
.fr-btn:hover, .fr-btn, .fr-dropdown-wrapper,
.p-nav-list, .p-navEl, .p-navEl-link, .p-navEl-splitTrigger {
    transition: none !important;
    -webkit-transition: none !important;
}

/* This is only for non javascript tooltips, those are slow
    and look less shit with a transition on them funnily enough */
.fr-tooltip {
    opacity: 1 !important;
}



.inlineModBar .button {
    border: 1px solid hsla(var(--xf-paletteAccent1)) !important;
}

.inlineModBar {
    background-color: rgb(0, 0, 0, 65%) !important;
    backdrop-filter: blur(2px);
    
    border-top-color: hsla(var(--xf-paletteAccent1)) !important;
    border-top-width: 1px !important;
    border-top-style: solid !important;
    
    border-bottom-color: hsla(var(--xf-paletteAccent1)) !important;
    border-bottom-width: 1px !important;
    border-bottom-style: solid !important;
}




div.tabs > div:nth-child(1) > span a:hover {
    text-decoration: underline !important;
}




/* no dotted line please thanks */
.p-body-main .block--features .block-minorHeader a,
.p-body-main .block--widget .block-minorHeader a,
.p-body-main .block--features .block-header a,
.p-body-main .block--widget .block-header a {
  text-decoration: none !important;
}

.p-body-main .block--features .block-minorHeader a:hover,
.p-body-main .block--widget .block-minorHeader a:hover,
.p-body-main .block--features .block-header a:hover,
.p-body-main .block--widget .block-header a:hover {
  text-decoration: underline !important;
}




.hb-sponsored {
    border: 1px solid hsla(var(--xf-paletteAccent1)) !important;
    box-shadow: 0 2px 2px 0 hsla(0, 0%, 0%, .14), 0 3px 1px -2px hsla(0, 0%, 0%, .12), 0 1px 5px 0 hsla(0, 0%, 0%, .2) !important;
}

.hb-sponsored:hover {
    border-color: rgb(255, 255, 255, 65%) !important;
}



/* center the image thumbnail preview in the image viewer */
.f-thumbs.is-horizontal .f-thumbs__track {
    margin: initial !important;
}



.memberOverviewBlock-seeMore {
    border-color: var(--borderColor1) !important;
}
Made some changes that fixes some things that were annoying me and also to accommodate for the recent changes to the site. Enjoy pro-feshonal garbag.
1763624252879.png1763624432509.png1763624805611.png1763624914435.png1763625011738.png1763625046142.png1763625203765.png
 
Back
Top Bottom