/* ============================================================================
   XINGYI 星易号商 · 星轨交易台   XingYi Orbital Desk
   ----------------------------------------------------------------------------
   视觉世界取自品牌主视觉：深午夜蓝星域底 + 金色立体徽标 + 蓝金光晕
   取自品牌图：底色 #050a1a 午夜蓝 / 强调 #dcb463 香槟金 / 氛围蓝 #2f7bff
   规则锁定：
     · UI 只有 1 个强调色（香槟金 #dcb463）；氛围蓝只出现在页面背景光晕里
     · 第三方平台与支付品牌图标保留原色（品牌识别所需，不算多强调色）
   规则锁定：
     · 只有 1 个强调色（琥珀金 #E0A93C），另有 2 个语义色仅供状态
     · 圆角系统：卡片 14px / 控件与输入 10px / 状态标签 999px（唯一例外）
     · 阴影一律带偏移与柔化模糊，色相取自底色（冷黑），无零偏移光晕
     · backdrop-filter 只出现在 fixed / sticky 元素
     · 无渐变文字 / 无 kicker 药丸 / 无大数字统计模板 / 无嵌套卡片
   加载顺序：必须位于 main.min.css、frontend.css 之后
   ========================================================================== */

:root {
    /* 底色：午夜蓝星域（取自品牌主视觉背景） */
    --xy-bg: #050a1a;
    --xy-bg-2: #070d24;
    --xy-surface: #0a1128;
    --xy-surface-2: #0e1631;

    --xy-line: rgba(255, 255, 255, .08);
    --xy-line-2: rgba(255, 255, 255, .14);
    --xy-line-3: rgba(255, 255, 255, .22);

    --xy-text: #eef1f8;
    --xy-text-2: #a6adc0;
    /* muted 在 #0a1128 上的对比度约 5.4:1，满足正文 AA */
    --xy-muted: #858cab;

    /* 唯一强调色：品牌香槟金 */
    --xy-accent: #dcb463;
    --xy-accent-2: #f0d79b;
    --xy-accent-deep: #b8912f;
    --xy-accent-ink: #1a1206;
    --xy-accent-soft: rgba(220, 180, 99, .13);
    --xy-accent-line: rgba(220, 180, 99, .4);

    /* 品牌氛围蓝：只用于页面背景光晕，不用于任何 UI 元素 */
    --xy-glow-blue: rgba(47, 123, 255, .22);

    /* 语义色：仅状态 */
    --xy-ok: #4e9a78;
    --xy-bad: #b4544e;

    /* 带偏移的冷色阴影 */
    --xy-sh-1: 0 1px 2px rgba(3, 4, 7, .7), 0 8px 20px -12px rgba(3, 4, 7, .9);
    --xy-sh-2: 0 2px 4px rgba(3, 4, 7, .6), 0 22px 48px -28px rgba(3, 4, 7, 1);

    --xy-r: 14px;
    --xy-r-sm: 10px;
    --xy-r-pill: 999px;

    /* 字体：项目自带 Inter（等价 Linear 的中性选择）。
       如需自托管 Geist / Satoshi，仅替换此处变量与 @font-face。 */
    --xy-font: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ------------------------------------------------------------------ base --- */

body.xy {
    margin: 0;
    padding-top: 70px;
    font-family: var(--xy-font);
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .002em;
    color: var(--xy-text);
    background-color: var(--xy-bg);
    background-image:
        radial-gradient(1.2px 1.2px at 24px 36px, rgba(255, 255, 255, .34), transparent),
        radial-gradient(1px 1px at 128px 92px, rgba(190, 214, 255, .26), transparent),
        radial-gradient(1.4px 1.4px at 212px 168px, rgba(255, 236, 200, .22), transparent),
        radial-gradient(1px 1px at 316px 58px, rgba(255, 255, 255, .24), transparent),
        radial-gradient(1.1px 1.1px at 402px 232px, rgba(190, 214, 255, .18), transparent),
        radial-gradient(1px 1px at 476px 128px, rgba(255, 236, 200, .2), transparent),
        radial-gradient(1100px 620px at 84% -8%, var(--xy-glow-blue), transparent 66%),
        radial-gradient(900px 520px at 8% 2%, rgba(47, 123, 255, .12), transparent 68%),
        radial-gradient(820px 460px at 50% 108%, rgba(220, 180, 99, .07), transparent 66%),
        linear-gradient(180deg, #060c20 0%, #050a1a 46%, #040818 100%);
    background-size: 520px 260px, 520px 260px, 520px 260px, 520px 260px, 520px 260px, 520px 260px, 100% 100%, 100% 100%, 100% 100%;
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    accent-color: var(--xy-accent);
    caret-color: var(--xy-accent);
}

/* 颗粒：固定层、不参与交互、不落在滚动容器上 */
body.xy::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .028;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="180" height="180"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="3" stitchTiles="stitch"/></filter><rect width="180" height="180" filter="url(%23n)"/></svg>');
}

body.xy > .content,
body.xy > nav,
body.xy > footer,
body.xy > .xy-ticker,
body.xy > .xy-fab { position: relative; z-index: 2; }

/* 浏览器表面也属于设计：选区、滚动条、焦点环、下划线、数字 */
body.xy ::selection { background: rgba(224, 169, 60, .3); color: #fff; }
body.xy ::-webkit-scrollbar { width: 11px; height: 11px; }
body.xy ::-webkit-scrollbar-track { background: var(--xy-bg); }
body.xy ::-webkit-scrollbar-thumb { background: #23272f; border: 3px solid var(--xy-bg); border-radius: var(--xy-r-pill); }
body.xy ::-webkit-scrollbar-thumb:hover { background: #333941; }
body.xy :focus-visible { outline: 2px solid var(--xy-accent); outline-offset: 2px; border-radius: 4px; }
body.xy a { color: var(--xy-text); text-decoration: none; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s cubic-bezier(.22, 1, .36, 1); }
body.xy a:hover { color: #fff; }
body.xy .xy-underline { text-decoration: underline; }
body.xy .xy-num,
body.xy .xy-tabular,
body.xy [data-tabular] { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

body.xy h1, body.xy h2, body.xy h3, body.xy h4, body.xy h5 {
    font-family: var(--xy-font);
    color: var(--xy-text);
    font-weight: 640;
    letter-spacing: -.02em;
    text-wrap: balance;
}
body.xy p { text-wrap: pretty; }

body.xy .container { width: 1300px; }
@media (max-width: 1340px) { body.xy .container { width: 100%; } }
body.xy .text-muted, body.xy .muted { color: var(--xy-muted) !important; }
body.xy hr { border-top-color: var(--xy-line); }
.xy-measure { max-width: 68ch; }

/* ---------------------------------------------------------------- icons --- */

.xy-i {
    width: 1.15em;
    height: 1.15em;
    flex: 0 0 auto;
    display: inline-block;
    vertical-align: -0.18em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.xy-i--18 { width: 18px; height: 18px; }
.xy-i--20 { width: 20px; height: 20px; }
.xy-i--24 { width: 24px; height: 24px; }

/* -------------------------------------------------------------- surfaces -- */

/* 单层表面：不做嵌套卡片 */
.xy-panel {
    position: relative;
    background: var(--xy-surface);
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    box-shadow: var(--xy-sh-1);
}
.xy-panel__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 18px;
    border-bottom: 1px solid var(--xy-line);
}
.xy-panel__head h4 { margin: 0; font-size: 14px; font-weight: 620; letter-spacing: -.01em; }
.xy-panel__head .xy-head-note { margin-left: auto; font-size: 12px; color: var(--xy-muted); }
.xy-panel__body { padding: 18px; }

/* 分区标题：用字重与字号做层次，不用装饰条 */
.xy-sec-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    margin: 44px 0 14px;
}
.xy-sec-head h2 { margin: 0; font-size: 19px; font-weight: 660; }
.xy-sec-head .xy-sec-note { font-size: 12.5px; color: var(--xy-muted); }
.xy-sec-head .xy-sec-note:hover { color: var(--xy-accent); }

/* ------------------------------------------------------------- 首屏论点 --- */

.xy-desk {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 46px;
    align-items: start;
    padding: 50px 0 6px;
}
.xy-desk > .xy-desk__intro,
.xy-desk > .xy-book { position: relative; z-index: 1; }
@media (max-width: 991px) {
    .xy-desk { grid-template-columns: 1fr; gap: 28px; padding: 28px 0 4px; }
}

.xy-desk__title {
    margin: 0 0 18px;
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.14;
    font-weight: 700;
    letter-spacing: -.035em;
}
.xy-desk__title em { font-style: normal; color: var(--xy-accent); }
.xy-desk__lead {
    max-width: 46ch;
    margin: 0 0 28px;
    font-size: 14.5px;
    line-height: 1.85;
    color: var(--xy-text-2);
}
.xy-desk__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.xy-desk__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid var(--xy-line);
}
.xy-desk__fact { padding-right: 22px; margin-right: 22px; border-right: 1px solid var(--xy-line); font-size: 12.5px; color: var(--xy-muted); }
.xy-desk__fact:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.xy-desk__fact b { font-weight: 620; color: var(--xy-text); font-variant-numeric: tabular-nums; }
@media (max-width: 560px) {
    .xy-desk__fact { padding-right: 14px; margin-right: 14px; font-size: 12px; }
}

/* 在售盘口表：首屏即证明机制 */
.xy-book { overflow: hidden; }
.xy-book__row {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 74px 96px;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--xy-line);
    transition: background .22s cubic-bezier(.22, 1, .36, 1), transform .22s cubic-bezier(.22, 1, .36, 1);
}
.xy-book__row:first-of-type { border-top: 0; }
.xy-book__row:hover { background: rgba(255, 255, 255, .035); transform: translateX(2px); }
.xy-book__mark { color: var(--xy-muted); }
.xy-book__name { min-width: 0; font-size: 13.5px; font-weight: 540; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xy-book__name small { display: block; font-size: 11.5px; font-weight: 400; color: var(--xy-muted); }
.xy-book__stock { font-size: 12.5px; color: var(--xy-text-2); text-align: right; font-variant-numeric: tabular-nums; }
.xy-book__price {
    font-size: 15px;
    font-weight: 640;
    color: var(--xy-accent);
    text-align: right;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.01em;
}
.xy-book__price i { margin-right: 2px; font-style: normal; font-size: 11.5px; opacity: .8; }
.xy-book__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--xy-line);
    font-size: 12px;
    color: var(--xy-muted);
}
.xy-book .xy-live { display: inline-flex; align-items: center; gap: 7px; color: var(--xy-text-2); }
.xy-book .xy-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--xy-ok); }
@media (max-width: 560px) {
    .xy-book__row { grid-template-columns: 16px minmax(0, 1fr) 78px; }
    .xy-book__stock { display: none; }
}

/* ------------------------------------------------------------ 服务条款条 --- */

