/* Wuxia Superstar brand layer. Loaded after the legacy visual bundles. */
:root {
    --wuxia-ink: #202326;
    --wuxia-ink-soft: #596066;
    --wuxia-charcoal: #202427;
    --wuxia-charcoal-deep: #15191b;
    --wuxia-paper: #f8f5ed;
    --wuxia-paper-deep: #eee9de;
    --wuxia-red: #a7332d;
    --wuxia-red-dark: #76231f;
    --wuxia-gold: #c69a52;
    --wuxia-line: rgba(32, 35, 38, .14);
    --wuxia-shadow: 0 18px 42px rgba(21, 25, 27, .12);
    letter-spacing: 0;
}

*, *::before, *::after { letter-spacing: 0 !important; }

html.fi body.fi-body {
    --primary-50: 252 246 239;
    --primary-100: 247 231 219;
    --primary-200: 239 203 184;
    --primary-300: 222 157 133;
    --primary-400: 198 91 72;
    --primary-500: 167 51 45;
    --primary-600: 145 42 38;
    --primary-700: 118 35 31;
    --primary-800: 90 29 27;
    --primary-900: 61 24 23;
    color: var(--wuxia-ink) !important;
    background:
        linear-gradient(rgba(248, 245, 237, .94), rgba(248, 245, 237, .94)),
        url('/images/wuxia-background.jpg') center / cover fixed !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif !important;
}

html.fi body.fi-body::before { display: none !important; }

/* Filament chrome */
html.fi .fi-sidebar,
html.fi.dark .fi-sidebar {
    border-inline-end: 1px solid rgba(255, 255, 255, .1) !important;
    color: #f8f5ed !important;
    background:
        linear-gradient(180deg, rgba(32, 36, 39, .97), rgba(21, 25, 27, .99)),
        url('/images/wuxia-background.jpg') center / cover !important;
    box-shadow: 8px 0 28px rgba(10, 13, 15, .18) !important;
}

html.fi .fi-sidebar-header,
html.fi .fi-topbar,
html.fi.dark .fi-sidebar-header,
html.fi.dark .fi-topbar {
    border-color: rgba(32, 35, 38, .12) !important;
    color: var(--wuxia-ink) !important;
    background: rgba(248, 245, 237, .96) !important;
    box-shadow: 0 4px 18px rgba(21, 25, 27, .08) !important;
}

html.fi .fi-sidebar-header .s33-brand-lockup,
html.fi .fi-sidebar .s33-brand-lockup {
    width: 100% !important;
    gap: 10px !important;
    padding: 4px 8px !important;
}

html.fi .fi-sidebar .s33-brand-lockup__badge,
html.fi .fi-sidebar .s33-brand-lockup--compact .s33-brand-lockup__badge {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 10px !important;
    background: var(--wuxia-paper) !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .22) !important;
}

html.fi .fi-sidebar .s33-brand-lockup__badge img,
html.fi .fi-sidebar .s33-brand-lockup--compact .s33-brand-lockup__badge img {
    width: 100% !important;
    height: 100% !important;
    object-position: center !important;
    filter: none !important;
}

html.fi .fi-sidebar .s33-brand-lockup__text,
html.fi .fi-sidebar .s33-brand-lockup--compact .s33-brand-lockup__text {
    position: static !important;
    display: grid !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    color: #f8f5ed !important;
}

html.fi .fi-sidebar .s33-brand-lockup__text strong { font-size: 15px !important; font-weight: 800 !important; }
html.fi .fi-sidebar .s33-brand-lockup__text small { display: none !important; }
html.fi .fi-sidebar-item-button {
    margin: 3px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    color: rgba(248, 245, 237, .68) !important;
    background: transparent !important;
}

html.fi .fi-sidebar-item-button:hover {
    color: #fff !important;
    background: rgba(198, 154, 82, .14) !important;
}

html.fi .fi-sidebar-item-active > .fi-sidebar-item-button,
html.fi .fi-sidebar-item-button[aria-current="page"] {
    color: #fff !important;
    background: var(--wuxia-red) !important;
    border-color: rgba(255, 255, 255, .08) !important;
    box-shadow: 0 7px 16px rgba(118, 35, 31, .28) !important;
}

