body.b2,
body.b2.dark {
    color-scheme: dark;
    --fs-text-primary: var(--fs-body-color);
    --fs-text-secondary: #d2c4e0;
    --fs-text-muted: #b9abc9;
    --fs-text-faint: #a597b6;
    --fs-card-bg: var(--fs-panel-bg);
    --fs-card-border: var(--fs-panel-border);
    --fs-input-bg: #21182e;
    --fs-input-color: var(--fs-body-color);
    --fs-input-border: #4a365f;
    --fs-divider: var(--fs-forum-divider);
    --fs-cta-bg: var(--fs-btn-primary-from);
    --fs-cta-bg-hover: #ffb755;
    --fs-cta-border: var(--fs-btn-primary-border);
    --fs-cta-color: var(--fs-btn-primary-color);
    --fs-box-shadow-sm: 0 2px 8px rgb(0 0 0 / 15%);
    background-color: var(--fs-body-bg);
    background-image: radial-gradient(
        ellipse at 50% 0,
        #3b2356 0,
        transparent 70%
    );
    background-repeat: no-repeat;
    color: var(--fs-body-color);
}
body.b2 ::selection {
    background: #7b459d;
    color: #fff4e1;
}
body.b2 :focus-visible {
    outline: 2px solid var(--fs-btn-primary-from);
    outline-offset: 4px;
}
.boo-container {
    width: min(var(--fs-container-max-width), calc(100% - 3rem));
    margin-inline: auto;
}
.boo-shell {
    min-height: 100vh;
}
.boo-shell .sub-menu {
    position: relative;
    z-index: 50;
    margin: 0;
    background: var(--fs-nav-bg);
    box-shadow: 0 1px 0 rgb(166 116 225 / 18%);
}
body.b2 .boo-shell .sub-menu .container {
    max-width: var(--fs-container-max-width);
    width: calc(100% - 3rem);
    min-height: 4.1rem;
    gap: 1.6rem;
}
body.b2 .boo-shell .b2-subnav__logo {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    margin-right: 0.5rem;
}
body.b2 .boo-shell .b2-subnav__logo img {
    width: 158px;
    height: auto;
    max-height: 40px;
}
body.b2 .boo-shell .nav-links {
    margin: 0;
    gap: 0.1rem;
}
body.b2 .boo-shell .nav-links > .fs-menu__item > .nav-link {
    border-radius: 0;
    margin: 0;
    padding: 1.35rem 0.85rem;
    font-size: 0.875rem;
    position: relative;
}
body.b2 .boo-shell .nav-link-active {
    background: transparent;
    color: var(--fs-nav-active-color);
}
.boo-shell .nav-links > .fs-menu__item > .nav-link-active::after {
    content: "";
    position: absolute;
    inset: auto 0.8rem 0;
    height: 3px;
    background: var(--fs-nav-active-color);
    border-radius: 3px 3px 0 0;
}
body.b2 .boo-shell .b2-subnav__user {
    margin-left: auto;
}
body.b2 .boo-shell .user-menu {
    background: #17101f;
    border-bottom: 1px solid #362344;
}
body.b2 .boo-shell .user-menu .container {
    min-height: 2.5rem;
    max-width: var(--fs-container-max-width);
    width: calc(100% - 3rem);
    padding: 0;
}
.boo-shell .user-menu .b2-topbar__logo {
    display: none;
}
.boo-shell .user-menu__links {
    margin-left: auto;
}
.boo-shell .user-menu__guest {
    font-size: 0.8rem;
    gap: 1rem;
}
.boo-shell .user-menu__guest > a:not(.b2-cta) {
    color: var(--fs-user-menu-color);
}
.boo-shell .b2-cta {
    border-radius: 0.4rem;
    padding: 0.38rem 0.8rem;
}
.boo-hero { position: relative; isolation: isolate; background: #2e164b url('https://files.forumspark.net/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/fCDdzIdlanVgMeYehlk1HRBoY7ldfP7U3vmnxdj6.png') center center / cover no-repeat; border-bottom: 1px solid #583671; }
.boo-hero__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: clamp(270px, 24vw, 350px);
    padding-block: 2rem;
}
.boo-eyebrow {
    margin: 0 0 0.65rem;
    color: var(--boo-highlight, #ffad43);
    font: 600 0.75rem/1.5 var(--fs-font-family);
    text-transform: uppercase;
    letter-spacing: 0.25em;
}
.boo-hero__title {
    display: inline-block;
    color: var(--boo-title-color, #fff0d9);
    font:
        700 clamp(3.6rem, 7.2vw, 7.1rem)/1.05 Georgia,
        "Times New Roman",
        serif;
    letter-spacing: -0.065em;
    text-decoration: none;
    text-shadow:
        0 3px 0 #b95715,
        0 5px 0 #5d2915,
        0 8px 24px #160b30;
}
.boo-hero__title span {
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.1em;
}
.boo-hero__title:hover {
    color: #fff6e7;
}
.boo-hero__tagline {
    margin: 1rem 0 0;
    color: #ece0f3;
    font-size: clamp(0.85rem, 1.4vw, 1.1rem);
    letter-spacing: 0.02em;
}
.boo-content {
    padding-block: 0 1.5rem;
    background-image: url('https://forumspark.net/storage/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/themes/01M3WYHYKW3DRTNKRWJ8PDYWXV/resources/1cpWaH5Z-boo-pattern.svg');
    background-size: 240px 240px;
}
body.b2 .boo-wrap > .boo-content > .breadcrumbs,
body.b2 .boo-wrap > .boo-content > main,
body.b2 .boo-wrap > .boo-content > .container {
    max-width: var(--fs-container-max-width);
    width: calc(100% - 3rem);
    margin-inline: auto;
}
body.b2 .boo-wrap .breadcrumbs {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0.95rem 0;
    border-radius: 0;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 0.78rem;
}
body.b2 .boo-wrap main {
    padding-top: 0.1rem;
}
body.b2 .boo-wrap .board-layout {
    gap: 1.25rem;
}
@media (min-width: 1000px) {
    body.b2 .boo-wrap .board-layout__sidebar {
        width: 300px;
    }
    html:not(.sidebar-closed)
        body.b2
        .boo-wrap
        .board-layout
        > .board-layout__main {
        flex: 1 1 calc(100% - 320px);
    }
}
body.b2 .boo-wrap .b2-cat {
    padding: 5px;
    border: 1px solid #3d2a50;
    box-shadow:
        0 0 0 2px rgb(11 7 17 / 65%),
        0 6px 20px rgb(0 0 0 / 16%);
}
body.b2 .boo-wrap .b2-cat::before {
    display: none;
}
body.b2 .boo-wrap .b2-cat__head {
    min-height: 62px;
    padding: 0.9rem 1.15rem;
    border: 1px solid #784aae;
    border-bottom-color: #402359;
    border-radius: 0.5rem;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
    background: linear-gradient(
        180deg,
        var(--fs-panel-title-from),
        var(--fs-panel-title-to)
    );
}
body.b2 .boo-wrap .b2-cat__title {
    font:
        700 1.2rem/1.3 Georgia,
        serif;
    letter-spacing: -0.01em;
    color: var(--fs-panel-title-color);
}
body.b2 .boo-wrap .b2-cat__toggle {
    color: #efe2ff;
    background: rgb(19 10 33 / 22%);
    border-color: rgb(216 176 255 / 25%);
    border-radius: 50%;
    width: 1.8rem;
    height: 1.8rem;
}
body.b2 .boo-wrap .b2-forum {
    padding: 1.15rem 0.85rem;
    gap: 0.9rem;
}
body.b2 .boo-wrap .b2-forum:not(.b2-forum--redirect):hover {
    background: color-mix(in srgb, #8b53bc 8%, var(--fs-forum-bg));
}
body.b2 .boo-wrap .b2-forum__name a {
    font-size: 0.9rem;
    color: var(--fs-forum-link-color);
    font-weight: 600;
}
body.b2 .boo-wrap .b2-forum__desc {
    font-size: 0.79rem;
    line-height: 1.55;
    margin-top: 0.3rem;
}
body.b2 .boo-wrap .b2-forum__marker {
    width: 42px;
}
.boo-wrap .b2-forum__marker img {
    object-fit: contain;
    width: 42px;
    height: 42px;
}
.boo-wrap .forum__marker--no-new {
    opacity: 0.56;
    filter: saturate(0.6);
}
body.b2 .boo-wrap .b2-forum:not(.b2-forum--redirect) .forum__marker-badge {
    width: 42px;
    height: 42px;
    background: url('https://forumspark.net/storage/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/themes/01M3WYHYKW3DRTNKRWJ8PDYWXV/resources/2sj9rdmV-boo-pumpkin.png') center / contain no-repeat;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.boo-wrap .b2-forum:not(.b2-forum--redirect) .forum__marker-badge--read {
    opacity: 0.6;
    filter: saturate(0.7);
}
.boo-wrap .b2-forum:not(.b2-forum--redirect) .forum__marker-badge i {
    opacity: 0;
}
.boo-wrap .b2-forum--unread .b2-forum__marker img {
    filter: drop-shadow(0 0 6px rgb(255 128 0 / 20%));
}
.boo-wrap .b2-forum__stat {
    min-width: 3.1rem;
}
.boo-wrap .b2-forum__stat-num {
    font-size: 0.85rem;
}
.boo-wrap .b2-forum__stat-label {
    font-size: 0.6rem;
    letter-spacing: 0.055em;
}
.boo-wrap .b2-forum__last {
    font-size: 0.8rem;
}
.boo-wrap .b2-forum__last .avatar {
    box-shadow: 0 0 0 2px #392749;
}
body.b2 .boo-wrap .board-layout__sidebar .panel {
    padding: 5px;
    border: 1px solid #3d2a50;
    border-radius: 0.7rem;
    box-shadow:
        0 0 0 2px rgb(11 7 17 / 65%),
        0 6px 20px rgb(0 0 0 / 16%);
}
body.b2 .boo-wrap .board-layout__sidebar .panel__title {
    background: linear-gradient(180deg, #ffa92c, #f18a13);
    color: #281607;
    border: 1px solid #ffb653;
    border-radius: 0.4rem;
    padding: 0.75rem 0.85rem;
    font:
        700 1.05rem/1.35 Georgia,
        serif;
}
body.b2 .boo-wrap .board-layout__sidebar .panel__title a,
body.b2 .boo-wrap .board-layout__sidebar .panel__title .icon,
body.b2 .boo-wrap .board-layout__sidebar .panel__title i {
    color: inherit;
}
body.b2 .boo-wrap .board-layout__sidebar .panel__title h2,
body.b2 .boo-wrap .board-layout__sidebar .panel__title h2::before {
    color: #281607;
}
body.b2 .boo-wrap .board-layout__sidebar .panel__content {
    padding: 0.8rem;
}
body.b2 .boo-wrap .board-layout__sidebar .panel__content--flush {
    padding: 0;
}
.boo-wrap .board-layout__sidebar .widget {
    margin-bottom: 1.15rem;
}
body.b2 .boo-wrap .bulletin {
    border-radius: 0.5rem;
    border: 1px solid var(--fs-panel-border);
    background: var(--fs-panel-bg);
    color: var(--fs-body-color);
    box-shadow: var(--fs-box-shadow-sm);
}
.boo-wrap .bulletin a {
    color: var(--fs-link-color);
}
.boo-wrap .btn {
    border-radius: var(--fs-border-radius);
}
.boo-wrap .btn-primary {
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 20%),
        0 3px 10px rgb(0 0 0 / 15%);
    font-weight: 600;
}
.boo-wrap .panel__title {
    font-weight: 600;
}
.boo-wrap .panel {
    box-shadow: var(--fs-box-shadow-sm);
}
.boo-wrap .reply {
    border-color: var(--fs-reply-divider);
}
.boo-wrap .reply__content a {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.boo-wrap .pagination {
    gap: 0.35rem;
}
.boo-footer {
    border-top: 1px solid #3e2b50;
    background: #120e1a;
}
.boo-footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
    justify-content: space-between;
    padding-block: 1.6rem;
}
.boo-wordmark {
    font:
        700 1.4rem/1.3 Georgia,
        serif;
    color: #fff0d9;
}
.boo-footer p {
    color: var(--fs-text-muted);
    font-size: 0.72rem;
    margin-top: 0.3rem;
}
.boo-footer__copyright {
    font-size: 0.75rem;
    color: var(--fs-text-muted);
}
.boo-footer__copyright a {
    color: var(--fs-link-color);
}
.boo-footer__note {
    color: #aa92c1;
    font:
        italic 0.95rem Georgia,
        serif;
}
body.b2 .boo-auth-shell .guest-layout.b2-auth {
    background: transparent;
    min-height: auto;
    padding-block: 2.5rem;
}
.boo-auth-shell .b2-auth__card {
    background: var(--fs-panel-bg);
    border: 1px solid var(--fs-panel-border);
    box-shadow: 0 10px 50px rgb(0 0 0 / 25%);
}
.boo-auth-shell .b2-auth__brand img {
    width: 150px;
    height: auto;
    border-radius: 0;
}
.boo-hero--auth .boo-hero__inner {
    min-height: 300px;
}
@media (max-width: 1100px) {
    body.b2 .boo-shell .sub-menu .container {
        gap: 0.7rem;
    }
    body.b2 .boo-shell .b2-subnav__logo img {
        width: 135px;
    }
    body.b2 .boo-shell .nav-links > .fs-menu__item > .nav-link {
        padding-inline: 0.6rem;
        font-size: 0.8rem;
    }
    .boo-hero__inner {
        min-height: 270px;
    }
    .boo-hero__title {
        font-size: clamp(3.5rem, 7.7vw, 5.8rem);
    }
}
@media (min-width: 769px) and (max-width: 999px) {
    body.b2 .boo-wrap .board-layout {
        flex-direction: column;
        align-items: stretch;
    }
    html:not(.sidebar-closed)
        body.b2
        .boo-wrap
        .board-layout
        > .board-layout__main {
        flex: 1 1 auto;
        width: 100%;
    }
    body.b2 .boo-wrap .board-layout__sidebar {
        width: 100%;
        margin-left: 0;
        position: static;
        order: 2;
    }
}
@media (max-width: 768px) {
    .boo-container {
        width: calc(100% - 2rem);
    }
    body.b2 .boo-shell .sub-menu .container {
        width: calc(100% - 2rem);
        min-height: 3.7rem;
    }
    body.b2 .boo-shell .user-menu {
        display: block;
    }
    body.b2 .boo-shell .user-menu .container {
        width: calc(100% - 2rem);
        min-height: 2.5rem;
    }
    body.b2 .boo-shell .user-menu .user-alerts {
        display: none;
    }
    .boo-hero {
        background-size: auto 100%;
        background-position: 62% center;
    }
    .boo-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            90deg,
            rgb(36 14 63 / 88%),
            rgb(36 14 63 / 28%) 60%,
            transparent
        );
        z-index: -1;
    }
    .boo-hero__inner {
        min-height: 250px;
        padding-block: 2rem;
    }
    .boo-hero--auth .boo-hero__inner {
        min-height: 240px;
    }
    .boo-eyebrow {
        max-width: 200px;
        font-size: 0.6rem;
        letter-spacing: 0.18em;
    }
    .boo-hero__title {
        font-size: clamp(3rem, 8vw, 4.3rem);
    }
    .boo-hero__tagline {
        max-width: 190px;
        font-size: 0.8rem;
        line-height: 1.6;
    }
    body.b2 .boo-wrap > .boo-content > .breadcrumbs,
    body.b2 .boo-wrap > .boo-content > main,
    body.b2 .boo-wrap > .boo-content > .container {
        width: calc(100% - 1.5rem);
    }
    body.b2 .boo-wrap .b2-cat {
        border-radius: 0.65rem;
    }
    body.b2 .boo-wrap .b2-cat__head {
        padding: 0.8rem 0.7rem;
        min-height: 54px;
    }
    body.b2 .boo-wrap .b2-cat__title {
        font-size: 1.08rem;
    }
    body.b2 .boo-wrap .b2-forum {
        padding: 1rem 0.6rem;
        gap: 0.65rem;
    }
    body.b2 .boo-wrap .b2-forum__marker {
        width: 34px;
    }
    .boo-wrap .b2-forum__marker img {
        width: 34px;
        height: 34px;
    }
    body.b2 .boo-wrap .b2-forum:not(.b2-forum--redirect) .forum__marker-badge {
        width: 34px;
        height: 34px;
    }
    .boo-footer__inner {
        align-items: flex-start;
        gap: 1.25rem;
    }
    .boo-footer__copyright {
        width: 100%;
        order: 3;
    }
    .boo-footer__note {
        font-size: 0.85rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .boo-shell *,
    .boo-shell *::before,
    .boo-shell *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }
}

body.b2 .boo-shell .user-menu:not(:has(.user-menu__links > *)) {
    display: none;
}
.boo-hero::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(
        60px,
        calc((100vw - var(--fs-container-max-width)) / 2 - 1rem),
        240px
    );
    aspect-ratio: 1;
    background: url('https://forumspark.net/storage/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/themes/01M3WYHYKW3DRTNKRWJ8PDYWXV/resources/1lOpY4Ez-boo-web.svg') top left / contain no-repeat;
    pointer-events: none;
    opacity: 0.7;
    z-index: 0;
}
.boo-hero__inner {
    position: relative;
    z-index: 1;
}
body.b2 .boo-wrap .b2-cat__head::before,
body.b2 .boo-wrap .b2-cat__head::after {
    display: none !important;
}

body.b2 .boo-wrap .b2-cat__head {
    padding-left: 1.15rem;
    padding-right: 5rem;
}
body.b2 .boo-wrap .widget .panel__title,
body.b2 .boo-wrap .widget .b2-statp__head,
body.b2 .boo-wrap .widget .widget-board-stats__title {
    position: relative;
    min-height: 44px;
    padding: 8px 60px 8px 14px;
    background: linear-gradient(180deg, #ffa821, #ff9714 35%, #f6740b);
    border: 1px solid #ffb735;
    border-radius: 10px;
    overflow: visible;
    color: #160b05;
    font:
        700 18px/1.35 Georgia,
        serif;
}
body.b2 .boo-wrap .widget .panel__title h2 {
    margin: 0;
    font: inherit;
}
body.b2 .boo-wrap .widget .panel__title h2::before {
    display: none;
}
body.b2 .boo-wrap .widget .panel__title::after,
body.b2 .boo-wrap .widget .b2-statp__head::after,
body.b2 .boo-wrap .widget .widget-board-stats__title::after {
    content: "";
    position: absolute;
    right: -7px;
    top: auto;
    bottom: -7px;
    width: 62px;
    height: 58px;
    background: url('https://forumspark.net/storage/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/themes/01M3WYHYKW3DRTNKRWJ8PDYWXV/resources/qcmcfXCo-boo-ghost.png') -1246px -316px / 1448px 1086px
        no-repeat;
    clip-path: path(
        "M6 51 C7 47 8 45 8 40 C9 32 8 23 13 15 C18 7 26 4 34 6 C45 7 49 18 50 29 C51 37 50 40 54 46 L55 57 C52 55 50 53 47 53 L42 53 C39 53 37 52 36 51 L15 51 C12 53 8 53 6 51 Z"
    );
    pointer-events: none;
    z-index: 2;
}
@media (min-width: 2172px) {
    .boo-hero {
        background-image:
            linear-gradient(
                90deg,
                #2e164b calc(100% - 2000px),
                transparent calc(100% - 1650px)
            ),
            url('https://files.forumspark.net/boards/f38db9d4-8c2d-4b95-88e2-cd1ff094ed0a/fCDdzIdlanVgMeYehlk1HRBoY7ldfP7U3vmnxdj6.png');
        background-size:
            100% 100%,
            2172px auto;
        background-position:
            center,
            right center;
    }
}
@media (max-width: 768px) {
    .boo-hero::after {
        display: block;
        width: 60px;
        opacity: 0.85;
    }
    body.b2 .boo-wrap .b2-cat__head {
        padding-right: 4.4rem;
    }
    body.b2 .boo-wrap .b2-cat__head::after {
        width: 3.8rem;
        height: 3.8rem;
    }
}

/* SPARK PROMOTION HEADER LOGO */
body.b2 .fs-brand-logo {
    width: 230px !important;
    height: auto !important;
    max-width: 230px !important;
    max-height: 55px !important;
    object-fit: contain !important;
    display: block !important;
}

.boo-wrap span[style*="font-weight:700"] {
    font-weight: 700 !important;
}

/* HALLOWEEN LINK STYLE */
body.b2 .boo-wrap a {
    color: #ffad43;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.b2 .boo-wrap a:hover {
    color: #ffc56b;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* =========================================================
   HEADER NAVIGATION
   ========================================================= */

/* DESKTOP: centre main navigation exactly */
@media (min-width: 769px) {
    body.b2 .boo-shell .sub-menu .container {
        position: relative !important;
    }

    body.b2 .boo-shell .b2-subnav__logo {
        margin-right: 0.5rem;
    }

    body.b2 .boo-shell .nav-links {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        display: flex !important;
        gap: 0.1rem !important;
        white-space: nowrap !important;
    }

    body.b2 .boo-shell .b2-subnav__user {
        margin-left: auto !important;
    }
}


/* MOBILE: keep logo + user menu, hide main navigation */
@media (max-width: 768px) {
    body.b2 .boo-shell .sub-menu .container {
        display: flex !important;
        width: calc(100% - 2rem) !important;
        min-height: 3.7rem !important;
        gap: 0.7rem !important;
    }

    body.b2 .boo-shell .nav-links {
        display: none !important;
    }

    body.b2 .boo-shell .b2-subnav__logo {
        margin-right: 0 !important;
        flex-shrink: 1 !important;
    }

    body.b2 .boo-shell .b2-subnav__logo img {
        width: 135px !important;
    }

    body.b2 .boo-shell .b2-subnav__user {
        margin-left: auto !important;
    }
}
:root {
    --boo-highlight: #ffad43;
    --boo-title-color: #fff0d9;
}