.xy-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 40px 0 0;
    border-top: 1px solid var(--xy-line);
    border-bottom: 1px solid var(--xy-line);
}
.xy-strip__item { padding: 18px 20px; border-left: 1px solid var(--xy-line); }
.xy-strip__item:first-child { border-left: 0; padding-left: 0; }
.xy-strip__k { font-size: 11.5px; letter-spacing: .1em; color: var(--xy-muted); }
.xy-strip__v { margin-top: 6px; font-size: 14px; font-weight: 620; font-variant-numeric: tabular-nums; }
.xy-strip__v small { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: var(--xy-text-2); }
@media (max-width: 767px) {
    .xy-strip { grid-template-columns: 1fr 1fr; }
    .xy-strip__item { border-left: 0; padding: 14px 0; border-top: 1px solid var(--xy-line); }
    .xy-strip__item:nth-child(-n+2) { border-top: 0; }
    .xy-strip__item:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--xy-line); }
}

/* --------------------------------------------------------------- 分类 ---- */

.xy-tabs {
    display: flex;
    align-items: center;
    gap: 22px;
    overflow-x: auto;
    padding: 0 0 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--xy-line);
    -webkit-overflow-scrolling: touch;
}
.xy-tabs::-webkit-scrollbar { height: 0; }
.xy-tabs .category-btn {
    position: relative;
    flex: 0 0 auto;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--xy-muted) !important;
    background: none !important;
    box-shadow: none !important;
    white-space: nowrap;
    transition: color .2s cubic-bezier(.22, 1, .36, 1);
}
.xy-tabs .category-btn::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -13px;
    height: 1.5px;
    background: var(--xy-accent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}
.xy-tabs .category-btn:hover { color: var(--xy-text) !important; }
.xy-tabs .category-btn.active { color: var(--xy-text) !important; font-weight: 620 !important; }
.xy-tabs .category-btn.active::after { transform: scaleX(1); }

/* ------------------------------------------------------------ 商品列表 --- */

.xy-list { border-top: 1px solid var(--xy-line); }
.xy-list__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 84px 84px 104px 96px;
    gap: 14px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--xy-line);
    font-size: 11.5px;
    letter-spacing: .1em;
    color: var(--xy-muted);
}
.xy-list__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 84px 84px 104px 96px;
    gap: 14px;
    align-items: center;
    padding: 13px 16px;
    border-bottom: 1px solid var(--xy-line);
    transition: background .22s cubic-bezier(.22, 1, .36, 1);
}
.xy-list__row:hover { background: rgba(255, 255, 255, .032); }

.xy-list__main { display: flex; align-items: center; gap: 14px; min-width: 0; }
.xy-list__thumb {
    flex: 0 0 46px;
    width: 46px; height: 46px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r-sm);
    background: var(--xy-surface-2);
    overflow: hidden;
}
.xy-list__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xy-list__name {
    min-width: 0;
    font-size: 14px;
    font-weight: 560;
    letter-spacing: -.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.xy-list__meta { margin-top: 5px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 12px; color: var(--xy-muted); }
.xy-list__cell { font-size: 13px; color: var(--xy-text-2); text-align: right; font-variant-numeric: tabular-nums; }
.xy-list__cell b { display: block; font-size: 16px; font-weight: 650; color: var(--xy-accent); letter-spacing: -.015em; }
.xy-list__cell b i { font-style: normal; font-size: 11.5px; margin-right: 2px; opacity: .8; }
.xy-list__cta { text-align: right; }
.xy-list__cta .btn { height: 34px; padding: 0 16px; font-size: 12.5px; }

@media (max-width: 991px) {
    .xy-list__head { display: none; }
    .xy-list__row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; padding: 14px 2px; }
    .xy-list__cell.xy-stock-col { display: none; }
    .xy-list__cell.xy-sales-col { grid-column: 1; grid-row: 2; text-align: left; font-size: 12px; color: var(--xy-muted); }
    .xy-list__cell.xy-sales-col::after { content: " 件已售"; }
    .xy-list__cell.xy-price-col { grid-column: 2; grid-row: 1; align-self: center; }
    .xy-list__cta { grid-column: 2; grid-row: 2; }
    .xy-list__cta .btn { height: 32px; padding: 0 14px; }
}

/* 状态标签：唯一使用 pill 的例外 */
.xy-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-pill);
    font-size: 11.5px;
    line-height: 1.6;
    color: var(--xy-text-2);
    background: rgba(255, 255, 255, .03);
}
.xy-tag--auto { color: var(--xy-accent); border-color: var(--xy-accent-line); background: var(--xy-accent-soft); }
.xy-tag--ok { color: #7fbfa2; border-color: rgba(78, 154, 120, .34); background: rgba(78, 154, 120, .1); }
.xy-tag--warn { color: #d9a1a1; border-color: rgba(180, 84, 78, .34); background: rgba(180, 84, 78, .1); }

/* 兼容旧模板遗留的标签类名 */
.xy-legacy-tag, body.xy .goods-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 6px 6px 0;
    padding: 2px 9px;
    border: 1px solid var(--xy-line-2) !important;
    border-radius: var(--xy-r-pill) !important;
    font-size: 11.5px !important;
    font-weight: 460;
    line-height: 1.6;
    color: var(--xy-text-2) !important;
    background: rgba(255, 255, 255, .03) !important;
}
body.xy .goods-tag.text-success, body.xy .goods-tag.text-info {
    color: var(--xy-accent) !important;
    border-color: var(--xy-accent-line) !important;
    background: var(--xy-accent-soft) !important;
}
body.xy .goods-tag.text-danger, body.xy .goods-tag.text-warning {
    color: var(--xy-text-2) !important;
    border-color: var(--xy-line-2) !important;
    background: rgba(255, 255, 255, .03) !important;
}

body.xy .price-value {
    font-size: 16px !important;
    font-weight: 640 !important;
    color: var(--xy-accent) !important;
    letter-spacing: -.015em;
    font-variant-numeric: tabular-nums;
}
body.xy .price-value em { font-size: 11.5px !important; font-style: normal; margin-right: 2px !important; opacity: .8; }

/* ---------------------------------------------------------------- 按钮 ---- */

body.xy .btn {
    border-radius: var(--xy-r-sm);
    font-family: var(--xy-font);
    font-weight: 580;
    letter-spacing: .004em;
    transition: background .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1),
                border-color .2s cubic-bezier(.22, 1, .36, 1), transform .16s cubic-bezier(.22, 1, .36, 1),
                box-shadow .24s cubic-bezier(.22, 1, .36, 1);
}
body.xy .btn:active { transform: translateY(1px); }
body.xy .btn:focus, body.xy .btn:active:focus { outline: none; }
body.xy .btn:focus-visible { outline: 2px solid var(--xy-accent); outline-offset: 2px; }

