/*
 *  Hazerot Network - Custom CSS
 *  Aligned with Tailwind/HTML design system
 */

/* ============================================
   [ BASE OVERRIDES ]
   ============================================ */

body.pushable > .pusher {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

#wrapper {
    margin-bottom: 0;
}

/* ============================================
   [ NAVIGATION BAR ]
   ============================================ */

.ui.secondary.menu {
    background: transparent !important;
    padding: 0;
    margin: 0;
    box-shadow: none !important;
    border: none !important;
}

.ui.secondary.menu .toc.item {
    display: none;
}

.ui.secondary.menu .toc.item i {
    margin: 0;
}

#navbar .item i {
    margin-right: 5px;
}

.ui.secondary.menu .ui.medium.label {
    padding: .68em 1em .5em .5em;
}

.ui.secondary.menu .ui.medium.label img {
    font-size: 1.09rem;
    margin: -.6em .5em -.6em -.5em;
}

@media only screen and (max-width: 768px) {
    .ui.secondary.menu .menu,
    .ui.secondary.menu .item {
        display: none;
    }
    .ui.secondary.menu .toc.item {
        display: block;
    }
}

.ui.secondary.menu .ui.popup {
    min-width: 200px;
}

.ui.secondary.menu .ui.popup a:not([href]) {
    cursor: default !important;
}

/* ============================================
   [ SEGMENT / GLASS PANEL OVERRIDE ]
   ============================================ */

.ui.segment {
    background: rgba(20, 20, 21, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: none;
    color: #e5e2e3;
}

.ui.segment .ui.list .list > .item .header,
.ui.segment .ui.list > .item .header {
    display: inline-block;
}

.ui.secondary.segment:not(.inverted) {
    border-top: none;
}

/* ============================================
   [ FORUM NODE ]
   ============================================ */

#forum-node #last-post {
    width: 250px;
}

#forum-node #last-post .avatar {
    margin: 2px 10px 0 0;
}

/* ============================================
   [ FORUM PAGE ]
   ============================================ */

#sticky-threads tbody tr td:last-child:not(:first-child),
#normal-threads tbody tr td:last-child:not(:first-child) {
    text-align: right;
}

#sticky-threads tbody tr td:last-child .ui.image.header .image,
#normal-threads tbody tr td:last-child .ui.image.header .image {
    float: right;
    margin-left: 1rem;
    margin-top: .24rem;
}

#sticky-threads .badge,
#sticky-threads .ui.label,
#normal-threads .badge,
#normal-threads .ui.label {
    position: relative;
    top: -1.2px;
    padding: .3rem .5rem;
    font-size: .7rem;
    margin: 0 0 .1rem .2rem;
}

/* ============================================
   [ TOPIC PAGE ]
   ============================================ */

#topic-post #post-sidebar .ui.small.image,
#topic-reply #reply-sidebar .ui.small.image {
    width: 120px;
}

#topic-post #post-sidebar h3,
#topic-reply #reply-sidebar h3 {
    margin: 1rem 0;
}

@media (max-width: 768px) {
    #topic-post #post-sidebar .ui.list,
    #topic-reply #reply-sidebar .ui.list {
        display: none;
    }
}

#topic-post #post-meta [class*="res right floated"] {
    margin-top: -5px;
}

@media (max-width: 576px) {
    #topic-post #post-meta {
        text-align: center;
    }
    #topic-post #post-meta [class*="res right floated"] {
        margin-top: 0;
    }
}

@media only screen and (min-width: 768px) {
    #topic-post #post-sidebar,
    #topic-reply #reply-sidebar {
        border-right: solid 1px rgba(255, 255, 255, 0.1);
        margin-top: -1.5rem;
        margin-bottom: -1.5rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    #topic-post #post-sidebar:before,
    #topic-reply #reply-sidebar:before {
        content: "";
        height: 0;
        border: 8px solid transparent;
        border-right: 8px solid rgba(255, 255, 255, 0.1);
        position: absolute;
        top: 75px;
        right: 0;
    }
    #topic-post #post-sidebar:after,
    #topic-reply #reply-sidebar:after {
        content: "";
        height: 0;
        border: 8px solid transparent;
        border-right: 8px solid rgba(20, 20, 21, 0.6);
        position: absolute;
        top: 75px;
        right: -1px;
    }
}

