body.zn {
  --zn-a1: var(--znp-a1, #7b3fd6);
  --zn-a2: var(--znp-a2, #2f7de0);
  --zn-glow: 123, 63, 214;
  --zn-cover: var(--znp-cover, none);
  --zn-y: var(--znp-cover-y, 42%);
  --zn-ov: var(--znp-ov, 1);
  --zn-link: color-mix(in srgb, var(--zn-a1) 72%, #1c2126);
  --zn-wa: 72%;
  --zn-wb: 55%;
  --fs-btn-primary-from: var(--zn-a1);
  --fs-btn-primary-to: var(--zn-a2);
  --fs-btn-primary-border: color-mix(in srgb, var(--zn-a1) 60%, var(--zn-a2));
  --fs-btn-primary-color: #ffffff;
  --fs-btn-blue-from: var(--zn-a1);
  --fs-btn-blue-to: var(--zn-a2);
  --fs-btn-blue-border: color-mix(in srgb, var(--zn-a1) 60%, var(--zn-a2));
  --fs-link-color: var(--zn-link);
  --fs-link-hover-color: color-mix(in srgb, var(--zn-a1) 88%, #10131a);
  --fs-notification-dot: var(--zn-a2);
  --fs-forum-accent: var(--zn-a1);
  --fs-bulletin-primary: color-mix(in srgb, var(--zn-a1) 80%, #1c2126);
  --fs-bulletin-accent: var(--zn-a1);
  --fs-panel-footer-accent: var(--zn-a1);
  --fs-panel-secondary-footer-accent: var(--zn-a1);
  --fs-online-active: var(--zn-a2);
}
body.zn.dark {
  --zn-link: color-mix(in srgb, var(--zn-a2) 62%, #e6ebf1);
  --zn-wa: 66%;
  --zn-wb: 50%;
  --fs-link-hover-color: color-mix(in srgb, var(--zn-a2) 48%, #ffffff);
  --fs-bulletin-primary: color-mix(in srgb, var(--zn-a2) 60%, #e6ebf1);
}
body.zn.zn-black.dark {
  --fs-body-bg: #0b0c0f;
  --fs-panel-bg: #121419;
  --fs-panel-border: #21252d;
  --fs-panel-section-bg: #171a20;
  --fs-forum-bg: #121419;
  --fs-forum-divider: #21252d;
  --fs-forum-marker-bg: #171a20;
  --fs-forum-last-bg: #121419;
  --fs-topic-bg: #0f1115;
  --fs-reply-bg: #121419;
  --fs-reply-details-bg: #171a20;
  --fs-reply-actions-bg: #171a20;
  --fs-reply-divider: #21252d;
  --fs-reply-user-border: #21252d;
  --fs-breadcrumb-bg: #121419;
  --fs-mini-profile-bg: #171a20;
  --fs-mini-profile-border: #21252d;
  --fs-panel-footer-from: #14171c;
  --fs-panel-footer-to: #111318;
  --fs-separator-from: #21252d;
  --fs-separator-to: #171a20;
  --fs-dropdown-bg: #14171c;
  --fs-dropdown-border: #232830;
  --fs-dropdown-hover-bg: #1b1f26;
  --fs-btn-secondary-from: #1b1f26;
  --fs-btn-secondary-to: #14171c;
  --fs-btn-secondary-border: #2b313b;
  --fs-user-menu-bg: #08090c;
}

body.zn { background: var(--fs-body-bg); }

body.zn .zn-hd { position: relative; overflow: visible; isolation: isolate; z-index: 900; background-color: var(--znp-cover-bg, #232833); }
body.zn .zn-main { position: relative; z-index: 1; }
body.zn .zn-ph, body.zn .zn-tc, body.zn .zn-tm, body.zn .zn-tn, body.zn .zn-sh { pointer-events: none; }
body.zn .sub-menu .dropdown__content, body.zn .sub-menu .dropdown__content-wrapper, body.zn .sub-menu .fs-menu__panel, body.zn .user-menu .dropdown__content { z-index: 9800 !important; }
body.zn .zn-ph { position: absolute; inset: 0; background-image: var(--zn-cover); background-size: cover; background-position: 50% var(--zn-y); background-repeat: no-repeat; filter: saturate(.68); }
body.zn .zn-tc { position: absolute; inset: 0; background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)); mix-blend-mode: color; opacity: calc(.68 * var(--zn-ov)); }
body.zn .zn-tm { position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 26%, transparent), color-mix(in srgb, var(--zn-a2) 18%, transparent)); mix-blend-mode: multiply; opacity: var(--zn-ov); }
body.zn .zn-tn { position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 16%, transparent), color-mix(in srgb, var(--zn-a2) 11%, transparent)); opacity: var(--zn-ov); }
body.zn .zn-sh { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 12, 17, .38), transparent 46%, rgba(9, 12, 17, .55)); }
body.zn.dark .zn-sh { background: linear-gradient(180deg, rgba(6, 8, 12, .5), transparent 46%, rgba(6, 8, 12, .66)); }
body.zn .zn-mast { position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; max-width: var(--fs-container-max-width, 80rem); margin: 0 auto; padding: 5.4rem 1.5rem 2rem; }
body.zn .zn-mast__title { margin: 0; font-size: 1.9rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: #ffffff; text-shadow: 0 2px 14px rgba(5, 8, 12, .55); }
body.zn .zn-mast__tag { margin: .25rem 0 0; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .82); text-shadow: 0 1px 8px rgba(5, 8, 12, .5); }

body.zn .sub-menu .dropdown__content, body.zn .sub-menu .fs-menu > * { z-index: 9500; }
body.zn .sub-menu, body.zn.dark .sub-menu { position: relative; top: auto; z-index: 600; background: rgba(12, 16, 22, .5); backdrop-filter: blur(7px); border: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); box-shadow: none; overflow: visible; }
body.zn .sub-menu > .container { min-height: 56px; display: flex; align-items: stretch; }
body.zn .sub-menu .b2-subnav__logo { display: inline-flex !important; align-items: center; margin-right: 1.4rem; }
body.zn .sub-menu .b2-subnav__logo img { max-height: 34px; width: auto; }
body.zn .sub-menu .nav-links { display: flex; align-items: stretch; align-self: stretch; }
body.zn .sub-menu .nav-links .fs-menu__item { display: inline-flex; align-items: stretch; }
body.zn .sub-menu .nav-link { color: rgba(255, 255, 255, .85); opacity: 1; font-weight: 600; text-shadow: 0 1px 8px rgba(8, 10, 16, .5); }
body.zn .sub-menu .nav-links > .nav-link, body.zn .sub-menu .nav-links .fs-menu__item > .nav-link { display: inline-flex; align-items: center; height: 100%; margin: 0; border-radius: 0; padding: 0 .95rem; }
body.zn .sub-menu .nav-link:hover { color: #ffffff; background: rgba(255, 255, 255, .06); }
body.zn .sub-menu .nav-links .nav-link-active, body.zn.dark .sub-menu .nav-links .nav-link-active { color: #ffffff !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; position: relative; }
body.zn .sub-menu .nav-links .nav-link-active::after { content: ""; position: absolute; left: .75rem; right: .75rem; bottom: 0; height: 2px; background: #ffffff; }
body.zn .sub-menu .fs-menu__panel, body.zn.dark .sub-menu .fs-menu__panel { background: var(--fs-dropdown-bg, #ffffff); border: 1px solid var(--fs-dropdown-border, #e2e5ea); border-radius: .5rem; box-shadow: none; }
body.zn .sub-menu .fs-menu__panel .nav-link, body.zn.dark .sub-menu .fs-menu__panel .nav-link { color: var(--fs-dropdown-color, #242a31); opacity: 1; height: auto; border-radius: .35rem; text-shadow: none; }
body.zn .sub-menu .fs-menu__panel .nav-link:hover { color: var(--fs-dropdown-color, #242a31); background: var(--fs-dropdown-hover-bg, #f0f3f8); }
body.zn .sub-menu .notifications__icon-link { color: #ffffff; }
body.zn .sub-menu .b2-subnav__user { align-self: center; }
body.zn .sub-menu .b2-subnav__user .avatar { box-shadow: 0 0 0 2px var(--zn-a2); border-radius: 999px; }
body.zn .sub-menu .b2-subnav__user .avatar img { border-radius: 999px; }
body.zn .sub-menu .b2-search__input, body.zn.dark .sub-menu .b2-search__input { background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .26); border-radius: .45rem; color: #ffffff; }
body.zn .sub-menu .b2-search__input::placeholder { color: rgba(255, 255, 255, .65); }
body.zn .sub-menu .b2-search i, body.zn .sub-menu .b2-search button, body.zn.dark .sub-menu .b2-search i, body.zn.dark .sub-menu .b2-search button { color: rgba(255, 255, 255, .85); }

body.zn .user-menu, body.zn.dark .user-menu { background: rgba(6, 9, 14, .46); border-bottom: 1px solid rgba(255, 255, 255, .1); padding: 0; }
body.zn .user-menu:not(:has(.user-menu__guest)):not(:has(.user-menu__links > *)) { display: none; }
body.zn .user-menu .container { min-height: 40px; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; }
body.zn .user-menu__links { margin-left: 0; margin-right: auto; }
body.zn .user-menu .b2-topbar__logo { display: none; }
body.zn .user-menu, body.zn .user-menu a, body.zn .user-menu button, body.zn.dark .user-menu, body.zn.dark .user-menu a, body.zn.dark .user-menu button { color: rgba(255, 255, 255, .88); }
body.zn .user-menu a:hover, body.zn .user-menu button:hover { color: #ffffff; }
body.zn .user-menu__guest { display: flex; align-items: center; gap: 1.1rem; }
body.zn .user-menu .b2-cta, body.zn.dark .user-menu .b2-cta { background: linear-gradient(120deg, var(--zn-a1), var(--zn-a2)); border: 0; border-radius: .4rem; color: #ffffff; box-shadow: 0 4px 14px rgba(var(--zn-glow), .35); }

body.zn .b2-cat, body.zn .b2-cat__bodywrap { border: 0; background: transparent; box-shadow: none; }
body.zn .b2-cat::before, body.zn .b2-cat::after, body.zn .b2-cat__bodywrap::before, body.zn .b2-cat__bodywrap::after, body.zn .b2-cat__head::before, body.zn .b2-fhead::before, body.zn .panel > .panel__title::before, body.zn .b2-statp__head::before { display: none; }
body.zn .b2-cat__head, body.zn.dark .b2-cat__head {
  position: relative; overflow: hidden; border: 0; border-top: 2px solid rgba(255, 255, 255, .3); border-radius: 7px 7px 0 0; min-height: 52px; padding: .55rem 1.1rem; color: #ffffff; display: flex; align-items: center;
  background-color: var(--znp-cover-bg, #2a2f3a);
  background-image: linear-gradient(180deg, rgba(8, 10, 14, .1), rgba(8, 10, 14, .38)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) var(--zn-wa), transparent), color-mix(in srgb, var(--zn-a2) var(--zn-wb), transparent)), var(--zn-cover);
  background-size: auto, auto, cover; background-position: 0 0, 0 0, 50% var(--znp-strip-y, 30%); background-repeat: repeat, repeat, no-repeat;
  text-shadow: 0 1px 6px rgba(8, 10, 14, .45);
}
body.zn .b2-cat__head *, body.zn.dark .b2-cat__head * { color: #ffffff; }
body.zn .b2-cat__title, body.zn.dark .b2-cat__title { color: #ffffff !important; font-weight: 700; font-size: .95rem; }
body.zn .b2-cat ~ .b2-cat .b2-cat__head { background-position: 0 0, 0 0, 50% calc(var(--znp-strip-y, 30%) + 15%); }
body.zn .b2-cat ~ .b2-cat ~ .b2-cat .b2-cat__head { background-position: 0 0, 0 0, 50% calc(var(--znp-strip-y, 30%) + 30%); }
body.zn .b2-cat ~ .b2-cat ~ .b2-cat ~ .b2-cat .b2-cat__head { background-position: 0 0, 0 0, 50% calc(var(--znp-strip-y, 30%) + 45%); }
body.zn .b2-cat ~ .b2-cat ~ .b2-cat ~ .b2-cat ~ .b2-cat .b2-cat__head { background-position: 0 0, 0 0, 50% calc(var(--znp-strip-y, 30%) + 60%); }
body.zn .b2-cat--closed .b2-cat__head, body.zn .b2-cat--preclosed .b2-cat__head { border-radius: 7px; }
body.zn .b2-cat__toggle, body.zn.dark .b2-cat__toggle { background: rgba(255, 255, 255, .2) !important; border: 0 !important; border-radius: 5px; box-shadow: none; backdrop-filter: blur(3px); }
body.zn .b2-cat__body, body.zn.dark .b2-cat__body { margin-top: 0; background: var(--fs-panel-bg); border: 1px solid var(--fs-panel-border); border-top: 0; border-radius: 0 0 7px 7px; box-shadow: 0 6px 18px rgba(12, 18, 28, .07) !important; }
body.zn.dark .b2-cat__body { box-shadow: 0 8px 22px rgba(0, 0, 0, .26) !important; }

body.zn .b2-fhead, body.zn.dark .b2-fhead {
  position: relative; overflow: hidden; border: 0; border-top: 2px solid rgba(255, 255, 255, .3); border-radius: 7px 7px 0 0; min-height: 60px; color: #ffffff;
  background-color: var(--znp-cover-bg, #2a2f3a);
  background-image: linear-gradient(180deg, rgba(8, 10, 14, .12), rgba(8, 10, 14, .4)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) var(--zn-wa), transparent), color-mix(in srgb, var(--zn-a2) var(--zn-wb), transparent)), var(--zn-cover);
  background-size: auto, auto, cover; background-position: 0 0, 0 0, 50% var(--znp-strip-y, 40%); background-repeat: repeat, repeat, no-repeat;
  text-shadow: 0 1px 6px rgba(8, 10, 14, .45);
}
body.zn .b2-fhead *, body.zn.dark .b2-fhead * { color: #ffffff !important; }
body.zn .b2-fhead .b2-fhead__act, body.zn.dark .b2-fhead .b2-fhead__act { background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .3); }
body.zn .b2-fhead .b2-fhead__act:hover { background: rgba(255, 255, 255, .32); }

body.zn .panel > .panel__title, body.zn.dark .panel > .panel__title, body.zn .b2-statp__head, body.zn.dark .b2-statp__head {
  position: relative; overflow: hidden; border-bottom: 0; border-top: 2px solid rgba(255, 255, 255, .3); min-height: 44px; color: #ffffff;
  background-color: var(--znp-cover-bg, #2a2f3a);
  background-image: linear-gradient(180deg, rgba(8, 10, 14, .12), rgba(8, 10, 14, .34)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) var(--zn-wa), transparent), color-mix(in srgb, var(--zn-a2) var(--zn-wb), transparent)), var(--zn-cover);
  background-size: auto, auto, cover; background-position: 0 0, 0 0, 50% var(--znp-strip-y, 65%); background-repeat: repeat, repeat, no-repeat;
  text-shadow: 0 1px 5px rgba(8, 10, 14, .45);
}
body.zn .panel > .panel__title *, body.zn.dark .panel > .panel__title *, body.zn .b2-statp__head *, body.zn.dark .b2-statp__head * { color: #ffffff; }
body.zn .panel > .panel__title h1, body.zn .panel > .panel__title h2, body.zn .panel > .panel__title h3 { background: none !important; color: #ffffff !important; font-weight: 700; text-shadow: 0 1px 5px rgba(8, 10, 14, .45); }

body.zn .b2-thead, body.zn.dark .b2-thead {
  position: relative; overflow: visible; z-index: 60; border: 0; border-top: 2px solid rgba(255, 255, 255, .3); border-radius: 7px; color: #ffffff;
  background-color: var(--znp-cover-bg, #2a2f3a);
  background-image: linear-gradient(180deg, rgba(8, 10, 14, .16), rgba(8, 10, 14, .42)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) var(--zn-wa), transparent), color-mix(in srgb, var(--zn-a2) var(--zn-wb), transparent)), var(--zn-cover);
  background-size: auto, auto, cover; background-position: 0 0, 0 0, 50% 22%; background-repeat: repeat, repeat, no-repeat;
  text-shadow: 0 1px 6px rgba(8, 10, 14, .5);
}
body.zn .b2-thead h1, body.zn .b2-thead h2, body.zn .b2-thead .b2-thead__row, body.zn .b2-thead .b2-thead__meta, body.zn .b2-thead .b2-thead__meta a, body.zn .b2-thead .b2-thead__row a:not(.btn),
body.zn.dark .b2-thead h1, body.zn.dark .b2-thead h2, body.zn.dark .b2-thead .b2-thead__meta, body.zn.dark .b2-thead .b2-thead__meta a { color: #ffffff !important; }
body.zn .b2-thead .btn-secondary, body.zn.dark .b2-thead .btn-secondary { background: rgba(255, 255, 255, .16) !important; border-color: rgba(255, 255, 255, .3) !important; color: #ffffff !important; background-image: none !important; }
body.zn .b2-post__rail, body.zn.dark .b2-post__rail { background: var(--fs-reply-details-bg); border-right: 1px solid var(--fs-reply-divider); }
body.zn .b2-post__rail .avatar, body.zn .b2-post__rail .avatar img { border-radius: 12px; }
body.zn .b2-post__rail .avatar { box-shadow: 0 0 0 3px color-mix(in srgb, var(--zn-a1) 40%, transparent); }
body.zn .b2-post__who .username { position: relative; padding-bottom: 5px; display: inline-block; }
body.zn .b2-post__who .username::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)); }
body.zn .b2-post__group, body.zn.dark .b2-post__group { background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)) !important; border: 0 !important; color: #ffffff !important; border-radius: 4px; letter-spacing: .08em; }
body.zn .b2-post blockquote, body.zn.dark .b2-post blockquote { border: 1px solid var(--fs-reply-divider); border-left: 3px solid var(--zn-a1); background: var(--fs-panel-section-bg); border-radius: 0 6px 6px 0; }
body.zn .b2-mtabs .on, body.zn .b2-mtabs [class*="active"], body.zn .b2-tl__filters .on { box-shadow: inset 0 -2px 0 var(--zn-a2); color: var(--zn-link); }
body.zn .pagination a, body.zn .pagination span, body.zn .b2-pgn a, body.zn .b2-pgn span { border-radius: 6px; }
body.zn .pagination .active a, body.zn .pagination a.active, body.zn .pagination span.current, body.zn .b2-pgn .on { background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)) !important; color: #ffffff !important; border-color: transparent !important; }
body.zn .zn-wel { position: relative; z-index: 2; display: none; background: rgba(10, 14, 20, .44); backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, .18); border-radius: 9px; padding: .85rem 1rem; color: #ffffff; width: min(400px, 100%); }
body.zn .zn-wel.zn-wel--on { display: block; }
body.zn .zn-wel h5 { margin: 0 0 2px; font-size: .92rem; font-weight: 750; color: #ffffff; }
body.zn .zn-wel .zn-wel__sub { font-size: .74rem; color: rgba(255, 255, 255, .78); }
body.zn .zn-wel .zn-wel__sub b { color: #ffffff; }
body.zn .zn-wel .zn-wel__chips { display: flex; flex-direction: column; gap: 6px; margin-top: .6rem; }
body.zn .zn-wel .zn-wel__chip { display: flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .12); border-radius: 6px; padding: .38rem .65rem; font-size: .76rem; font-weight: 600; color: #ffffff; text-decoration: none; }
body.zn .zn-wel .zn-wel__chip:hover { background: rgba(255, 255, 255, .2); color: #ffffff; }
body.zn .zn-wel .zn-wel__chip i { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--zn-a1), var(--zn-a2)); flex: 0 0 8px; }
body.zn .zn-wel .zn-wel__chip span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

body.zn .b2-forum__marker, body.zn.dark .b2-forum__marker {
  position: relative; width: 38px; height: 38px; border-radius: 50%; overflow: hidden; border: 0;
  background-color: var(--znp-cover-bg, #2a2f3a);
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 55%, transparent), color-mix(in srgb, var(--zn-a2) 40%, transparent)), var(--zn-cover);
  background-size: auto, cover; background-position: 0 0, 50% 32%; background-repeat: repeat, no-repeat;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--zn-a1) 45%, transparent), 0 3px 9px rgba(var(--zn-glow), .25);
}
body.zn .b2-forum:not(.b2-forum--unread) .b2-forum__marker, body.zn.dark .b2-forum:not(.b2-forum--unread) .b2-forum__marker { filter: grayscale(1); opacity: .5; box-shadow: 0 0 0 2px var(--fs-panel-border); }
body.zn .b2-forum__marker i, body.zn .b2-forum__marker svg, body.zn .b2-forum__marker span, body.zn .b2-forum__marker div { display: none !important; }
body.zn .b2-forum__marker form, body.zn .b2-forum__marker button, body.zn .b2-forum__marker a { position: absolute !important; inset: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0; border-radius: 50%; }
body.zn .b2-forum__marker button { cursor: pointer; }

body.zn .b2-forum { border-color: var(--fs-forum-divider); }
body.zn .b2-forum:hover { background: var(--fs-panel-section-bg); }
body.zn .b2-forum__stats .b2-forum__stat, body.zn.dark .b2-forum__stats .b2-forum__stat { background: transparent; border: 0; border-radius: 0; padding: 0 1rem; min-width: 4.2rem; text-align: right; font-variant-numeric: tabular-nums; }
body.zn .b2-forum__last, body.zn.dark .b2-forum__last { border-left: 1px solid var(--fs-forum-divider); background: transparent; }
body.zn .b2-subforums a { color: var(--zn-link); font-weight: 600; }

body.zn .panel, body.zn.dark .panel { border: 1px solid var(--fs-panel-border); border-radius: 7px; overflow: hidden; box-shadow: 0 6px 18px rgba(12, 18, 28, .07) !important; }
body.zn.dark .panel { box-shadow: 0 8px 22px rgba(0, 0, 0, .26) !important; }
body.zn .breadcrumbs { background: var(--fs-breadcrumb-bg); border: 1px solid var(--fs-panel-border); border-radius: 6px; }
body.zn .b2-statp, body.zn.dark .b2-statp { position: relative; }
body.zn .b2-statp::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)); z-index: 3; }

body.zn .dropdown__content, body.zn .dropdown__content-wrapper, body.zn .fs-menu__panel { box-shadow: none; }
body.zn .btn-primary, body.zn .b2-cta, body.zn.dark .btn-primary, body.zn.dark .b2-cta {
  background-color: var(--znp-cover-bg, #2a2f3a) !important;
  background-image: linear-gradient(180deg, rgba(8, 10, 14, .16), rgba(8, 10, 14, .34)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 62%, transparent), color-mix(in srgb, var(--zn-a2) 48%, transparent)), var(--zn-cover) !important;
  background-size: auto, auto, cover !important; background-position: 0 0, 0 0, 50% 30% !important; background-repeat: repeat, repeat, no-repeat !important;
  border: 1px solid rgba(255, 255, 255, .32) !important; color: #ffffff !important; text-shadow: 0 1px 4px rgba(8, 10, 14, .4); box-shadow: none;
}
body.zn .btn-primary:hover, body.zn .b2-cta:hover { filter: brightness(1.12); }
body.zn .b2-thead .btn-primary, body.zn .b2-fhead .btn-primary, body.zn.dark .b2-thead .btn-primary, body.zn.dark .b2-fhead .btn-primary { background: rgba(8, 10, 14, .38) !important; background-image: none !important; border-color: rgba(255, 255, 255, .38) !important; color: #ffffff !important; backdrop-filter: blur(4px); }
body.zn .b2-thead .btn-primary:hover, body.zn .b2-fhead .btn-primary:hover { background: rgba(8, 10, 14, .55) !important; }
body.zn .b2-thead .btn-secondary, body.zn.dark .b2-thead .btn-secondary, body.zn .b2-fhead .b2-fhead__act, body.zn.dark .b2-fhead .b2-fhead__act { background: rgba(8, 10, 14, .32) !important; border-color: rgba(255, 255, 255, .32) !important; color: #ffffff !important; background-image: none !important; }
body.zn .b2-thead .btn-secondary:hover, body.zn .b2-fhead .b2-fhead__act:hover { background: rgba(8, 10, 14, .5) !important; }
body.zn .b2-tl__label { border-radius: 4px; }
body.zn .b2-mtabs .on, body.zn .b2-lsw__btn.is-on { color: var(--zn-link); }

body.zn .zn-foot, body.zn.dark .zn-foot {
  position: relative; margin-top: 2.2rem; color: #dfe5eb;
  background-color: var(--znp-cover-bg, #1d2127);
  background-image: linear-gradient(rgba(10, 13, 18, .74), rgba(10, 13, 18, .82)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 50%, transparent), color-mix(in srgb, var(--zn-a2) 38%, transparent)), var(--zn-cover);
  background-size: auto, auto, cover; background-position: 0 0, 0 0, 50% 88%; background-repeat: repeat, repeat, no-repeat;
}
body.zn.zn-black.dark .zn-foot { background-image: linear-gradient(rgba(4, 6, 9, .82), rgba(4, 6, 9, .88)), linear-gradient(90deg, color-mix(in srgb, var(--zn-a1) 50%, transparent), color-mix(in srgb, var(--zn-a2) 38%, transparent)), var(--zn-cover); }
body.zn .zn-foot__brand .n { color: #ffffff; }
body.zn .zn-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)); }
body.zn .zn-foot__in { max-width: var(--fs-container-max-width, 80rem); margin: 0 auto; padding: 2rem 1.5rem 0; display: flex; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }
body.zn .zn-foot__brand { flex: 1 1 320px; max-width: 430px; }
body.zn .zn-foot__brand .n { font-weight: 750; font-size: 1.05rem; color: #ffffff; letter-spacing: .08em; }
body.zn .zn-foot__brand .s { font-size: .8rem; margin-top: .2rem; color: #7d8792; }
body.zn .zn-foot__about { margin: .5rem 0 0; font-size: .82rem; color: #b7c0ca; line-height: 1.6; max-width: 42ch; }
body.zn .zn-foot__cols { flex: 1 1 auto; display: flex; justify-content: space-evenly; gap: 2.5rem; font-size: .84rem; }
body.zn .zn-foot__cols h4 { margin: 0 0 .5rem; font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; color: #6b7580; font-weight: 700; }
body.zn .zn-foot__cols a { display: block; color: #aeb7c1; text-decoration: none; margin: .2rem 0; }
body.zn .zn-foot__cols a:hover { color: #ffffff; }
body.zn .zn-foot__bar { text-align: center; font-size: .76rem; color: #67707b; margin-top: 1.4rem; padding: .8rem 1rem .95rem; border-top: 1px solid rgba(255, 255, 255, .07); }
body.zn .zn-foot__bar .copyright { display: inline; margin: 0 0 0 .5rem; padding: 0; color: inherit; }
body.zn > .copyright { display: none; }

body.zn .zn-fab { position: fixed; right: 22px; bottom: 86px; z-index: 1200; width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer; background: linear-gradient(135deg, var(--zn-a1), var(--zn-a2)); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(10, 14, 20, .32); }
body.zn .zn-fab svg { width: 22px; height: 22px; }
body.zn .zn-cust { position: fixed; right: 22px; bottom: 142px; z-index: 1201; width: 340px; max-height: min(74vh, 640px); overflow: auto; background: var(--fs-dropdown-bg, #ffffff); border: 1px solid var(--fs-dropdown-border, #e2e5ea); border-radius: 10px; box-shadow: 0 18px 48px rgba(8, 12, 20, .3); padding: 4px 0 10px; display: none; color: var(--fs-body-color); }
body.zn .zn-cust.on { display: block; }
body.zn .zn-cust__tabs { display: flex; gap: 2px; padding: 8px 12px 6px; border-bottom: 1px solid var(--fs-dropdown-border, #e2e5ea); position: sticky; top: 0; background: inherit; z-index: 2; }
body.zn .zn-cust__tabs button { flex: 1; border: 0; background: none; color: var(--fs-text-faint); font-size: .78rem; font-weight: 700; padding: .45rem 0; border-radius: 6px; cursor: pointer; font-family: inherit; }
body.zn .zn-cust__tabs button.on { background: var(--fs-panel-section-bg); color: var(--fs-body-color); }
body.zn .zn-cust h6 { margin: .8rem 14px .45rem; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fs-text-faint); font-weight: 700; }
body.zn .zn-cust p { margin: .5rem 14px; font-size: .74rem; color: var(--fs-text-faint); line-height: 1.45; }
body.zn .zn-seg { display: flex; background: var(--fs-panel-section-bg); border: 1px solid var(--fs-dropdown-border, #e2e5ea); border-radius: 6px; padding: 3px; gap: 2px; margin: 0 14px; }
body.zn .zn-seg button { flex: 1; border: 0; background: none; color: var(--fs-text-faint); font-size: .76rem; font-weight: 650; padding: .35rem 0; border-radius: 4px; cursor: pointer; font-family: inherit; }
body.zn .zn-seg button.on { background: var(--fs-dropdown-bg, #ffffff); color: var(--fs-body-color); box-shadow: 0 1px 4px rgba(10, 14, 20, .18); }
body.zn .zn-sw { display: flex; gap: 8px; align-items: center; margin: 0 14px; flex-wrap: wrap; }
body.zn .zn-sw button { width: 26px; height: 26px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; padding: 0; }
body.zn .zn-sw button.on { border-color: var(--fs-body-color); }
body.zn .zn-sw .zn-custom { position: relative; width: 26px; height: 26px; border-radius: 50%; border: 1.5px dashed var(--fs-text-faint); display: flex; align-items: center; justify-content: center; color: var(--fs-text-faint); font-size: 15px; }
body.zn .zn-sw .zn-custom input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
body.zn .zn-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 14px; }
body.zn .zn-tile { position: relative; height: 52px; border-radius: 6px; overflow: hidden; border: 2px solid var(--fs-dropdown-border, #e2e5ea); cursor: pointer; background-size: cover; background-position: center 40%; padding: 0; background-color: var(--fs-panel-section-bg); }
body.zn .zn-tile.on { border-color: var(--zn-a1); }
body.zn .zn-tile span { position: absolute; left: 6px; bottom: 4px; font-size: .62rem; font-weight: 700; color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .65); letter-spacing: .04em; }
body.zn .zn-tile--up { border-style: dashed; display: flex; align-items: center; justify-content: center; color: var(--fs-text-faint); font-size: .72rem; font-weight: 650; text-decoration: none; }
body.zn .zn-rng { margin: .35rem 14px .6rem; }
body.zn .zn-rng label { display: flex; justify-content: space-between; font-size: .72rem; font-weight: 650; color: var(--fs-body-color); margin-bottom: .2rem; }
body.zn .zn-rng label span { color: var(--fs-text-faint); font-weight: 400; }
body.zn .zn-rng input { width: 100%; accent-color: var(--zn-a1); }
body.zn .zn-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .55rem 14px; font-size: .78rem; font-weight: 600; color: var(--fs-body-color); }
body.zn .zn-tgl { position: relative; width: 34px; height: 20px; border: 0; border-radius: 999px; background: var(--fs-dropdown-border, #cfd5dc); cursor: pointer; flex: 0 0 34px; padding: 0; }
body.zn .zn-tgl::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: left .15s; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
body.zn .zn-tgl.on { background: linear-gradient(120deg, var(--zn-a1), var(--zn-a2)); }
body.zn .zn-tgl.on::after { left: 17px; }
body.zn .zn-color { margin: .3rem 14px; width: calc(100% - 28px); height: 30px; border: 1px solid var(--fs-dropdown-border, #e2e5ea); border-radius: 6px; background: none; padding: 2px; }
body.zn .zn-loadbar { position: fixed; top: 0; left: 0; right: 100%; height: 3px; background: linear-gradient(90deg, var(--zn-a1), var(--zn-a2)); z-index: 4000; opacity: 0; }
body.zn .zn-loadbar.on { opacity: 1; right: 12%; transition: right 6s cubic-bezier(.1, .7, .1, 1), opacity .2s; }

@media (max-width: 980px) {
  body.zn .sub-menu > .container { min-height: 50px; }
  body.zn .sub-menu .nav-links { display: none !important; }
  body.zn .sub-menu .b2-subnav__logo img { max-height: 28px; }
  body.zn .zn-mast { flex-direction: column; align-items: stretch; gap: .9rem; padding: 2rem 1rem 1.1rem; }
  body.zn .zn-mast__title { font-size: 1.3rem; }
  body.zn .zn-wel { width: 100%; }
  body.zn .zn-herostat { display: none; }
  body.zn .b2-forum { display: grid; grid-template-columns: 34px 1fr; column-gap: .6rem; align-items: start; }
  body.zn .b2-forum__marker { grid-column: 1; grid-row: 1; }
  body.zn .b2-forum__last { grid-column: 2; border-left: 0; padding-left: 0; }
  body.zn .zn-foot__cols { gap: 1.6rem; }
  body.zn .zn-cust { right: 10px; left: 10px; width: auto; }
}
body.zn .b2-thead .dropdown__content, body.zn .b2-thead .dropdown__content-wrapper, body.zn .b2-thead .fs-menu__panel, body.zn .b2-fhead .dropdown__content, body.zn .b2-fhead .dropdown__content-wrapper { z-index: 9700 !important; }
body.zn .b2-fhead, body.zn.dark .b2-fhead { overflow: visible; z-index: 55; }
body.zn .b2-thead .b2-thead__chip--newtopic, body.zn.dark .b2-thead .b2-thead__chip--newtopic { background: rgba(8, 10, 14, .38) !important; border-color: rgba(255, 255, 255, .38) !important; color: #ffffff !important; backdrop-filter: blur(4px); }
body.zn .b2-thead .b2-thead__chip--newtopic:hover { background: rgba(8, 10, 14, .55) !important; }
body.zn .b2-thead .dropdown__content, body.zn .b2-thead .dropdown__content a, body.zn .b2-thead .dropdown__content button, body.zn .b2-thead .dropdown__content span, body.zn.dark .b2-thead .dropdown__content a, body.zn.dark .b2-thead .dropdown__content button { color: var(--fs-dropdown-color, #242a31) !important; text-shadow: none; }


/* =========================================================
   MAIN FLOATING NAVIGATION
   ========================================================= */

body.zn .sub-menu,
body.zn.dark .sub-menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;

    background: rgba(15, 23, 42, 0.92) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.25) !important;
}


/* Navigation height */

body.zn .sub-menu > .container,
body.zn.dark .sub-menu > .container {
    min-height: 56px !important;
    height: 56px !important;

    display: flex !important;
    align-items: center !important;
}


/* Prevent page content going underneath navigation */

body.zn .zn-main,
body.zn.dark .zn-main {
    padding-top: 56px !important;
}


/* =========================================================
   NAVIGATION LINKS
   ========================================================= */

body.zn .sub-menu .nav-links,
body.zn.dark .sub-menu .nav-links {
    display: flex !important;
    align-items: center !important;
}

/* =========================================================
   LOGGED-OUT USER GROUP
   Search → Login → Register
   ========================================================= */

/* Right-side search area */

body.zn:has(.user-menu__guest) .sub-menu .b2-subnav__user,
body.zn.dark:has(.user-menu__guest) .sub-menu .b2-subnav__user {
    margin-left: auto !important;

    display: flex !important;
    align-items: center !important;

    gap: .65rem !important;

    position: relative !important;

    padding-right: 0 !important;
    margin-right: 0 !important;

    transform: none !important;
}


/* Search itself */

body.zn:has(.user-menu__guest) .sub-menu .b2-search,
body.zn.dark:has(.user-menu__guest) .sub-menu .b2-search {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

/* =========================================================
   LOGGED-OUT LOGIN + REGISTER
   Keep the whole group fixed to the right side
   ========================================================= */

body.zn:has(.user-menu__guest) .user-menu,
body.zn.dark:has(.user-menu__guest) .user-menu {
    position: fixed !important;
    top: 0 !important;
    right: 200px !important;

    width: auto !important;
    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    z-index: 10000 !important;

    pointer-events: none !important;
}


/* Login + Register stay together */

body.zn:has(.user-menu__guest) .user-menu__guest,
body.zn.dark:has(.user-menu__guest) .user-menu__guest {
    position: relative !important;

    top: auto !important;
    right: auto !important;

    width: auto !important;
    height: 56px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: .5rem !important;

    margin: 0 !important;
    padding: 0 1rem !important;

    white-space: nowrap !important;

    transform: none !important;

    pointer-events: auto !important;

    box-sizing: border-box !important;
}


/* Keep Login and Register together */

body.zn:has(.user-menu__guest) .user-menu__guest a,
body.zn.dark:has(.user-menu__guest) .user-menu__guest a {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

/* =========================================================
   GUEST SEARCH POSITION
   ========================================================= */

/*
   Leave Search in the natural flex position.

   DO NOT use translateX here.
*/

body.zn:has(.user-menu__guest) .sub-menu .b2-search,
body.zn.dark:has(.user-menu__guest) .sub-menu .b2-search {
    transform: none !important;
}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

body.zn .user-menu__guest a:not(.b2-cta),
body.zn.dark .user-menu__guest a:not(.b2-cta) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
}


/* =========================================================
   REGISTER BUTTON
   ========================================================= */

body.zn .user-menu__guest .b2-cta,
body.zn.dark .user-menu__guest .b2-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
}


/* =========================================================
   DROPDOWNS
   ========================================================= */

body.zn .sub-menu .b2-search__results,
body.zn.dark .sub-menu .b2-search__results {
    z-index: 10005 !important;
}


/* =========================================================
   LOGGED-IN NAVIGATION
   Keep existing layout
   ========================================================= */

body.zn:not(:has(.user-menu__guest)) .sub-menu .b2-subnav__user,
body.zn.dark:not(:has(.user-menu__guest)) .sub-menu .b2-subnav__user {
    margin-left: auto !important;

    display: flex !important;
    align-items: center !important;

    gap: .65rem !important;

    position: relative !important;
}


/* Logged-in search */

body.zn:not(:has(.user-menu__guest)) .sub-menu .b2-search,
body.zn.dark:not(:has(.user-menu__guest)) .sub-menu .b2-search {
    position: relative !important;

    margin: 0 !important;
    transform: none !important;
}


/* =========================================================
   AVATAR / USER CONTROLS
   ========================================================= */

body.zn .user-menu__trigger,
body.zn.dark .user-menu__trigger {
    position: relative !important;
    z-index: 10002 !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {

    body.zn .sub-menu > .container,
    body.zn.dark .sub-menu > .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    body.zn:has(.user-menu__guest) .sub-menu .b2-subnav__user,
    body.zn.dark:has(.user-menu__guest) .sub-menu .b2-subnav__user {
        gap: .5rem !important;
    }

}


@media (max-width: 600px) {

    body.zn .sub-menu > .container,
    body.zn.dark .sub-menu > .container {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }

    body.zn:has(.user-menu__guest) .user-menu__guest,
    body.zn.dark:has(.user-menu__guest) .user-menu__guest {
        padding-left: .5rem !important;
        padding-right: .5rem !important;
    }

    body.zn:has(.user-menu__guest) .sub-menu .b2-subnav__user,
    body.zn.dark:has(.user-menu__guest) .sub-menu .b2-subnav__user {
        gap: .4rem !important;
    }

}


@media (max-width: 480px) {

    body.zn .sub-menu > .container,
    body.zn.dark .sub-menu > .container {
        padding-left: .5rem !important;
        padding-right: .5rem !important;
    }

    body.zn:has(.user-menu__guest) .user-menu__guest,
    body.zn.dark:has(.user-menu__guest) .user-menu__guest {
        gap: .35rem !important;
        padding-left: .25rem !important;
        padding-right: .25rem !important;
    }

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    body.zn *,
    body.zn *::before,
    body.zn *::after,
    body.zn.dark *,
    body.zn.dark *::before,
    body.zn.dark *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }

}
:root {
    --znp-ov: 0.83;
    --znp-cover: url("https://forumspark.net/storage/boards/f2cba0a9-f493-4ca2-9a08-2898ac76a9b2/themes/01M2NKVF1AD78AA4CD1QZZF9MZ/resources/rWv2KEzas6ud9DIhOLqX1hOh4UKw4KLmvr0BuXJl.jpg");
    --znp-cover-y: 37%;
    --znp-strip-y: 38%;
    --znp-cover-bg: #aecee7;
    --znp-covers-list: cov-alpine-jpg cov-lagoon-jpg cov-sundown-jpg empirekicking-wallpaper-1920x1;
    --znp-i-theend-jpeg: 48 100 30;
    --znp-i-cov-dusk-jpg: 67 90 d5e9f4 73 nebula;
    --znp-i-cov-metro-jpg: 60 40 002b5c 60 tide;
    --znp-i-cov-alpine-jpg: 82 40 424651 84 nebula;
    --znp-i-cov-lagoon-jpg: 45 57 aecee7 60 sunfire;
    --znp-cc-cov-alpine-jpg: url("https://forumspark.net/storage/boards/f2cba0a9-f493-4ca2-9a08-2898ac76a9b2/themes/01M2NKVF1AD78AA4CD1QZZF9MZ/resources/9W7F9Prp-cov-alpine.jpg");
    --znp-cc-cov-lagoon-jpg: url("https://forumspark.net/storage/boards/f2cba0a9-f493-4ca2-9a08-2898ac76a9b2/themes/01M2NKVF1AD78AA4CD1QZZF9MZ/resources/riXYuHd7-cov-lagoon.jpg");
    --znp-i-cov-sundown-jpg: 83 71 fb4b5f 100 nebula;
    --znp-cc-cov-sundown-jpg: url("https://forumspark.net/storage/boards/f2cba0a9-f493-4ca2-9a08-2898ac76a9b2/themes/01M2NKVF1AD78AA4CD1QZZF9MZ/resources/GqL9FI1m-cov-sundown.jpg");
    --znp-i-download-37--jpeg: 70 100 30;
    --znp-i-empirekicking-wallpaper-1920x1: 37 83 38;
    --znp-cc-empirekicking-wallpaper-1920x1: url("https://forumspark.net/storage/boards/f2cba0a9-f493-4ca2-9a08-2898ac76a9b2/themes/01M2NKVF1AD78AA4CD1QZZF9MZ/resources/rWv2KEzas6ud9DIhOLqX1hOh4UKw4KLmvr0BuXJl.jpg");
}