body.xy .btn-primary {
    border: 1px solid rgba(255, 255, 255, .1);
    color: var(--xy-accent-ink);
    background: linear-gradient(180deg, var(--xy-accent-2), var(--xy-accent));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 10px 22px -14px rgba(224, 169, 60, .8);
}
body.xy .btn-primary:hover, body.xy .btn-primary:focus {
    color: var(--xy-accent-ink);
    background: linear-gradient(180deg, #f7cf7f, var(--xy-accent-2));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .36), 0 14px 28px -14px rgba(224, 169, 60, .9);
}
body.xy .btn-primary.disabled, body.xy .btn-primary[disabled] {
    color: var(--xy-muted);
    background: var(--xy-surface-2);
    border-color: var(--xy-line);
    box-shadow: none;
}

body.xy .btn-default { border: 1px solid var(--xy-line-2); color: var(--xy-text); background: rgba(255, 255, 255, .03); }
body.xy .btn-default:hover, body.xy .btn-default:focus { border-color: var(--xy-line-3); color: #fff; background: rgba(255, 255, 255, .07); }
body.xy .btn-success {
    border: 1px solid rgba(255, 255, 255, .1);
    color: #06140f;
    background: linear-gradient(180deg, #63b18f, var(--xy-ok));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24);
}
body.xy .btn-success:hover { color: #06140f; filter: brightness(1.05); }
body.xy .btn-danger { border: 0; color: #fff; background: var(--xy-bad); }
body.xy .btn-icon.btn-lg { height: 50px; font-size: 15px; }
body.xy .btn-link { color: var(--xy-text-2); text-decoration: underline; text-underline-offset: 3px; }
body.xy .btn-link:hover { color: var(--xy-accent); }

/* ---------------------------------------------------------------- 表单 ---- */

body.xy .form-control {
    height: 46px;
    padding: 10px 15px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    color: var(--xy-text);
    background: var(--xy-surface-2);
    box-shadow: none;
    font-size: 14px;
    transition: border-color .2s cubic-bezier(.22, 1, .36, 1), background .2s cubic-bezier(.22, 1, .36, 1), box-shadow .2s cubic-bezier(.22, 1, .36, 1);
}
body.xy .form-control::placeholder { color: rgba(163, 169, 180, .72); }
body.xy .form-control:focus { border-color: var(--xy-accent-line); background: #171b22; box-shadow: 0 0 0 3px var(--xy-accent-soft); }
body.xy textarea.form-control { height: auto; min-height: 108px; }
body.xy select.form-control { color: var(--xy-text); }
body.xy select.form-control option { background: var(--xy-surface); color: var(--xy-text); }
body.xy .form-horizontal .control-label, body.xy .form-group > label { color: var(--xy-text-2); font-weight: 480; }
body.xy .help-block { color: var(--xy-muted); }
body.xy .input-title { font-size: 12.5px; font-weight: 500; color: var(--xy-text-2); }
body.xy .checkbox label, body.xy .radio label { color: var(--xy-text-2); }

/* ---------------------------------------------------------------- 表格 ---- */

body.xy .table { color: var(--xy-text-2); background: transparent; margin-bottom: 0; }
body.xy .table > thead > tr > th {
    padding: 12px 15px;
    border-bottom: 1px solid var(--xy-line-2);
    background: rgba(255, 255, 255, .025);
    color: var(--xy-muted);
    font-size: 11.5px;
    font-weight: 560;
    letter-spacing: .1em;
    white-space: nowrap;
}
body.xy .table > tbody > tr > td { padding: 13px 15px; border-top: 1px solid var(--xy-line); vertical-align: middle; }
body.xy .table > tbody > tr:hover > td { background: rgba(255, 255, 255, .03); }
body.xy .table > tbody > tr > td a { color: var(--xy-text); text-decoration: underline; text-underline-offset: 3px; }
body.xy .table > tbody > tr > td a:hover { color: var(--xy-accent); }
body.xy .table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255, 255, 255, .014); }
body.xy .table-bordered, body.xy .table-bordered > tbody > tr > td, body.xy .table-bordered > thead > tr > th { border-color: var(--xy-line); }
body.xy .pagination > li > a, body.xy .pagination > li > span { border: 1px solid var(--xy-line); background: var(--xy-surface); color: var(--xy-text-2); }
body.xy .pagination > li > a:hover { border-color: var(--xy-line-3); color: #fff; }
body.xy .pagination > .active > a, body.xy .pagination > .active > span { border-color: var(--xy-accent-line); background: var(--xy-accent-soft); color: var(--xy-accent); }
body.xy .badge { background: rgba(255, 255, 255, .06); color: var(--xy-text-2); border: 1px solid var(--xy-line-2); }
body.xy .label-primary { background: var(--xy-accent); color: var(--xy-accent-ink); }
body.xy .label-success { background: var(--xy-ok); color: #06140f; }

/* ------------------------------------------------------------ 面包屑 ------ */

body.xy .breadcrumbs .breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 12.5px;
    color: var(--xy-muted);
}
body.xy .breadcrumb > li + li::before { content: "/"; color: var(--xy-muted); padding: 0 6px; }
body.xy .breadcrumb > li > a { color: var(--xy-muted); }
body.xy .breadcrumb > li > a:hover { color: var(--xy-text); }
body.xy .breadcrumb > .active { color: var(--xy-text-2); }

/* ============================================================================
   导航
   ========================================================================== */

body.xy .navbar.xy-nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1030;
    min-height: 70px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--xy-line);
    border-radius: 0;
    background: rgba(8, 9, 11, .78);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    transition: background .3s cubic-bezier(.22, 1, .36, 1), border-color .3s cubic-bezier(.22, 1, .36, 1);
}
body.xy .navbar.xy-nav.is-stuck { background: rgba(8, 9, 11, .94); border-bottom-color: var(--xy-line-2); }
body.xy .navbar.xy-nav .container { display: flex; align-items: center; position: relative; }

body.xy .xy-brand { display: flex; align-items: center; gap: 11px; height: 70px; padding: 0; float: none; color: var(--xy-text); }
body.xy .xy-brand__mark {
    flex: 0 0 34px;
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--xy-accent-line);
    border-radius: var(--xy-r-sm);
    background: var(--xy-accent-soft);
    color: var(--xy-accent);
}
body.xy .xy-brand__mark .xy-i { width: 18px; height: 18px; }
body.xy .xy-brand__text { display: flex; flex-direction: column; line-height: 1.14; }
body.xy .xy-brand__name { font-size: 16.5px; font-weight: 680; letter-spacing: -.01em; }
body.xy .xy-brand__sub { font-size: 9.5px; letter-spacing: .3em; color: var(--xy-muted); text-transform: uppercase; }

body.xy .navbar.xy-nav .navbar-collapse { float: none !important; margin: 0; padding: 0; border: 0; }
body.xy .navbar.xy-nav .nav.navbar-nav { display: flex; align-items: center; float: none; margin-left: auto; }
@media (min-width: 992px) {
    /* Bootstrap 3 用 .navbar-collapse.collapse{display:block!important} 定死了块级布局，
       这里必须同样用 !important 才能把它改成 flex，否则搜索框会被顶成独占一行。 */
    body.xy .navbar.xy-nav .navbar-collapse {
        display: flex !important;
        flex: 1 1 auto;
        min-width: 0;
        height: auto !important;
        justify-content: flex-end;
        align-items: center;
    }
    body.xy .navbar.xy-nav .nav.navbar-nav {
        float: none !important;
        margin-left: 0;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}
body.xy .navbar.xy-nav .nav > li { float: none; }
body.xy .navbar.xy-nav .nav > li > a {
    position: relative;
    display: block;
    height: 70px;
    line-height: 70px;
    padding: 0 15px;
    font-size: 13.5px;
    font-weight: 480;
    color: var(--xy-text-2);
    background: none !important;
}
body.xy .navbar.xy-nav .nav > li > a::after {
    content: "";
    position: absolute;
    left: 15px; right: 15px; bottom: 18px;
    height: 1.5px;
    background: var(--xy-accent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}
body.xy .navbar.xy-nav .nav > li > a:hover,
body.xy .navbar.xy-nav .nav > li.open > a { color: var(--xy-text); }
body.xy .navbar.xy-nav .nav > li > a:hover::after,
body.xy .navbar.xy-nav .nav > li.open > a::after { transform: scaleX(1); }
/* 当前页在导航里可辨认 */
body.xy .navbar.xy-nav .nav > li.active > a { color: var(--xy-text); font-weight: 600; }
body.xy .navbar.xy-nav .nav > li.active > a::after { transform: scaleX(1); }

body.xy .navbar.xy-nav .avatar-img {
    display: inline-block;
    width: 28px; height: 28px;
    margin-right: 7px;
    border-radius: var(--xy-r-sm);
    overflow: hidden;
    vertical-align: middle;
    border: 1px solid var(--xy-line-2);
    background: var(--xy-surface-2) !important;
}
body.xy .navbar.xy-nav .avatar-img img { width: 100%; height: 100%; object-fit: cover; }
body.xy .navbar.xy-nav .caret { border-top-color: var(--xy-muted); }

body.xy .navbar.xy-nav .dropdown-menu {
    min-width: 196px;
    margin-top: 10px;
    padding: 7px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r);
    background: #0d1014;
    box-shadow: var(--xy-sh-2);
}
body.xy .navbar.xy-nav .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--xy-text-2);
}
body.xy .navbar.xy-nav .dropdown-menu > li > a:hover { background: rgba(255, 255, 255, .05); color: #fff; }
body.xy .navbar.xy-nav .dropdown-menu > li > a .xy-i { color: var(--xy-muted); }
body.xy .navbar.xy-nav .dropdown-menu > li > a:hover .xy-i { color: var(--xy-accent); }
body.xy .navbar.xy-nav .dropdown-menu .divider { background: var(--xy-line); margin: 6px 4px; }

body.xy .navbar.xy-nav .navbar-toggle { border: 1px solid var(--xy-line-2); border-radius: 8px; margin-top: 17px; }
body.xy .navbar.xy-nav .navbar-toggle .icon-bar { background-color: var(--xy-text-2); }
body.xy .navbar.xy-nav .navbar-toggle:hover, body.xy .navbar.xy-nav .navbar-toggle:focus { background: rgba(255, 255, 255, .05); }

@media (max-width: 991px) {
    body.xy .navbar.xy-nav .navbar-collapse { background: #0b0e12; border: 1px solid var(--xy-line); border-radius: var(--xy-r); margin-top: 10px; padding: 6px; }
    body.xy .navbar.xy-nav .nav.navbar-nav { display: block; }
    body.xy .navbar.xy-nav .nav > li > a { height: auto; line-height: 1.6; padding: 11px 12px; border-radius: 8px; }
    body.xy .navbar.xy-nav .nav > li > a:hover { background: rgba(255, 255, 255, .05) !important; }
    body.xy .navbar.xy-nav .nav > li > a::after { display: none; }
}

/* 滚动公告：全页仅此一条 */
.xy-ticker {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 40px;
    overflow: hidden;
    border-bottom: 1px solid var(--xy-line);
    background: rgba(255, 255, 255, .018);
}
.xy-ticker__label {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding-left: 2px;
    font-size: 11.5px;
    letter-spacing: .12em;
    color: var(--xy-accent);
}
.xy-ticker__viewport { flex: 1 1 auto; overflow: hidden; white-space: nowrap; }
.xy-ticker__rail { display: inline-flex; gap: 64px; padding-left: 100%; animation: xy-marquee 34s linear infinite; }
.xy-ticker__rail > span { font-size: 12.5px; color: var(--xy-text-2); }
.xy-ticker:hover .xy-ticker__rail { animation-play-state: paused; }
@keyframes xy-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .xy-ticker__rail { animation: none; padding-left: 0; } }

/* ============================================================================
   商品详情
   ========================================================================== */

body.xy .prod-details-gwrap {
    padding: 22px;
    border: 1px solid var(--xy-line) !important;
    border-radius: var(--xy-r) !important;
    background: var(--xy-surface);
    box-shadow: var(--xy-sh-1);
}
body.xy .goods-page-cover img,
body.xy #goods-cover {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: 14px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background: var(--xy-surface-2);
}
body.xy .prod-details__prod-name h1 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: 23px !important;
    line-height: 1.45 !important;
    font-weight: 680 !important;
    letter-spacing: -.025em;
    color: var(--xy-text);
}
body.xy .variations { margin-top: 6px; }
body.xy .variations__title { font-size: 12.5px; font-weight: 500; color: var(--xy-text-2); }
body.xy .variations__title > span { display: inline-flex; align-items: center; gap: 12px; }

body.xy .count {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--xy-line-2) !important;
    border-radius: var(--xy-r-sm) !important;
    background: var(--xy-surface-2);
    overflow: hidden;
}
body.xy .count__ctrl {
    width: 40px; height: 40px;
    padding: 0 !important;
    border: 0;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--xy-text-2);
    font-size: 16px;
    line-height: 1;
}
body.xy .count__ctrl:hover { background: rgba(255, 255, 255, .06) !important; color: #fff; }
body.xy .count__num {
    width: 62px !important;
    height: 40px;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid var(--xy-line) !important;
    border-right: 1px solid var(--xy-line) !important;
    background: transparent !important;
    color: var(--xy-text) !important;
    font-size: 14.5px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

body.xy .select-specs, body.xy .pay-type {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 9px 9px 0 !important;
    padding: 9px 16px !important;
    border: 1px solid var(--xy-line-2) !important;
    border-radius: var(--xy-r-sm) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--xy-text-2) !important;
    background: var(--xy-surface-2) !important;
    box-shadow: none !important;
    transition: border-color .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1), background .2s cubic-bezier(.22, 1, .36, 1) !important;
}
body.xy .select-specs:hover, body.xy .pay-type:hover { color: var(--xy-text) !important; border-color: var(--xy-line-3) !important; }
body.xy .select-specs.active, body.xy .pay-type.active { color: var(--xy-accent) !important; border-color: var(--xy-accent-line) !important; background: var(--xy-accent-soft) !important; }
body.xy .select-specs.disabled, body.xy .pay-type.disabled {
    color: #565c67 !important;
    border-color: var(--xy-line) !important;
    background: rgba(255, 255, 255, .02) !important;
    text-decoration: line-through;
}
body.xy .select-specs svg, body.xy .pay-type svg { vertical-align: middle; }
body.xy .xy-sku-price { font-style: normal; margin-left: 2px; color: var(--xy-accent); font-variant-numeric: tabular-nums; }

body.xy .prod-details__offering {
    padding: 22px;
    border: 1px solid var(--xy-line) !important;
    border-radius: var(--xy-r) !important;
    background: var(--xy-surface);
    box-shadow: var(--xy-sh-2);
}
body.xy .prod-offering__benefits { margin-bottom: 12px; font-size: 13px; }
body.xy .prod-offering__benefits .precheck-benefits {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid var(--xy-accent-line);
    border-radius: var(--xy-r-sm);
    background: var(--xy-accent-soft);
}
body.xy .prod-offering__benefits .precheck-benefits .text { color: var(--xy-text-2); font-size: 12.5px; }
body.xy .prod-offering__benefits .precheck-benefits b { color: var(--xy-accent); }
body.xy .prod-offering__benefits .icon svg { width: 22px; height: 22px; }

body.xy .prod-offering__prices { display: flex; align-items: baseline; gap: 12px; margin: 6px 0 16px; }
body.xy .prod-offering__prices .sale-price {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.035em;
    color: var(--xy-accent);
    font-variant-numeric: tabular-nums;
}
body.xy .prod-offering__prices .reg-price { font-size: 14px; color: var(--xy-muted); text-decoration: line-through; }
body.xy .prod-offering__rating { display: none; }