@media only screen and (max-width: 768px) {
    #topic-post #post-sidebar,
    #topic-reply #reply-sidebar {
        border-bottom: solid 1px rgba(255, 255, 255, 0.1);
    }
}

.ui.comments {
    max-width: none;
}

#reactions {
    margin-top: 1rem;
    padding: .7em 1.2em;
    min-height: 32.5px;
    font-size: 12px;
}

#topic-post #post-content {
    display: flex;
    flex-direction: column;
    padding: .7em 1.2em;
    min-height: 32.5px;
}

#post-content #reactions {
    margin-top: auto;
}

.reaction-button,
.reaction-button-selected {
    margin-left: 5px;
    margin-right: 5px;
}

.reaction-button {
    opacity: 50%;
}

.reaction-button:hover,
.reaction-button-selected {
    opacity: 100%;
    cursor: pointer;
}

#modal-reactions .ui.menu {
    overflow-x: auto;
}

.ui.menu .item > img:not(.ui) {
    width: 1em;
}

#topic-post #post-meta {
    margin-right: 1.3em;
}

#topic-post #post-sidebar .groups {
    text-align: center;
}

.inline.fields.labels {
    flex-wrap: wrap;
}

.ui.form .inline.fields.labels .field {
    padding-bottom: 1em;
}

.blockquote {
    border-left: 2px solid rgba(255, 255, 255, 0.2);
    margin: 1.5em 10px;
    padding: 0.5em 10px;
}

/* ============================================
   [ WIDGETS ]
   ============================================ */

[id*="widget"] .item .content {
    width: calc(100% - 40px) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[id*="widget"] .item .content * {
    overflow: hidden;
    text-overflow: ellipsis;
}

[id*="widget"] .item .description {
    width: calc(100% - 120px) !important;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[id*="widget"] .item .description * {
    overflow: hidden;
}

#widget-online-users .content {
    padding-bottom: .5rem;
}

#widget-online-users .ui.image.label {
    margin-bottom: .5rem;
}

#widget-online-staff .ui.list .item {
    display: flex;
    align-items: center;
}

#widget-online-staff .ui.list .item .content {
    display: flex;
    align-items: center;
}

#widget-online-staff .ui.list .item .content .badge {
    margin-left: .35rem;
}

/* ============================================
   [ USER BADGES ]
   ============================================ */

.badge {
    display: inline-block;
    line-height: 1;
    vertical-align: baseline;
    margin: 0 .14285714em;
    background-color: rgba(255, 255, 255, 0.1);
    padding: 0.3em .5em;
    color: #e5e2e3;
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: .25rem;
    letter-spacing: 0.05em;
    transition: background .1s ease;
}

a.badge:hover,
a.badge:focus {
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.15);
}

.badge:empty {
    display: none;
}

/* ============================================
   [ POPUP / TOOLTIP - DARK THEME ]
   ============================================ */