html.fi .fi-sidebar-group-label { color: #e1ba78 !important; font-weight: 800 !important; }
html.fi .fi-sidebar-item-icon { color: currentColor !important; }
html.fi .fi-main { background: transparent !important; }
html.fi .fi-page-header-heading,
html.fi .fi-header-heading { color: var(--wuxia-ink) !important; font-family: "Noto Serif SC", "Songti SC", serif !important; }
html.fi .fi-breadcrumbs-item-label,
html.fi .fi-section-header-description,
html.fi .fi-fo-field-label-content,
html.fi .fi-ta-header-cell { color: var(--wuxia-ink-soft) !important; }

html.fi .fi-section,
html.fi .fi-ta-ctn,
html.fi .fi-wi-stats-overview-stat,
html.fi .fi-wi-chart,
html.fi .fi-fo-component-ctn {
    border: 1px solid var(--wuxia-line) !important;
    border-radius: 6px !important;
    background: rgba(255, 253, 248, .94) !important;
    box-shadow: var(--wuxia-shadow) !important;
}

html.fi .fi-section-header,
html.fi .fi-ta-header { border-color: var(--wuxia-line) !important; background: rgba(238, 233, 222, .5) !important; }
html.fi .fi-ta-row { border-color: rgba(32, 35, 38, .08) !important; }
html.fi .fi-ta-row:hover { background: rgba(167, 51, 45, .045) !important; }
html.fi .fi-input-wrp { border-color: rgba(32, 35, 38, .2) !important; border-radius: 5px !important; background: #fffdf8 !important; }
html.fi .fi-input-wrp:focus-within { border-color: var(--wuxia-gold) !important; box-shadow: 0 0 0 3px rgba(198, 154, 82, .16) !important; }
html.fi .fi-input, html.fi .fi-select, html.fi textarea { color: var(--wuxia-ink) !important; background: transparent !important; }
html.fi .fi-btn { border-radius: 5px !important; font-weight: 750 !important; box-shadow: 0 6px 14px rgba(21, 25, 27, .1) !important; }
html.fi .fi-btn.fi-color-primary { color: #fffaf1 !important; background: var(--wuxia-red) !important; }
html.fi .fi-btn.fi-color-primary:hover { background: var(--wuxia-red-dark) !important; }

/* Shared public brand lockup */
body:not(.s33-guest-body) .s33-brand-lockup {
    gap: 11px !important;
    color: inherit !important;
}

body:not(.s33-guest-body) .s33-brand-lockup__badge {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    border-radius: 12px !important;
    background: var(--wuxia-paper) !important;
    box-shadow: 0 8px 20px rgba(21, 25, 27, .2) !important;
}

body:not(.s33-guest-body) .s33-brand-lockup__badge img { width: 100% !important; height: 100% !important; object-position: center !important; filter: none !important; }
body:not(.s33-guest-body) .s33-brand-lockup__text { position: static !important; display: grid !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; white-space: normal !important; }
body:not(.s33-guest-body) .s33-brand-lockup__text strong { color: currentColor !important; font-size: 18px !important; font-weight: 850 !important; }
body:not(.s33-guest-body) .s33-brand-lockup__text small { color: currentColor !important; opacity: .6; font-size: 10px !important; }

/* Public access hub */
body.zxr-hub-page {
    color: #f8f5ed !important;
    background:
        linear-gradient(90deg, rgba(21, 25, 27, .9), rgba(21, 25, 27, .5) 52%, rgba(21, 25, 27, .72)),
        linear-gradient(180deg, rgba(21, 25, 27, .1), rgba(21, 25, 27, .86)),
        url('/images/wuxia-background.jpg') center / cover fixed !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}

body.zxr-hub-page::before,
body.zxr-hub-page::after { opacity: .14 !important; }
body.zxr-hub-page .s33-hub-wrap { width: min(1180px, calc(100% - 40px)) !important; padding: 22px 0 28px !important; }
body.zxr-hub-page .s33-hub-nav { min-height: 58px !important; margin-bottom: 0 !important; padding-bottom: 12px !important; border-bottom-color: rgba(248, 245, 237, .18) !important; }
body.zxr-hub-page .s33-hub-nav .s33-brand-lockup__text { color: #f8f5ed !important; }
body.zxr-hub-page .s33-hub-nav-meta { color: rgba(248, 245, 237, .62) !important; }
body.zxr-hub-page .s33-status-pill { color: #f4d49a !important; background: rgba(21, 25, 27, .5) !important; border-color: rgba(198, 154, 82, .4) !important; }
body.zxr-hub-page .s33-status-pill i { background: #d4a65a !important; box-shadow: 0 0 0 4px rgba(198, 154, 82, .16) !important; }
body.zxr-hub-page .s33-hub-hero { min-height: 390px !important; grid-template-columns: minmax(0, 1fr) 260px !important; gap: 20px !important; padding: 30px 0 20px !important; }
body.zxr-hub-page .s33-hub-eyebrow { color: #e1ba78 !important; }
body.zxr-hub-page .s33-hub-eyebrow::before { color: #f1d39b !important; border-color: rgba(225, 186, 120, .58) !important; background: rgba(167, 51, 45, .76) !important; }
body.zxr-hub-page .s33-hub-title { max-width: 720px; margin: 20px 0 14px !important; color: #fffdf8 !important; font-size: clamp(44px, 6.5vw, 82px) !important; line-height: 1 !important; text-shadow: 0 14px 38px rgba(0, 0, 0, .4) !important; }
body.zxr-hub-page .s33-hub-title span { margin-top: 12px !important; color: #e1ba78 !important; font-size: .4em !important; }
body.zxr-hub-page .s33-hub-copy { max-width: 560px; color: rgba(248, 245, 237, .76) !important; }
body.zxr-hub-page .zxr-hub-hero__rule i { background: linear-gradient(90deg, var(--wuxia-red), rgba(255, 255, 255, .2)) !important; }
body.zxr-hub-page .zxr-hub-hero__art img { width: 210px !important; height: 210px !important; right: 14px !important; bottom: 28px !important; opacity: .9; filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .42)) !important; }
body.zxr-hub-page .zxr-hub-hero__seal { color: #e1ba78 !important; border-color: rgba(225, 186, 120, .7) !important; }
body.zxr-hub-page .s33-entry-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; }
body.zxr-hub-page .s33-entry-card { min-height: 224px !important; padding: 17px !important; border-radius: 6px !important; background: rgba(32, 36, 39, .86) !important; border-color: rgba(248, 245, 237, .16) !important; }
body.zxr-hub-page .s33-entry-card__content { max-width: 100% !important; align-self: start !important; padding-top: 38px; }
body.zxr-hub-page .s33-entry-card__content strong { max-width: 100%; color: #fffdf8 !important; font-size: 17px !important; line-height: 1.45 !important; }
body.zxr-hub-page .s33-entry-card__content small { max-width: 90%; color: rgba(248, 245, 237, .64) !important; font-size: 11px !important; line-height: 1.6 !important; }
body.zxr-hub-page .s33-entry-card__hero { right: 11px !important; bottom: 58px !important; width: 66px !important; height: 66px !important; opacity: .38 !important; filter: saturate(.8) !important; }
body.zxr-hub-page .s33-entry-card__cta { margin-top: 14px; padding-top: 11px !important; color: rgba(248, 245, 237, .82) !important; }
body.zxr-hub-page .zxr-hub-footer { padding-top: 18px !important; color: rgba(248, 245, 237, .46) !important; }

/* Authentication */
body.s33-guest-body {
    min-height: 100svh !important;
    color: var(--wuxia-ink) !important;
    background:
        linear-gradient(90deg, rgba(21, 25, 27, .74), rgba(21, 25, 27, .28) 54%, rgba(248, 245, 237, .2)),
        url('/images/wuxia-background.jpg') center / cover fixed !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}

body.s33-guest-body .s33-guest-shell,
html.fi body.s33-guest-body .s33-guest-shell {
    min-height: 100svh !important;
    padding: 24px !important;
    background: transparent !important;
}

body.s33-guest-body .s33-login-layout,
html.fi body.s33-guest-body .s33-login-layout,
html.fi body.s33-guest-body .s33-login-layout--single {
    width: min(1120px, 100%) !important;
    min-height: min(680px, calc(100svh - 48px)) !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
    gap: 0 !important;
}

body.s33-guest-body .s33-login-hero,
html.fi body.s33-guest-body .zxr-login-scene {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(248, 245, 237, .22) !important;
    border-right: 0 !important;
    border-radius: 8px 0 0 8px !important;
    background:
        linear-gradient(180deg, rgba(21, 25, 27, .2), rgba(21, 25, 27, .8)),
        url('/images/wuxia-background.jpg') center / cover !important;
    box-shadow: 0 24px 64px rgba(10, 13, 15, .28) !important;
}

body.s33-guest-body .s33-login-hero { position: relative; padding: 34px !important; }
body.s33-guest-body .s33-login-hero > .s33-brand-lockup { color: #fffdf8 !important; }
body.s33-guest-body .s33-login-hero .s33-brand-lockup__text { position: static !important; display: grid !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; white-space: normal !important; }
body.s33-guest-body .s33-login-hero .s33-brand-lockup__badge { width: 46px !important; height: 46px !important; flex-basis: 46px !important; background: var(--wuxia-paper) !important; }
body.s33-guest-body .s33-login-hero .s33-brand-lockup__badge img { filter: none !important; }
body.s33-guest-body .s33-login-hero h1 { margin-top: 80px !important; color: #fffdf8 !important; font-family: "Noto Serif SC", "Songti SC", serif !important; font-size: clamp(32px, 4vw, 54px) !important; line-height: 1.15 !important; }
body.s33-guest-body .s33-login-hero p { max-width: 390px; color: rgba(248, 245, 237, .74) !important; line-height: 1.75 !important; }
body.s33-guest-body .s33-login-hero__art { position: absolute !important; right: 30px !important; bottom: 30px !important; width: 136px !important; height: 136px !important; object-fit: contain !important; border-radius: 28px !important; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .4)) !important; }
html.fi body.s33-guest-body .zxr-login-scene { position: relative !important; min-height: 100% !important; background: linear-gradient(180deg, rgba(21, 25, 27, .16), rgba(21, 25, 27, .82)), url('/images/wuxia-background.jpg') center / cover !important; }
html.fi body.s33-guest-body .zxr-login-scene__logo { top: 28px !important; left: 32px !important; width: 70px !important; height: 70px !important; object-fit: contain !important; border-radius: 17px !important; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .32)) !important; }
html.fi body.s33-guest-body .zxr-login-scene__hero { right: 34px !important; bottom: 34px !important; width: 142px !important; height: 142px !important; background-image: var(--garden-login-art, url('/images/wuxia-app-icon.png')) !important; background-position: center !important; background-size: contain !important; border-radius: 28px !important; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .4)) !important; animation: none !important; }
html.fi body.s33-guest-body .zxr-login-scene__copy { left: 32px !important; bottom: 34px !important; max-width: min(380px, calc(100% - 220px)) !important; padding-left: 14px !important; border-left: 3px solid var(--wuxia-gold) !important; background: transparent !important; }
html.fi body.s33-guest-body .zxr-login-scene__copy span { color: #e1ba78 !important; }
html.fi body.s33-guest-body .zxr-login-scene__copy strong { color: #fffdf8 !important; font-family: "Noto Serif SC", "Songti SC", serif !important; font-size: clamp(21px, 2.5vw, 30px) !important; line-height: 1.35 !important; text-shadow: 0 3px 13px rgba(0, 0, 0, .5) !important; }
html.fi body.s33-guest-body .zxr-login-scene__copy small { color: rgba(248, 245, 237, .72) !important; }

body.s33-guest-body .s33-login-card {
    align-self: stretch !important;
    width: 100% !important;
    min-height: 100% !important;
    padding: clamp(28px, 4vw, 48px) !important;
    overflow-y: auto !important;
    border: 1px solid rgba(32, 35, 38, .16) !important;
    border-left: 0 !important;
    border-radius: 0 8px 8px 0 !important;
    color: var(--wuxia-ink) !important;
    background: rgba(248, 245, 237, .98) !important;
    box-shadow: 0 24px 64px rgba(10, 13, 15, .2) !important;
    backdrop-filter: none !important;
    animation: none !important;
}

body.s33-guest-body .s33-login-card::before,
body.s33-guest-body .s33-login-card::after { display: none !important; }
body.s33-guest-body .s33-login-card > :not(script) { max-width: 360px !important; margin-right: auto !important; margin-left: auto !important; }
body.s33-guest-body .s33-login-card h2 { color: var(--wuxia-ink) !important; font-family: "Noto Serif SC", "Songti SC", serif !important; font-size: 30px !important; line-height: 1.25 !important; }
body.s33-guest-body .s33-login-card p { color: var(--wuxia-ink-soft) !important; line-height: 1.7 !important; }
body.s33-guest-body .s33-login-kicker { color: var(--wuxia-red) !important; font-weight: 800 !important; }
body.s33-guest-body .s33-login-card label,
body.s33-guest-body .s33-login-card .fi-fo-field-label,
body.s33-guest-body .s33-login-card .fi-fo-field-label-content { color: #4e555a !important; }
body.s33-guest-body .s33-login-card .fi-input-wrp,
body.s33-guest-body .s33-login-card input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
body.s33-guest-body .s33-login-card select,
body.s33-guest-body .s33-login-card .fi-select-input { min-height: 46px !important; border-color: rgba(32, 35, 38, .22) !important; border-radius: 5px !important; color: var(--wuxia-ink) !important; background: #fffdf8 !important; }
body.s33-guest-body .s33-login-card input::placeholder { color: #858b8f !important; }
body.s33-guest-body .s33-login-card input:focus,
body.s33-guest-body .s33-login-card select:focus { border-color: var(--wuxia-gold) !important; box-shadow: 0 0 0 3px rgba(198, 154, 82, .15) !important; }
body.s33-guest-body .s33-login-card button[type='submit'],
body.s33-guest-body .s33-login-card .fi-btn-color-primary,
body.s33-guest-body .s33-login-button { min-height: 46px !important; border-radius: 5px !important; color: #fffaf1 !important; background: var(--wuxia-red) !important; box-shadow: 0 10px 20px rgba(118, 35, 31, .2) !important; }
body.s33-guest-body .s33-login-card button[type='submit']:hover,
body.s33-guest-body .s33-login-card .fi-btn-color-primary:hover { background: var(--wuxia-red-dark) !important; }
body.s33-guest-body .s33-login-footer { color: #7a8084 !important; }
body.s33-guest-body .s33-login-footer a { color: var(--wuxia-red) !important; }

/* Registration and success */
body.s33-register-page {
    color: var(--wuxia-ink) !important;
    background:
        linear-gradient(90deg, rgba(21, 25, 27, .78), rgba(21, 25, 27, .34) 58%, rgba(21, 25, 27, .62)),
        url('/images/wuxia-background.jpg') center / cover fixed !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
body.s33-register-page .zxr-auth-motion { display: none !important; }
body.s33-register-page .wdhysj-register-shell { width: min(1120px, calc(100% - 40px)) !important; padding: 22px 0 36px !important; }
body.s33-register-page .wdhysj-register-header { margin-bottom: 24px !important; }
body.s33-register-page .wdhysj-register-brand img { width: 48px !important; height: 48px !important; object-fit: contain !important; border-radius: 12px !important; background: var(--wuxia-paper) !important; }
body.s33-register-page .wdhysj-register-actions a { border-radius: 5px !important; color: #f8f5ed !important; background: rgba(32, 36, 39, .78) !important; border-color: rgba(248, 245, 237, .2) !important; }
body.s33-register-page .wdhysj-register-actions a.is-primary { color: #fffaf1 !important; background: var(--wuxia-red) !important; border-color: var(--wuxia-red) !important; }
body.s33-register-page .wdhysj-register-workspace { grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr) !important; gap: 16px !important; }
body.s33-register-page .wdhysj-register-scene { min-height: 560px !important; border-radius: 6px !important; background: linear-gradient(180deg, rgba(21, 25, 27, .2), rgba(21, 25, 27, .8)), url('/images/wuxia-background.jpg') center / cover !important; box-shadow: 0 20px 48px rgba(10, 13, 15, .26) !important; }
body.s33-register-page .wdhysj-register-scene__copy { color: #fffdf8 !important; }
body.s33-register-page .wdhysj-register-scene__copy span { color: #e1ba78 !important; }
body.s33-register-page .wdhysj-register-scene__copy h1 { color: #fffdf8 !important; font-family: "Noto Serif SC", "Songti SC", serif !important; }
body.s33-register-page .wdhysj-register-scene__copy p { color: rgba(248, 245, 237, .75) !important; }
body.s33-register-page .wdhysj-register-scene__garden,
body.s33-register-page .wdhysj-register-scene__florist { display: none !important; }
body.s33-register-page .wdhysj-register-panel { border: 1px solid rgba(32, 35, 38, .14) !important; border-radius: 6px !important; background: rgba(248, 245, 237, .98) !important; box-shadow: 0 20px 48px rgba(10, 13, 15, .18) !important; }
body.s33-register-page .wdhysj-register-panel__head h2 { color: var(--wuxia-ink) !important; font-family: "Noto Serif SC", "Songti SC", serif !important; }
body.s33-register-page .wdhysj-register-panel__head p,
body.s33-register-page .wdhysj-register-field > small { color: var(--wuxia-ink-soft) !important; }
body.s33-register-page .wdhysj-register-panel__head > div > span { color: var(--wuxia-red) !important; }
body.s33-register-page .wdhysj-register-invite-state { color: var(--wuxia-red) !important; background: rgba(167, 51, 45, .08) !important; border-color: rgba(167, 51, 45, .22) !important; }
body.s33-register-page .wdhysj-register-field > label { color: #4e555a !important; }
body.s33-register-page .wdhysj-register-field input,
body.s33-register-page .wdhysj-register-field select { border-color: rgba(32, 35, 38, .22) !important; border-radius: 5px !important; color: var(--wuxia-ink) !important; background: #fffdf8 !important; }
body.s33-register-page .wdhysj-register-field input:focus,
body.s33-register-page .wdhysj-register-field select:focus { border-color: var(--wuxia-gold) !important; box-shadow: 0 0 0 3px rgba(198, 154, 82, .14) !important; }
body.s33-register-page .wdhysj-register-submit { border-radius: 5px !important; color: #fffaf1 !important; background: var(--wuxia-red) !important; }
body.s33-register-page .wdhysj-register-panel__foot a { color: var(--wuxia-red) !important; }
body.s33-register-success-page .s33-success-modal { border-radius: 8px !important; border-color: rgba(32, 35, 38, .14) !important; background: var(--wuxia-paper) !important; box-shadow: 0 28px 72px rgba(10, 13, 15, .28) !important; }
body.s33-register-success-page .s33-success-modal::before { background: linear-gradient(90deg, rgba(248, 245, 237, .96), rgba(248, 245, 237, .8)) !important; }
body.s33-register-success-page .s33-success-logo { width: 82px !important; height: 82px !important; object-fit: contain !important; border-radius: 18px !important; }
body.s33-register-success-page .s33-success-kicker { color: var(--wuxia-red) !important; background: rgba(167, 51, 45, .08) !important; border-color: rgba(167, 51, 45, .22) !important; }
body.s33-register-success-page .s33-success-modal h1 { color: var(--wuxia-ink) !important; font-family: "Noto Serif SC", "Songti SC", serif !important; letter-spacing: 0 !important; }
body.s33-register-success-page .s33-success-modal p { color: var(--wuxia-ink-soft) !important; }
body.s33-register-success-page .s33-success-countdown { border-radius: 6px !important; background: var(--wuxia-charcoal) !important; }
body.s33-register-success-page .s33-success-countdown strong { border-radius: 6px !important; color: #fffaf1 !important; background: var(--wuxia-red) !important; box-shadow: none !important; }
body.s33-register-success-page .s33-success-actions .is-primary { border-radius: 5px !important; color: #fffaf1 !important; background: var(--wuxia-red) !important; box-shadow: none !important; }
body.s33-register-success-page .s33-success-actions .is-secondary { border-radius: 5px !important; color: var(--wuxia-ink) !important; background: #fffdf8 !important; border-color: var(--wuxia-line) !important; }
body.s33-register-success-page .s33-success-hero img { max-width: 168px !important; max-height: 168px !important; border-radius: 26px; }

@media (max-width: 900px) {
    body.zxr-hub-page .s33-hub-hero { min-height: 330px !important; grid-template-columns: minmax(0, 1fr) 190px !important; }
    body.zxr-hub-page .zxr-hub-hero__art img { width: 150px !important; height: 150px !important; }
    body.zxr-hub-page .s33-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body.s33-register-page .wdhysj-register-workspace { grid-template-columns: 1fr !important; }
    body.s33-register-page .wdhysj-register-scene { min-height: 300px !important; }
}

@media (max-width: 720px) {
    body.s33-guest-body { background-position: 28% center !important; }
    body.s33-guest-body .s33-guest-shell { padding: 12px !important; }
    body.s33-guest-body .s33-login-layout,
    html.fi body.s33-guest-body .s33-login-layout,
    html.fi body.s33-guest-body .s33-login-layout--single { min-height: auto !important; grid-template-columns: 1fr !important; }
    body.s33-guest-body .s33-login-hero,
    html.fi body.s33-guest-body .zxr-login-scene { min-height: 280px !important; border-right: 1px solid rgba(248, 245, 237, .22) !important; border-bottom: 0 !important; border-radius: 8px 8px 0 0 !important; }
    body.s33-guest-body .s33-login-hero { padding: 22px !important; }
    body.s33-guest-body .s33-login-hero h1 { margin-top: 42px !important; font-size: 32px !important; }
    body.s33-guest-body .s33-login-hero__art,
    html.fi body.s33-guest-body .zxr-login-scene__hero { right: 20px !important; bottom: 20px !important; width: 92px !important; height: 92px !important; border-radius: 18px !important; }
    html.fi body.s33-guest-body .zxr-login-scene__logo { top: 20px !important; left: 22px !important; width: 54px !important; height: 54px !important; border-radius: 13px !important; }
    html.fi body.s33-guest-body .zxr-login-scene__copy { left: 22px !important; bottom: 20px !important; max-width: calc(100% - 140px) !important; }
    html.fi body.s33-guest-body .zxr-login-scene__copy strong { font-size: 21px !important; }
    body.s33-guest-body .s33-login-card { min-height: auto !important; border-left: 1px solid rgba(32, 35, 38, .16) !important; border-radius: 0 0 8px 8px !important; }
    body.zxr-hub-page .s33-hub-wrap { width: min(100% - 28px, 560px) !important; }
    body.zxr-hub-page .s33-hub-nav { align-items: flex-start !important; }
    body.zxr-hub-page .zxr-hub-nav-meta { gap: 8px !important; }
    body.zxr-hub-page .zxr-hub-nav-code { display: none !important; }
    body.zxr-hub-page .s33-hub-hero { min-height: 280px !important; grid-template-columns: 1fr !important; padding-top: 24px !important; }
    body.zxr-hub-page .zxr-hub-hero__art { display: none !important; }
    body.zxr-hub-page .s33-hub-title { font-size: clamp(40px, 12vw, 58px) !important; }
    body.zxr-hub-page .s33-entry-grid { grid-template-columns: 1fr !important; }
    body.s33-register-page .wdhysj-register-shell { width: min(100% - 24px, 560px) !important; }
    body.s33-register-page .wdhysj-register-header { align-items: flex-start !important; }
    body.s33-register-page .wdhysj-register-actions { gap: 6px !important; }
    body.s33-register-page .wdhysj-register-actions a { padding: 8px 9px !important; font-size: 11px !important; }
    body.s33-register-page .wdhysj-register-scene { min-height: 240px !important; }
    body.s33-register-page .wdhysj-register-panel { padding: 20px !important; }
    body.s33-register-success-page .s33-success-modal__inner { grid-template-columns: 1fr !important; }
    body.s33-register-success-page .s33-success-hero { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* The internal test console is a public route, so it does not receive the
 * Filament body selectors above. Keep its final legacy override on-brand. */
body.qt-app,
body.qt-login-page {
    --qt-ink: #202326;
    --qt-muted: #697177;
    --qt-paper: #f8f5ed;
    --qt-line: #d8d1c5;
    --qt-night: #202427;
    --qt-night-soft: #15191b;
    --qt-jade: #a7332d;
    --qt-jade-dark: #76231f;
    --qt-gold: #c69a52;
    --qt-red: #a7332d;
}

body.qt-app {
    background-image: url('/images/wuxia-background.jpg') !important;
}

body.qt-login-page {
    background: #202427 url('/images/wuxia-background.jpg') center / cover fixed !important;
}

body.qt-login-page .qt-login-art {
    background-color: #202427 !important;
    background-image: url('/images/wuxia-background.jpg') !important;
    background-position: center 68% !important;
    background-size: cover !important;
}

/* Opening-gift catalog */
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog {
    --catalog-ink: #202326;
    --catalog-muted: #697177;
    --catalog-paper: #fffdf8;
    --catalog-paper-deep: #f0eadf;
    --catalog-line: rgba(32, 35, 38, .14);
    --catalog-red: #a7332d;
    --catalog-gold: #c69a52;
    width: 100%;
    margin: 24px 0 0;
    padding: clamp(18px, 3vw, 32px);
    color: var(--catalog-ink);
    border: 1px solid var(--catalog-line);
    border-radius: 8px;
    background: var(--catalog-paper);
    box-shadow: 0 16px 38px rgba(21, 25, 27, .08);
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--catalog-line);
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head > div:first-child { min-width: 0; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head > div:first-child > span,
html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header > div > span,
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header > span {
    display: block;
    color: var(--catalog-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.4;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog h3,
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog h4 {
    margin: 0;
    color: var(--catalog-ink);
    font-family: "Noto Serif SC", "Songti SC", serif;
    letter-spacing: 0;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head h3 {
    margin-top: 7px;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.25;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head p {
    max-width: 720px;
    margin: 9px 0 0;
    color: var(--catalog-muted);
    font-size: 13px;
    line-height: 1.7;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status {
    flex: 0 0 auto;
    min-width: 158px;
    padding: 12px 14px;
    border: 1px solid rgba(167, 51, 45, .22);
    border-radius: 6px;
    background: rgba(167, 51, 45, .05);
    text-align: right;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status strong,
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status span { display: block; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status strong { color: var(--catalog-red); font-size: 14px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status span { margin-top: 4px; color: var(--catalog-muted); font-size: 11px; line-height: 1.5; }

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__tabs {
    display: flex;
    gap: 8px;
    margin: 18px 0 24px;
    overflow-x: auto;
    scrollbar-width: thin;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    color: var(--catalog-muted);
    border: 1px solid var(--catalog-line);
    border-radius: 5px;
    background: #faf7f0;
    font-size: 12px;
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__tabs a:hover,
html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__tabs a:focus-visible {
    color: var(--catalog-red);
    border-color: rgba(167, 51, 45, .45);
    background: #fffaf3;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__tabs em {
    min-width: 20px;
    padding: 2px 5px;
    color: #fffaf1;
    border-radius: 10px;
    background: var(--catalog-red);
    font-size: 10px;
    font-style: normal;
    text-align: center;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__groups { display: grid; gap: 24px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-group { min-width: 0; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header h4 { margin-top: 4px; font-size: 20px; line-height: 1.3; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header p { margin: 3px 0 0; color: var(--catalog-muted); font-size: 12px; line-height: 1.55; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header > strong { color: var(--catalog-red); font-size: 12px; white-space: nowrap; }

html.fi body.fi-body.fi-panel-player .wuxia-doc-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-product {
    display: flex;
    min-width: 0;
    min-height: 214px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--catalog-line);
    border-radius: 6px;
    background: #fff;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-product__cover {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 70px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--catalog-line);
    background: var(--catalog-paper-deep);
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__cover img {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    object-fit: contain;
    border-radius: 10px;
    background: var(--catalog-paper);
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__cover span {
    color: var(--catalog-red);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__body { display: grid; gap: 8px; padding: 14px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__title h4 { min-width: 0; font-size: 16px; line-height: 1.45; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__title strong { flex: 0 0 auto; color: var(--catalog-red); font-size: 17px; white-space: nowrap; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product__body > p { margin: 0; color: var(--catalog-muted); font-size: 11px; line-height: 1.55; }

html.fi body.fi-body.fi-panel-player .wuxia-doc-items { display: grid; gap: 6px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-items > div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 5px 6px;
    border: 1px solid rgba(32, 35, 38, .08);
    border-radius: 4px;
    background: #fffdf8;
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-items > div.is-pending { border-style: dashed; background: #faf8f3; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-item__icon { display: grid; width: 28px; height: 28px; place-items: center; color: #8e9599; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-item__icon img { width: 28px; height: 28px; object-fit: contain; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-items strong { min-width: 0; overflow: hidden; color: var(--catalog-ink); font-size: 11px; font-weight: 650; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-items em { color: var(--catalog-muted); font-size: 10px; font-style: normal; white-space: nowrap; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    margin-top: auto;
    padding: 9px 14px;
    border-top: 1px solid var(--catalog-line);
    background: #faf7f0;
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer span { color: var(--catalog-muted); font-size: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer button {
    min-height: 28px;
    padding: 0 9px;
    color: #8b7773;
    border: 1px solid rgba(167, 51, 45, .2);
    border-radius: 4px;
    background: rgba(167, 51, 45, .06);
    cursor: not-allowed;
    font-size: 10px;
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-grid,
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-grid { display: grid; gap: 12px; margin-top: 24px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel,
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel { min-width: 0; padding: 16px; border: 1px solid var(--catalog-line); border-radius: 6px; background: #fff; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header,
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header h4 { margin-top: 4px; font-size: 17px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header > strong,
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header > em { color: var(--catalog-red); font-size: 10px; font-style: normal; white-space: nowrap; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list { display: grid; gap: 6px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list > section { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 9px; align-items: start; padding-top: 7px; border-top: 1px solid rgba(32, 35, 38, .08); }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list > section > strong { color: var(--catalog-red); font-size: 12px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list > section > div { display: flex; flex-wrap: wrap; gap: 5px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list span { display: inline-flex; align-items: center; gap: 4px; padding: 3px 5px; color: var(--catalog-muted); border: 1px solid rgba(32, 35, 38, .1); border-radius: 3px; background: #fffdf8; font-size: 10px; line-height: 1.35; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list span.is-pending { border-style: dashed; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-tier-list img { width: 18px; height: 18px; object-fit: contain; }

html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header strong { color: var(--catalog-ink); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 17px; line-height: 1.3; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > p { margin: 12px 0 0; color: var(--catalog-muted); font-size: 11px; line-height: 1.7; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-rules { display: grid; gap: 7px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-rules span { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: var(--catalog-muted); font-size: 11px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-rules b { color: var(--catalog-red); font-size: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite { display: grid; gap: 5px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite b { color: var(--catalog-muted); font-size: 11px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite strong { color: var(--catalog-red); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 24px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite > .wuxia-doc-invite__headline { display: grid; gap: 2px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__milestones { display: grid; gap: 7px; margin-top: 7px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__milestone { display: grid; gap: 5px; padding: 8px; border: 1px solid rgba(32, 35, 38, .1); border-radius: 4px; background: #fffdf8; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__milestone > strong { color: var(--catalog-ink); font-family: inherit; font-size: 11px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items { display: flex; flex-wrap: wrap; gap: 5px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items > span,
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements > span {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 4px;
    padding: 4px 5px;
    color: var(--catalog-muted);
    border: 1px solid rgba(32, 35, 38, .1);
    border-radius: 3px;
    background: #fff;
    font-size: 10px;
    line-height: 1.35;
}
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items > span.is-pending,
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements > span.is-pending { border-style: dashed; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items img,
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items svg { width: 20px; height: 20px; flex: 0 0 20px; object-fit: contain; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-invite__items > span > span { min-width: 0; overflow-wrap: anywhere; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements > span { flex: 1 1 130px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements img,
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements svg { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements strong { min-width: 0; overflow-wrap: anywhere; color: var(--catalog-ink); font-family: inherit; font-size: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-entitlements em { margin-left: auto; color: var(--catalog-muted); font-size: 9px; font-style: normal; white-space: nowrap; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-probabilities { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-probabilities span { display: grid; gap: 2px; min-width: 64px; padding: 7px; color: var(--catalog-muted); border: 1px solid rgba(32, 35, 38, .1); border-radius: 4px; background: #fffdf8; font-size: 10px; text-align: center; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-probabilities b { color: var(--catalog-red); font-size: 14px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-pools { display: grid; gap: 8px; margin-top: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-pool { min-width: 0; padding: 8px; border: 1px solid rgba(32, 35, 38, .1); border-radius: 4px; background: #fffdf8; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-pool > header { display: flex; align-items: baseline; gap: 7px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-pool > header strong { color: var(--catalog-red); font-size: 13px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-pool > header span { color: var(--catalog-muted); font-size: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items > span { display: inline-flex; align-items: center; min-width: 0; gap: 4px; padding: 3px 4px; color: var(--catalog-muted); border: 1px solid rgba(32, 35, 38, .08); border-radius: 3px; background: #fff; font-size: 10px; line-height: 1.35; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items > span.is-pending { border-style: dashed; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items img,
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items svg { width: 20px; height: 20px; flex: 0 0 20px; object-fit: contain; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-items > span > span { min-width: 0; overflow-wrap: anywhere; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision { margin-top: 10px; padding: 8px; border: 1px dashed rgba(167, 51, 45, .28); border-radius: 4px; background: #fffaf3; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision > header strong { color: var(--catalog-red); font-size: 11px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision > header span { color: var(--catalog-muted); font-size: 10px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision .wuxia-doc-lottery-items { margin-top: 6px; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision .wuxia-doc-lottery-items > span { border-color: rgba(167, 51, 45, .22); background: #fff; }
html.fi body.fi-body.fi-panel-player .wuxia-doc-lottery-source-revision .wuxia-doc-lottery-items small { color: var(--catalog-red); font-size: 9px; white-space: nowrap; }

@media (max-width: 1050px) {
    html.fi body.fi-body.fi-panel-player .wuxia-doc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog { margin-top: 16px; padding: 16px 12px; }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head { display: grid; gap: 14px; }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__status { min-width: 0; padding: 9px 11px; text-align: left; }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-product-grid,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-grid,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-grid { grid-template-columns: 1fr; }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header { align-items: flex-start; }
    html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header > strong { padding-top: 5px; }
}

/* Final asset guard. The legacy bundles stay registered for class/API
 * compatibility, but every visible surface resolves to a Wuxia asset. */
html.fi:has(body.fi-body.fi-panel-player),
html.fi body.fi-body.fi-panel-player {
    background-color: #f8f5ed !important;
    background-image: url('/images/wuxia-background.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}

html.fi body.fi-body.fi-panel-player .fi-sidebar,
html.fi body.fi-body.fi-panel-player .fi-sidebar-header,
html.fi body.fi-body.fi-panel-player .fi-main-sidebar {
    background-color: #202427 !important;
    background-image:
        linear-gradient(180deg, rgba(32, 36, 39, .9), rgba(21, 25, 27, .98)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html.fi body.fi-body.fi-panel-player .zxr-player-home-hero,
html.fi body.fi-body.fi-panel-player .zxr-player-feature-hero {
    background-color: #202427 !important;
    background-image:
        linear-gradient(90deg, rgba(32, 36, 39, .96), rgba(32, 36, 39, .72) 58%, rgba(32, 36, 39, .2)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    border-color: rgba(198, 154, 82, .3) !important;
}

html.fi body.fi-body.fi-panel-player .wdhysj-mall-card__cover,
html.fi body.fi-body.fi-panel-player .wdhysj-entry-offer-modal__head,
html.fi body.fi-body.fi-panel-player .zxr-player-mobile-sheet {
    background-color: #f0eadf !important;
    background-image:
        linear-gradient(135deg, rgba(248, 245, 237, .94), rgba(240, 234, 223, .82)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html.fi body.fi-body.fi-panel-player .zxr-lottery-v2__pool {
    background-color: #202427 !important;
    background-image:
        linear-gradient(135deg, rgba(32, 36, 39, .94), rgba(21, 25, 27, .76)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html.fi.zxr-player-first-entry body.fi-body.fi-panel-player::before {
    background-color: #202427 !important;
    background-image: url('/images/wuxia-app-icon.png') !important;
    background-position: center !important;
    background-size: 118px auto !important;
    background-repeat: no-repeat !important;
}

html.fi .s33-panel-page::before,
html.fi .s33-panel-hero,
html.fi .s33-feature-hero,
html.fi .s33-player-hero,
html.fi .s33-market-hero,
html.fi .s33-return-hero,
html.fi .s33-avatar-hero,
html.fi .s33-top-whale-hero {
    background-color: #202427 !important;
    background-image:
        linear-gradient(90deg, rgba(32, 36, 39, .96), rgba(32, 36, 39, .68) 60%, rgba(32, 36, 39, .26)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    border-color: rgba(198, 154, 82, .28) !important;
}

body.zxr-hub-page::before,
body.zxr-hub-page::after,
html.fi body.fi-body::before,
body.s33-register-page::before,
body.qt-app::before {
    background: none !important;
    opacity: 0 !important;
}

body.zxr-hub-page .s33-hub-eyebrow::before {
    content: '侠' !important;
    color: #f1d39b !important;
    background: rgba(167, 51, 45, .78) !important;
    border-color: rgba(225, 186, 120, .58) !important;
}

body.qt-login-page,
body.qt-login-page .qt-login-art {
    background-color: #202427 !important;
    background-image:
        linear-gradient(135deg, rgba(32, 36, 39, .82), rgba(21, 25, 27, .48)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

body.wdhysj-return-invite {
    color: #202326 !important;
    background:
        linear-gradient(145deg, rgba(32, 36, 39, .74), rgba(21, 25, 27, .5)),
        url('/images/wuxia-background.jpg') center / cover fixed !important;
}

body.wdhysj-return-invite::before {
    background: rgba(21, 25, 27, .34) !important;
}

@media (max-width: 720px) {
    html.fi body.fi-body.fi-panel-player .wuxia-doc-catalog__head,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    html.fi body.fi-body.fi-panel-player .wuxia-doc-group > header > strong,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-reward-panel > header > strong,
    html.fi body.fi-body.fi-panel-player .wuxia-doc-extra-panel > header > em {
        white-space: normal;
    }

    html.fi body.fi-body.fi-panel-player .wuxia-doc-product > footer button {
        width: 100%;
    }
}

html.fi body.fi-body.fi-panel-player .wuxia-doc-items strong {
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
}

/* Filament login shells inherit the former Garden backdrop from the legacy
 * auth bundle. Keep the shell and card fully on the Wuxia asset stack too;
 * otherwise the old image remains visible around the otherwise-correct hero. */
html.fi body.s33-guest-body .s33-guest-shell {
    background-color: #202427 !important;
    background-image:
        linear-gradient(135deg, rgba(21, 25, 27, .72), rgba(32, 36, 39, .42)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html.fi.dark body.fi-body.s33-guest-body .s33-guest-shell {
    background-color: #202427 !important;
    background-image:
        linear-gradient(135deg, rgba(21, 25, 27, .72), rgba(32, 36, 39, .42)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html.fi body.s33-guest-body .s33-guest-shell::before,
html.fi body.s33-guest-body .s33-guest-shell::after {
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}

html.fi body.s33-guest-body .s33-login-card {
    background-color: rgba(248, 245, 237, .98) !important;
    background-image: none !important;
}

/* Keep secondary player surfaces on the Wuxia asset stack as well. These
 * classes are retained by the legacy storefront/activity views, so a broad
 * page-level background rule alone would still leave the Garden hero visible.
 */
html.fi body.fi-body.fi-panel-player .wdhysj-mall-programs__head,
html.fi body.fi-body.fi-panel-player .zxr-activity-hero {
    background-color: #202427 !important;
    background-image:
        linear-gradient(90deg, rgba(32, 36, 39, .96), rgba(32, 36, 39, .68) 60%, rgba(32, 36, 39, .26)),
        url('/images/wuxia-background.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    border-color: rgba(198, 154, 82, .28) !important;
}