body.xy .subscribe-tos span { font-size: 12.5px !important; color: var(--xy-text-2) !important; }
body.xy .subscribe-tos span a { color: var(--xy-text); text-decoration: underline; text-underline-offset: 3px; }
body.xy .form-hint { display: block; margin-top: 8px; font-size: 12px; line-height: 1.7; color: var(--xy-muted); }

body.xy .prod-offering__cart-btn { margin: 18px 0; }
body.xy .prod-offering__cart-btn .btn-icon { display: flex; align-items: center; justify-content: center; gap: 9px; }
body.xy .prod-offering__cart-btn .btn-icon .icon { display: inline-flex; }

body.xy .prod-offering__delivinfo { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--xy-line); }
body.xy .delivinfo__header { margin-bottom: 10px; font-size: 11px; font-weight: 560; letter-spacing: .14em; text-transform: uppercase; color: var(--xy-muted); }
body.xy .delivinfo__item { display: flex; align-items: center; gap: 11px; padding: 8px 0; font-size: 13px; color: var(--xy-text-2); }
body.xy .delivinfo__item .icon { flex: 0 0 26px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--xy-line); border-radius: 8px; }
body.xy .delivinfo__item .icon svg { width: 14px; height: 14px; stroke: var(--xy-muted); }
body.xy .delivinfo__item .text { display: flex; align-items: baseline; gap: 8px; width: 100%; }
body.xy .delivinfo__item .text b { min-width: 66px; font-weight: 460; color: var(--xy-muted); }
body.xy .delivinfo__item .text > span { color: var(--xy-text); font-weight: 580; font-variant-numeric: tabular-nums; }

body.xy .prod-offering__merchant { margin-top: 14px; }
body.xy .prod-offering__merchant .precheck-bonuses {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r-sm);
    background: rgba(255, 255, 255, .025);
    font-size: 12.5px;
    color: var(--xy-text-2);
}
body.xy .prod-offering__merchant .precheck-bonuses .icon svg { width: 22px; height: 22px; }

/* 批发优惠：两列对齐，不使用点线引导（legacy .dots 用固定高度虚线，直接隐藏） */
body.xy .specifications { margin-top: 2px; }
body.xy .specifications__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 7px 0;
    font-size: 13px;
    color: var(--xy-text-2);
}
body.xy .specifications__item .dots { display: none !important; }
body.xy .specifications__item .prop { min-width: 0; }
body.xy .specifications__item .val { color: var(--xy-accent); font-weight: 580; }

body.xy .goods-detail { padding: 0 !important; color: var(--xy-text-2); line-height: 1.9; }
body.xy .goods-detail img { max-width: 100%; border-radius: var(--xy-r-sm); }
body.xy .top-sticky-block { position: sticky; top: 88px; }

body.xy #alert-html {
    width: min(720px, 92vw) !important;
    left: 50% !important;
    transform: translateX(-50%);
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r) !important;
    background: #0d1014 !important;
    box-shadow: var(--xy-sh-2);
    overflow: hidden;
}
body.xy #alert-html .content { color: var(--xy-text-2); }
body.xy .modal_close {
    background: rgba(255, 255, 255, .05) !important;
    color: var(--xy-text) !important;
    border-top: 1px solid var(--xy-line);
    font-weight: 560;
    letter-spacing: .04em;
}

/* ============================================================================
   登录 / 注册
   ========================================================================== */

.xy-auth {
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    min-height: min(660px, 78vh);
    margin: 40px 0 56px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    overflow: hidden;
    background: var(--xy-surface);
    box-shadow: var(--xy-sh-2);
}
.xy-auth__aside { position: relative; padding: 48px 44px; border-right: 1px solid var(--xy-line); background: var(--xy-surface-2); }
.xy-auth__brand { display: flex; align-items: center; gap: 11px; margin-bottom: 46px; }
.xy-auth__title { margin: 0 0 16px; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.26; font-weight: 700; letter-spacing: -.03em; }
.xy-auth__desc { max-width: 42ch; margin: 0 0 30px; font-size: 14px; line-height: 1.9; color: var(--xy-text-2); }
.xy-auth__points { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.xy-auth__point { display: flex; align-items: flex-start; gap: 11px; font-size: 13.5px; color: var(--xy-text-2); }
.xy-auth__point .xy-i { margin-top: 3px; color: var(--xy-accent); }
.xy-auth__panel { display: flex; align-items: center; justify-content: center; padding: 48px 44px; }
.xy-auth__form { width: 100%; max-width: 392px; }
.xy-auth__form-head { margin-bottom: 26px; }
.xy-auth__form-head h2 { margin: 0 0 7px; font-size: 22px; font-weight: 680; letter-spacing: -.02em; }
.xy-auth__form-head p { margin: 0; font-size: 13px; color: var(--xy-muted); }
.xy-auth__form-head p a { color: var(--xy-text); text-decoration: underline; text-underline-offset: 3px; }
.xy-auth__form-head p a:hover { color: var(--xy-accent); }
.xy-auth__field { margin-bottom: 16px; }
.xy-auth__field > label { display: block; margin-bottom: 7px; font-size: 12.5px; font-weight: 500; color: var(--xy-text-2); }
.xy-auth__field .form-control { height: 48px; }
.xy-auth__row { display: flex; align-items: center; justify-content: space-between; margin: -2px 0 20px; font-size: 12.5px; color: var(--xy-muted); }
.xy-auth__row a { color: var(--xy-text-2); text-decoration: underline; text-underline-offset: 3px; }
.xy-auth__row a:hover { color: var(--xy-accent); }
.xy-auth__submit { width: 100%; height: 50px; font-size: 15px; }
.xy-auth__foot { margin-top: 20px; font-size: 11.5px; line-height: 1.8; color: var(--xy-muted); text-align: center; }
.xy-auth__captcha { display: flex; gap: 10px; align-items: stretch; }
.xy-auth__captcha .form-control { flex: 1; }
.xy-auth__captcha img { height: 48px; border: 1px solid var(--xy-line-2); border-radius: var(--xy-r-sm); cursor: pointer; }

@media (max-width: 991px) {
    .xy-auth { grid-template-columns: 1fr; min-height: 0; }
    .xy-auth__aside { display: none; }
    .xy-auth__panel { padding: 34px 20px; }
}

/* ============================================================================
   会员中心
   ========================================================================== */

body.xy .user-main { width: calc(100% - 268px); float: right; }
body.xy .sidenav {
    width: 246px;
    float: left;
    padding: 10px;
    background: var(--xy-surface) !important;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
}

@media (max-width: 991px) {
    body.xy .user-main, body.xy .sidenav { width: 100%; float: none; }
    body.xy .sidenav {
        position: fixed;
        top: 70px;
        left: -266px;
        z-index: 1035;
        width: 246px;
        height: calc(100vh - 70px);
        margin: 0;
        padding: 16px 12px;
        overflow-y: auto;
        background: #0b0e12;
        border-right: 1px solid var(--xy-line);
        transition: left .3s cubic-bezier(.22, 1, .36, 1);
    }
    body.xy .sidenav.show { left: 0; }
}

body.xy .sidenav .list-group { margin-bottom: 12px; border: 0; box-shadow: none; }
body.xy .sidenav .list-group-heading {
    padding: 10px 12px 7px;
    border: 0;
    background: transparent;
    font-size: 11px;
    font-weight: 560;
    letter-spacing: .14em;
    color: var(--xy-muted);
    text-transform: uppercase;
}
body.xy .sidenav .list-group-item { margin-bottom: 2px; padding: 0; border: 0; border-radius: 8px; background: transparent; }
body.xy .sidenav .list-group-item > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-size: 13.5px;
    color: var(--xy-text-2);
    border-radius: 8px;
    transition: background .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1);
}
body.xy .sidenav .list-group-item > a .xy-i { color: var(--xy-muted); }
body.xy .sidenav .list-group-item:hover > a { background: rgba(255, 255, 255, .05); color: var(--xy-text); }
body.xy .sidenav .list-group-item.active > a { background: var(--xy-accent-soft); color: var(--xy-accent); font-weight: 580; }
body.xy .sidenav .list-group-item.active > a .xy-i { color: var(--xy-accent); }

body.xy .sidebar-toggle {
    position: fixed;
    right: 16px;
    bottom: 20px;
    z-index: 1040;
    width: 46px; height: 46px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--xy-accent-line);
    border-radius: var(--xy-r-sm);
    color: var(--xy-accent);
    background: #0f1319;
    box-shadow: var(--xy-sh-2);
}
@media (max-width: 991px) { body.xy .sidebar-toggle { display: flex; } }

body.xy .user-baseinfo { padding: 22px; border: 1px solid var(--xy-line); border-radius: var(--xy-r); background: var(--xy-surface-2); }
body.xy .user-center .avatar-img {
    display: block;
    width: 96px; height: 96px;
    margin: 0 auto;
    border-radius: var(--xy-r-sm);
    overflow: hidden;
    border: 1px solid var(--xy-line-2);
}
body.xy .user-center .avatar-img img { width: 100%; height: 100%; object-fit: cover; }
body.xy .user-baseinfo .ui-content h4 { margin: 0 0 6px; font-size: 18px; font-weight: 660; }
body.xy .basicinfo { margin-top: 18px; }
body.xy .basicinfo .row > div { padding-top: 9px; padding-bottom: 9px; border-bottom: 1px solid var(--xy-line); font-size: 13.5px; color: var(--xy-muted); }
body.xy .basicinfo .row:last-child > div { border-bottom: 0; }
body.xy .basicinfo a.viewmoney { font-size: 19px; font-weight: 660; color: var(--xy-accent); font-variant-numeric: tabular-nums; }
body.xy .basicinfo a.viewscore { color: var(--xy-text); font-weight: 580; }

body.xy h2.page-header {
    margin: 0 0 20px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--xy-line);
    font-size: 19px;
    font-weight: 660;
}
body.xy #content-container { padding-top: 8px; }

/* ============================================================================
   资讯
   ========================================================================== */