.ui.popup,
body.dark .ui.popup,
.ui.secondary.menu .ui.popup,
body.dark .ui.secondary.menu .ui.popup {
    background: rgba(20, 20, 21, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #e5e2e3 !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.03em !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
}

.ui.popup::before,
body.dark .ui.popup::before {
    background: rgba(20, 20, 21, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

.ui.popup .header,
body.dark .ui.popup .header {
    color: #fff !important;
    font-family: 'Roboto', sans-serif !important;
}

.ui.popup .content,
body.dark .ui.popup .content {
    color: #e5e2e3 !important;
}

.ui.popup a,
body.dark .ui.popup a {
    color: #f2ca50 !important;
}

/* ============================================
   [ TABLE ]
   ============================================ */

.ui.table {
    background: rgba(20, 20, 21, 0.6);
    color: #e5e2e3;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.ui.table thead th {
    background: rgba(30, 30, 31, 0.8);
    color: rgba(255, 255, 255, 0.6);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ui.table a {
    color: #f2ca50;
}

/* ============================================
   [ FORMS ]
   ============================================ */

.ui.form input:not(.button),
.ui.form textarea,
.ui.form select {
    background-color: rgba(14, 14, 15, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    border-radius: 0.75rem !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
}

.ui.form input:focus,
.ui.form textarea:focus {
    border-color: #f2ca50 !important;
    box-shadow: 0 0 0 2px rgba(242, 202, 80, 0.2) !important;
}

select {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    padding: 10px !important;
}

/* ============================================
   [ MODAL ]
   ============================================ */

.ui.modal {
    background-color: rgba(20, 20, 21, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
}

.ui.modal > .header {
    background: rgba(30, 30, 31, 0.8);
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: 'Orbitron', sans-serif;
}

.ui.modal > .content {
    background: transparent;
    color: #e5e2e3;
}

.ui.modal > .actions {
    background: rgba(30, 30, 31, 0.8);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* ============================================
   [ DROPDOWN / MENU ]
   ============================================ */

.ui.dropdown .menu,
.ui.menu .dropdown.item .menu {
    background: rgba(20, 20, 21, 0.95) !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
}

.ui.dropdown .menu > .item {
    color: #e5e2e3 !important;
    font-family: 'Roboto', sans-serif !important;
}

.ui.dropdown .menu > .item:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #fff !important;
}

/* ============================================
   [ PAGINATION ]
   ============================================ */

.ui.pagination.menu {
    background: rgba(20, 20, 21, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
}

.ui.pagination.menu .item {
    color: #e5e2e3;
}

.ui.pagination.menu .item.active {
    background: rgba(242, 202, 80, 0.2);
    color: #f2ca50;
}

/* ============================================
   [ MESSAGES ]
   ============================================ */

.ui.message {
    margin: 0.5em 0;
    background: rgba(20, 20, 21, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e5e2e3;
    border-radius: 0.75rem;
}

.ui.message > .close.icon {
    right: .8em;
}

/* ============================================
   [ SPOILER ]
   ============================================ */

.spoiler,
#tinymce .spoiler {
    color: #e5e2e3;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: none;
}

.spoiler-toggle,
#tinymce .spoiler-toggle {
    color: #f2ca50;
}

.spoiler-text,
#tinymce .spoiler-text {
    color: #e5e2e3;
}

/* ============================================
   [ FORUM POST ]
   ============================================ */

.forum_post {
    word-wrap: break-word;
    color: #e5e2e3;
    line-height: 1.75;
}

.forum_post p {
    margin-top: 0;
    margin-bottom: 1em;
}

.forum_post p:last-child {
    margin-bottom: 0;
}

.forum_post h1,
.forum_post h2,
.forum_post h3 {
    font-weight: 800;
    color: #fff;
    margin-top: 1.4em;
    margin-bottom: 0.6em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.forum_post h1 {
    font-size: 1.5em;
}

.forum_post h2 {
    font-size: 1.3em;
}

.forum_post h3 {
    font-size: 1.1em;
}

.forum_post h4,
.forum_post h5,
.forum_post h6 {
    font-weight: 700;
    color: #fff;
    margin-top: 1.25em;
    margin-bottom: 0.5em;
}

.forum_post ul,
.forum_post ol {
    margin-top: 0;
    margin-bottom: 1em;
    padding-left: 0;
    list-style: none;
}

.forum_post ul li,
.forum_post ol li {
    position: relative;
    margin-bottom: 0.6em;
    padding-left: 2.25em;
}

.forum_post ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background: #f2ca50;
}

.forum_post ol {
    counter-reset: forum-post-counter;
}

.forum_post ol li {
    counter-increment: forum-post-counter;
}

.forum_post ol li::before {
    content: counter(forum-post-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 202, 80, 0.12);
    border: 1px solid rgba(242, 202, 80, 0.35);
    color: #f2ca50;
    font-weight: 700;
    font-size: 0.75em;
    border-radius: 0.375rem;
}

.forum_post strong,
.forum_post b {
    color: #fff;
    font-weight: 700;
}

.forum_post em,
.forum_post i {
    color: #d4d1d2;
}

.forum_post hr {
    margin: 1.5em 0;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.forum_post code {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #f2ca50;
    padding: 0.15em 0.4em;
    border-radius: 0.35rem;
    font-size: 0.875em;
}

.forum_post pre {
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    padding: 1em;
    margin: 1em 0;
    overflow-x: auto;
}

.forum_post pre code {
    background: none;
    border: none;
    padding: 0;
}

.forum_post blockquote {
    margin: 1em 0;
    padding: 0.75em 1em;
    border-left: 3px solid rgba(242, 202, 80, 0.4);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 0.5rem;
}

.forum_post table {
    margin: 1em 0;
}

.forum_post img {
    overflow: auto;
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin: 0.5em 0;
}

.forum_post a {
    color: #f2ca50;
}

/* ============================================
   [ TINY MCE EDITOR ]
   ============================================ */

.tox-tinymce {
    min-height: 300px;
    border-radius: 0.75rem !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.tox .tox-toolbar,
.tox .tox-menubar,
.tox .tox-statusbar,
.tox .tox-dialog,
.tox .tox-dialog__header,
.tox .tox-dialog__footer {
    background-color: rgba(20, 20, 21, 0.95) !important;
}

.tox .tox-tbtn {
    color: #e5e2e3 !important;
}

.tox .tox-tbtn svg {
    fill: #e5e2e3 !important;
}

.tox .tox-tbtn:hover,
.tox .tox-tbtn--enabled {
    background: rgba(255, 255, 255, 0.1) !important;
}

.tox .tox-edit-area__iframe {
    background: rgba(14, 14, 15, 0.8) !important;
}

/* ============================================
   [ COOKIE NOTICE ]
   ============================================ */

.cc-window.cc-floating {
    padding: 1rem 1.5rem;
    background-color: rgba(20, 20, 21, 0.95) !important;
    backdrop-filter: blur(20px);
    color: #e5e2e3 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}

.cc-window.cc-floating .cc-highlight .cc-btn.cc-allow {
    background-color: #f2ca50;
    border-color: transparent;
    border-radius: 0.5rem;
    color: #3c2f00;
    font-weight: 700;
}

/* ============================================
   [ EMOJI SIZING ]
   ============================================ */

.joypixels,
.twemoji {
    height: 1em;
    width: 1em;
    vertical-align: middle;
}

/* ============================================
   [ ACCESSIBILITY ]
   ============================================ */

.screenreader-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* ============================================
   [ UTILITY ]
   ============================================ */

.ui.popup {
    z-index: 99999;
    text-align: left;
}

#ie-message {
    display: none;
}

.leaderboard_table .ui.list {
    margin-left: -10px;
}

.leaderboard_table .ui.list li a {
    display: block;
    height: 100%;
    width: 100%;
}

.leaderboard_table ol li:before {
    display: none;
}
/* ============================================
   [ FORUM DESCRIPTION FIX ]
   ============================================ */

.forum-row p,
.forum-row .description,
.glass-panel .forum-row p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
    color: rgba(161, 161, 170, 1) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-top: 0.25rem !important;
}

@media (min-width: 768px) {
    .forum-row p,
    .forum-row .description,
    .glass-panel .forum-row p {
        font-size: 0.875rem !important;
    }
}
/* ============================================
   [ FIX FORUM LINK HOVER COLORS ]
   ============================================ */

/* Discord CTA button hover */
section.gold-glow a.button-shine:hover,
section.gold-glow a.button-shine:focus {
    color: #3c2f00 !important;
}

/* Forum Rules "Read Full Guidelines" link */
.glass-panel.border-l-2 a:hover,
.glass-panel.border-l-2 a:focus {
    color: #66dd8b !important;
}

/* Override Fomantic UI default blue link hover globally for forum page */
main a:not(.ui):hover {
    color: inherit !important;
}

/* But keep specific hover colors working */
.forum-row a h4.group-hover\:text-primary:hover,
.group:hover .group-hover\:text-primary {
    color: #f2ca50 !important;
}

.group:hover .group-hover\:text-tertiary {
    color: #9fd8e4 !important;
}

.group:hover .group-hover\:text-secondary {
    color: #66dd8b !important;
}

.group:hover .group-hover\:text-purple-400 {
    color: #c084fc !important;
}

.group:hover .group-hover\:text-blue-400 {
    color: #60a5fa !important;
}

.group:hover .group-hover\:text-orange-400 {
    color: #fb923c !important;
}

.group:hover .group-hover\:text-red-500 {
    color: #ef4444 !important;
}

.group:hover .group-hover\:text-zinc-400 {
    color: #a1a1aa !important;
}

/* ============================================
   [ COLORFUL GLOWING HOVER EFFECT ]
   Usage: wrap element in <div class="glow-hover"><button>...</button><span></span><span></span></div>
   ============================================ */

.glow-hover {
    position: relative;
    display: inline-block;
    isolation: isolate;
    border-radius: 0.25rem; /* matches the default Tailwind "rounded" avatars use */
}

.glow-hover > *:not(span) {
    position: relative;
    z-index: 1;
}

/* Color/animation lives ONLY on these background layers (z-index -1), never
   on the image itself, so the avatar's own colors never shift on hover. */
.glow-hover > span {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #f2ca50, #9fd8e4, #66dd8b);
    border-radius: inherit;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.glow-hover:hover > span {
    opacity: 1;
}

.glow-hover:hover > span:nth-child(2) {
    animation: glow-hover-rotate-sm 2s linear infinite;
}

.glow-hover:hover > span:nth-child(3) {
    animation: glow-hover-rotate-lg 2s linear infinite;
}

@keyframes glow-hover-rotate-sm {
    0% {
        filter: blur(8px) hue-rotate(0deg);
    }

    100% {
        filter: blur(8px) hue-rotate(360deg);
    }
}

@keyframes glow-hover-rotate-lg {
    0% {
        filter: blur(16px) hue-rotate(0deg);
    }

    100% {
        filter: blur(16px) hue-rotate(360deg);
    }
}

/* Extra corner-radius variants so the glow shape always matches the
   avatar underneath, regardless of which Tailwind rounding class it uses. */
.glow-hover.glow-rounded-lg {
    border-radius: 0.5rem;
}

/* Rounded variants so the glow follows the shape underneath */
.glow-hover.glow-rounded-2xl {
    border-radius: 1rem;
}

.glow-hover.glow-rounded-3xl {
    border-radius: 1.5rem;
}

.glow-hover.glow-rounded-full {
    border-radius: 9999px;
}

/* ============================================
   [ CARD CORNER ACCENTS ]
   Small decorative blurred glow in a card corner.
   Usage: add class to a glass-panel with position:relative + overflow:hidden,
   pick a corner (accent-tl / accent-tr / accent-bl / accent-br) and a color (accent-primary / accent-tertiary / accent-secondary).
   ============================================ */

.card-accent {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 9999px;
    filter: blur(50px);
    opacity: 0.35;
    pointer-events: none;
    z-index: 0;
}

.card-accent.accent-tl {
    top: -40px;
    left: -40px;
}

.card-accent.accent-tr {
    top: -40px;
    right: -40px;
}

.card-accent.accent-bl {
    bottom: -40px;
    left: -40px;
}

.card-accent.accent-br {
    bottom: -40px;
    right: -40px;
}

.card-accent.accent-primary {
    background: #f2ca50;
}

.card-accent.accent-tertiary {
    background: #9fd8e4;
}

.card-accent.accent-secondary {
    background: #66dd8b;
}

.card-accent.accent-purple {
    background: #c084fc;
}

.card-accent.accent-red {
    background: #ef4444;
}
/* Style 1 */
.username--style1 {
    color: #9f9f9f;
}

/* Style 2 */
.username--style2 {
    color: #ff6c6c;
}

/* Style 3 */
.username--style3 {
    color: #ffc54a;
}

/* Style 4 */
.username--style4 {
    color: #89d378;
}

/* Style 5 */
.username--style5 {
    color: #50b4f0;
}

/* Style 6 */
.username--style6 {
    color: #c0c0c0 !important;
    text-decoration: line-through !important;
}

/* Style 7 */
.username--style7 {
    background-clip: border-box;
    -webkit-background-clip: text;
    background-image: linear-gradient(90deg, #d2d2d2 0, #b9b9b9 100%, #fff);
    -webkit-text-fill-color: #9f9f9f;
    color: #ffffff;
}

/* Style 8 */
.username--style8 {
    color: #27ff00;
}

/* Style 9 */
.username--style9 {
    color: #0093ff;
}

/* Style 10 */
.username--style10 {
    color: #9f9f9f;
}

/* Style 11 */
.username--style11 {
    text-decoration: line-through;
    color: #808080;
}

/* Style 12 */
.username--style12 {
    color: #ffde97;
}

/* Style 13 */
.username--style13 {
    color: #ff9612;
}

/* Style 14 */
.username--style14 {
    color: #9f9f9f;
}

/* Style 15 */
.username--style15 {
    color: #9f9f9f;
}

/* Style 16 */
.username--style16 {
    background-clip: border-box;
    -webkit-background-clip: text;
    background-image: linear-gradient(90deg, #d2d2d2 0, #b9b9b9 100%, #fff);
    -webkit-text-fill-color: #9f9f9f;
    color: #ffffff;
}

/* Style 17 */
.usernamestyle17 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 18 */
.username--style18 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 19 */
.username--style19 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 20 */
.username--style20 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 21 */
.username--style21 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 22 */
.username--style22 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 23 */
.username--style23 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 24 */
.username--style24 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 25 */
.username--style25 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #dfdfdf;
    background-image: url(https://nullforums.net/nf-profile-music/nf_sparkly.gif),
        linear-gradient(90deg, #ededed 0, #8c8c8c 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #ffffff;
}

/* Style 26 */
.username--style26 {
    background: linear-gradient(270deg, #8cff5e, #5aff48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    z-index: 2;
    color: transparent;
    text-shadow: 0px 2px 3px rgba(0,0,0,0.68);
}

/* Style 27 */
.username--style27 {
    background: linear-gradient(270deg, #ba7eff, #b879ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    z-index: 2;
    color: transparent;
    text-shadow: 0px 2px 3px rgba(0,0,0,0.68);
}

/* Style 28 */
.username--style28 {
    background-clip: border-box;
    -webkit-background-clip: text;
    text-shadow: 0 0 5px #de47f8;
    background-image: url(https://i.imgur.com/Gvgs1RA.gif),
        linear-gradient(90deg, #d6ad60 0, #f4ebd0 100%, #fff);
    -webkit-text-fill-color: transparent;
    color: #FFD700;
}

/* Navbar menu items — Orbitron font */
header nav .nav-link,
header nav .dropdown-menu a,
#mobile-menu .nav-link,
#mobile-menu .dropdown-menu a {
    font-family: 'Orbitron', sans-serif;
}

/* Recenter uppercase letter-spaced button/tab/badge text.
   Letter-spacing adds trailing space after the last character, which
   visually pushes centered text slightly left/up out of place. */
.tracking-widest {
    margin-right: -0.1em;
}
.tracking-wide {
    margin-right: -0.05em;
}

/* Buttons — Orbitron font + true centering.
   Plain <button> elements only rely on padding for centering, which reads
   as off-center with bold uppercase text; force flex centering + tight
   line-height so the label sits dead-center regardless of font metrics. */
button,
.button-shine {
    font-family: 'Orbitron', sans-serif;
}

button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Sticky footer: on short pages (404, error, empty states) the footer used
   to sit right under the content instead of the bottom of the screen,
   leaving the fixed background image visible in a stray band beneath it. */
body > main {
    flex: 1 0 auto;
    width: 100%;
}

/* Cookie consent banner — style the secondary (deny/dismiss) button and
   "more info" link to match the rest of the theme instead of default
   unstyled browser link/button. */
.cc-window.cc-floating .cc-btn {
    border-radius: 0.5rem;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
    padding: 0.5rem 1.25rem;
    transition: all 0.2s ease;
}

.cc-window.cc-floating .cc-btn:not(.cc-allow) {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e5e2e3 !important;
}

.cc-window.cc-floating .cc-btn:not(.cc-allow):hover {
    background-color: rgba(255, 255, 255, 0.12);
}

.cc-window.cc-floating .cc-btn.cc-allow:hover {
    filter: brightness(1.1);
}

.cc-window.cc-floating .cc-link {
    color: #f2ca50 !important;
    text-decoration: underline;
}

.cc-window.cc-floating .cc-compliance {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
    flex-wrap: wrap;
}