.xy-news { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 34px; }
@media (max-width: 991px) { .xy-news { grid-template-columns: 1fr; gap: 24px; } }
.xy-news__lead { display: block; }
.xy-news__lead-img {
    display: block;
    position: relative;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    overflow: hidden;
    background: var(--xy-surface-2);
}
.xy-news__lead-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.xy-news__lead:hover .xy-news__lead-img img { transform: scale(1.03); }
.xy-news__lead h3 { margin: 16px 0 8px; font-size: 18px; font-weight: 640; letter-spacing: -.02em; }
.xy-news__lead p { margin: 0; font-size: 13.5px; line-height: 1.8; color: var(--xy-muted); }
.xy-news__list { display: flex; flex-direction: column; }
.xy-news__item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--xy-line);
}
.xy-news__item:first-child { padding-top: 0; }
.xy-news__item:last-child { border-bottom: 0; }
.xy-news__thumb { display: block; width: 74px; height: 54px; border: 1px solid var(--xy-line); border-radius: 8px; overflow: hidden; background: var(--xy-surface-2); }
.xy-news__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xy-news__item h4 {
    margin: 0;
    font-size: 13.5px;
    font-weight: 540;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.xy-news__item:hover h4 { color: #fff; }

/* 兼容旧博客列表类名（限定在资讯区块内，避免与商品页的 .product 容器撞名） */
body.xy .xy-bloggrid .product-grid-item, body.xy .xy-bloggrid .grid-item { height: 100%; }
body.xy .xy-bloggrid .product { height: 100%; border: 1px solid var(--xy-line); border-radius: var(--xy-r); overflow: hidden; background: var(--xy-surface); transition: border-color .24s cubic-bezier(.22, 1, .36, 1); }
body.xy .xy-bloggrid .product:hover { border-color: var(--xy-line-3); }
body.xy .xy-bloggrid .product__image { aspect-ratio: 16 / 10; overflow: hidden; background: var(--xy-surface-2); }
body.xy .xy-bloggrid .product__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.xy .xy-bloggrid .product__description { padding: 15px 16px 18px; }
body.xy .xy-bloggrid .product_name { height: auto !important; }
body.xy .xy-bloggrid .product_name a { display: block; margin-bottom: 7px; font-size: 14.5px; font-weight: 580; line-height: 1.55; }
body.xy .xy-bloggrid .product:hover .product_name a { color: var(--xy-accent); }
body.xy .xy-bloggrid .article__caption { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; line-height: 1.7; color: var(--xy-muted); }

body.xy .xy-article { padding: 32px 36px; border: 1px solid var(--xy-line); border-radius: var(--xy-r); background: var(--xy-surface); box-shadow: var(--xy-sh-1); }
body.xy .xy-article h1 { margin: 0 0 12px; font-size: 26px; line-height: 1.42; font-weight: 680; letter-spacing: -.025em; }
body.xy .xy-article__meta { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--xy-line); font-size: 12.5px; color: var(--xy-muted); }
body.xy .xy-article__body { max-width: 72ch; font-size: 15px; line-height: 2; color: var(--xy-text-2); }
body.xy .xy-article__body img { max-width: 100%; border-radius: var(--xy-r-sm); margin: 14px 0; }
body.xy .xy-article__body p { margin: 0 0 16px; }
body.xy .xy-article__body a { color: var(--xy-accent); text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================================
   页脚
   ========================================================================== */

body.xy .main-footer-section { position: relative; margin-top: 64px; border-top: 1px solid var(--xy-line); background: #06070a; }
body.xy .main-footer-section__midline { padding: 44px 0 22px; }
body.xy .xy-footer { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 34px; }
@media (max-width: 767px) { body.xy .xy-footer { grid-template-columns: 1fr; gap: 26px; } }
body.xy .xy-footer__desc { max-width: 38ch; margin: 15px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--xy-muted); }
body.xy .xy-footer__title { margin: 0 0 14px; font-size: 11.5px; font-weight: 560; letter-spacing: .14em; text-transform: uppercase; color: var(--xy-muted); }
body.xy .xy-footer__list { margin: 0; padding: 0; list-style: none; }
body.xy .xy-footer__list li { margin-bottom: 9px; }
body.xy .xy-footer__list a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--xy-text-2); }
body.xy .xy-footer__list a:hover { color: var(--xy-accent); }
body.xy .xy-footer__list .xy-i { color: var(--xy-muted); }
body.xy .xy-footer__list a:hover .xy-i { color: var(--xy-accent); }
body.xy .xy-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 32px;
    padding-top: 18px;
    border-top: 1px solid var(--xy-line);
    font-size: 12.5px;
    color: var(--xy-muted);
}
body.xy .xy-footer__bottom a { color: var(--xy-text-2); }
body.xy .xy-footer__bottom a:hover { color: var(--xy-accent); }
body.xy .xy-footer__links { display: inline-flex; gap: 18px; }

body.xy .xy-paylist { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
body.xy .xy-paylist span {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r-pill);
    font-size: 11px;
    color: var(--xy-muted);
}

/* --------------------------------------------------------------- 公告 ------ */

body.xy .xy-notice, body.xy .hot-goods { font-size: 13px; line-height: 1.9; color: var(--xy-text-2); }
body.xy .xy-notice p, body.xy .hot-goods p { margin: 0 0 10px; }
body.xy .xy-notice span[style*="color"], body.xy .hot-goods span[style*="color"] { color: inherit !important; }
body.xy .xy-notice strong, body.xy .hot-goods strong { color: var(--xy-text); }
body.xy .xy-notice a, body.xy .hot-goods a { color: var(--xy-accent); text-decoration: underline; text-underline-offset: 3px; }
body.xy .xy-notice-card .xy-panel__body { max-height: 420px; overflow-y: auto; }

/* --------------------------------------------------------------- 杂项 ------ */

body.xy .xy-fab { position: fixed; right: 20px; bottom: 20px; z-index: 1030; display: flex; flex-direction: column; gap: 8px; }
body.xy .xy-fab a {
    width: 42px; height: 42px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    color: var(--xy-text-2);
    background: #0d1014;
    box-shadow: var(--xy-sh-1);
}
body.xy .xy-fab a:hover { color: var(--xy-accent); border-color: var(--xy-accent-line); }
@media (max-width: 991px) { body.xy .xy-fab { display: none; } }

body.xy .mobile-hidden { display: block; }
body.xy .pc-hidden { display: none; }
@media (max-width: 1199.98px) {
    body.xy .mobile-hidden { display: none; }
    body.xy .pc-hidden { display: block; }
}

/* 进入视口：全页唯一的编排动效 */
.xy-reveal { opacity: 0; transform: translateY(14px); }
.xy-reveal.is-in {
    opacity: 1;
    transform: none;
    transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
}

body.xy .xy-empty { padding: 56px 20px; text-align: center; color: var(--xy-muted); font-size: 13.5px; }
body.xy .xy-empty .xy-i { display: block; margin: 0 auto 12px; color: var(--xy-muted); }

@media (prefers-reduced-motion: reduce) {
    .xy-reveal { opacity: 1; transform: none; }
    body.xy * { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

@media print {
    body.xy::after, .xy-ticker, .xy-fab { display: none !important; }
    body.xy { background: #fff; color: #000; }
}

/* ============================================================================
   品牌件：徽标 / 字标 / 平台条 / 客服号
   ========================================================================== */

/* 徽标：直接用品牌主视觉抠出的金 X，自带光晕，不再加描边盒子 */
body.xy .xy-brand__mark--img {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 0;
    background: none;
    overflow: visible;
    color: inherit;
}
body.xy .xy-brand__mark--img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    mix-blend-mode: screen;
}
body.xy .xy-brand__sub--latin { letter-spacing: .22em; }

body.xy .xy-wordmark {
    display: block;
    width: 168px;
    max-width: 100%;
    height: auto;
    mix-blend-mode: screen;
}
body.xy .xy-wordmark--sm { width: 124px; }
body.xy .xy-desk__intro > .xy-wordmark { width: 196px; margin-bottom: 18px; }

/* @xingyi777777 客服号 */
.xy-handle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 40px;
    padding: 0 16px 0 10px;
    border: 1px solid var(--xy-accent-line);
    border-radius: var(--xy-r-sm);
    background: var(--xy-accent-soft);
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: .01em;
    color: var(--xy-accent-2);
    font-variant-numeric: tabular-nums;
    transition: background .2s cubic-bezier(.22, 1, .36, 1), border-color .2s cubic-bezier(.22, 1, .36, 1);
}
.xy-handle:hover { color: var(--xy-accent-2); background: rgba(220, 180, 99, .2); border-color: var(--xy-accent); }
.xy-handle img { width: 22px; height: 22px; display: block; }
.xy-handle--ghost {
    border-color: var(--xy-line-2);
    background: rgba(255, 255, 255, .04);
    color: var(--xy-text-2);
    font-weight: 500;
}
.xy-handle--ghost:hover { color: var(--xy-text); background: rgba(255, 255, 255, .08); border-color: var(--xy-line-3); }

/* 在售平台条：来自品牌主视觉的六个平台 */
.xy-plat {
    margin: 40px 0 0;
    padding: 22px 0;
    border-top: 1px solid var(--xy-line);
    border-bottom: 1px solid var(--xy-line);
}
.xy-plat__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.xy-plat__head h2 { margin: 0; font-size: 14px; font-weight: 620; letter-spacing: .01em; }
.xy-plat__head span { font-size: 12.5px; color: var(--xy-muted); }
.xy-plat__head b { color: var(--xy-text); font-weight: 620; font-variant-numeric: tabular-nums; }
.xy-plat__list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.xy-plat__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    padding: 14px 6px 12px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012));
    text-align: center;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1), border-color .24s cubic-bezier(.22, 1, .36, 1);
}
.xy-plat__item:hover { transform: translateY(-3px); border-color: var(--xy-accent-line); }
.xy-plat__item img { width: 44px; height: 44px; display: block; }
.xy-plat__name { font-size: 12.5px; font-weight: 600; color: var(--xy-text); letter-spacing: .04em; }
.xy-plat__sub { font-size: 11px; color: var(--xy-muted); }
@media (max-width: 991px) { .xy-plat__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) {
    .xy-plat__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xy-plat__item { padding: 12px 4px 10px; }
    .xy-plat__item img { width: 38px; height: 38px; }
}

/* 页脚品牌区 */
body.xy .xy-footer__brandmark { display: flex; align-items: center; gap: 12px; }
body.xy .xy-footer__handle { margin-top: 14px; }

/* 首屏品牌视觉层：品牌主视觉，右侧淡入，不抢文字 */
.xy-hero__bg {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    pointer-events: none;
}
.xy-hero__bg img {
    position: absolute;
    top: 50%;
    right: -6%;
    width: 74%;
    max-width: 900px;
    transform: translateY(-50%);
    opacity: .46;
    mix-blend-mode: screen;
    -webkit-mask-image:
        radial-gradient(58% 62% at 64% 46%, #000 0%, rgba(0, 0, 0, .6) 56%, transparent 82%),
        linear-gradient(180deg, transparent 0%, #000 16%, #000 84%, transparent 100%);
    mask-image:
        radial-gradient(58% 62% at 64% 46%, #000 0%, rgba(0, 0, 0, .6) 56%, transparent 82%),
        linear-gradient(180deg, transparent 0%, #000 16%, #000 84%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
}
@media (max-width: 991px) { .xy-hero__bg img { width: 108%; right: -18%; opacity: .2; } }

.xy-hero__title { position: relative; }
.xy-hero__lead { position: relative; }
.xy-hero__actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* 品牌承诺行：SAFE / FAST / STABLE */
.xy-claims {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--xy-muted);
}
.xy-claims li { display: inline-flex; align-items: center; gap: 6px; }
.xy-claims li + li::before { content: "/"; margin: 0 10px; color: var(--xy-line-3); }
.xy-claims strong { color: var(--xy-accent-2); font-weight: 600; }

/* ============================================================================
   遗留主题覆盖层
   ----------------------------------------------------------------------------
   随包购买的 Bootstrap 主题 main.min.css 用 4 至 5 层后代选择器把面板、商品卡、
   提示条刷成浅色底。第三方主题文件不在本次改动范围内，所以这一层显式声明
   !important 覆盖背景、描边与文字色；不覆盖任何尺寸、间距或布局属性。
   ========================================================================== */

body.xy .prod-details-gwrap { background: var(--xy-surface) !important; }
body.xy .prod-details__offering { background: var(--xy-surface) !important; }
body.xy .prod-details__prod-name h1 { color: var(--xy-text) !important; }

body.xy .precheck-benefits { background: var(--xy-accent-soft) !important; border-color: var(--xy-accent-line) !important; }
body.xy .precheck-benefits .text { color: var(--xy-text-2) !important; }
body.xy .precheck-bonuses {
    background: rgba(255, 255, 255, .025) !important;
    border: 1px solid var(--xy-line) !important;
    border-radius: var(--xy-r-sm) !important;
}
body.xy .precheck-bonuses .text { color: var(--xy-text-2) !important; }

body.xy .panel,
body.xy .panel-default { background: var(--xy-surface) !important; border-color: var(--xy-line) !important; border-radius: var(--xy-r) !important; }
body.xy .panel > .panel-heading {
    background: rgba(255, 255, 255, .025) !important;
    border-bottom: 1px solid var(--xy-line) !important;
    border-radius: var(--xy-r) var(--xy-r) 0 0 !important;
    color: var(--xy-text) !important;
}
body.xy .panel > .panel-heading h1, body.xy .panel > .panel-heading h2,
body.xy .panel > .panel-heading h3, body.xy .panel > .panel-heading h4,
body.xy .panel > .panel-heading h5 { color: var(--xy-text) !important; }
body.xy .panel > .panel-body { background: transparent !important; color: var(--xy-text-2) !important; }
body.xy .panel > .panel-footer { background: rgba(255, 255, 255, .02) !important; border-top: 1px solid var(--xy-line) !important; color: var(--xy-text-2) !important; }
body.xy .panel-group .panel + .panel { margin-top: 12px; }

body.xy .shadow { background: var(--xy-surface) !important; border-color: var(--xy-line) !important; }

body.xy .table > thead > tr > th { background: rgba(255, 255, 255, .025) !important; border-bottom-color: var(--xy-line-2) !important; color: var(--xy-muted) !important; }
body.xy .table > tbody > tr > td { border-top-color: var(--xy-line) !important; }
body.xy .table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255, 255, 255, .014) !important; }
body.xy .table-hover > tbody > tr:hover { background: rgba(255, 255, 255, .03) !important; }

body.xy .goods-detail { color: var(--xy-text-2) !important; }
body.xy .specifications__item .val, body.xy .specifications__item .val span { color: var(--xy-accent) !important; }
body.xy .delivinfo__item .text > span, body.xy .delivinfo__item .text b { color: inherit; }
body.xy .delivinfo__item .text > span { color: var(--xy-text) !important; }
body.xy .delivinfo__item .text b { color: var(--xy-muted) !important; }
body.xy div.delivinfo__header { color: var(--xy-muted) !important; }

body.xy .breadcrumbs .breadcrumb,
body.xy .breadcrumb { background: transparent !important; border: 0 !important; }
body.xy .breadcrumbs .breadcrumb li,
body.xy .breadcrumbs .breadcrumb li > a,
body.xy .breadcrumbs .breadcrumb > li > a { color: var(--xy-muted) !important; }
body.xy .breadcrumbs .breadcrumb > .active { color: var(--xy-text-2) !important; }
body.xy .breadcrumbs .breadcrumb > li > a:hover { color: var(--xy-text) !important; }

/* 支付方式与规格：Bootstrap 的 .btn.active 会刷成浅灰，这里压回深色 */
body.xy #pay-type .pay-type,
body.xy .pay-type.btn,
body.xy .select-specs.btn {
    background: var(--xy-surface-2) !important;
    border-color: var(--xy-line-2) !important;
    color: var(--xy-text-2) !important;
    box-shadow: none !important;
}
body.xy #pay-type .pay-type.active,
body.xy .pay-type.btn.active,
body.xy .select-specs.btn.active {
    color: var(--xy-accent) !important;
    border-color: var(--xy-accent-line) !important;
    background: var(--xy-accent-soft) !important;
}
body.xy #pay-type .pay-type.disabled,
body.xy .select-specs.btn.disabled { color: #5a6178 !important; background: rgba(255, 255, 255, .02) !important; border-color: var(--xy-line) !important; }

/* 批发优惠：legacy 把 .prop 刷成深灰，需显式提亮 */
body.xy .specifications__item .prop,
body.xy .specifications__item .prop span,
body.xy .specifications__item .prop font,
body.xy .specifications__item .val,
body.xy .specifications__item .val span,
body.xy .specifications__item .val font { color: var(--xy-text-2) !important; }
body.xy .specifications__item .val, body.xy .specifications__item .val span { color: var(--xy-accent) !important; }

body.xy .user-baseinfo,
body.xy .user-center .ui-content { color: var(--xy-text-2); }
body.xy .user-center .avatar-img { background: var(--xy-surface-2) !important; }
body.xy .user-center .avatar-img img { background: transparent !important; }
body.xy .page-header { color: var(--xy-text) !important; border-bottom-color: var(--xy-line) !important; }

body.xy .xy-notice span, body.xy .hot-goods span { color: inherit; }

/* ============================================================================
   导航搜索框
   ========================================================================== */

body.xy .navbar.xy-nav .xy-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 1 288px;
    min-width: 150px;
    height: 38px;
    margin-right: auto;
    padding: 0 11px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    background: rgba(255, 255, 255, .04);
    transition: border-color .2s cubic-bezier(.22, 1, .36, 1), background .2s cubic-bezier(.22, 1, .36, 1);
}
body.xy .navbar.xy-nav .xy-search:focus-within {
    border-color: var(--xy-accent-line);
    background: rgba(220, 180, 99, .07);
}
body.xy .navbar.xy-nav .xy-search .xy-i { color: var(--xy-muted); }
body.xy .navbar.xy-nav .xy-search input {
    flex: 1 1 auto;
    min-width: 0;
    height: 34px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--xy-text);
    font-size: 13px;
    font-family: var(--xy-font);
    outline: none;
    appearance: none;
}
body.xy .navbar.xy-nav .xy-search input::placeholder { color: rgba(166, 173, 192, .7); }
body.xy .navbar.xy-nav .xy-search input::-webkit-search-cancel-button { filter: invert(1) opacity(.5); }
@media (max-width: 1199px) { body.xy .navbar.xy-nav .xy-search { flex: 0 1 200px; } }
@media (max-width: 991px) {
    body.xy .navbar.xy-nav .xy-search { flex: 1 1 auto; width: 100%; margin: 4px 0 10px; height: 42px; }
}

/* ============================================================================
   搜索页
   ========================================================================== */

.xy-searchbar {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 0 0 22px;
}
.xy-searchbar__field {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    background: var(--xy-surface);
}
.xy-searchbar__field:focus-within { border-color: var(--xy-accent-line); }
.xy-searchbar__field .xy-i { color: var(--xy-muted); }
.xy-searchbar__field input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    border: 0;
    background: none;
    color: var(--xy-text);
    font-size: 14.5px;
    outline: none;
}
.xy-searchbar__field input::placeholder { color: rgba(166, 173, 192, .7); }
.xy-searchbar__select { position: relative; flex: 0 0 auto; }
.xy-searchbar__select select {
    height: 48px;
    padding: 0 34px 0 15px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    background: var(--xy-surface);
    color: var(--xy-text-2);
    font-size: 13.5px;
    font-family: var(--xy-font);
    appearance: none;
    outline: none;
}
.xy-searchbar__select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    width: 7px;
    height: 7px;
    margin-top: -5px;
    border-right: 1.5px solid var(--xy-muted);
    border-bottom: 1.5px solid var(--xy-muted);
    transform: rotate(45deg);
    pointer-events: none;
}
.xy-searchbar .btn { flex: 0 0 auto; height: 48px; padding: 0 26px; }
@media (max-width: 767px) {
    .xy-searchbar { flex-wrap: wrap; }
    .xy-searchbar__field { flex: 1 1 100%; }
    .xy-searchbar__select { flex: 1 1 auto; }
    .xy-searchbar__select select { width: 100%; }
    .xy-searchbar .btn { flex: 0 0 auto; padding: 0 20px; }
}

.xy-result-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 6px;
    font-size: 13px;
    color: var(--xy-text-2);
}
.xy-result-head b { color: var(--xy-accent); font-weight: 620; font-variant-numeric: tabular-nums; }
.xy-result-head__hint { font-size: 12px; color: var(--xy-muted); }

.xy-pager { margin: 24px 0 8px; text-align: center; }
.xy-pager .pagination { margin: 0; }

body.xy .xy-empty__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 18px; }

/* ============================================================================
   咨询中心
   ========================================================================== */

.xy-help-contact {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 30px;
    padding: 26px 28px;
    margin-bottom: 34px;
}
.xy-help-contact__main h3 { margin: 0 0 10px; font-size: 19px; font-weight: 660; }
.xy-help-contact__main p { max-width: 52ch; margin: 0 0 20px; font-size: 13.5px; line-height: 1.85; color: var(--xy-text-2); }
.xy-help-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.xy-help-contact__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin: 0; align-content: start; }
.xy-help-contact__meta > div { border-top: 1px solid var(--xy-line); padding-top: 10px; }
.xy-help-contact__meta dt { font-size: 11.5px; letter-spacing: .1em; color: var(--xy-muted); }
.xy-help-contact__meta dd { margin: 5px 0 0; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 860px) { .xy-help-contact { grid-template-columns: 1fr; gap: 22px; padding: 20px; } }

.xy-help { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 40px; align-items: start; }
.xy-help__nav { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 2px; }
.xy-help__nav a {
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--xy-text-2);
}
.xy-help__nav a:hover { background: rgba(255, 255, 255, .05); color: var(--xy-text); }
.xy-help__body { min-width: 0; }
.xy-help__sec { padding: 0 0 26px; margin-bottom: 26px; border-bottom: 1px solid var(--xy-line); scroll-margin-top: 88px; }
.xy-help__sec:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.xy-help__sec h3 { margin: 0 0 14px; font-size: 17px; font-weight: 660; }
.xy-help__sec p { max-width: 70ch; margin: 0 0 12px; font-size: 13.5px; line-height: 1.9; color: var(--xy-text-2); }
.xy-help__note { padding: 12px 14px; border: 1px solid var(--xy-line); border-radius: var(--xy-r-sm); background: rgba(255, 255, 255, .025); font-size: 12.5px; line-height: 1.8; color: var(--xy-muted); }
@media (max-width: 991px) {
    .xy-help { grid-template-columns: 1fr; gap: 22px; }
    .xy-help__nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 8px; }
    .xy-help__nav a { border: 1px solid var(--xy-line-2); border-radius: var(--xy-r-pill); padding: 6px 14px; font-size: 12.5px; }
    .xy-help__sec { scroll-margin-top: 120px; }
}

.xy-steps { margin: 0; padding: 0; list-style: none; counter-reset: xy-step; }
.xy-steps > li {
    position: relative;
    padding: 0 0 16px 40px;
    counter-increment: xy-step;
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--xy-text-2);
}
.xy-steps > li::before {
    content: counter(xy-step);
    position: absolute;
    left: 0;
    top: 1px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--xy-accent-line);
    border-radius: 8px;
    background: var(--xy-accent-soft);
    color: var(--xy-accent);
    font-size: 12px;
    font-weight: 600;
}
.xy-steps > li::after {
    content: "";
    position: absolute;
    left: 11.5px;
    top: 27px;
    bottom: 2px;
    width: 1px;
    background: var(--xy-line);
}
.xy-steps > li:last-child { padding-bottom: 0; }
.xy-steps > li:last-child::after { display: none; }
.xy-steps b { display: block; color: var(--xy-text); font-weight: 620; margin-bottom: 3px; }

.xy-bullets { margin: 0; padding: 0; list-style: none; }
.xy-bullets > li {
    position: relative;
    padding: 0 0 12px 18px;
    font-size: 13.5px;
    line-height: 1.9;
    color: var(--xy-text-2);
    max-width: 72ch;
}
.xy-bullets > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 5px;
    height: 5px;
    border-radius: 2px;
    background: var(--xy-accent);
}
.xy-bullets b { color: var(--xy-text); font-weight: 620; }

.xy-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }

.xy-faq { margin: 0; }
.xy-faq dt {
    margin-top: 18px;
    font-size: 14px;
    font-weight: 620;
    color: var(--xy-text);
}
.xy-faq dt:first-child { margin-top: 0; }
.xy-faq dd { margin: 7px 0 0; max-width: 72ch; font-size: 13.5px; line-height: 1.9; color: var(--xy-text-2); }
.xy-faq dd a, .xy-help__sec p a, .xy-bullets a { color: var(--xy-accent); text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================================
   查找订单
   ========================================================================== */

.xy-find { max-width: 940px; }
.xy-find__form { margin-bottom: 26px; }
.xy-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.xy-form-grid__item { min-width: 0; }
.xy-form-grid__item label { display: block; margin-bottom: 7px; font-size: 12.5px; font-weight: 500; color: var(--xy-text-2); }
.xy-label-note { margin-left: 8px; padding: 1px 7px; border: 1px solid var(--xy-line-2); border-radius: var(--xy-r-pill); font-size: 10.5px; color: var(--xy-muted); }
.xy-form-grid__actions { grid-column: 1 / -1; display: flex; gap: 10px; }
.xy-form-grid__actions .btn { height: 44px; padding: 0 26px; }
@media (max-width: 640px) { .xy-form-grid { grid-template-columns: 1fr; } }

.xy-order {
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background: var(--xy-surface);
    margin-bottom: 16px;
    overflow: hidden;
}
.xy-order__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--xy-line);
    background: rgba(255, 255, 255, .02);
    font-size: 12.5px;
    color: var(--xy-muted);
}
.xy-order__no { color: var(--xy-text-2); font-variant-numeric: tabular-nums; }
.xy-order__time { margin-left: auto; font-variant-numeric: tabular-nums; }
.xy-order__body { display: flex; gap: 16px; padding: 18px; }
.xy-order__thumb { flex: 0 0 64px; width: 64px; height: 64px; border: 1px solid var(--xy-line); border-radius: var(--xy-r-sm); overflow: hidden; background: var(--xy-surface-2); }
.xy-order__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xy-order__info { min-width: 0; flex: 1 1 auto; }
.xy-order__name { display: block; font-size: 15px; font-weight: 620; letter-spacing: -.01em; margin-bottom: 10px; }
.xy-order__name:hover { color: var(--xy-accent); }
.xy-order__meta { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; }
.xy-order__meta > div { display: flex; align-items: baseline; gap: 8px; }
.xy-order__meta dt { font-size: 12px; color: var(--xy-muted); }
.xy-order__meta dd { margin: 0; font-size: 13px; color: var(--xy-text-2); font-variant-numeric: tabular-nums; }
.xy-order__meta dd.xy-order__money { color: var(--xy-accent); font-weight: 620; font-size: 14px; }
.xy-order__attach { margin: 12px 0 0; }
.xy-order__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--xy-line); background: rgba(255, 255, 255, .014); }
.xy-order__foot .btn { height: 38px; padding: 0 18px; font-size: 13px; }
.xy-order__wait { font-size: 12.5px; color: var(--xy-muted); }
@media (max-width: 560px) {
    .xy-order__body { flex-direction: column; gap: 12px; }
    .xy-order__time { margin-left: 0; }
    .xy-order__foot .btn { flex: 1 1 auto; }
}

.xy-kami__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--xy-line);
    font-size: 12.5px;
    color: var(--xy-muted);
}
.xy-kami { padding: 12px 0; border-bottom: 1px dashed var(--xy-line-2); }
.xy-kami:last-child { border-bottom: 0; padding-bottom: 0; }
.xy-kami__head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 8px; }
.xy-kami__idx { font-size: 12px; color: var(--xy-muted); letter-spacing: .08em; }
.xy-kami__head .btn-copy, .xy-kami__head .text-qrcode, .xy-kami__head .qrcode-text {
    font-size: 12.5px;
    color: var(--xy-accent);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.xy-kami__content { display: block; word-break: break-all; font-size: 13.5px; line-height: 1.8; color: var(--xy-text); }
.xy-kami__pre { margin: 0; padding: 0; border: 0; background: none; color: var(--xy-text); font-size: 14px; line-height: 1.8; white-space: pre-wrap; word-break: break-all; }

/* Bootstrap 弹窗跟随深色主题（卡密 / 教程 / 发货内容都在弹窗里） */
body.xy .modal-content {
    background: #0d1424 !important;
    border: 1px solid var(--xy-line-2) !important;
    border-radius: var(--xy-r) !important;
    box-shadow: var(--xy-sh-2) !important;
}
body.xy .modal-header { padding: 16px 20px !important; border-bottom: 1px solid var(--xy-line) !important; }
body.xy .modal-title { font-size: 15.5px !important; font-weight: 620 !important; color: var(--xy-text) !important; }
body.xy .modal-body { padding: 20px !important; color: var(--xy-text-2) !important; }
body.xy .modal-footer { padding: 14px 20px !important; border-top: 1px solid var(--xy-line) !important; }
body.xy .modal-header .close { color: var(--xy-text-2) !important; opacity: .8 !important; text-shadow: none !important; }
body.xy .modal-header .close:hover { color: #fff !important; opacity: 1 !important; }
body.xy .modal-backdrop.in { opacity: .7 !important; }

/* ============================================================================
   资讯中心
   ========================================================================== */

.xy-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.xy-news-grid .xy-news__item { border-bottom: 1px solid var(--xy-line); }
.xy-news__desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 5px;
    font-size: 12.5px;
    line-height: 1.75;
    color: var(--xy-muted);
}
.xy-news__meta { display: block; margin-top: 6px; font-size: 11.5px; color: var(--xy-muted); font-variant-numeric: tabular-nums; }
.xy-article__foot { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--xy-line); }
@media (max-width: 767px) { .xy-news-grid { grid-template-columns: 1fr; } }

/* ============================================================================
   会员中心：余额 / 账单 / 代理 / 推广 / 分站 / 资料
   ========================================================================== */

.xy-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1100px) { .xy-two-col { grid-template-columns: 1fr; } }

/* 面板内嵌的页签 */
body.xy .xy-panel > .xy-tabs { padding: 6px 18px 12px; margin-bottom: 4px; }

/* 余额总览 */
.xy-balance {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 24px;
    padding: 24px 26px;
    margin-bottom: 22px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background:
        radial-gradient(560px 220px at 92% -20%, rgba(220, 180, 99, .12), transparent 70%),
        var(--xy-surface);
}
.xy-balance__main { display: flex; flex-direction: column; gap: 6px; }
.xy-balance__label { font-size: 12px; letter-spacing: .1em; color: var(--xy-muted); }
.xy-balance__num {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.1;
    color: var(--xy-accent);
    font-variant-numeric: tabular-nums;
}
.xy-balance__num i { font-style: normal; font-size: 18px; opacity: .8; }
.xy-balance__hint { font-size: 12.5px; color: var(--xy-muted); }
.xy-balance__meta { display: grid; gap: 14px; margin: 0; align-content: center; }
.xy-balance__meta > div { border-top: 1px solid var(--xy-line); padding-top: 10px; }
.xy-balance__meta dt { font-size: 11.5px; letter-spacing: .1em; color: var(--xy-muted); }
.xy-balance__meta dd { margin: 5px 0 0; font-size: 14px; font-weight: 600; }
@media (max-width: 767px) { .xy-balance { grid-template-columns: 1fr; gap: 18px; padding: 20px; } }

/* 单选：做成可点的小块，替掉原来的裸 radio */
.xy-radio { display: inline-flex; cursor: pointer; }
.xy-radio input { position: absolute; opacity: 0; pointer-events: none; }
.xy-radio span {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 16px;
    border: 1px solid var(--xy-line-2);
    border-radius: var(--xy-r-sm);
    background: var(--xy-surface-2);
    color: var(--xy-text-2);
    font-size: 13px;
    transition: border-color .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1), background .2s cubic-bezier(.22, 1, .36, 1);
}
.xy-radio:hover span { color: var(--xy-text); border-color: var(--xy-line-3); }
.xy-radio input:checked + span {
    color: var(--xy-accent);
    border-color: var(--xy-accent-line);
    background: var(--xy-accent-soft);
}
.xy-radio input:focus-visible + span { outline: 2px solid var(--xy-accent); outline-offset: 2px; }

/* 代理等级 */
.xy-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 22px; }
@media (max-width: 1100px) { .xy-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .xy-tier-grid { grid-template-columns: 1fr; } }
.xy-tier {
    display: flex;
    flex-direction: column;
    padding: 22px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background: var(--xy-surface);
    transition: border-color .24s cubic-bezier(.22, 1, .36, 1);
}
.xy-tier:hover { border-color: var(--xy-accent-line); }
.xy-tier__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.xy-tier__name { font-size: 16px; font-weight: 660; letter-spacing: -.01em; }
.xy-tier__discount { font-size: 24px; font-weight: 700; color: var(--xy-accent); letter-spacing: -.02em; }
.xy-tier__discount i { font-style: normal; font-size: 12px; margin-left: 2px; }
.xy-tier__meta { display: grid; gap: 10px; margin: 0 0 20px; }
.xy-tier__meta > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--xy-line); }
.xy-tier__meta dt { font-size: 12.5px; color: var(--xy-muted); }
.xy-tier__meta dd { margin: 0; font-size: 13.5px; color: var(--xy-text-2); font-variant-numeric: tabular-nums; }
.xy-tier__meta dd.xy-tier__price { color: var(--xy-accent); font-weight: 620; font-size: 15px; }
.xy-tier .btn { margin-top: auto; }
.xy-tier__note { margin: 10px 0 0; font-size: 11.5px; color: var(--xy-muted); text-align: center; }

/* 返佣三档 */
.xy-rebate {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
@media (max-width: 640px) { .xy-rebate { grid-template-columns: 1fr; } }
.xy-rebate__item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 18px;
    border: 1px solid var(--xy-line);
    border-radius: var(--xy-r);
    background: var(--xy-surface);
}
.xy-rebate__lv { font-size: 12.5px; color: var(--xy-muted); }
.xy-rebate__num { font-size: 24px; font-weight: 700; color: var(--xy-accent); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.xy-rebate__num i { font-style: normal; font-size: 12px; margin-left: 2px; }

/* 资料页 */
.xy-profile { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: start; }
@media (max-width: 767px) { .xy-profile { grid-template-columns: 1fr; gap: 20px; } }
.xy-profile__avatar { text-align: center; }
.xy-profile__hint { display: block; margin-top: 10px; font-size: 11.5px; color: var(--xy-muted); }
.xy-profile .profile-avatar-container {
    position: relative;
    width: 112px;
    height: 112px;
    margin: 0 auto;
    border-radius: var(--xy-r-sm);
    overflow: hidden;
    border: 1px solid var(--xy-line-2);
    background: var(--xy-surface-2);
}
.xy-profile .profile-user-img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.xy-profile .profile-avatar-text {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(5, 10, 26, .72);
    color: var(--xy-text);
    font-size: 12.5px;
    line-height: 112px;
    text-align: center;
}
.xy-profile .profile-avatar-container:hover .profile-avatar-text { display: block; }
.xy-profile .profile-avatar-container button {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: none;
    opacity: 0;
    cursor: pointer;
}

/* 绑定信息 */
.xy-bind { display: grid; gap: 12px; }
.xy-bind__row {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--xy-line);
}
.xy-bind__row:last-child { border-bottom: 0; padding-bottom: 0; }
.xy-bind__k { font-size: 12.5px; color: var(--xy-muted); }
.xy-bind__v { font-size: 14px; color: var(--xy-text); word-break: break-all; }
.xy-bind__row .btn { height: 34px; padding: 0 14px; font-size: 12.5px; }
@media (max-width: 560px) {
    .xy-bind__row { grid-template-columns: 1fr auto; }
    .xy-bind__k { grid-column: 1 / -1; }
}

/* 分站域名选择 */
.xy-domain-pick { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 10px; }
@media (max-width: 640px) { .xy-domain-pick { grid-template-columns: 1fr; } }

/* 分站等级提示块（JS 里用 hide 控制显隐，这里只改外观） */
body.xy .alert-grade {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--xy-line-2) !important;
    border-radius: var(--xy-r-sm) !important;
    background: rgba(255, 255, 255, .03) !important;
    color: var(--xy-text-2) !important;
    font-size: 12.5px;
}
body.xy .alert-grade.hide { display: none !important; }

/* ==========================================================================
   星轨交易台 · 高级感增强层  (2026-10-10)
   只做质感增强：金色细线、光晕、悬停层次、动效节奏。
   不改任何布局结构与尺寸，删除本段即可完全回滚。
   ========================================================================== */

/* ---------- 全局：选中色 / 焦点环 ---------- */
body.xy ::selection { background: rgba(224, 169, 60, .26); color: #fff; }
body.xy *:focus-visible { outline: 2px solid var(--xy-accent); outline-offset: 2px; border-radius: 3px; }

/* ---------- 区块标题：左金条 + 渐隐分隔线 ---------- */
body.xy .xy-sec-head { position: relative; padding-bottom: 14px; }
body.xy .xy-sec-head::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
    background: linear-gradient(90deg, var(--xy-accent) 0%, rgba(224, 169, 60, .18) 20%, transparent 58%);
}
body.xy .xy-sec-head h2 { position: relative; padding-left: 15px; }
body.xy .xy-sec-head h2::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 3px; height: 15px; border-radius: 2px;
    background: linear-gradient(180deg, var(--xy-accent-2), var(--xy-accent));
}

/* ---------- 顶部状态条：玻璃质感 + 两端渐隐 ---------- */
body.xy .xy-ticker { position: relative; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.xy .xy-ticker::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, var(--xy-bg) 0%, transparent 12%, transparent 88%, var(--xy-bg) 100%);
}
body.xy .xy-ticker__rail > span { letter-spacing: .02em; }

/* ---------- 首屏：金色光晕 + 星域网格 ---------- */
body.xy .xy-desk { position: relative; isolation: isolate; }
body.xy .xy-desk::before {
    content: ""; position: absolute; inset: -10% -18%; z-index: 0; pointer-events: none;
    background:
        radial-gradient(46% 52% at 20% 40%, rgba(224, 169, 60, .16), transparent 68%),
        radial-gradient(42% 48% at 80% 26%, rgba(58, 116, 255, .13), transparent 70%);
}
body.xy .xy-desk::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .45;
    background-image:
        linear-gradient(rgba(255, 255, 255, .032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .032) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(68% 68% at 28% 40%, #000 0%, transparent 78%);
            mask-image: radial-gradient(68% 68% at 28% 40%, #000 0%, transparent 78%);
}
body.xy .xy-desk__intro, body.xy .xy-book { position: relative; z-index: 1; }
body.xy .xy-desk__title { text-shadow: 0 2px 32px rgba(0, 0, 0, .55); }
body.xy .xy-desk__title em {
    background: linear-gradient(96deg, #f8db95, var(--xy-accent) 56%, #c78f28);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.xy .xy-desk__intro > .xy-wordmark { filter: drop-shadow(0 6px 26px rgba(224, 169, 60, .3)); }
body.xy .xy-handle {
    border: 1px solid var(--xy-accent-line); background: var(--xy-accent-soft);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s, border-color .25s;
}
body.xy .xy-handle:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -16px rgba(224, 169, 60, .95); }

/* ---------- 主按钮：金属扫光 ---------- */
body.xy .btn-primary {
    position: relative; overflow: hidden;
    transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s;
}
body.xy .btn-primary::after {
    content: ""; position: absolute; top: 0; bottom: 0; width: 36%; left: -60%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .5), transparent);
    transform: skewX(-18deg);
    transition: left .6s cubic-bezier(.22, 1, .36, 1);
}
body.xy .btn-primary:hover { transform: translateY(-1px); }
body.xy .btn-primary:hover::after { left: 130%; }

/* ---------- 面板：1px 渐变描边 + 深投影 ---------- */
body.xy .xy-panel { position: relative; box-shadow: 0 26px 64px -44px rgba(0, 0, 0, .95); }
body.xy .xy-panel::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .012) 42%, rgba(224, 169, 60, .13));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}

/* ---------- 实时在售：悬停金色游标 ---------- */
body.xy .xy-book__row { position: relative; }
body.xy .xy-book__row::before {
    content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 2px; border-radius: 2px;
    background: linear-gradient(180deg, var(--xy-accent-2), var(--xy-accent));
    opacity: 0; transition: opacity .25s;
}
body.xy .xy-book__row:hover::before { opacity: 1; }
body.xy .xy-book__price { text-shadow: 0 0 18px rgba(224, 169, 60, .26); }

/* ---------- 在售平台卡：品牌微光 + 上浮 ---------- */
body.xy .xy-plat__item {
    position: relative; overflow: hidden;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1), border-color .3s, box-shadow .3s, background .3s;
}
body.xy .xy-plat__item::after {
    content: ""; position: absolute; inset: auto 0 0 0; height: 46%; pointer-events: none; opacity: 0;
    background: radial-gradient(62% 100% at 50% 100%, rgba(255, 255, 255, .1), transparent 70%);
    transition: opacity .3s;
}
body.xy .xy-plat__item:hover {
    transform: translateY(-4px); border-color: var(--xy-accent-line);
    box-shadow: 0 24px 46px -32px rgba(224, 169, 60, .85);
}
body.xy .xy-plat__item:hover::after { opacity: 1; }
body.xy .xy-plat__item img { transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
body.xy .xy-plat__item:hover img { transform: scale(1.06); }

/* ---------- 商品列表：行悬停 + 价格光晕 ---------- */
body.xy .xy-list__row { position: relative; transition: background .25s; }
body.xy .xy-list__row::before {
    content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 2px; border-radius: 2px;
    background: linear-gradient(180deg, var(--xy-accent-2), var(--xy-accent));
    opacity: 0; transition: opacity .25s;
}
body.xy .xy-list__row:hover::before { opacity: 1; }
body.xy .xy-list__thumb { transition: border-color .25s, box-shadow .25s; }
body.xy .xy-list__row:hover .xy-list__thumb { border-color: var(--xy-accent-line); box-shadow: 0 12px 28px -24px rgba(224, 169, 60, .95); }
body.xy .xy-list__cell b { text-shadow: 0 0 20px rgba(224, 169, 60, .22); }

/* ---------- 公告卡：金色竖线 + 专业排版 ---------- */
body.xy .xy-notice-card { position: relative; overflow: hidden; }
body.xy .xy-notice-card::after {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: linear-gradient(180deg, var(--xy-accent-2), var(--xy-accent) 38%, rgba(224, 169, 60, .06));
}
body.xy .xy-notice { font-size: 13.5px; line-height: 2.05; color: var(--xy-text-2); }
body.xy .xy-notice p { margin: 0 0 13px; }
body.xy .xy-notice p:last-child { margin-bottom: 0; }
body.xy .xy-notice strong { color: var(--xy-accent-2); font-weight: 620; letter-spacing: .015em; }
body.xy .xy-notice b { color: var(--xy-accent); font-weight: 620; }
body.xy .xy-notice .xy-notice__meta {
    margin-top: 16px; padding-top: 13px; border-top: 1px dashed var(--xy-line);
    font-size: 12px; color: var(--xy-muted);
}

/* ---------- 页脚小标题：金色短线 ---------- */
body.xy .xy-footer__title { color: var(--xy-text); }
body.xy .xy-footer__title::after {
    content: ""; display: block; width: 18px; height: 2px; margin-top: 9px; border-radius: 2px;
    background: linear-gradient(90deg, var(--xy-accent), transparent);
}

/* ---------- 商品详情页：支付方式芯片（只剩 USDT） ---------- */
body.xy .variations__list--single { display: flex; }
body.xy .pay-type { display: inline-flex; align-items: center; gap: 9px; }
body.xy .pay-type__logo { display: inline-flex; align-items: center; }
body.xy .pay-type__logo img { width: 20px; height: 20px; display: block; }
body.xy .pay-type.active { border-color: var(--xy-accent) !important; box-shadow: 0 0 0 1px var(--xy-accent-line) inset, 0 10px 24px -20px rgba(224, 169, 60, .95); }
body.xy .pay-type__note {
    margin: 12px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--xy-muted);
    padding-left: 12px; border-left: 2px solid var(--xy-accent-line);
}
body.xy .pay-type__note b { color: var(--xy-accent); font-weight: 620; }

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce) {
    body.xy .btn-primary::after { display: none; }
    body.xy .xy-plat__item:hover { transform: none; }
    body.xy .xy-plat__item:hover img { transform: none; }
}