/* ============================================================================
   极光 Aurora v3.9.1
   ----------------------------------------------------------------------------
   本文件由两部分组成，顺序**不可调换**：
     第 1 段：会员中心 · 安全中心 · 平台组件 的样式（v1.x 沿用，类名保持 uc-* 与
             平台原生类，保证 30+ 个会员中心页面结构零改动即获得新配色与新圆角）
     第 2 段：商城前台设计系统 v2（天幕 / 顶栏 / 分类栏 / 货架 / 商品卡 / 详情 /
             订单查询 / 页脚 / 命令面板），这一段在后面，同名类以它为准。
   ========================================================================= */

/* ========================= 第 1 段 · 会员中心与平台组件 ========================= */
/* ==========================================================================
   极光 Aurora · PC 端设计系统
   —— 一份文件接管：商城前台 / 订单查询 / 登录注册 / 会员中心 25 页
   加载顺序在官方全局样式之后，同级选择器直接覆盖。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌
   -------------------------------------------------------------------------- */
:root {
    /* 主题色（后台「主题色」可改，改 --au-h / --au-s 即可整站换色） */
    --au-h: 243;
    --au-s: 75%;
    --au-primary: hsl(var(--au-h) var(--au-s) 58%);
    --au-primary-deep: hsl(var(--au-h) var(--au-s) 48%);
    /* 实心主色块（按钮/胶囊）上的文字色：浅深两套主题下都用白，跟随的是底色而非字色 */
    --au-on-solid: #FFFFFF;
    --au-primary-soft: hsl(var(--au-h) var(--au-s) 58% / .10);
    --au-primary-ring: hsl(var(--au-h) var(--au-s) 58% / .28);
    --au-accent: hsl(calc(var(--au-h) + 42) 85% 58%);
    /* 实底安全色 / 描边色 / 渐变末端（脚本会按当前主题色重新求解，这里是无脚本兜底） */
    --au-primary-fill: var(--au-primary);
    --au-primary-line: color-mix(in srgb, var(--au-primary) 34%, transparent);
    --au-accent-deep: color-mix(in srgb, var(--au-accent) 42%, #14110c);

    /* 中性色（色相取自 --au-h：后台「主题色」一改，整站底色/面/字一起跟） */
    --au-bg: hsl(var(--au-h) 30% 92%);
    --au-bg-2: hsl(var(--au-h) 28% 87%);
    --au-surface: hsl(var(--au-h) 42% 96%);
    --au-surface-2: hsl(var(--au-h) 42% 97.5%);
    --au-ink: hsl(var(--au-h) 22% 14%);
    --au-ink-2: hsl(var(--au-h) 16% 31%);
    --au-ink-dis: hsl(var(--au-h) 15% 40%);
    --au-line: hsl(var(--au-h) 24% 28% / .14);
    --au-line-strong: hsl(var(--au-h) 24% 28% / .26);
    /* 公告/提示用的强调色（原为固定橙,现跟主题色走） */
    --au-mark: hsl(var(--au-h) 62% 44%);
    --au-mark-2: hsl(var(--au-h) 66% 34%);
    --au-mark-soft: hsl(var(--au-h) 62% 44% / .10);
    --au-mark-line: hsl(var(--au-h) 62% 44% / .26);

    /* 状态色 */
    --au-ok: #16a34a;
    --au-warn: #d97706;
    --au-danger: #e11d48;
    --au-info: #0284c7;

    /* 形状 */
    --au-radius: 14px;
    --au-radius-sm: 10px;
    --au-radius-lg: 20px;
    --au-radius-pill: 999px;

    /* 阴影 */
    --au-sh-1: 0 1px 2px rgb(20 22 31 / .04), 0 1px 3px rgb(20 22 31 / .04);
    --au-sh-2: 0 2px 6px rgb(20 22 31 / .05), 0 8px 24px -8px rgb(20 22 31 / .10);
    --au-sh-3: 0 4px 12px rgb(20 22 31 / .07), 0 18px 40px -12px rgb(20 22 31 / .16);
    --au-sh-primary: 0 6px 20px -6px hsl(var(--au-h) var(--au-s) 58% / .50);

    /* 玻璃 */
    --au-glass: rgb(255 255 255 / .78);
    --au-glass-strong: rgb(255 255 255 / .92);
    --au-blur: saturate(180%) blur(18px);

    /* 背景遮罩：站长的背景图上面压一层，保证文字永远读得清 */
    --au-scrim: 88%;

    --au-content: 1320px;
    --au-ring: 0 0 0 3px var(--au-primary-ring);

    /* 动效时长（性能档位会改写它，turbo 档为 0） */
    --au-anim: .18s;
}


/* 暗色 */
html[data-theme="dark"] {
    --au-bg: hsl(var(--au-h) 44% 9%);
    --au-bg-2: hsl(var(--au-h) 42% 11%);
    --au-surface: hsl(var(--au-h) 36% 15%);
    --au-surface-2: hsl(var(--au-h) 34% 18%);
    --au-ink: hsl(var(--au-h) 26% 89%);
    --au-ink-2: hsl(var(--au-h) 20% 74%);
    --au-ink-dis: hsl(var(--au-h) 18% 64%);
    --au-line: hsl(var(--au-h) 60% 82% / .12);
    --au-line-strong: hsl(var(--au-h) 60% 82% / .22);
    --au-mark: hsl(var(--au-h) 68% 72%);
    --au-mark-2: hsl(var(--au-h) 68% 78%);
    --au-mark-soft: hsl(var(--au-h) 68% 72% / .12);
    --au-mark-line: hsl(var(--au-h) 68% 72% / .28);

    --au-ok: #4ade80;
    --au-warn: #fbbf24;
    --au-danger: #fb7185;
    --au-info: #38bdf8;

    --au-sh-1: 0 1px 2px rgb(0 0 0 / .40);
    --au-sh-2: 0 2px 8px rgb(0 0 0 / .45), 0 12px 28px -10px rgb(0 0 0 / .60);
    --au-sh-3: 0 6px 16px rgb(0 0 0 / .50), 0 24px 50px -14px rgb(0 0 0 / .70);

    --au-glass: rgb(20 23 31 / .76);
    --au-glass-strong: rgb(20 23 31 / .94);
    --au-scrim: 90%;
}


/* 圆角档位（后台可调）：standard / rounded / sharp，normal / soft 为旧设置兼容 */
html[data-au-radius="standard"],
html[data-au-radius="normal"] { --au-radius: 14px; --au-radius-sm: 10px; --au-radius-lg: 20px; }

html[data-au-radius="rounded"],
html[data-au-radius="soft"]   { --au-radius: 20px; --au-radius-sm: 14px; --au-radius-lg: 28px; }

html[data-au-radius="sharp"]  { --au-radius: 4px; --au-radius-sm: 3px; --au-radius-lg: 6px; }


/* 内容宽度档位：compact / standard / wide，slim / normal 为旧设置兼容 */
html[data-au-width="compact"]  { --au-content: 1200px; }

html[data-au-width="standard"],
html[data-au-width="normal"]   { --au-content: 1320px; }

html[data-au-width="wide"]     { --au-content: 1520px; }

html[data-au-width="slim"]     { --au-content: 1080px; }


/* 卡片风格档位 */
html[data-au-card="flat"] .panel,
html[data-au-card="flat"] .acg-card,
html[data-au-card="flat"] .acg-card-cell > .acg-card { box-shadow: none; border: 1px solid var(--au-line); }

html[data-au-card="outline"] .panel,
html[data-au-card="outline"] .acg-card,
html[data-au-card="outline"] .acg-card-cell > .acg-card {
    box-shadow: none;
    background: var(--au-surface);
    border: 1px solid var(--au-line-strong);
}

html[data-au-card="glass"] .panel,
html[data-au-card="glass"] .acg-card {
    background: var(--au-glass);
    -webkit-backdrop-filter: var(--au-blur);
    backdrop-filter: var(--au-blur);
    border-color: rgb(255 255 255 / .16);
}


/* --------------------------------------------------------------------------
   2. 基础层
   -------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }


body.uc-body {
    background-color: var(--au-bg);
    /* v1.1.0：background-attachment:fixed 会让每一帧滚动都重绘整屏背景，
       是长列表滚动掉帧的元凶之一，改为随内容滚动。 */
    background-attachment: scroll;
    background-size: cover;
    background-position: center;
    color: var(--au-ink);
    font-family: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .1px;
    min-height: 100vh;
    position: relative;
}


/* 背景遮罩：压住站长上传的背景图，文字永远清晰 */
body.uc-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: color-mix(in srgb, var(--au-bg) var(--au-scrim), transparent);
}

body.uc-body > * { position: relative; z-index: 1; }


.container { max-width: var(--au-content); width: 100%; }


a { color: var(--au-primary); text-decoration: none; transition: color .18s ease; }

a:hover { color: var(--au-primary-deep); }


::selection { background: var(--au-primary-soft); color: var(--au-primary-deep); }


::-webkit-scrollbar { width: 10px; height: 10px; }

::-webkit-scrollbar-track { background: transparent; }

::-webkit-scrollbar-thumb { background: var(--au-line-strong); border-radius: 999px; border: 2px solid transparent; background-clip: content-box; }

::-webkit-scrollbar-thumb:hover { background: var(--au-ink-dis); background-clip: content-box; }


:focus-visible { outline: 2px solid var(--au-primary); outline-offset: 2px; border-radius: 6px; }


/* --------------------------------------------------------------------------
   3. 商城顶栏
   -------------------------------------------------------------------------- */
.uc-topbar {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--au-glass);
    -webkit-backdrop-filter: var(--au-blur);
    backdrop-filter: var(--au-blur);
    border-bottom: 1px solid var(--au-line);
}

.uc-topbar__inner { max-width: var(--au-content); margin: 0 auto; padding: 0 20px; }


/* 品牌 */
.shop-brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }


/* 主导航 */
.shop-nav__list {
    display: flex; align-items: center; gap: 4px;
    list-style: none; margin: 0; padding: 0; flex: 0 0 auto;
}


/* 搜索 */
.shop-search { flex: 1 1 auto; min-width: 150px; max-width: 420px; }

.item-search-input {
    flex: 1; height: 100%; min-width: 0;
    border: 0; background: transparent; outline: none;
    font-size: 14px; color: var(--au-ink);
}

.item-search-input::placeholder { color: var(--au-ink-dis); }


/* 右侧动作区 */
.shop-nav__right { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }


/* 语言下拉 */
.shop-lang { position: relative; }


/* 用户区 */
.shop-user { position: relative; }


/* 登录/注册按钮 */
.shop-auth { display: flex; align-items: center; gap: 8px; }


/* 汉堡 + 抽屉 */
.shop-burger {
    display: none; align-items: center; justify-content: center;
    width: 38px; height: 38px; padding: 0;
    background: var(--au-surface); border: 1px solid var(--au-line);
    border-radius: 12px; color: var(--au-ink-2); cursor: pointer;
}

body.shop-drawer-open .shop-drawer { transform: translateX(0); }

body.shop-drawer-open .shop-drawer__shade { opacity: 1; visibility: visible; }


/* 放不下时收进抽屉（由官方脚本切换 .shop-compact） */
html.shop-compact .shop-nav__list,
html.shop-compact .shop-nav__right .shop-auth { display: none !important; }
@media (max-width: 860px){

    .uc-topbar__inner { padding: 0 14px; }
}


/* --------------------------------------------------------------------------
   4. 面板 / 卡片
   -------------------------------------------------------------------------- */
.panel {
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-lg);
    box-shadow: var(--au-sh-2);
    margin-bottom: 18px;
    overflow: hidden;
}

.panel-header {
    display: flex; align-items: center; gap: 11px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--au-line);
    background: linear-gradient(180deg, var(--au-surface-2), var(--au-surface));
}

.panel-header .icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; flex: 0 0 auto;
    border-radius: 9px;
    background: var(--au-primary-soft);
    color: var(--au-primary);
    font-size: 14px;
}

.panel-title { margin: 0; font-size: 15px; font-weight: 700; color: var(--au-ink); letter-spacing: -.1px; }

.panel-body { padding: 18px 20px; color: var(--au-ink-2); }

.panel-body > :last-child { margin-bottom: 0; }


/* 浮动卡片 / 数据卡 */
.card-data {
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-sh-1);
}

.content-header { border-bottom: 1px solid var(--au-line); }


/* --------------------------------------------------------------------------
   5. 分类 chips
   -------------------------------------------------------------------------- */
.chip-list {
    display: flex; flex-wrap: wrap; gap: 8px;
    padding-bottom: 2px;
}

.chip {
    display: inline-flex; align-items: center; gap: 8px;
    height: 34px; padding: 0 15px;
    background: var(--au-surface-2);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-pill);
    font-size: 13.5px; font-weight: 600; color: var(--au-ink-2);
    cursor: pointer; user-select: none;
    transition: border-color var(--au-anim) ease, color var(--au-anim) ease,
                background-color var(--au-anim) ease;
    white-space: nowrap;
}

.chip:hover { border-color: var(--au-primary); color: var(--au-primary); transform: translateY(-1px); }

.chip.is-primary {
    background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep));
    border-color: transparent; color: #fff;
    box-shadow: var(--au-sh-primary);
}

.chip.is-disabled { opacity: .45; pointer-events: none; }

.chip-icon { width: 18px; height: 18px; border-radius: 50%; flex: 0 0 auto; }


/* --------------------------------------------------------------------------
   6. 商品网格 v2
   --------------------------------------------------------------------------
   .acg-card 由前台脚本动态生成（不在主题里，类名不可改）：
     a.item-card-cell > .acg-card > .acg-thumb + .acg-body
     .acg-body 内：.tags(.acg-tag/.badge-soft) > .goods-title > .stat-row>.price > .stat-bottom
     售罄：.acg-card.soldout + .soldout-ribbon

   性能说明（首页一次渲染全部商品时最关键的三条）：
     1) 每个卡片 content-visibility:auto —— 屏外的卡完全跳过布局与绘制
     2) 封面是 CSS 背景图（不是 <img>），屏外卡片的背景图由主题脚本卸载、快进视口再装回
     3) 卡片不做 box-shadow 过渡：阴影动画会强制整块重绘，改用位移 + 描边
   -------------------------------------------------------------------------- */
.item-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
    gap: 16px;
    margin: 0 !important;
    align-items: stretch;
}

.item-list > * { width: auto !important; max-width: none !important; padding: 0 !important; }

.item-list > .item-card-cell {
    content-visibility: auto;
    contain-intrinsic-size: auto 358px;
}

.item-message {
    grid-column: 1 / -1;
    display: flex; flex-direction: column; align-items: center; gap: 13px;
    padding: 52px 0; text-align: center;
    color: var(--au-ink-dis); font-size: 13.5px;
}

.item-message::before {
    content: ""; width: 30px; height: 30px; border-radius: 50%;
    border: 2.5px solid var(--au-line); border-top-color: var(--au-primary);
    animation: au-spin .75s linear infinite;
}

@keyframes au-spin { to { transform: rotate(360deg); } }


.item-card-cell { display: block; color: inherit; }

.item-card-cell:hover { color: inherit; }


.acg-card {
    position: relative;
    display: flex; flex-direction: column;
    height: 100%;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    overflow: hidden;
    transition: transform var(--au-anim) cubic-bezier(.4, 0, .2, 1),
                border-color var(--au-anim) ease;
}

.item-card-cell:hover .acg-card {
    transform: translate3d(0, -3px, 0);
    border-color: var(--au-primary);
    box-shadow: var(--au-sh-2);
}

.acg-card.soldout { opacity: .7; }

.acg-card.soldout:hover { transform: none; }

.acg-card.soldout .acg-thumb { filter: grayscale(.8); }


.acg-thumb {
    position: relative;
    width: 100%; aspect-ratio: 4 / 3;
    background-color: var(--au-bg-2);
    background-position: center; background-size: cover; background-repeat: no-repeat;
}

.acg-cover { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }


.acg-body { padding: 11px 12px 12px; display: flex; flex-direction: column; gap: 7px; flex: 1 1 auto; }


.acg-body .tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 17px; }

.acg-body .tags .badge-soft { font-size: 10.5px; padding: 1.5px 7px; border-radius: 999px; font-weight: 600; }

.acg-tag { font-size: 10.5px; padding: 1.5px 7px; border-radius: 999px; font-weight: 600; line-height: 1.5; }

.acg-tag--red    { background: #fee2e2; color: #b4242c; }

.acg-tag--orange { background: #ffedd5; color: #b45309; }

.acg-tag--yellow { background: #fef6c7; color: #8a6100; }

.acg-tag--green  { background: #dcfce7; color: #15803d; }

.acg-tag--cyan   { background: #cffafe; color: #0e7490; }

.acg-tag--blue   { background: #dbeafe; color: #1d4ed8; }

.acg-tag--purple { background: #ede9fe; color: #6d28d9; }

.acg-tag--pink   { background: #fce7f3; color: #be185d; }

.acg-tag--gray   { background: var(--au-surface-2); color: var(--au-ink-2); }

html[data-theme="dark"] .acg-tag--red    { background: rgb(248 113 113 / .18); color: #fca5a5; }

html[data-theme="dark"] .acg-tag--orange { background: rgb(251 146 60 / .18); color: #fdba74; }

html[data-theme="dark"] .acg-tag--yellow { background: rgb(250 204 21 / .18); color: #fde047; }

html[data-theme="dark"] .acg-tag--green  { background: rgb(74 222 128 / .18); color: #86efac; }

html[data-theme="dark"] .acg-tag--cyan   { background: rgb(34 211 238 / .18); color: #67e8f9; }

html[data-theme="dark"] .acg-tag--blue   { background: rgb(96 165 250 / .18); color: #93c5fd; }

html[data-theme="dark"] .acg-tag--purple { background: rgb(167 139 250 / .18); color: #c4b5fd; }

html[data-theme="dark"] .acg-tag--pink   { background: rgb(244 114 182 / .18); color: #f9a8d4; }


.goods-title, .acg-body .goods-title {
    margin: 0;
    font-size: 13.5px; font-weight: 600; line-height: 1.42; color: var(--au-ink);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; min-height: 38px;
    transition: color var(--au-anim) ease;
}

.item-card-cell:hover .goods-title { color: var(--au-primary-deep); }


.stat-row {
    display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
    margin: 0 !important; margin-top: auto !important;
}

.price {
    font-size: 18.5px; font-weight: 800; letter-spacing: -.4px; line-height: 1.15;
    color: var(--au-primary-deep);
    font-variant-numeric: tabular-nums;
    display: inline-flex; align-items: baseline; gap: 1px;
}

.price .unit { font-size: 12px; font-weight: 700; margin-right: 1px; }

.stat-bottom {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    font-size: 11.5px; color: var(--au-ink-dis);
    padding-top: 8px; margin-top: 2px;
    border-top: 1px solid var(--au-line);
}

.stat-bottom > span {
    display: inline-flex; align-items: center; min-width: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}


.soldout-ribbon {
    position: absolute; top: 10px; right: 10px;
    padding: 3px 10px; border-radius: 999px;
    background: rgb(20 22 31 / .82); color: #fff;
    font-size: 11px; font-weight: 700; letter-spacing: .6px;
    pointer-events: none;
}


/* 视图切换（网格 / 列表）——由主题脚本生成，纯外观 */
.au-view {
    display: inline-flex; gap: 2px; padding: 3px; flex: 0 0 auto;
    background: var(--au-surface-2); border: 1px solid var(--au-line);
    border-radius: 999px;
}


/* 列表模式 */
.item-list.is-list { grid-template-columns: 1fr !important; gap: 10px; }

.item-list.is-list > .item-card-cell { contain-intrinsic-size: auto 118px; }

.item-list.is-list .acg-card { flex-direction: row; align-items: stretch; }

.item-list.is-list .acg-thumb { width: 152px; flex: 0 0 152px; aspect-ratio: auto; min-height: 104px; }

.item-list.is-list .acg-body { padding: 11px 15px; justify-content: center; gap: 6px; }

.item-list.is-list .goods-title { -webkit-line-clamp: 1; min-height: 0; font-size: 14.5px; }

.item-list.is-list .stat-row { margin-top: 3px !important; }

.item-list.is-list .stat-bottom { border-top: 0; padding-top: 1px; }

.item-list.is-list .soldout-ribbon { top: 8px; left: 8px; right: auto; }


/* 分类轨上的搜索框（保留系统 .item-search-input 契约） */
.au-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }


/* --------------------------------------------------------------------------
   7. 商品详情页
   -------------------------------------------------------------------------- */
.goods-details {
    display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
    gap: 28px; align-items: start;
}

.goods-image {
    border-radius: var(--au-radius);
    overflow: hidden; border: 1px solid var(--au-line);
    background: var(--au-bg-2);
}

.goods-image img { width: 100%; display: block; object-fit: cover; }

.goods-meta { display: flex; flex-direction: column; gap: 14px; }

.goods-name { font-size: 21px; font-weight: 800; color: var(--au-ink); line-height: 1.4; letter-spacing: -.3px; margin: 0; }


.card-section, .card-password-section, .card-content-no-password {
    background: var(--au-surface-2);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    padding: 16px;
}

.card-title { font-size: 14px; font-weight: 700; color: var(--au-ink); margin-bottom: 12px; }

.card-display {
    background: var(--au-bg-2); border: 1px dashed var(--au-line-strong);
    border-radius: var(--au-radius-sm); padding: 12px;
    font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
    font-size: 13px; color: var(--au-ink-2);
    word-break: break-all; white-space: pre-wrap;
}

.card-loading { text-align: center; padding: 20px; color: var(--au-ink-dis); }


.captcha-group { display: flex; align-items: center; gap: 10px; }

.captcha-input { flex: 1; }

.captcha-img {
    height: 44px; width: auto; min-width: 108px;
    border-radius: var(--au-radius-sm);
    border: 1px solid var(--au-line);
    cursor: pointer; object-fit: cover;
}


.change-num-add, .change-num-sub {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px;
    background: var(--au-surface); border: 1px solid var(--au-line);
    color: var(--au-ink-2); border-radius: var(--au-radius-sm);
    cursor: pointer; font-size: 15px; transition: all .15s ease; user-select: none;
}

.change-num-add:hover, .change-num-sub:hover { border-color: var(--au-primary); color: var(--au-primary); background: var(--au-primary-soft); }


.buy-divider { height: 1px; background: var(--au-line); margin: 14px 0; }


.amount-label { font-size: 12.5px; color: var(--au-ink-dis); }

.amount-value { font-size: 26px; font-weight: 800; color: var(--au-primary-deep); letter-spacing: -.6px; font-variant-numeric: tabular-nums; }


.cash-pay { display: flex; flex-wrap: wrap; gap: 10px; }


/* 卡密查询环形进度（宿主「查货」插件注入的 loading 环） */
.chahuo-ring { display: inline-flex; align-items: center; justify-content: center; }

/* v3.9.1 修复「商品卡点不开」：
   插件注入的 .chahuo-ring-overlay 是 position:fixed + inset:0 + z-index:2147483647 的全屏遮罩，
   由插件用 mask-hidden 属性控制显隐（false=显示中，true=已隐藏）。
   本主题旧版在这里写了 display:flex/position/background，把它强行点亮成常驻白罩，
   整页(含商品卡)的点击全被它吃掉 —— 这就是审核反馈的「商品卡点不开」。
   主题从此绝不改它的显隐与定位，只做单向保护：插件标记已隐藏(true)时确保它不挡人。 */
.chahuo-ring-overlay[mask-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* --------------------------------------------------------------------------
   8. 订单查询
   -------------------------------------------------------------------------- */
.order-query-form { margin: 0; }

.order-query-form .form-control { height: 42px; }

.btn-search-query { height: 42px; padding: 0 20px; border-radius: var(--au-radius-sm); }


.order-results { margin-top: 4px; }

.order-list { display: flex; flex-direction: column; gap: 12px; }


/* 脚本生成的订单卡 */
.order-list .order-item,
.order-list .order-card {
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    background: var(--au-surface-2);
    padding: 14px 16px;
}


.no-results .panel, .loading-state .panel { box-shadow: none; }

.icon-spin { animation: au-spin 1s linear infinite; display: inline-block; }

@keyframes au-spin { to { transform: rotate(360deg); } }


/* --------------------------------------------------------------------------
   9. 表单 / 按钮
   -------------------------------------------------------------------------- */
.form-control, .form-select {
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    color: var(--au-ink);
    font-size: 14px;
    padding: 9px 13px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.form-control:focus, .form-select:focus {
    background: var(--au-surface);
    border-color: var(--au-primary);
    box-shadow: var(--au-ring);
    color: var(--au-ink);
}

.form-control::placeholder { color: var(--au-ink-dis); }

.form-control:disabled, .form-control[readonly] { background: var(--au-bg-2); color: var(--au-ink-dis); }

.form-label { font-size: 13px; font-weight: 600; color: var(--au-ink-2); margin-bottom: 6px; }

.form-check-input:checked { background-color: var(--au-primary-fill); border-color: var(--au-primary); }


.btn {
    border-radius: var(--au-radius-sm);
    font-size: 13.5px; font-weight: 600;
    padding: 9px 16px;
    transition: all .18s ease;
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep));
    border-color: transparent; color: #fff;
    box-shadow: var(--au-sh-primary);
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep));
    border-color: transparent; color: var(--au-on-solid);
    filter: brightness(1.05); box-shadow: var(--au-sh-primary);
}

.btn-primary:disabled { opacity: .55; filter: none; }

.btn-light, .btn-default {
    background: var(--au-surface); border-color: var(--au-line); color: var(--au-ink-2);
}

.btn-light:hover { background: var(--au-primary-soft); border-color: var(--au-primary); color: var(--au-primary); }

.btn-ghost { background: transparent; border: 1px solid var(--au-line); color: var(--au-ink-2); }

.btn-ghost:hover { border-color: var(--au-primary); color: var(--au-primary); }

.btn-gradient {
    background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep));
    border: 0; color: #fff; box-shadow: var(--au-sh-primary);
}

.btn-gradient:hover { filter: brightness(1.06); color: #fff; }


/* --------------------------------------------------------------------------
   10. 表格
   -------------------------------------------------------------------------- */
.table { color: var(--au-ink-2); margin-bottom: 0; vertical-align: middle; }

.table > :not(caption) > * > * { background: transparent; border-bottom-color: var(--au-line); padding: 11px 13px; }

.table thead th, .table > thead > tr > th {
    font-size: 12.5px; font-weight: 700; color: var(--au-ink-dis);
    text-transform: uppercase; letter-spacing: .4px;
    border-bottom: 1px solid var(--au-line-strong) !important;
    background: var(--au-surface-2);
}

.table tbody tr { transition: background .15s ease; }

.table tbody tr:hover, .table-hover > tbody > tr:hover > * { background: var(--au-primary-soft); color: var(--au-ink); }


.bootstrap-table .fixed-table-container { border: 1px solid var(--au-line) !important; border-radius: var(--au-radius) !important; overflow: hidden; }

.bootstrap-table .fixed-table-toolbar { padding: 10px 12px; }

.bootstrap-table .fixed-table-pagination { border-top: 1px solid var(--au-line); padding: 10px 12px; }

.pagination .page-link {
    border: 1px solid var(--au-line); color: var(--au-ink-2);
    border-radius: var(--au-radius-sm) !important; margin: 0 3px;
    background: var(--au-surface);
}

.pagination .page-item.active .page-link {
    background: var(--au-primary-fill); border-color: var(--au-primary); color: #fff;
    box-shadow: var(--au-sh-primary);
}

.pagination .page-link:hover { background: var(--au-primary-soft); color: var(--au-primary); border-color: var(--au-primary); }


/* --------------------------------------------------------------------------
   11. 弹层 / 提示
   -------------------------------------------------------------------------- */
.layui-layer, .layui-layer-page, .layui-layer-dialog {
    border-radius: var(--au-radius) !important;
    overflow: hidden;
    box-shadow: var(--au-sh-3) !important;
    border: 1px solid var(--au-line);
}

.layui-layer-title { background: var(--au-surface-2) !important; border-bottom: 1px solid var(--au-line) !important; color: var(--au-ink) !important; font-weight: 700; }

.layui-layer-content { color: var(--au-ink-2); background: var(--au-surface); }

.layui-layer-btn a { border-radius: var(--au-radius-sm) !important; }

.layui-layer-btn .layui-layer-btn0 { background: var(--au-primary-fill) !important; border-color: var(--au-primary) !important; }


.modal-content { background: var(--au-surface); border: 1px solid var(--au-line); border-radius: var(--au-radius); color: var(--au-ink); }

.modal-header, .modal-footer { border-color: var(--au-line); }


#toast-container > div, .toast {
    border-radius: var(--au-radius-sm) !important;
    box-shadow: var(--au-sh-3) !important;
    opacity: .98 !important;
    font-size: 13.5px;
}


/* --------------------------------------------------------------------------
   12. 页脚
   -------------------------------------------------------------------------- */
footer {
    margin-top: 34px; padding: 26px 20px 34px;
    text-align: center; font-size: 12.5px; color: var(--au-ink-dis);
    border-top: 1px solid var(--au-line);
}

footer a { color: var(--au-ink-2); }

footer a:hover { color: var(--au-primary); }


/* --------------------------------------------------------------------------
   13. 会员中心外壳（顶栏 + 侧栏 + 内容）
   -------------------------------------------------------------------------- */
.uc-bg, .bg-content { min-height: 100vh; }


.uc-nav-wrap {
    position: sticky; top: 0; z-index: 900;
    background: var(--au-glass);
    -webkit-backdrop-filter: var(--au-blur);
    backdrop-filter: var(--au-blur);
    border-bottom: 1px solid var(--au-line);
}

.uc-nav {
    display: flex; align-items: center; gap: 12px;
    width: 100%; max-width: var(--au-content); box-sizing: border-box;
    margin: 0 auto; padding: 0 20px; height: 62px;
}

/* PC 顶栏防错位：品牌、主导航、右侧用户区各自占据稳定空间，
   中间导航允许收缩，避免窗口较窄时把右侧控件顶出屏幕。 */
.uc-brand { min-width: 0; max-width: 220px; }
.uc-brand__name { overflow: hidden; text-overflow: ellipsis; }
.uc-nav__list { flex: 1 1 auto; min-width: 0; }
.uc-nav__right { flex: 0 0 auto; min-width: max-content; }

.uc-brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }

.uc-brand__logo { width: 32px; height: 32px; border-radius: 10px; object-fit: cover; }

.uc-brand__name { font-size: 16px; font-weight: 800; color: var(--au-ink); white-space: nowrap; }


.uc-nav__list { display: flex; align-items: center; gap: 3px; list-style: none; margin: 0; padding: 0; flex-wrap: nowrap; overflow: hidden; }

.uc-nav__item, .uc-nav__link {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 13px; border-radius: var(--au-radius-pill);
    font-size: 13.5px; font-weight: 600; color: var(--au-ink-2);
    white-space: nowrap; transition: all .18s ease;
}

.uc-nav__item:hover, .uc-nav__link:hover { background: var(--au-primary-soft); color: var(--au-primary-deep); }

.uc-nav__item.active, .uc-nav__link.active {
    background: var(--au-primary-fill); color: #fff; box-shadow: var(--au-sh-primary);
}

.uc-nav__item .material-icons-outlined { font-size: 18px; }

.uc-nav__right { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: 0 0 auto; }


.uc-burger {
    display: none; align-items: center; justify-content: center;
    width: 38px; height: 38px;
    background: var(--au-surface); border: 1px solid var(--au-line);
    border-radius: 12px; color: var(--au-ink-2); cursor: pointer;
}

.uc-burger .material-icons-outlined { font-size: 20px; }


.uc-drawer {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000;
    width: 84%; max-width: 320px; padding: 18px 14px;
    background: var(--au-glass-strong);
    -webkit-backdrop-filter: var(--au-blur); backdrop-filter: var(--au-blur);
    border-right: 1px solid var(--au-line);
    overflow-y: auto; transform: translateX(-104%);
    transition: transform .3s cubic-bezier(.4, 0, .2, 1); display: none;
}

body.uc-drawer-open .uc-drawer { transform: translateX(0); }

.uc-drawer__gtitle {
    font-size: 11px; font-weight: 800; letter-spacing: .8px;
    color: var(--au-ink-dis); text-transform: uppercase;
    padding: 12px 12px 6px;
}

.uc-drawer__link {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 12px; border-radius: var(--au-radius-sm);
    font-size: 14px; font-weight: 600; color: var(--au-ink-2);
}

.uc-drawer__link:hover, .uc-drawer__link.active { background: var(--au-primary-soft); color: var(--au-primary-deep); }

.uc-drawer__link .material-icons-outlined { font-size: 20px; color: var(--au-ink-dis); }

.uc-drawer__link.active .material-icons-outlined { color: var(--au-primary-deep); }

.uc-drawer__shade {
    position: fixed; inset: 0; z-index: 999;
    background: rgb(10 12 18 / .44);
    opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease;
}

body.uc-drawer-open .uc-drawer__shade { opacity: 1; visibility: visible; }
@media (max-width: 900px){

    .uc-nav__list, .uc-nav__right .uc-nav__link { display: none !important; }

    .uc-burger { display: inline-flex !important; }

    .uc-drawer { display: block !important; }
}


/* layui 侧栏菜单 → 极光侧栏 */
.layui-nav {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 8px !important;
}

.layui-nav-tree .layui-nav-item a {
    height: auto !important; line-height: 1.5 !important;
    padding: 10px 14px !important;
    border-radius: var(--au-radius-sm) !important;
    color: var(--au-ink-2) !important;
    font-size: 14px !important; font-weight: 600;
    display: flex !important; align-items: center; gap: 10px;
    transition: all .16s ease;
}

.layui-nav-tree .layui-nav-item a:hover { background: var(--au-primary-soft) !important; color: var(--au-primary-deep) !important; }

.layui-nav-tree .layui-nav-item.layui-this a,
.layui-nav-tree .layui-nav-item a.active {
    background: var(--au-primary-fill) !important; color: #fff !important;
    box-shadow: var(--au-sh-primary);
}

.layui-nav-tree .layui-nav-item.layui-this a .layui-icon,
.layui-nav-tree .layui-nav-item a:hover .layui-icon { color: inherit !important; }

.layui-nav-itemed > .layui-nav-child { background: transparent !important; }

.layui-nav .layui-badge { border-radius: var(--au-radius-pill); }

.layui-bg-pro { background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep)) !important; }


/* --------------------------------------------------------------------------
   14. 认证页
   -------------------------------------------------------------------------- */
.auth-wrapper { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 28px 16px; }

.auth-card {
    width: 100%; max-width: 430px;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-lg);
    box-shadow: var(--au-sh-3);
    padding: 32px 30px;
}

.auth-title { font-size: 22px; font-weight: 800; color: var(--au-ink); letter-spacing: -.4px; margin-bottom: 6px; }

.auth-subtitle { font-size: 13.5px; color: var(--au-ink-dis); margin-bottom: 22px; }

.brand-header { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }

.brand-logo, .brand-icon { width: 40px; height: 40px; border-radius: 12px; object-fit: cover; }

.brand-badge {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px;
    background: var(--au-primary-soft); color: var(--au-primary-deep);
    border-radius: var(--au-radius-pill); font-size: 11.5px; font-weight: 700;
}

.divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--au-ink-dis); font-size: 12px; }

.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--au-line); }

.text-link { color: var(--au-primary); font-weight: 600; }

.dot { width: 6px; height: 6px; border-radius: 50%; background: var(--au-primary-fill); display: inline-block; }

.image-code, .prompt-image-code { border-radius: var(--au-radius-sm); border: 1px solid var(--au-line); }

.btn-passkey { display: inline-flex; align-items: center; gap: 8px; }

.btn-passkey__badge { font-size: 11px; opacity: .85; }

.toggle-pass { cursor: pointer; color: var(--au-ink-dis); }

.input-icon-end { position: relative; }

.input-icon-end .toggle-pass { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }


/* --------------------------------------------------------------------------
   15. 工具类
   -------------------------------------------------------------------------- */
.text-muted { color: var(--au-ink-dis) !important; }

.text-primary { color: var(--au-primary) !important; }

.border { border-color: var(--au-line) !important; }

.bg-white, .bg-body { background: var(--au-surface) !important; }

.shadow-sm { box-shadow: var(--au-sh-1) !important; }

hr { border-color: var(--au-line); opacity: 1; }

.dropdown-menu {
    background: var(--au-surface); border: 1px solid var(--au-line);
    border-radius: var(--au-radius); box-shadow: var(--au-sh-3); padding: 6px;
}

.dropdown-item { border-radius: var(--au-radius-sm); font-size: 13.5px; color: var(--au-ink-2); padding: 8px 12px; }

.dropdown-item:hover { background: var(--au-primary-soft); color: var(--au-primary-deep); }


/* 打印 */
@media print {
    .uc-topbar, footer, .uc-nav-wrap { display: none !important; }
    .panel { box-shadow: none; border: 1px solid #ddd; }
}


/* 降低动效偏好 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}


/* --------------------------------------------------------------------------
   16. 主题色色板（后台「主题色」下拉/填写对应值）
   -------------------------------------------------------------------------- */
html[data-au-color="indigo"]  { --au-h: 243; --au-s: 75%; }

html[data-au-color="violet"]  { --au-h: 268; --au-s: 74%; }

html[data-au-color="blue"]    { --au-h: 217; --au-s: 86%; }

html[data-au-color="cyan"]    { --au-h: 190; --au-s: 90%; }

html[data-au-color="teal"]    { --au-h: 173; --au-s: 80%; }

html[data-au-color="emerald"] { --au-h: 158; --au-s: 74%; }

html[data-au-color="amber"]   { --au-h: 32;  --au-s: 94%; }

html[data-au-color="orange"]  { --au-h: 22;  --au-s: 92%; }

html[data-au-color="rose"]    { --au-h: 343; --au-s: 82%; }

html[data-au-color="pink"]    { --au-h: 330; --au-s: 81%; }

html[data-au-color="slate"]   { --au-h: 222; --au-s: 18%; }


/* --------------------------------------------------------------------------
   17. 公告条
   -------------------------------------------------------------------------- */
.au-announce {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 20px;
    background: linear-gradient(90deg, var(--au-primary-soft), color-mix(in srgb, var(--au-accent) 10%, transparent));
    border-bottom: 1px solid var(--au-line);
    font-size: 13px; font-weight: 600; color: var(--au-primary-deep);
}


/* --------------------------------------------------------------------------
   18. 悬浮客服
   -------------------------------------------------------------------------- */
.au-service {
    position: fixed; right: 24px; bottom: 26px; z-index: 940;
    display: inline-flex; align-items: center; gap: 8px;
    height: 46px; padding: 0 18px 0 15px;
    background: linear-gradient(135deg, var(--au-primary-fill), var(--au-accent-deep));
    color: #fff; border-radius: var(--au-radius-pill);
    box-shadow: var(--au-sh-primary);
    font-size: 13.5px; font-weight: 700;
    transition: transform .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s ease;
}


/* --------------------------------------------------------------------------
   19. 页脚 / 回到顶部
   -------------------------------------------------------------------------- */
.au-footer { padding: 34px 20px 40px; border-top: 1px solid var(--au-line); margin-top: 40px; text-align: center; }


/* 面板补充 */
.au-panel-more {
    margin-left: auto; display: inline-flex; align-items: center; gap: 2px;
    font-size: 12.5px; font-weight: 600; color: var(--au-ink-dis);
}


/* --------------------------------------------------------------------------
   20. 会员中心：顶栏二级菜单 / 收合态
   -------------------------------------------------------------------------- */
.uc-nav { position: relative; }

.uc-nav__list > li { position: relative; list-style: none; }

.uc-caret { font-size: 17px !important; opacity: .7; transition: transform .2s ease; }

.uc-has-sub.is-open .uc-caret, .uc-user.is-open .uc-caret { transform: rotate(180deg); }

.uc-has-sub.is-open > .uc-nav__item { background: var(--au-primary-soft); color: var(--au-primary-deep); }


.uc-submenu {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 40;
    min-width: 214px; padding: 7px;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-sh-3);
    opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98);
    transition: all .18s cubic-bezier(.4, 0, .2, 1);
}

.uc-has-sub.is-open > .uc-submenu, .uc-user.is-open > .uc-submenu { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }

.uc-submenu--right { left: auto; right: 0; }

.uc-subitem {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: var(--au-radius-sm);
    font-size: 13.5px; font-weight: 600; color: var(--au-ink-2);
    white-space: nowrap; transition: all .15s ease;
}

.uc-subitem:hover, .uc-subitem.active { background: var(--au-primary-soft); color: var(--au-primary-deep); }

.uc-subitem .material-icons-outlined { font-size: 18px; color: var(--au-ink-dis); }

.uc-subitem:hover .material-icons-outlined, .uc-subitem.active .material-icons-outlined { color: var(--au-primary-deep); }

.uc-subitem.is-danger { color: var(--au-danger); }

.uc-subitem.is-danger .material-icons-outlined { color: var(--au-danger); }

.uc-subitem.is-danger:hover { background: color-mix(in srgb, var(--au-danger) 10%, transparent); }

.uc-subitem__badge {
    margin-left: auto; padding: 1.5px 7px; border-radius: var(--au-radius-pill);
    background: var(--au-primary-soft); color: var(--au-primary-deep);
    font-size: 10.5px; font-weight: 700;
}

.uc-submenu__sep { height: 1px; margin: 6px 4px; background: var(--au-line); }


.uc-balance {
    display: inline-flex; align-items: center; gap: 7px;
    height: 38px; padding: 0 14px;
    background: var(--au-primary-soft);
    border-radius: var(--au-radius-pill);
    font-size: 12.5px; color: var(--au-primary-deep);
    white-space: nowrap;
}

.uc-balance__label { font-weight: 600; opacity: .8; }

.uc-balance b { font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }


.uc-user { position: relative; }

.uc-user__btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 4px 12px 4px 4px;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-pill);
    cursor: pointer; transition: all .18s ease;
}

.uc-user__btn:hover { border-color: var(--au-primary); box-shadow: var(--au-sh-2); }

.uc-user__btn img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }

.uc-user__name { font-size: 13px; font-weight: 700; color: var(--au-ink); max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


/* PC 窄窗口：优先保留用户区，隐藏低优先级商城/余额，避免顶部错位。 */
@media (min-width: 561px) and (max-width: 1180px) {
    .uc-nav { padding-left: 14px; padding-right: 14px; gap: 8px; }
    .uc-nav__list { gap: 1px; }
    .uc-nav__item, .uc-nav__link { padding-left: 9px; padding-right: 9px; }
    .uc-nav__right .uc-nav__link--shop,
    .uc-nav__right .uc-balance { display: none; }
}

/* 顶栏放不下时收进抽屉 */
html.uc-force-compact .uc-nav__list,
html.uc-force-compact .uc-nav__right .uc-nav__link,
html.uc-force-compact .uc-nav__right .uc-balance { display: none !important; }

html.uc-force-compact .uc-burger { display: inline-flex !important; }


/* 抽屉里的用户卡与徽章 */
.au-drawer-user {
    display: flex; align-items: center; gap: 12px;
    padding: 12px; margin-bottom: 8px;
    background: var(--au-primary-soft);
    border-radius: var(--au-radius);
}

.uc-drawer__badge {
    margin-left: auto; padding: 1.5px 7px; border-radius: var(--au-radius-pill);
    background: var(--au-primary-soft); color: var(--au-primary-deep);
    font-size: 10.5px; font-weight: 700;
}


/* --------------------------------------------------------------------------
   21. 会员中心内容区（各页面共用的 .uc-main / .uc-card 集群）
   -------------------------------------------------------------------------- */
.uc-main {
    max-width: var(--au-content);
    margin: 0 auto;
    padding: 20px;
}

.uc-card {
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-lg);
    box-shadow: var(--au-sh-2);
    overflow: hidden;
    margin-bottom: 16px;
}

.uc-card__head {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--au-line);
    background: linear-gradient(180deg, var(--au-surface-2), var(--au-surface));
}

.uc-card__head .material-icons-outlined {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 9px;
    background: var(--au-primary-soft); color: var(--au-primary);
    font-size: 17px;
}

.uc-card__title { font-size: 15px; font-weight: 700; color: var(--au-ink); }

.uc-card__body { padding: 18px; }

.uc-card__body > :last-child { margin-bottom: 0; }


.uc-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 14px; }

.uc-subtab { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }

.uc-subtab a {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 15px; border-radius: var(--au-radius-pill);
    background: var(--au-surface-2); border: 1px solid var(--au-line);
    font-size: 13px; font-weight: 600; color: var(--au-ink-2);
}

.uc-subtab a:hover { border-color: var(--au-primary); color: var(--au-primary); }

.uc-subtab a.active {
    background: var(--au-primary-fill); border-color: var(--au-primary); color: #fff;
    box-shadow: var(--au-sh-primary);
}

.uc-subtab a .material-icons-outlined { font-size: 17px; }


/* layui 按钮跟随主题 */
.layui-btn { border-radius: var(--au-radius-sm) !important; font-size: 13px; font-weight: 600; }

.layui-btn-normal, .layui-btn-sm.button-add { background: var(--au-primary-fill) !important; }

.layui-btn-normal:hover { filter: brightness(1.06); }

.layui-input, .layui-textarea, .layui-select {
    border-color: var(--au-line) !important; border-radius: var(--au-radius-sm) !important;
    background: var(--au-surface) !important; color: var(--au-ink) !important;
}

.layui-input:focus, .layui-textarea:focus { border-color: var(--au-primary) !important; box-shadow: var(--au-ring) !important; }

.layui-form-label { color: var(--au-ink-2); font-weight: 600; }

.layui-form-select dl { background: var(--au-surface); border: 1px solid var(--au-line); border-radius: var(--au-radius-sm); box-shadow: var(--au-sh-3); }

.layui-form-select dl dd:hover { background: var(--au-primary-soft); color: var(--au-primary-deep); }

.layui-form-select dl dd.layui-this { background: var(--au-primary-fill); color: #fff; }

.layui-table td, .layui-table th { border-color: var(--au-line); color: var(--au-ink-2); }

.layui-table-view { border-color: var(--au-line); border-radius: var(--au-radius); overflow: hidden; }

.layui-table-header { background: var(--au-surface-2); }


/* ==========================================================================
   22. 性能层（v1.1.0 新增）
   --------------------------------------------------------------------------
   后台「性能模式」三档：
     rich     光效优先：保留毛玻璃、完整动效
     balanced 均衡（默认）：关掉滚动中的毛玻璃，保留过渡
     turbo    极致流畅：再关掉位移动效与骨架动画
   ========================================================================== */

/* 均衡档：玻璃层换成不透明底 + 关模糊 */
html[data-au-perf="balanced"],
html[data-au-perf="turbo"] {
    --au-glass: var(--au-surface);
    --au-glass-strong: var(--au-surface);
    --au-blur: 0px;
    --au-blur-soft: 0px;
}

/* PC 性能优化：balanced 不再使用 backdrop-filter / 动态模糊。
   这些效果会让桌面浏览器持续重采样大面积背景，尤其是商品长列表滚动时，
   GPU 占用和功耗会明显上升。保留阴影、卡片 hover 与整体视觉层次。 */
html[data-au-perf="balanced"] .au-top,
html[data-au-perf="balanced"] .au-side,
html[data-au-perf="balanced"] .uc-side,
html[data-au-perf="balanced"] .au-card,
html[data-au-perf="balanced"] .au-panel,
html[data-au-perf="balanced"] .au-foot,
html[data-au-perf="balanced"] .au-totop,
html[data-au-perf="balanced"] .au-auth .card,
html[data-au-perf="balanced"] .au-auth .panel,
html[data-au-perf="balanced"] [data-au-glass] {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html[data-au-perf="balanced"] .au-top,
html[data-au-perf="balanced"] .au-foot,
html[data-au-perf="balanced"] .au-side,
html[data-au-perf="balanced"] .uc-side,
html[data-au-perf="balanced"] .au-card,
html[data-au-perf="balanced"] .au-panel,
html[data-au-perf="balanced"] .au-auth .card,
html[data-au-perf="balanced"] .au-auth .panel {
    background: var(--au-paper) !important;
}

/* balanced 下停掉持续运行的背景光效；页面静态质感仍保留。 */
html[data-au-perf="balanced"] .au-world__veil,
html[data-au-perf="balanced"] .au-world__stars,
html[data-au-perf="balanced"] .skeleton-item::after,
html[data-au-perf="balanced"] .au-skel::after {
    animation: none !important;
}
html[data-au-perf="balanced"] .au-world__veil {
    filter: none;
    opacity: .24;
}
html[data-au-perf="balanced"] .au-world__stars {
    opacity: 0;
}

html[data-au-perf="turbo"] {
    --au-anim: 0s;
    --au-sh-1: none;
    --au-sh-2: none;
    --au-sh-3: none;
    --au-sh-primary: none;
}

html[data-au-perf="turbo"] .item-card-cell:hover .acg-card { transform: none; box-shadow: none; }

html[data-au-perf="turbo"] .item-message::before { animation: none; border-top-color: var(--au-line); }

html[data-au-perf="turbo"] .au-fab { box-shadow: none; }

html[data-au-perf="turbo"] .skeleton-item::after { animation: none; }


/* 滚动过程中一律不合成毛玻璃：sticky 顶栏 + 模糊 = 每帧重采样背景，长列表滚动的头号掉帧源 */
html.au-scrolling .uc-topbar,
html.au-scrolling .uc-nav-wrap,
html.au-scrolling .au-announce,
html.au-scrolling .au-fab,
html.au-scrolling .uc-drawer {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}


/* 尊重系统的「减少动态效果」 */
@media (prefers-reduced-motion: reduce) {
    html { --au-anim: 0s; }
    .item-message::before { animation: none; }
    .acg-card, .item-card-cell:hover .acg-card { transition: none !important; transform: none !important; }
}


/* 骨架屏（首页商品加载中） */
.skeleton-item {
    position: relative; overflow: hidden;
    background: var(--au-surface-2);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    height: 100%; min-height: 300px;
}

.skeleton-item::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 22%, rgb(255 255 255 / .55) 50%, transparent 78%);
    transform: translateX(-100%);
    animation: au-shimmer 1.25s ease-in-out infinite;
}

html[data-theme="dark"] .skeleton-item::after {
    background: linear-gradient(100deg, transparent 22%, rgb(255 255 255 / .06) 50%, transparent 78%);
}

@keyframes au-shimmer { to { transform: translateX(100%); } }


/* 商品区滚动锚点：长列表里给「回到顶部」留出呼吸 */
#au-items-top { scroll-margin-top: 84px; }


/* 面板头部右侧的控件（视图切换 / 更多）统一靠右 */
.panel-header .au-view { margin-left: auto; }

.panel-header .au-view + .au-panel-more { margin-left: 10px; }


/* ==========================================================================
   21. 富文本内容防溢出（商品详情 / 公告 / 任何直出的 HTML）
   —— 卖家在描述里贴大图、宽表格时，不再撑破手机屏幕
   ========================================================================== */
.au-rich { overflow-wrap: anywhere; word-break: break-word; }

/* 全局兜底：任何直出 HTML 的媒体元素都不许超出容器 */
.item-detail .panel-body img,
.item-detail .panel-body video,
.item-detail .panel-body iframe,
.au-notice img, .au-notice video, .au-notice iframe { max-width: 100% !important; height: auto !important; }

html, body { max-width: 100%; overflow-x: hidden; }


/* 桌面端：悬停即展开二级菜单（不依赖脚本，脚本挂了照样能用） */
@media (hover: hover) and (pointer: fine) {
    .uc-has-sub:hover > .uc-submenu {
        opacity: 1; visibility: visible; transform: translateY(0) scale(1);
    }
    .uc-has-sub:hover > .uc-nav__item {
        background: var(--au-primary-soft); color: var(--au-primary-deep);
    }
    .uc-has-sub:hover .uc-caret { transform: rotate(180deg); }
    .uc-submenu::before { content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
}


/* ==========================================================================
   22. v1.2 精装层
   —— 覆盖式增强：统一更精致的圆角/阴影/层次，顶栏玻璃、按钮光泽、
      商品卡质感、价格权重。不动任何功能类名，可随时整段删除回退。
   ========================================================================== */

/* 1) 设计令牌升级：更大的圆角、更深更柔的阴影 */
:root {
    --au-radius: 16px;
    --au-radius-sm: 11px;
    --au-radius-lg: 22px;
    --au-sh-1: 0 1px 2px rgb(20 22 31 / .05), 0 2px 6px rgb(20 22 31 / .05);
    --au-sh-2: 0 4px 10px rgb(20 22 31 / .06), 0 14px 34px -12px rgb(20 22 31 / .16);
    --au-sh-3: 0 8px 22px rgb(20 22 31 / .09), 0 30px 64px -20px rgb(20 22 31 / .24);
    --au-sh-primary: 0 10px 26px -8px hsl(var(--au-h) var(--au-s) 58% / .55);
}

html[data-theme="dark"] {
    --au-sh-1: 0 1px 2px rgb(0 0 0 / .3), 0 2px 6px rgb(0 0 0 / .3);
    --au-sh-2: 0 4px 10px rgb(0 0 0 / .34), 0 14px 34px -12px rgb(0 0 0 / .5);
    --au-sh-3: 0 8px 22px rgb(0 0 0 / .4), 0 30px 64px -20px rgb(0 0 0 / .6);
}


/* 2) 顶栏：玻璃 + 底部渐变发丝线 */
.shop-nav, .uc-nav {
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
}

.shop-nav-wrap::after, .uc-nav-wrap::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        color-mix(in srgb, var(--au-primary) 34%, transparent) 22%,
        color-mix(in srgb, var(--au-primary) 34%, transparent) 78%,
        transparent 100%);
    pointer-events: none;
}

.shop-nav-wrap, .uc-nav-wrap { position: relative; }


/* 品牌区：主色渐变字 + 更精致的 logo 描边 */
.shop-brand__name, .uc-brand__name {
    background: linear-gradient(135deg, var(--au-ink) 0%, var(--au-primary-deep) 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: var(--au-primary-deep);
}

html[data-theme="dark"] .shop-brand__name,
html[data-theme="dark"] .uc-brand__name {
    background: linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--au-primary) 70%, #fff) 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}

.shop-brand__logo, .uc-brand__logo {
    border: 1px solid color-mix(in srgb, var(--au-primary) 22%, transparent);
    box-shadow: 0 2px 8px -2px color-mix(in srgb, var(--au-primary) 40%, transparent);
}


/* 3) 胶囊导航：选中态更饱满 */
.shop-nav__link.is-active, .shop-nav__link.active,
.uc-nav__item.is-active, .uc-nav__item.active {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--au-primary) 16%, transparent),
        color-mix(in srgb, var(--au-primary) 8%, transparent));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--au-primary) 22%, transparent);
    font-weight: 700;
}


/* 4) 主按钮 / 召唤按钮：渐变 + 内高光 */
.shop-cta, .uc-cta, .btn-primary, .au-btn-primary,
.shop-search__btn, .uc-search__btn {
    background-image: linear-gradient(135deg,
        color-mix(in srgb, var(--au-primary-fill) 88%, #000) 0%,
        var(--au-accent-deep) 100%);
    box-shadow: var(--au-sh-primary), inset 0 1px 0 rgb(255 255 255 / .28);
    border-color: transparent;
    color: var(--au-on-solid);
}

.shop-cta:active, .uc-cta:active, .btn-primary:active { transform: translateY(1px); }


/* 5) 商品卡：统一 1:1 封面 + 悬停微缩放 + 价格更强 */
.acg-thumb, .acg-cover { aspect-ratio: 1 / 1; }

.item-list > .item-card-cell { contain-intrinsic-size: auto 400px; }

.item-card-cell .acg-thumb, .item-card-cell .acg-cover {
    transition: transform calc(var(--au-anim) * 1.6) cubic-bezier(.22, .8, .3, 1);
    will-change: transform;
}

.item-card-cell:hover .acg-thumb, .item-card-cell:hover .acg-cover { transform: scale(1.045); }

.acg-card { border-color: color-mix(in srgb, var(--au-line) 78%, transparent); }

.item-card-cell:hover .acg-card {
    border-color: color-mix(in srgb, var(--au-primary) 55%, transparent);
    box-shadow: var(--au-sh-3);
}

.acg-body { padding: 13px 14px 14px; gap: 8px; }

.goods-title, .acg-body .goods-title { font-size: 14px; font-weight: 650; letter-spacing: -.01em; }

.price { font-size: 20px; font-weight: 850; letter-spacing: -.6px; }

.stat-bottom { border-top-color: color-mix(in srgb, var(--au-line) 72%, transparent); padding-top: 9px; }

.soldout-ribbon {
    background: linear-gradient(135deg, rgb(20 22 31 / .88), rgb(20 22 31 / .72));
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgb(0 0 0 / .22);
}


/* 6) 面板 / 卡片：统一发丝描边 + 分层 */
.panel, .uc-card, .shop-panel {
    border-color: color-mix(in srgb, var(--au-line) 76%, transparent);
    box-shadow: var(--au-sh-2);
}

.panel-header, .uc-card__head { border-bottom-color: color-mix(in srgb, var(--au-line) 70%, transparent); }


/* 7) 焦点环：更现代的键盘可达性 */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--au-primary);
    outline-offset: 2px;
    border-radius: var(--au-radius-sm);
}


/* 8) 滚动条：精致化（仅桌面） */
@media (hover: hover) and (pointer: fine) {
    * { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--au-ink-dis) 42%, transparent) transparent; }
    *::-webkit-scrollbar { width: 10px; height: 10px; }
    *::-webkit-scrollbar-track { background: transparent; }
    *::-webkit-scrollbar-thumb {
        background: color-mix(in srgb, var(--au-ink-dis) 36%, transparent);
        border: 3px solid transparent; background-clip: content-box; border-radius: 999px;
    }
    *::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--au-ink-dis) 58%, transparent); background-clip: content-box; }
}


/* 9) 极光氛围：页面顶部一层极淡的主色光晕（高级感的来源） */
.bg-content::before {
    content: ""; position: fixed; inset: 0 0 auto 0; height: 420px; z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(58% 100% at 18% 0%, color-mix(in srgb, var(--au-primary) 13%, transparent) 0%, transparent 62%),
        radial-gradient(48% 90% at 86% 4%, color-mix(in srgb, var(--au-accent) 10%, transparent) 0%, transparent 60%);
}

html[data-au-perf="turbo"] .bg-content::before { display: none; }


/* ==========================================================================
   23. 宽表格兜底：列多时容器内横向滚动，不撑破页面
   ========================================================================== */
.uc-card__body, .panel-body { max-width: 100%; }
@media (max-width: 1100px){

    .uc-card__body { overflow-x: auto; }

    .uc-main .fixed-table-body { overflow-x: auto !important; }
}


/* --------------------------------------------------------------------------
   20. v1.3.0 新增：首页头图区 / 公告关闭 / 页脚扩展
   -------------------------------------------------------------------------- */

/* 首页头图区（后台「首页大标题」留空则整块不渲染） */
.au-hero { margin-bottom: 16px; }


/* 公告条：可点击 + 可关闭 */
.au-announce { position: relative; padding-right: 38px; }


/* 页脚扩展：自定义链接 + 底部小字 */
.au-footer__lnk { font-size: 13px; font-weight: 600; color: var(--au-ink-2); }


html[data-au-perf="turbo"] .au-hero__inner { box-shadow: none; }

html[data-au-perf="turbo"] .au-hero__title { background: none; -webkit-text-fill-color: currentColor; }

/* ========================= 第 2 段 · 商城前台设计系统 v2 ========================= */
/* ==========================================================================
   01 静态令牌 —— 与明暗无关的尺度、动效、层次
   ========================================================================= */
:root {
    --au-font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans",
        "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
    --au-font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;
    --au-font-display: Georgia, "Times New Roman", var(--au-font-serif);
    --au-font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
    --au-font-num: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Roboto,
        "PingFang SC", "Microsoft YaHei", sans-serif;

    --au-ease-out: cubic-bezier(.22, 1, .36, 1);
    --au-ease-spring: cubic-bezier(.34, 1.4, .64, 1);
    --au-ease-io: cubic-bezier(.65, 0, .35, 1);
    --au-t1: 120ms;
    --au-t2: 200ms;
    --au-t3: 320ms;
    --au-t4: 520ms;

    --au-r-xs: 6px;
    --au-r-sm: 10px;
    --au-r-md: 14px;
    --au-r-lg: 20px;
    --au-r-xl: 28px;
    --au-r-pill: 999px;

    --au-z-header: 100;
    --au-z-drawer: 140;
    --au-z-pop: 300;
    --au-z-modal: 1000;
    --au-z-toast: 9000;

    --au-wrap: 1320px;
    --au-gutter: 24px;
    --au-side: 232px;

    --au-blur: 18px;
    --au-blur-soft: 10px;
}

/* 圆角档位（后台「圆角风格」） */
:root[data-au-radius="rounded"] {
    --au-r-xs: 10px; --au-r-sm: 14px; --au-r-md: 20px; --au-r-lg: 26px; --au-r-xl: 34px;
}
:root[data-au-radius="sharp"] {
    --au-r-xs: 2px; --au-r-sm: 3px; --au-r-md: 4px; --au-r-lg: 6px; --au-r-xl: 8px;
}

/* 内容宽度档位（后台「内容宽度」） */
:root[data-au-width="compact"] { --au-wrap: 1120px; --au-side: 216px; }
:root[data-au-width="wide"]    { --au-wrap: 1520px; --au-side: 256px; }

/* ==========================================================================
   02 光暗色板
   ========================================================================= */

/* —— 白昼 · 极昼暖光 —— */
:root[data-theme="light"] {
    /* 底色/面/字:色相取自后台「主题色」,明度与旧版逐档对齐(观感不变,只换色相) */
    --au-bg: hsl(var(--au-h) 30% 92%);
    --au-bg-2: hsl(var(--au-h) 28% 87%);
    --au-paper: hsl(var(--au-h) 42% 96%);
    --au-paper-2: hsl(var(--au-h) 32% 91%);
    --au-paper-3: hsl(var(--au-h) 28% 84%);
    --au-paper-a: hsl(var(--au-h) 42% 96% / .88);
    --au-paper-b: hsl(var(--au-h) 42% 96% / .72);

    --au-ink: hsl(var(--au-h) 22% 14%);
    --au-ink-2: hsl(var(--au-h) 16% 31%);
    --au-ink-3: hsl(var(--au-h) 16% 34%);
    --au-ink-4: hsl(var(--au-h) 11% 38%);

    --au-line: hsl(var(--au-h) 24% 28% / .14);
    --au-line-2: hsl(var(--au-h) 24% 28% / .26);
    --au-line-3: hsl(var(--au-h) 24% 28% / .40);

    --au-gilt: hsl(var(--au-h) 50% 40%);
    --au-gilt-2: hsl(var(--au-h) 56% 68%);
    --au-gilt-text: hsl(var(--au-h) 58% 30%);
    --au-mark: hsl(var(--au-h) 62% 44%);
    --au-mark-2: hsl(var(--au-h) 66% 34%);
    --au-mark-soft: hsl(var(--au-h) 62% 44% / .10);
    --au-mark-line: hsl(var(--au-h) 62% 44% / .26);

    --au-ok:   #166A46;
    --au-warn: #8A5713;
    --au-bad:  #A63024;
    --au-ok-soft:   rgba(31, 122, 85, .11);
    --au-warn-soft: rgba(180, 118, 27, .13);
    --au-bad-soft:  rgba(188, 59, 44, .11);

    --au-shadow-1: 0 1px 2px rgba(74, 52, 20, .06), 0 2px 8px -2px rgba(74, 52, 20, .08);
    --au-shadow-2: 0 2px 4px -1px rgba(74, 52, 20, .07), 0 12px 26px -8px rgba(74, 52, 20, .16);
    --au-shadow-3: 0 8px 16px -4px rgba(74, 52, 20, .10), 0 30px 60px -14px rgba(74, 52, 20, .26);
    --au-scrim: rgba(40, 30, 16, .44);

    --au-sky-1: hsl(var(--au-h) 46% 88%);
    --au-sky-2: hsl(var(--au-h) 40% 88%);
    --au-sky-3: hsl(var(--au-h) 34% 83%);
    color-scheme: light;
}

/* —— 星夜 · 极夜星穹 —— */
:root[data-theme="dark"] {
    --au-bg: hsl(var(--au-h) 44% 9%);
    --au-bg-2: hsl(var(--au-h) 42% 11%);
    --au-paper: hsl(var(--au-h) 36% 15%);
    --au-paper-2: hsl(var(--au-h) 34% 18%);
    --au-paper-3: hsl(var(--au-h) 32% 23%);
    --au-paper-a: hsl(var(--au-h) 36% 15% / .86);
    --au-paper-b: hsl(var(--au-h) 36% 15% / .68);

    --au-ink: hsl(var(--au-h) 26% 89%);
    --au-ink-2: hsl(var(--au-h) 20% 74%);
    --au-ink-3: hsl(var(--au-h) 18% 64%);
    --au-ink-4: hsl(var(--au-h) 16% 57%);

    --au-line: hsl(var(--au-h) 60% 82% / .12);
    --au-line-2: hsl(var(--au-h) 60% 82% / .22);
    --au-line-3: hsl(var(--au-h) 60% 82% / .36);

    --au-gilt: hsl(var(--au-h) 52% 66%);
    --au-gilt-2: hsl(var(--au-h) 56% 80%);
    --au-gilt-text: hsl(var(--au-h) 54% 72%);
    --au-mark: hsl(var(--au-h) 68% 72%);
    --au-mark-2: hsl(var(--au-h) 68% 78%);
    --au-mark-soft: hsl(var(--au-h) 68% 72% / .12);
    --au-mark-line: hsl(var(--au-h) 68% 72% / .28);

    --au-ok:   #54DDB2;
    --au-warn: #E9B75E;
    --au-bad:  #FF7A66;
    --au-ok-soft:   rgba(84, 221, 178, .13);
    --au-warn-soft: rgba(233, 183, 94, .13);
    --au-bad-soft:  rgba(255, 122, 102, .13);

    --au-shadow-1: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 8px -2px rgba(0, 0, 0, .40);
    --au-shadow-2: 0 2px 4px -1px rgba(0, 0, 0, .40), 0 12px 28px -8px rgba(0, 0, 0, .58);
    --au-shadow-3: 0 8px 18px -4px rgba(0, 0, 0, .45), 0 34px 68px -14px rgba(0, 0, 0, .70);
    --au-scrim: rgba(3, 4, 14, .64);

    --au-sky-1: hsl(var(--au-h) 40% 9%);
    --au-sky-2: hsl(var(--au-h) 40% 17%);
    --au-sky-3: hsl(var(--au-h) 42% 10%);
    color-scheme: dark;

    /* —— 深色模式:深底上的强调色,由后台「主题色」派生(--au-h/--au-s),不写死色值 —— */
    --au-accent-on: hsl(var(--au-h) var(--au-s) 78%);
    --au-accent-on-2: hsl(var(--au-h) var(--au-s) 90%);
    --au-accent-on-soft: hsl(var(--au-h) var(--au-s) 62% / .18);
    --au-accent-on-line: hsl(var(--au-h) var(--au-s) 62% / .42);
}

/* —— 主题色：后台「主题色」填十六进制即整站换色（JS 写入 --au-primary*） —— */
:root {
    --au-primary: #6366F1;
    --au-primary-deep: #4F46E5;
    --au-primary-soft: rgba(99, 102, 241, .12);
    --au-primary-ring: rgba(99, 102, 241, .30);
    --au-sh-primary: 0 6px 20px -6px rgba(99, 102, 241, .50);
    --au-h: 239;
    --au-s: 84%;
}
/* 兼容旧色板名写法 */
:root[data-au-color="indigo"]  { --au-primary:#6366F1; --au-primary-deep:#4F46E5; --au-h:239; --au-s:84%; }
:root[data-au-color="violet"]  { --au-primary:#8B5CF6; --au-primary-deep:#7C3AED; --au-h:262; --au-s:83%; }
:root[data-au-color="blue"]    { --au-primary:#3B82F6; --au-primary-deep:#2563EB; --au-h:217; --au-s:91%; }
:root[data-au-color="cyan"]    { --au-primary:#06B6D4; --au-primary-deep:#0891B2; --au-h:189; --au-s:94%; }
:root[data-au-color="teal"]    { --au-primary:#14B8A6; --au-primary-deep:#0D9488; --au-h:173; --au-s:80%; }
:root[data-au-color="emerald"] { --au-primary:#10B981; --au-primary-deep:#059669; --au-h:160; --au-s:84%; }
:root[data-au-color="amber"]   { --au-primary:#F59E0B; --au-primary-deep:#D97706; --au-h:38;  --au-s:92%; }
:root[data-au-color="orange"]  { --au-primary:#F97316; --au-primary-deep:#EA580C; --au-h:25;  --au-s:95%; }
:root[data-au-color="rose"]    { --au-primary:#F43F5E; --au-primary-deep:#E11D48; --au-h:350; --au-s:89%; }
:root[data-au-color="pink"]    { --au-primary:#EC4899; --au-primary-deep:#DB2777; --au-h:330; --au-s:81%; }
:root[data-au-color="slate"]   { --au-primary:#64748B; --au-primary-deep:#475569; --au-h:215; --au-s:16%; }
:root[data-au-color="indigo"],
:root[data-au-color="violet"],
:root[data-au-color="blue"],
:root[data-au-color="cyan"],
:root[data-au-color="teal"],
:root[data-au-color="emerald"],
:root[data-au-color="amber"],
:root[data-au-color="orange"],
:root[data-au-color="rose"],
:root[data-au-color="pink"],
:root[data-au-color="slate"] {
    --au-primary-soft: hsl(var(--au-h) var(--au-s) 50% / .12);
    --au-primary-ring: hsl(var(--au-h) var(--au-s) 50% / .30);
    --au-sh-primary: 0 6px 20px -6px hsl(var(--au-h) var(--au-s) 50% / .50);
    /* 色板由样式表直接给主色、不走脚本求值，这里补一档实底安全色：
       原色压深后仍保留色相，白字压上去才有对比度（未压深的原色对琥珀/靛等档位只有 2~4） */
    --au-primary-fill: color-mix(in srgb, var(--au-primary) 58%, #14110c);
}

/* ==========================================================================
   03 基础与重置
   ========================================================================= */
[hidden] { display: none !important; }

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.au-body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--au-font-sans);
    font-size: 15px;
    line-height: 1.6;
    color: var(--au-ink);
    background: var(--au-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.au-body ::selection { background: var(--au-primary-soft); }

img { max-width: 100%; }

a { color: inherit; text-decoration: none; }

.au-wrap {
    width: 100%;
    max-width: var(--au-wrap);
    margin: 0 auto;
    padding: 0 var(--au-gutter);
}

.au-js-hide { display: none !important; }

.au-sr {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* 跳过导航 */
.au-skip {
    position: absolute; left: 12px; top: -60px; z-index: calc(var(--au-z-header) + 5);
    padding: 10px 16px; border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink);
    box-shadow: var(--au-shadow-2); transition: top var(--au-t2) var(--au-ease-out);
}
.au-skip:focus { top: 12px; }

/* ---------------------------------------------------------------- 天幕背景 */
.au-world {
    position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
    background: var(--au-sky-1);
}
.au-world__sky {
    position: absolute; inset: 0;
    background:
        radial-gradient(120% 80% at 12% -10%, var(--au-sky-2) 0%, transparent 58%),
        radial-gradient(100% 70% at 88% 0%, var(--au-sky-3) 0%, transparent 62%),
        linear-gradient(180deg, var(--au-sky-1) 0%, var(--au-bg-2) 62%, var(--au-bg) 100%);
}
/* 极光帘：三束柔光缓慢漫移 */
.au-world__veil {
    position: absolute; inset: -20% -10%;
    background:
        radial-gradient(38% 44% at 22% 24%, hsl(var(--au-h) var(--au-s) 62% / .30) 0%, transparent 68%),
        radial-gradient(30% 40% at 72% 16%, hsl(calc(var(--au-h) + 46) 78% 62% / .22) 0%, transparent 70%),
        radial-gradient(34% 38% at 52% 52%, hsl(calc(var(--au-h) - 40) 74% 60% / .16) 0%, transparent 72%);
    filter: blur(46px);
    opacity: .85;
    animation: au-veil 34s var(--au-ease-io) infinite alternate;
}
:root[data-theme="light"] .au-world__veil { opacity: .55; filter: blur(60px); }

/* 星点：只在星夜出现 */
.au-world__stars {
    position: absolute; inset: 0; opacity: 0; transition: opacity var(--au-t4) var(--au-ease-out);
    background-image:
        radial-gradient(1.4px 1.4px at 12% 18%, rgba(255,255,255,.85), transparent),
        radial-gradient(1.2px 1.2px at 34% 9%,  rgba(255,255,255,.65), transparent),
        radial-gradient(1.6px 1.6px at 58% 22%, rgba(255,255,255,.80), transparent),
        radial-gradient(1.2px 1.2px at 79% 12%, rgba(255,255,255,.60), transparent),
        radial-gradient(1.5px 1.5px at 91% 30%, rgba(255,255,255,.75), transparent),
        radial-gradient(1.2px 1.2px at 24% 44%, rgba(255,255,255,.55), transparent),
        radial-gradient(1.4px 1.4px at 67% 47%, rgba(255,255,255,.65), transparent),
        radial-gradient(1.3px 1.3px at 44% 64%, rgba(255,255,255,.50), transparent);
    background-size: 620px 620px, 520px 520px, 700px 700px, 480px 480px, 660px 660px, 560px 560px, 720px 720px, 600px 600px;
    animation: au-twinkle 7s ease-in-out infinite alternate;
}
:root[data-theme="dark"] .au-world__stars { opacity: .6; }

/* 遮罩：后台「背景遮罩强度」控制，越大背景越淡、字越清晰 */
.au-world__shade {
    position: absolute; inset: 0;
    background: var(--au-bg);
    opacity: var(--au-scrim, .88);
    transition: opacity var(--au-t4) var(--au-ease-out);
}

@keyframes au-veil {
    0%   { transform: translate3d(-2%, -1%, 0) scale(1); }
    100% { transform: translate3d(3%, 2%, 0) scale(1.08); }
}
@keyframes au-twinkle { from { opacity: .38; } to { opacity: .72; } }

/* ==========================================================================
   04 顶栏
   ========================================================================= */
.au-top {
    position: sticky; top: 0; z-index: var(--au-z-header);
    background: var(--au-paper-b);
    -webkit-backdrop-filter: blur(var(--au-blur)) saturate(150%);
    backdrop-filter: blur(var(--au-blur)) saturate(150%);
    border-bottom: 1px solid var(--au-line);
}
/* 底部发丝渐变线 */
.au-top::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
    background: linear-gradient(90deg, transparent, var(--au-primary-ring), transparent);
    opacity: .6;
}

.au-top__bar {
    display: flex; align-items: center; gap: 18px;
    min-height: 64px;
}

/* 品牌 */
.au-brand { display: flex; align-items: center; gap: 10px; flex: none; }
.au-brand__logo {
    width: 34px; height: 34px; border-radius: var(--au-r-sm); object-fit: cover;
    box-shadow: var(--au-shadow-1);
}
.au-brand__name {
    font-family: var(--au-font-display);
    font-size: 17px; font-weight: 700; letter-spacing: .3px;
    background: linear-gradient(100deg, var(--au-ink) 10%, var(--au-primary) 130%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    white-space: nowrap;
}

/* 主菜单：空间不足时横向滚动，绝不溢出压到右侧工具区（PC 顶部错位的根因） */
.au-nav {
    display: flex; align-items: center; gap: 2px; flex: 1 1 auto; min-width: 0;
    overflow-x: auto; overflow-y: hidden;
    scrollbar-width: none; -ms-overflow-style: none;
}
.au-nav::-webkit-scrollbar { display: none; }
.au-nav__link {
    display: inline-flex; align-items: center; gap: 7px; flex: none;
    padding: 8px 12px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 14px; font-weight: 500; white-space: nowrap;
    transition: color var(--au-t1), background var(--au-t1);
}
.au-nav__link .au-i { width: 17px; height: 17px; opacity: .78; }
.au-nav__link:hover { color: var(--au-ink); background: var(--au-paper-2); }
.au-nav__link.is-active,
.au-nav__link.active {
    color: var(--au-primary-deep);
    background: var(--au-primary-soft);
}
.au-nav__link.is-active .au-i,
.au-nav__link.active .au-i { opacity: 1; }

/* 工具区 */
.au-tools { display: flex; align-items: center; gap: 8px; flex: none; margin-left: auto; }

/* 搜索胶囊 */
.au-searchpill {
    display: inline-flex; align-items: center; gap: 9px;
    height: 38px; padding: 0 12px; min-width: 210px;
    border: 1px solid var(--au-line-2); border-radius: var(--au-r-pill);
    background: var(--au-paper); color: var(--au-ink-3);
    font: inherit; font-size: 13.5px; cursor: text;
    transition: border-color var(--au-t2), box-shadow var(--au-t2), background var(--au-t2);
}
.au-searchpill .au-i { width: 16px; height: 16px; flex: none; }
.au-searchpill span { flex: 1; text-align: left; }
.au-searchpill:hover { border-color: var(--au-line-3); background: var(--au-paper-2); }
.au-searchpill:focus-visible {
    outline: none; border-color: var(--au-primary);
    box-shadow: 0 0 0 3px var(--au-primary-ring);
}

.au-kbd {
    display: inline-flex; align-items: center; gap: 2px;
    padding: 1px 6px; border-radius: var(--au-r-xs);
    border: 1px solid var(--au-line-2); background: var(--au-paper-2);
    font-family: var(--au-font-mono); font-size: 11px; color: var(--au-ink-3);
    white-space: nowrap;
}

/* 图标按钮 */
.au-iconbtn {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    height: 38px; min-width: 38px; padding: 0 9px;
    border: 1px solid transparent; border-radius: var(--au-r-sm);
    background: transparent; color: var(--au-ink-2);
    font: inherit; font-size: 13.5px; cursor: pointer;
    transition: background var(--au-t1), color var(--au-t1), border-color var(--au-t1);
}
.au-iconbtn:hover { background: var(--au-paper-2); color: var(--au-ink); }
.au-iconbtn:focus-visible { outline: none; border-color: var(--au-primary); box-shadow: 0 0 0 3px var(--au-primary-ring); }
.au-iconbtn .au-i { width: 19px; height: 19px; }
.au-iconbtn__dot {
    position: absolute; top: 7px; right: 7px; width: 7px; height: 7px;
    border-radius: 50%; background: var(--au-bad); box-shadow: 0 0 0 2px var(--au-paper);
    animation: au-pulse 2.2s var(--au-ease-io) infinite;
}
@keyframes au-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* 明暗三态图标 */
.au-skyicon { position: relative; display: block; width: 19px; height: 19px; }
.au-skyicon .au-i { position: absolute; inset: 0; width: 19px; height: 19px; opacity: 0; transition: opacity var(--au-t2); }
:root[data-sky="light"] .au-skyicon__light,
:root[data-sky="dark"]  .au-skyicon__dark,
:root[data-sky="auto"]  .au-skyicon__auto { opacity: 1; }

/* 弹出层容器 */
.au-pop { position: relative; }
.au-pop__panel {
    position: absolute; right: 0; top: calc(100% + 10px); z-index: var(--au-z-pop);
    min-width: 232px; padding: 8px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-md);
    background: var(--au-paper); box-shadow: var(--au-shadow-3);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity var(--au-t2) var(--au-ease-out), transform var(--au-t2) var(--au-ease-out), visibility var(--au-t2);
}
.au-pop.is-open > .au-pop__panel { opacity: 1; visibility: visible; transform: none; }
.au-pop__head {
    padding: 6px 10px 7px; font-size: 11.5px; font-weight: 600;
    letter-spacing: .08em; text-transform: uppercase; color: var(--au-ink-4);
}
.au-pop__item {
    display: flex; align-items: center; gap: 9px;
    padding: 8px 10px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 13.5px; transition: background var(--au-t1), color var(--au-t1);
}
.au-pop__item:hover { background: var(--au-paper-2); color: var(--au-ink); }
.au-pop__item.is-on { color: var(--au-ink); background: var(--au-primary-soft); }
.au-pop__badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 18px; border-radius: var(--au-r-xs);
    background: var(--au-paper-3); color: var(--au-ink-3);
    font-size: 11px; font-weight: 700;
}
.au-pop__text { flex: 1; }
.au-pop__check { width: 16px; height: 16px; opacity: 0; color: var(--au-primary); }
.au-pop__item.is-on .au-pop__check { opacity: 1; }

/* 明暗 / 语言 面板 */
.au-look__modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 2px 6px 8px; }
.au-look__modes button {
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    padding: 10px 4px; border: 1px solid var(--au-line); border-radius: var(--au-r-sm);
    background: var(--au-paper-2); color: var(--au-ink-3);
    font: inherit; font-size: 12px; cursor: pointer;
    transition: border-color var(--au-t1), color var(--au-t1), background var(--au-t1);
}
.au-look__modes button .au-i { width: 18px; height: 18px; }
.au-look__modes button:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.au-look__modes button.is-on {
    border-color: var(--au-primary); color: var(--au-primary-deep);
    background: var(--au-primary-soft); box-shadow: 0 0 0 1px var(--au-primary-ring) inset;
}
.au-look__swatches { display: flex; gap: 6px; padding: 2px 6px 10px; flex-wrap: wrap; }
.au-look__swatches button {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 0; border: 0; background: none; font: inherit; font-size: 11px;
    color: var(--au-ink-3); cursor: pointer;
}
.au-look__swatches i {
    width: 26px; height: 26px; border-radius: 50%;
    border: 2px solid transparent; box-shadow: var(--au-shadow-1);
    transition: border-color var(--au-t1), transform var(--au-t1);
}
.au-look__swatches button:hover i { transform: scale(1.08); }
/* 选中的色块：双层描边环，暗底亮底都一眼看得出来 */
.au-look__swatches button.is-on { color: var(--au-ink); }
.au-look__swatches button.is-on i {
    border-color: #fff;
    box-shadow: 0 0 0 2px var(--au-ink-2), var(--au-shadow-1);
    transform: scale(1.06);
}
.au-look__swatches button:focus-visible { outline: 2px solid var(--au-primary); outline-offset: 3px; border-radius: 4px; }

/* 登录 / 会员按钮 */
.au-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    height: 38px; padding: 0 15px;
    border: 1px solid transparent; border-radius: var(--au-r-sm);
    font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer;
    white-space: nowrap; transition: background var(--au-t1), border-color var(--au-t1), color var(--au-t1), box-shadow var(--au-t2), transform var(--au-t1);
}
.au-btn .au-i { width: 16px; height: 16px; }
.au-btn:active { transform: translateY(1px); }
.au-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--au-primary-ring); }

.au-btn--rune {
    background: linear-gradient(140deg, var(--au-primary-fill) 0%, color-mix(in srgb, var(--au-primary-fill) 68%, #000) 100%);
    color: #fff; box-shadow: var(--au-sh-primary);
}
.au-btn--rune:hover { filter: brightness(1.06); }

.au-btn--line {
    background: var(--au-paper); border-color: var(--au-line-2); color: var(--au-ink-2);
}
.au-btn--line:hover { border-color: var(--au-line-3); color: var(--au-ink); background: var(--au-paper-2); }

.au-btn--ghost { background: transparent; color: var(--au-ink-2); }
.au-btn--ghost:hover { background: var(--au-paper-2); color: var(--au-ink); }

.au-btn--sm { height: 32px; padding: 0 11px; font-size: 12.5px; }
.au-btn--lg { height: 46px; padding: 0 22px; font-size: 15px; }
.au-btn--block { width: 100%; }

/* 用户胶囊 */
.au-userpill {
    display: flex; align-items: center; gap: 9px;
    height: 38px; padding: 0 10px 0 12px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-pill);
    background: var(--au-paper); cursor: pointer;
    transition: border-color var(--au-t1), box-shadow var(--au-t2);
}
.au-userpill:hover { border-color: var(--au-line-3); box-shadow: var(--au-shadow-1); }
.au-userpill__meta { display: flex; flex-direction: column; line-height: 1.25; text-align: right; min-width: 0; max-width: 152px; }
.au-userpill__name { font-size: 13px; font-weight: 600; color: var(--au-ink); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-userpill__balance { font-size: 11.5px; color: var(--au-ink-3); font-variant-numeric: tabular-nums; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-userpill__balance b { color: var(--au-gilt-text); font-weight: 700; }
.au-userpill__avatar {
    width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: none;
    border: 1px solid var(--au-line-2);
}

/* 汉堡（窄屏） */
.au-burger { display: none; }

/* 抽屉 */
.au-drawer {
    position: fixed; inset: 0 0 0 auto; z-index: var(--au-z-drawer);
    width: min(320px, 86vw); padding: 20px 18px calc(20px + env(safe-area-inset-bottom));
    background: var(--au-paper); box-shadow: var(--au-shadow-3);
    transform: translateX(102%); transition: transform var(--au-t3) var(--au-ease-out);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
}
body.au-drawer-open .au-drawer { transform: none; }
.au-drawer__shade {
    position: fixed; inset: 0; z-index: calc(var(--au-z-drawer) - 1);
    background: var(--au-scrim); opacity: 0; visibility: hidden;
    transition: opacity var(--au-t3), visibility var(--au-t3);
}
body.au-drawer-open .au-drawer__shade { opacity: 1; visibility: visible; }
body.au-drawer-open { overflow: hidden; }

.au-drawer__brand { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 12px; border-bottom: 1px solid var(--au-line); }
.au-drawer__brand img { width: 30px; height: 30px; border-radius: var(--au-r-xs); }
.au-drawer__brand span { font-weight: 700; font-size: 16px; }
.au-drawer__link {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 12px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 14.5px; font-weight: 500;
}
.au-drawer__link .au-i { width: 18px; height: 18px; opacity: .8; }
.au-drawer__link:hover { background: var(--au-paper-2); color: var(--au-ink); }
.au-drawer__link.is-active,
.au-drawer__link.active { background: var(--au-primary-soft); color: var(--au-primary-deep); }
.au-drawer__link.is-danger { color: var(--au-bad); }

/* 公告条 */
.au-announce {
    position: relative; z-index: calc(var(--au-z-header) + 1);
    display: flex; align-items: center; gap: 10px;
    padding: 9px var(--au-gutter);
    background: linear-gradient(90deg, var(--au-primary-soft), transparent 70%);
    border-bottom: 1px solid var(--au-line);
    font-size: 13.5px; color: var(--au-ink-2);
}
.au-announce .au-i { width: 17px; height: 17px; flex: none; color: var(--au-primary-deep); }
.au-announce__text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-announce__text--link { color: var(--au-primary-deep); font-weight: 600; }
.au-announce__text--link:hover { text-decoration: underline; }
.au-announce__close {
    flex: none; display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border: 0; border-radius: var(--au-r-xs);
    background: transparent; color: var(--au-ink-3); cursor: pointer;
}
.au-announce__close:hover { background: var(--au-paper-2); color: var(--au-ink); }
.au-announce__close .au-i { width: 16px; height: 16px; }

/* ==========================================================================
   05 版面：侧栏 + 货架
   ========================================================================= */
.au-main { padding: 26px 0 56px; }

.au-lead { padding: 6px 0 22px; }
.au-lead__title {
    margin: 0 0 6px; font-family: var(--au-font-display);
    font-size: clamp(26px, 4vw, 42px); font-weight: 700; line-height: 1.16;
    letter-spacing: -.01em;
}
.au-lead__sub { margin: 0; max-width: 60ch; color: var(--au-ink-2); font-size: 15px; }
.au-lead__stats {
    display: inline-flex; align-items: center; gap: 7px;
    margin-top: 14px; padding: 6px 13px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-pill);
    background: var(--au-paper-a); color: var(--au-ink-3); font-size: 12.5px;
}
.au-lead__stats .au-i { width: 14px; height: 14px; color: var(--au-gilt); }

.au-board { display: grid; grid-template-columns: var(--au-side) minmax(0, 1fr); gap: 22px; align-items: start; }

/* ---------------------------------------------------------------- 侧栏分类 */
.au-side {
    position: sticky; top: 84px;
    padding: 14px 12px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper-a);
    -webkit-backdrop-filter: blur(var(--au-blur-soft));
    backdrop-filter: blur(var(--au-blur-soft));
    box-shadow: var(--au-shadow-1);
    max-height: calc(100vh - 108px); overflow-y: auto;
}
.au-side__title {
    padding: 2px 10px 10px; font-size: 11.5px; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase; color: var(--au-ink-4);
}
.au-side__list { display: flex; flex-direction: column; gap: 1px; }
.au-side__item {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 10px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 14px;
    transition: background var(--au-t1), color var(--au-t1);
}
.au-side__item:hover { background: var(--au-paper-2); color: var(--au-ink); }
.au-side__item.is-on {
    background: var(--au-primary-soft); color: var(--au-primary-deep); font-weight: 600;
    box-shadow: inset 2px 0 0 var(--au-primary);
}
.au-side__icon {
    flex: none; width: 20px; height: 20px; display: grid; place-items: center;
    border-radius: var(--au-r-xs); overflow: hidden;
}
.au-side__icon .au-i { width: 17px; height: 17px; opacity: .8; }
.au-side__icon img { width: 20px; height: 20px; object-fit: cover; }
.au-side__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-side__count {
    flex: none; min-width: 22px; padding: 1px 6px; text-align: center;
    border-radius: var(--au-r-pill); background: var(--au-paper-3);
    font-size: 11px; font-weight: 600; color: var(--au-ink-3);
    font-variant-numeric: tabular-nums;
}
.au-side__item.is-on .au-side__count { background: var(--au-primary-fill); color: #fff; }
.au-side__sub {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 10px 6px 40px; border-radius: var(--au-r-sm);
    color: var(--au-ink-3); font-size: 13px;
}
.au-side__sub::before {
    content: ""; width: 4px; height: 4px; border-radius: 50%;
    background: var(--au-line-3); flex: none;
}
.au-side__sub:hover { background: var(--au-paper-2); color: var(--au-ink); }

/* ---------------------------------------------------------------- 货架 */
.au-shelf { min-width: 0; }
.au-shelf__head {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
    flex-wrap: wrap; padding-bottom: 14px; margin-bottom: 16px;
    border-bottom: 1px solid var(--au-line);
}
.au-shelf__title { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.au-shelf__parent { font-size: 13px; color: var(--au-ink-4); }
.au-shelf__parent::after { content: "/"; margin-left: 10px; color: var(--au-line-3); }
.au-shelf__name {
    margin: 0; font-family: var(--au-font-display);
    font-size: 21px; font-weight: 700; letter-spacing: -.005em;
}
.au-shelf__count {
    padding: 2px 9px; border-radius: var(--au-r-pill);
    background: var(--au-paper-3); color: var(--au-ink-3);
    font-size: 12px; font-variant-numeric: tabular-nums;
}
.au-shelf__tools { display: flex; align-items: center; gap: 10px; }

.au-filter {
    display: inline-flex; align-items: center; gap: 8px;
    height: 36px; padding: 0 12px; min-width: 200px;
    border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink-3);
    transition: border-color var(--au-t2), box-shadow var(--au-t2);
}
.au-filter:focus-within { border-color: var(--au-primary); box-shadow: 0 0 0 3px var(--au-primary-ring); }
.au-filter .au-i { width: 15px; height: 15px; flex: none; }
.au-filter input {
    flex: 1; min-width: 0; border: 0; background: none; outline: none;
    font: inherit; font-size: 13.5px; color: var(--au-ink);
}
.au-filter input::placeholder { color: var(--au-ink-4); }

.au-seg {
    display: inline-flex; padding: 3px; gap: 2px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-sm);
    background: var(--au-paper-2);
}
.au-seg__btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 28px; border: 0; border-radius: var(--au-r-xs);
    background: transparent; color: var(--au-ink-3); cursor: pointer;
    transition: background var(--au-t1), color var(--au-t1);
}
.au-seg__btn .au-i { width: 16px; height: 16px; }
.au-seg__btn:hover { color: var(--au-ink); }
.au-seg__btn.is-on { background: var(--au-paper); color: var(--au-primary-deep); box-shadow: var(--au-shadow-1); }

/* ==========================================================================
   06 商品网格 / 卡片
   ========================================================================= */
.au-grid {
    display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
}

.au-card {
    position: relative; display: flex; flex-direction: column; overflow: hidden;
    border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper);
    box-shadow: var(--au-shadow-1);
    transition: transform var(--au-t3) var(--au-ease-out), box-shadow var(--au-t3) var(--au-ease-out), border-color var(--au-t2);
}
.au-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--au-shadow-2);
    border-color: var(--au-line-2);
}
:root[data-au-card="flat"] .au-card { box-shadow: none; background: var(--au-paper-2); }
:root[data-au-card="outline"] .au-card { background: transparent; border-color: var(--au-line-2); box-shadow: none; }
:root[data-au-card="glass"] .au-card {
    background: var(--au-paper-a);
    -webkit-backdrop-filter: blur(var(--au-blur-soft));
    backdrop-filter: blur(var(--au-blur-soft));
}

.au-card__cover {
    position: relative; aspect-ratio: 1 / 1; overflow: hidden;
    background: var(--au-paper-3) center/cover no-repeat;
}
.au-card__cover > img,
.au-card__cover > .au-card__img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform var(--au-t4) var(--au-ease-out);
}
.au-card:hover .au-card__cover > img,
.au-card:hover .au-card__cover > .au-card__img { transform: scale(1.045); }

.au-card__body { display: flex; flex-direction: column; gap: 8px; padding: 12px 13px 14px; flex: 1; }

.au-card__title {
    margin: 0; font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--au-ink);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 2.9em;
}
.au-card:hover .au-card__title { color: var(--au-primary-deep); }

.au-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.au-tag {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 7px; border-radius: var(--au-r-xs);
    font-size: 11px; font-weight: 600; line-height: 1.6;
    background: var(--au-paper-3); color: var(--au-ink-3);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 26%, transparent);
}
.au-tag--ok      { background: var(--au-ok-soft);   color: var(--au-ok); }
.au-tag--warn    { background: var(--au-warn-soft); color: var(--au-warn); }
.au-tag--bad     { background: var(--au-bad-soft);  color: var(--au-bad); }
.au-tag--primary { background: var(--au-primary-soft); color: var(--au-primary-deep); box-shadow: inset 0 0 0 1px var(--au-primary-line); }
.au-tag--gilt    { background: rgba(176,133,54,.14); color: var(--au-gilt-text); }

.au-price {
    display: flex; align-items: baseline; gap: 6px; margin-top: auto;
    font-family: var(--au-font-num); font-variant-numeric: tabular-nums;
}
.au-price__unit { font-size: 13px; font-weight: 600; color: var(--au-primary-deep); }
.au-price__now { font-size: 21px; font-weight: 750; letter-spacing: -.02em; color: var(--au-primary-deep); line-height: 1; }
.au-price__was { font-size: 12.5px; color: var(--au-ink-4); text-decoration: line-through; }
.au-price__member {
    margin-left: auto; padding: 2px 7px; border-radius: var(--au-r-xs);
    background: rgba(176,133,54,.14); color: var(--au-gilt-text);
    font-size: 11.5px; font-weight: 700;
}

.au-card__stats {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    font-size: 11.5px; color: var(--au-ink-4);
    font-variant-numeric: tabular-nums;
}
.au-card__stats span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.au-card__way { font-size: 11.5px; color: var(--au-ink-3); }
.au-card__way .au-i { width: 12px; height: 12px; vertical-align: -2px; margin-right: 3px; }

.au-card.is-soldout .au-card__cover { filter: grayscale(.75); opacity: .72; }
.au-card__ribbon {
    position: absolute; top: 10px; left: 10px; z-index: 2;
    padding: 3px 9px; border-radius: var(--au-r-pill);
    background: var(--au-ink); color: var(--au-bg);
    font-size: 11px; font-weight: 700; letter-spacing: .04em;
}
.au-card__flag {
    position: absolute; top: 10px; right: 10px; z-index: 2;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 8px; border-radius: var(--au-r-pill);
    background: var(--au-gilt); color: var(--au-paper);
    font-size: 11px; font-weight: 700;
}
.au-card__flag .au-i { width: 12px; height: 12px; }

/* —— 列表视图 —— */
.au-grid.is-list { grid-template-columns: 1fr; gap: 10px; }
.au-grid.is-list .au-card { flex-direction: row; align-items: stretch; }
.au-grid.is-list .au-card:hover { transform: none; }
.au-grid.is-list .au-card__cover {
    flex: none; width: 132px; aspect-ratio: 1 / 1; border-radius: 0;
}
.au-grid.is-list .au-card__body { padding: 12px 16px; }
.au-grid.is-list .au-card__title { min-height: 0; -webkit-line-clamp: 2; font-size: 15px; }
.au-grid.is-list .au-price__now { font-size: 19px; }
.au-grid.is-list .au-card__stats { justify-content: flex-start; gap: 20px; }

/* 骨架屏 */
.au-skel {
    position: relative; overflow: hidden; background: var(--au-paper-3); border-radius: var(--au-r-xs);
}
.au-skel::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, transparent, var(--au-paper), transparent);
    transform: translateX(-100%); animation: au-skel 1.4s var(--au-ease-io) infinite;
}
@keyframes au-skel { to { transform: translateX(100%); } }
.au-card--skel { pointer-events: none; }
.au-card--skel .au-card__cover { aspect-ratio: 1/1; }
.au-card--skel .au-skel { height: 12px; }
.au-card--skel .au-card__body > .au-skel:nth-child(1) { width: 62%; height: 15px; }
.au-card--skel .au-card__body > .au-skel:nth-child(2) { width: 100%; }
.au-card--skel .au-card__body > .au-skel:nth-child(3) { width: 40%; height: 20px; }

/* 加载更多 / 到底 */
.au-more { display: grid; place-items: center; gap: 12px; padding: 30px 0 10px; text-align: center; }
.au-more__end {
    display: flex; align-items: center; gap: 12px;
    margin: 0; color: var(--au-ink-4); font-size: 12.5px;
}
.au-more__end i { width: 54px; height: 1px; background: linear-gradient(90deg, transparent, var(--au-line-2)); display: block; }
.au-more__end i:last-child { background: linear-gradient(270deg, transparent, var(--au-line-2)); }

/* 空态 */
.au-empty { display: grid; place-items: center; gap: 10px; padding: 60px 20px; text-align: center; color: var(--au-ink-3); }
.au-empty .au-i { width: 44px; height: 44px; opacity: .35; }
.au-empty p { margin: 0; font-size: 14px; }

/* ==========================================================================
   07 商品详情
   ========================================================================= */
.au-product { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 26px; align-items: start; }

.au-product__media {
    overflow: hidden; border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper); box-shadow: var(--au-shadow-1);
}
.au-product__media img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }

.au-product__aside { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 14px; }

.au-panel {
    border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper-a);
    -webkit-backdrop-filter: blur(var(--au-blur-soft));
    backdrop-filter: blur(var(--au-blur-soft));
    box-shadow: var(--au-shadow-1);
    overflow: hidden;
}
.au-panel__head {
    display: flex; align-items: center; gap: 9px;
    padding: 13px 16px; border-bottom: 1px solid var(--au-line);
}
.au-panel__head .au-i { width: 17px; height: 17px; color: var(--au-gilt); flex: none; }
.au-panel__title { margin: 0; font-size: 14px; font-weight: 700; }
.au-panel__extra { margin-left: auto; font-size: 12.5px; color: var(--au-ink-3); }
.au-panel__body { padding: 16px; }
.au-panel__body.is-flush { padding: 0; }

.au-crumb { display: flex; align-items: center; gap: 7px; padding-bottom: 14px; font-size: 13px; color: var(--au-ink-4); }
.au-crumb a:hover { color: var(--au-primary-deep); }
.au-crumb .au-i { width: 13px; height: 13px; }

.au-buy__title {
    margin: 0 0 10px; font-family: var(--au-font-display);
    font-size: 25px; font-weight: 700; line-height: 1.28;
}
.au-buy__price {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px;
    padding: 14px 0; margin-bottom: 4px; border-bottom: 1px dashed var(--au-line-2);
}
.au-buy__price .au-price__now { font-size: 34px; }
.au-buy__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 12px 0; font-size: 13px; color: var(--au-ink-3); }
.au-buy__meta b { color: var(--au-ink); font-weight: 600; font-variant-numeric: tabular-nums; }

.au-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 13px; }
/* 商品下单表单保留平台的 .vstack.gap-3（item.js 靠它收集整个表单字段），
   纵向间距统一交给外层 gap，避免与字段自身 margin 叠加导致间距翻倍 */
form.vstack.gap-3 { flex: 0 1 auto; }
form.vstack.gap-3 > .au-field { margin-bottom: 0; }
.au-field__label { font-size: 12.5px; font-weight: 600; color: var(--au-ink-2); }
.au-field__hint { font-size: 11.5px; color: var(--au-ink-4); }

.au-input, .au-select, .au-textarea {
    width: 100%; padding: 10px 12px;
    border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink);
    font: inherit; font-size: 14px; outline: none;
    transition: border-color var(--au-t2), box-shadow var(--au-t2);
}
.au-input:focus, .au-select:focus, .au-textarea:focus {
    border-color: var(--au-primary); box-shadow: 0 0 0 3px var(--au-primary-ring);
}
.au-textarea { min-height: 92px; resize: vertical; line-height: 1.6; }

.au-opt { display: flex; flex-wrap: wrap; gap: 8px; }
.au-opt__item {
    padding: 8px 14px; border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink-2);
    font: inherit; font-size: 13.5px; cursor: pointer;
    transition: border-color var(--au-t1), background var(--au-t1), color var(--au-t1);
}
.au-opt__item:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.au-opt__item.is-on {
    border-color: var(--au-primary); background: var(--au-primary-soft);
    color: var(--au-primary-deep); font-weight: 600;
}
.au-opt__item.is-off { opacity: .45; cursor: not-allowed; text-decoration: line-through; }

.au-stepper { display: inline-flex; align-items: center; border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm); overflow: hidden; }
.au-stepper button {
    width: 36px; height: 38px; border: 0; background: var(--au-paper-2);
    color: var(--au-ink-2); font-size: 17px; cursor: pointer;
    transition: background var(--au-t1);
}
.au-stepper button:hover { background: var(--au-paper-3); color: var(--au-ink); }
.au-stepper input {
    width: 62px; height: 38px; border: 0; border-left: 1px solid var(--au-line);
    border-right: 1px solid var(--au-line);
    background: var(--au-paper); color: var(--au-ink);
    text-align: center; font: inherit; font-size: 14px; outline: none;
    font-variant-numeric: tabular-nums;
}

.au-ladder { display: flex; flex-direction: column; }
.au-ladder__row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 16px; font-size: 13.5px; border-bottom: 1px solid var(--au-line);
}
.au-ladder__row:last-child { border-bottom: 0; }
.au-ladder__row b { color: var(--au-gilt-text); font-variant-numeric: tabular-nums; }

.au-rich { font-size: 14.5px; line-height: 1.85; color: var(--au-ink-2); word-break: break-word; }
.au-rich img, .au-rich video, .au-rich iframe, .au-rich table { max-width: 100% !important; height: auto; }
.au-rich table { display: block; overflow-x: auto; }
.au-rich h1, .au-rich h2, .au-rich h3 { color: var(--au-ink); line-height: 1.35; margin: 1.1em 0 .5em; }
.au-rich p { margin: 0 0 .85em; }
.au-rich a { color: var(--au-primary-deep); text-decoration: underline; text-underline-offset: 2px; }
.au-rich pre, .au-rich code {
    font-family: var(--au-font-mono); font-size: 13px;
    background: var(--au-paper-2); border-radius: var(--au-r-xs); padding: 2px 5px;
}
.au-rich pre { padding: 12px 14px; overflow-x: auto; }
.au-rich blockquote {
    margin: 0 0 1em; padding: 8px 14px;
    border-left: 3px solid var(--au-primary-ring); background: var(--au-paper-2);
    border-radius: 0 var(--au-r-sm) var(--au-r-sm) 0;
}

/* 购买栏（窄屏吸底） */
.au-buybar {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--au-line); background: var(--au-paper-a);
    -webkit-backdrop-filter: blur(var(--au-blur)); backdrop-filter: blur(var(--au-blur));
}

/* 支付方式 */
.au-pays { display: flex; flex-wrap: wrap; gap: 8px; }
.au-pay {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 13px; border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); font-size: 13px; color: var(--au-ink-2); cursor: pointer;
}
.au-pay img { width: 18px; height: 18px; object-fit: contain; }
.au-pay.is-on { border-color: var(--au-primary); background: var(--au-primary-soft); color: var(--au-primary-deep); }

/* 富文本里由平台注入的订单/卡密表格 */
.au-ledger { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.au-ledger th, .au-ledger td {
    padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--au-line);
}
.au-ledger th { color: var(--au-ink-4); font-weight: 600; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.au-ledger td { color: var(--au-ink-2); }
.au-ledger tr:last-child td { border-bottom: 0; }
.au-ledger tbody tr:hover td { background: var(--au-paper-2); }
.au-ledger .is-num { font-variant-numeric: tabular-nums; }

/* ==========================================================================
   08 订单查询
   ========================================================================= */
.au-query { max-width: 720px; margin: 0 auto; }
.au-query__card { padding: 26px; }
.au-query__lead { text-align: center; margin-bottom: 22px; }
.au-query__lead h1 { margin: 0 0 8px; font-family: var(--au-font-display); font-size: 27px; font-weight: 700; }
.au-query__lead p { margin: 0; color: var(--au-ink-3); font-size: 14px; }
.au-query__result { margin-top: 22px; }
.au-query__row {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 12px 0; border-bottom: 1px dashed var(--au-line);
    font-size: 14px;
}
.au-query__row:last-child { border-bottom: 0; }
.au-query__row span { color: var(--au-ink-3); flex: none; }
.au-query__row b { color: var(--au-ink); font-weight: 600; text-align: right; word-break: break-all; }

/* ==========================================================================
   09 页脚
   ========================================================================= */
.au-foot {
    position: relative; margin-top: 40px;
    border-top: 1px solid var(--au-line);
    background: var(--au-paper-b);
    -webkit-backdrop-filter: blur(var(--au-blur)); backdrop-filter: blur(var(--au-blur));
}
.au-foot__inner { padding: 34px 0 22px; }
.au-foot__grid {
    display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
    gap: 26px 34px; padding-bottom: 24px; border-bottom: 1px solid var(--au-line);
}
.au-foot__id { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.au-foot__id img { width: 32px; height: 32px; border-radius: var(--au-r-sm); }
.au-foot__id b { font-family: var(--au-font-display); font-size: 16px; }
.au-foot__desc { margin: 0; max-width: 42ch; color: var(--au-ink-3); font-size: 13.5px; line-height: 1.75; }
.au-foot__col { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.au-foot__title {
    margin-bottom: 2px; font-size: 11.5px; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase; color: var(--au-ink-4);
}
.au-foot__col a { color: var(--au-ink-2); font-size: 13.5px; transition: color var(--au-t1); }
.au-foot__col a:hover { color: var(--au-primary-deep); }
/* 后台「页脚链接一~四」渲染出的自定义链接列 */
.au-foot__grid--links { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); }
.au-foot__col--links a { display: inline-flex; align-items: center; gap: 7px; }
.au-foot__col--links a::before {
    content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%;
    background: var(--au-primary-fill); opacity: .5;
}
.au-foot__col--links[hidden] { display: none; }

.au-foot__modes, .au-foot__langs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.au-foot__modes button, .au-foot__langs a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 11px; border: 1px solid var(--au-line); border-radius: var(--au-r-pill);
    background: var(--au-paper); color: var(--au-ink-3);
    font: inherit; font-size: 12.5px; cursor: pointer;
    transition: border-color var(--au-t1), color var(--au-t1), background var(--au-t1);
}
.au-foot__modes button .au-i { width: 14px; height: 14px; }
.au-foot__modes button:hover, .au-foot__langs a:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.au-foot__modes button.is-on, .au-foot__langs a.is-on {
    border-color: var(--au-primary); background: var(--au-primary-soft); color: var(--au-primary-deep); font-weight: 600;
}

.au-foot__base {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    flex-wrap: wrap; padding-top: 18px; font-size: 12.5px; color: var(--au-ink-4);
}
.au-foot__base a { color: var(--au-ink-3); }
.au-foot__base a:hover { color: var(--au-primary-deep); }

/* 回顶 */
.au-totop {
    position: fixed; right: 22px; bottom: 22px; z-index: 60;
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-md);
    background: var(--au-paper-a); color: var(--au-ink-2); cursor: pointer;
    -webkit-backdrop-filter: blur(var(--au-blur-soft)); backdrop-filter: blur(var(--au-blur-soft));
    box-shadow: var(--au-shadow-2);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity var(--au-t2), visibility var(--au-t2), transform var(--au-t2), color var(--au-t1);
}
.au-totop.is-on { opacity: 1; visibility: visible; transform: none; }
.au-totop:hover { color: var(--au-primary-deep); }
.au-totop .au-i { width: 20px; height: 20px; }
body.au-drawer-open .au-totop { display: none; }

/* 客服悬浮 */
.au-service {
    position: fixed; right: 22px; bottom: 76px; z-index: 60;
    display: inline-flex; align-items: center; gap: 8px;
    height: 42px; padding: 0 16px;
    border-radius: var(--au-r-pill);
    background: linear-gradient(140deg, var(--au-primary-fill) 0%, var(--au-accent-deep) 100%);
    color: var(--au-on-solid); font-size: 13.5px; font-weight: 600;
    box-shadow: var(--au-sh-primary);
    transition: transform var(--au-t2) var(--au-ease-spring), filter var(--au-t1);
}
.au-service:hover { transform: translateY(-2px); filter: brightness(1.05); }
.au-service .au-i { width: 17px; height: 17px; }
.au-service__label { overflow: hidden; white-space: nowrap; }
body.au-drawer-open .au-service { display: none; }

/* ==========================================================================
   10 命令面板（Ctrl K）
   ========================================================================= */
.au-palette {
    position: fixed; inset: 0; z-index: var(--au-z-modal);
    display: grid; place-items: start center; padding: 12vh 18px 30px;
    opacity: 0; visibility: hidden; transition: opacity var(--au-t2), visibility var(--au-t2);
}
.au-palette.is-open { opacity: 1; visibility: visible; }
.au-palette__scrim { position: absolute; inset: 0; background: var(--au-mask); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.au-palette__box {
    position: relative; width: min(620px, 100%);
    border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper); box-shadow: var(--au-shadow-3);
    overflow: hidden; transform: translateY(-12px) scale(.985);
    transition: transform var(--au-t3) var(--au-ease-out);
}
.au-palette.is-open .au-palette__box { transform: none; }
.au-palette__field {
    display: flex; align-items: center; gap: 11px; padding: 15px 16px;
    border-bottom: 1px solid var(--au-line);
}
.au-palette__field .au-i { width: 19px; height: 19px; color: var(--au-ink-3); flex: none; }
.au-palette__input {
    flex: 1; min-width: 0; border: 0; background: none; outline: none;
    font: inherit; font-size: 16px; color: var(--au-ink);
}
.au-palette__input::placeholder { color: var(--au-ink-4); }
.au-palette__list { max-height: 46vh; overflow-y: auto; padding: 8px; }
.au-palette__item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 14px; cursor: pointer;
}
.au-palette__item .au-card__cover { width: 38px; height: 38px; border-radius: var(--au-r-xs); flex: none; aspect-ratio: auto; }
.au-palette__item.is-on { background: var(--au-primary-soft); color: var(--au-ink); }
.au-palette__item b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.au-palette__item em { font-style: normal; color: var(--au-primary-deep); font-weight: 700; font-variant-numeric: tabular-nums; }
.au-palette__foot {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 14px; border-top: 1px solid var(--au-line);
    background: var(--au-paper-2); font-size: 12px; color: var(--au-ink-4);
}
.au-palette__foot span { display: inline-flex; align-items: center; gap: 6px; }

/* ==========================================================================
   12 基础组件
   ========================================================================= */
.au-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 13px; border: 1px solid var(--au-line); border-radius: var(--au-r-pill);
    background: var(--au-paper); color: var(--au-ink-2);
    font-size: 13px; cursor: pointer; transition: border-color var(--au-t1), background var(--au-t1), color var(--au-t1);
}
.au-chip:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.au-chip.is-on { border-color: var(--au-primary); background: var(--au-primary-soft); color: var(--au-primary-deep); font-weight: 600; }
.au-chip img, .au-chip .au-chip__ico { width: 17px; height: 17px; border-radius: var(--au-r-xs); object-fit: cover; }

.au-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px; border-radius: var(--au-r-pill);
    background: var(--au-paper-3); color: var(--au-ink-2);
    font-size: 11.5px; font-weight: 600;
}
.au-badge--ok { background: var(--au-ok-soft); color: var(--au-ok); }
.au-badge--warn { background: var(--au-warn-soft); color: var(--au-warn); }
.au-badge--bad { background: var(--au-bad-soft); color: var(--au-bad); }
.au-badge--primary { background: var(--au-primary-soft); color: var(--au-primary-deep); }

.au-progress { height: 7px; border-radius: var(--au-r-pill); background: var(--au-paper-3); overflow: hidden; }
.au-progress__bar { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--au-primary), var(--au-primary-deep)); transition: width var(--au-t4) var(--au-ease-out); }

.au-hr { height: 1px; border: 0; background: var(--au-line); margin: 16px 0; }

.au-cards { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.au-stat {
    padding: 15px 16px; border: 1px solid var(--au-line); border-radius: var(--au-r-md);
    background: var(--au-paper);
}
.au-stat__k { font-size: 12px; color: var(--au-ink-4); margin-bottom: 5px; }
.au-stat__v { font-family: var(--au-font-num); font-size: 22px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.au-loader { display: grid; place-items: center; gap: 12px; padding: 44px 0; color: var(--au-ink-3); font-size: 13px; }
.au-loader__ring {
    width: 30px; height: 30px; border-radius: 50%;
    border: 2.5px solid var(--au-line-2); border-top-color: var(--au-primary);
    animation: au-spin .8s linear infinite;
}
@keyframes au-spin { to { transform: rotate(360deg); } }

.au-toast {
    position: fixed; left: 50%; bottom: 34px; z-index: var(--au-z-toast);
    transform: translate(-50%, 14px); opacity: 0; visibility: hidden;
    padding: 11px 20px; border-radius: var(--au-r-pill);
    background: var(--au-ink); color: var(--au-bg);
    font-size: 13.5px; font-weight: 500; box-shadow: var(--au-shadow-3);
    transition: opacity var(--au-t2), transform var(--au-t2), visibility var(--au-t2);
}
.au-toast.is-on { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

/* ==========================================================================
   13 会员中心
   ========================================================================= */
.uc-body { padding-bottom: 0; }
.uc-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 22px; align-items: start; padding: 24px 0 56px; }

.uc-side {
    position: sticky; top: 84px;
    padding: 14px 12px;
    border: 1px solid var(--au-line); border-radius: var(--au-r-lg);
    background: var(--au-paper-a);
    -webkit-backdrop-filter: blur(var(--au-blur-soft)); backdrop-filter: blur(var(--au-blur-soft));
    box-shadow: var(--au-shadow-1);
    max-height: calc(100vh - 108px); overflow-y: auto;
}
.uc-side__user { display: flex; align-items: center; gap: 11px; padding: 6px 8px 14px; border-bottom: 1px solid var(--au-line); margin-bottom: 10px; }
.uc-side__avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 1px solid var(--au-line-2); flex: none; }
.uc-side__meta { min-width: 0; }
.uc-side__name { font-size: 14.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uc-side__sub { font-size: 12px; color: var(--au-ink-3); font-variant-numeric: tabular-nums; }
.uc-side__sub b { color: var(--au-gilt-text); }
.uc-side__group { padding: 12px 10px 5px; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--au-ink-4); }
.uc-side__link {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 10px; border-radius: var(--au-r-sm);
    color: var(--au-ink-2); font-size: 14px;
    transition: background var(--au-t1), color var(--au-t1);
}
.uc-side__link .au-i { width: 17px; height: 17px; opacity: .8; flex: none; }
.uc-side__link:hover { background: var(--au-paper-2); color: var(--au-ink); }
.uc-side__link.is-active,
.uc-side__link.active { background: var(--au-primary-soft); color: var(--au-primary-deep); font-weight: 600; box-shadow: inset 2px 0 0 var(--au-primary); }

.uc-main { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.uc-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.uc-head h1 { margin: 0; font-family: var(--au-font-display); font-size: 24px; font-weight: 700; }
.uc-head p { margin: 5px 0 0; color: var(--au-ink-3); font-size: 13.5px; }

.uc-body-area { min-width: 0; }
.uc-body-area .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.uc-body-area table { width: 100%; }
.uc-body-area img { max-width: 100%; }

.uc-empty { display: grid; place-items: center; gap: 10px; padding: 46px 18px; text-align: center; color: var(--au-ink-3); }
.uc-empty .au-i { width: 40px; height: 40px; opacity: .32; }

/* ==========================================================================
   14 移动端
   ========================================================================= */
@media (max-width: 1100px) {
    .au-searchpill { min-width: 150px; }
    .au-product { grid-template-columns: minmax(0, 1fr) 330px; }
}

@media (max-width: 980px) {
    :root { --au-gutter: 16px; }
    .au-nav { display: none; }
    .au-burger { display: inline-flex; }
    .au-searchpill { display: none; }
    .au-tools { gap: 4px; }

    .au-board { grid-template-columns: 1fr; }
    .au-side {
        position: static; max-height: none; overflow: visible;
        display: flex; gap: 8px; overflow-x: auto; padding: 10px;
        border-radius: var(--au-r-md);
        scrollbar-width: none;
    }
    .au-side::-webkit-scrollbar { display: none; }
    .au-side__title { display: none; }
    .au-side__list { flex-direction: row; gap: 8px; }
    .au-side__item, .au-side__sub {
        flex: none; padding: 7px 14px; border: 1px solid var(--au-line);
        border-radius: var(--au-r-pill); font-size: 13.5px;
    }
    .au-side__item.is-on { box-shadow: none; border-color: var(--au-primary); }
    .au-side__sub { padding: 7px 13px; }
    .au-side__sub::before { display: none; }

    .au-product { grid-template-columns: 1fr; }
    .au-product__aside { position: static; }

    .au-foot__grid { grid-template-columns: 1fr 1fr; }
    .au-foot__brand { grid-column: 1 / -1; }

    .uc-shell { grid-template-columns: 1fr; }
    .uc-side { position: static; max-height: none; }
}

@media (max-width: 720px) {
    body.au-body { font-size: 14.5px; }
    .au-top__bar { min-height: 56px; gap: 10px; }
    .au-brand__logo { width: 30px; height: 30px; }
    .au-brand__name { font-size: 15.5px; }

    .au-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
    .au-card__body { padding: 10px 11px 12px; gap: 7px; }
    .au-card__title { font-size: 13.5px; }
    .au-price__now { font-size: 18px; }

    .au-grid.is-list .au-card__cover { width: 104px; }

    .au-shelf__head { align-items: flex-start; }
    .au-shelf__tools { width: 100%; }
    .au-filter { flex: 1; min-width: 0; }

    .au-more__end i { width: 30px; }

    .au-palette { padding: 8vh 12px 20px; }
    .au-palette__list { max-height: 54vh; }

    .au-totop { right: 14px; bottom: 14px; }
    .au-service { right: 14px; bottom: 66px; padding: 0 14px; }

    .au-foot__grid { grid-template-columns: 1fr; gap: 20px; }
    .au-foot__base { flex-direction: column; align-items: flex-start; gap: 8px; }
}

@media (max-width: 359px) {
    .au-grid { grid-template-columns: 1fr; }
    .au-grid.is-list .au-card__cover { width: 92px; }
}

@media (min-width: 360px) and (max-width: 420px) {
    .au-grid.item-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; }
    .au-grid.is-list .au-card__cover { width: 92px; }
}

/* ==========================================================================
   15 动效偏好 / 性能模式
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important; animation-iteration-count: 1 !important;
        transition-duration: .01ms !important; scroll-behavior: auto !important;
    }
}

/* turbo：长列表省电档 —— 关毛玻璃 / 阴影 / 位移 */
:root[data-au-perf="turbo"] .au-top,
:root[data-au-perf="turbo"] .au-side,
:root[data-au-perf="turbo"] .uc-side,
:root[data-au-perf="turbo"] .au-card,
:root[data-au-perf="turbo"] .au-foot,
:root[data-au-perf="turbo"] .au-panel,
:root[data-au-perf="turbo"] .au-totop {
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
:root[data-au-perf="turbo"] .au-top,
:root[data-au-perf="turbo"] .au-foot { background: var(--au-paper); }
:root[data-au-perf="turbo"] .au-side,
:root[data-au-perf="turbo"] .uc-side,
:root[data-au-perf="turbo"] .au-card,
:root[data-au-perf="turbo"] .au-panel { background: var(--au-paper); }
:root[data-au-perf="turbo"] .au-card,
:root[data-au-perf="turbo"] .au-btn,
:root[data-au-perf="turbo"] .au-iconbtn,
:root[data-au-perf="turbo"] .au-service { box-shadow: none !important; }
:root[data-au-perf="turbo"] .au-card:hover { transform: none; }
:root[data-au-perf="turbo"] .au-card:hover .au-card__cover > img,
:root[data-au-perf="turbo"] .au-card:hover .au-card__cover > .au-card__img { transform: none; }
:root[data-au-perf="turbo"] .au-world__veil { animation: none; }
:root[data-au-perf="turbo"] .au-world__stars { animation: none; }
:root[data-au-perf="turbo"] .au-card__cover > img { animation: none; }

/* rich：光效优先 */
:root[data-au-perf="rich"] .au-card:hover { box-shadow: var(--au-shadow-3), 0 0 0 1px var(--au-primary-ring); }
:root[data-au-perf="rich"] .au-lead__title {
    background: linear-gradient(100deg, var(--au-ink) 20%, var(--au-primary) 90%);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* 触屏：去掉 hover 位移 */
@media (hover: none) {
    .au-card:hover { transform: none; }
}

/* ==========================================================================
   16 图标
   ========================================================================= */
.au-i {
    width: 18px; height: 18px; flex: none; display: inline-block; vertical-align: middle;
    fill: none; stroke: currentColor; stroke-width: 1.7;
    stroke-linecap: round; stroke-linejoin: round;
}
.au-i use { pointer-events: none; }
.au-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ==========================================================================
   17 商品详情 · 平台下单组件的极光皮肤
   —— 这些类名是平台 item.js 的下单挂点（不能改名），这里只做外观。
   ========================================================================= */
.item-buy { display: flex; flex-direction: column; gap: 4px; }
.item-stock { font-variant-numeric: tabular-nums; }
.shared-button { cursor: pointer; }
.shared-button:hover { color: var(--au-primary-deep); }

.abacus { min-height: 44px; align-items: baseline; }
.abacus .price,
.price {
    display: inline-flex; align-items: baseline; gap: 2px;
    font-family: var(--au-font-num); font-variant-numeric: tabular-nums;
    font-size: 34px; font-weight: 750; letter-spacing: -.02em;
    color: var(--au-primary-deep); line-height: 1.1;
}
.price .unit { font-size: 17px; font-weight: 600; margin-right: 2px; }
.price .origin { font-size: 13px; color: var(--au-ink-4); text-decoration: line-through; margin-left: 8px; font-weight: 400; }

.buy-divider { height: 1px; background: var(--au-line); margin: 14px 0 16px; }

/* 规格 / SKU */
.sku-list { display: flex; flex-wrap: wrap; gap: 8px; }
.sku {
    position: relative; display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 14px; border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink-2);
    font-size: 13.5px; line-height: 1.5; cursor: pointer;
    transition: border-color var(--au-t1), background var(--au-t1), color var(--au-t1), box-shadow var(--au-t2);
}
.sku:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.sku.is-primary {
    border-color: var(--au-primary); background: var(--au-primary-soft);
    color: var(--au-primary-deep); font-weight: 600;
    box-shadow: 0 0 0 1px var(--au-primary-ring) inset;
}
.sku.is-disabled, .sku[disabled] { opacity: .45; pointer-events: none; text-decoration: line-through; }
.badge-money {
    padding: 1px 7px; border-radius: var(--au-r-xs);
    background: rgba(176, 133, 54, .14); color: var(--au-gilt-text);
    font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.sku.is-primary .badge-money { background: var(--au-paper); }

/* 数量步进 */
.qty-group { display: inline-flex; align-items: stretch; width: auto; max-width: 200px; border-radius: var(--au-r-sm); overflow: hidden; }
.qty-group .change-num-sub,
.qty-group .change-num-add {
    width: 40px; border: 0; background: var(--au-paper-2); color: var(--au-ink-2);
    font-size: 18px; line-height: 1; cursor: pointer; transition: background var(--au-t1), color var(--au-t1);
}
.qty-group .change-num-sub:hover,
.qty-group .change-num-add:hover { background: var(--au-paper-3); color: var(--au-ink); }
.qty-group input.form-control {
    width: 76px; text-align: center; border-radius: 0;
    border-left: 1px solid var(--au-line); border-right: 1px solid var(--au-line);
    font-variant-numeric: tabular-nums;
}

/* 自选卡密 */
.optional-card {
    display: block; width: 100%; padding: 11px 14px; text-align: left;
    border: 1px dashed var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper-2); color: var(--au-ink-3);
    font: inherit; font-size: 13.5px; cursor: pointer;
    transition: border-color var(--au-t1), color var(--au-t1);
}
.optional-card:hover { border-color: var(--au-primary); color: var(--au-primary-deep); }

/* 人机验证 */
.captcha-group { display: flex; gap: 8px; align-items: stretch; width: 100%; max-width: 300px; }
.captcha-group input.captcha-input { flex: 1; }
.captcha-img { height: auto; max-height: 44px; border-radius: var(--au-r-sm); cursor: pointer; border: 1px solid var(--au-line-2); }

/* 支付方式 */
.pay-list { display: flex; flex-wrap: wrap; gap: 9px; }
.pay-list .pay {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 15px; border: 1px solid var(--au-line-2); border-radius: var(--au-r-sm);
    background: var(--au-paper); color: var(--au-ink-2); font-size: 13.5px; cursor: pointer;
    transition: border-color var(--au-t1), background var(--au-t1), color var(--au-t1);
}
.pay-list .pay:hover { border-color: var(--au-line-3); color: var(--au-ink); }
.pay-list .pay.is-primary,
.pay-list .pay.active { border-color: var(--au-primary); background: var(--au-primary-soft); color: var(--au-primary-deep); font-weight: 600; }
.pay-list .pay img { width: 20px; height: 20px; object-fit: contain; }

/* 抢购徽标 */
.snap-up { background: var(--au-bad-soft); color: var(--au-bad); font-weight: 700; }
.snap-up time, .snap-up .time { font-variant-numeric: tabular-nums; letter-spacing: .02em; }

/* 详情正文 */
.item-detail .au-rich { padding-bottom: 6px; }

/* 平台表单控件统一到极光皮肤（会员中心 30+ 页面共用） */
.form-control, .form-select {
    border-radius: var(--au-r-sm) !important;
    border-color: var(--au-line-2) !important;
    background: var(--au-paper) !important;
    color: var(--au-ink) !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--au-primary) !important;
    box-shadow: 0 0 0 3px var(--au-primary-ring) !important;
}
.form-control::placeholder { color: var(--au-ink-4) !important; }
.form-label { color: var(--au-ink-2); font-size: 13px; font-weight: 600; }

/* ==========================================================================
   18 登录 / 注册 / 找回密码
   ========================================================================= */
.au-auth { display: flex; flex-direction: column; min-height: 100vh; }
.au-auth__box { flex: 1; display: grid; place-items: start center; padding: 34px 0 46px; }
.au-auth__box > .container,
.au-auth__box > .row { width: 100%; }
.au-auth .au-foot { margin-top: 0; }

/* 平台认证页卡片（登录 / 注册 / 找回密码共用的 .card / .panel） */
.au-auth .card,
.au-auth .panel {
    width: min(460px, 100%);
    margin: 0 auto;
    border: 1px solid var(--au-line) !important;
    border-radius: var(--au-r-xl) !important;
    background: var(--au-paper-a) !important;
    -webkit-backdrop-filter: blur(var(--au-blur)); backdrop-filter: blur(var(--au-blur));
    box-shadow: var(--au-shadow-2) !important;
    overflow: hidden;
}
.au-auth .card-body,
.au-auth .panel-body { padding: 26px 26px 28px !important; }
.au-auth .panel-header {
    padding: 15px 26px !important;
    border-bottom: 1px solid var(--au-line) !important;
    background: transparent !important;
}
.au-auth .panel-title { font-size: 16px; font-weight: 700; color: var(--au-ink); }
.au-auth h1, .au-auth h2, .au-auth h3, .au-auth h4 { color: var(--au-ink); font-weight: 700; }
.au-auth .btn-primary,
.au-auth .btn {
    height: 44px; border-radius: var(--au-r-sm) !important;
    font-weight: 600; border: 0;
}
.au-auth .btn-primary {
    background: linear-gradient(140deg, var(--au-primary-fill) 0%, var(--au-accent-deep) 100%) !important;
    color: var(--au-on-solid) !important;
    box-shadow: var(--au-sh-primary);
}
.au-auth .btn-primary:hover { filter: brightness(1.06); }
.au-auth .nav-tabs { border-bottom: 1px solid var(--au-line); }
.au-auth .nav-link { color: var(--au-ink-3); border: 0; }
.au-auth .nav-link.active { color: var(--au-primary-deep); background: transparent; border-bottom: 2px solid var(--au-primary); }


/* ==========================================================================
   v3.2.0 契约层:平台渲染 + 本模板增强
   平台控制器(index/index.js)负责取数与渲染 .item-card-cell,
   本模板只做:分片显示 / 封面懒加载 / 视图切换 / 分类内即时筛选。
   ========================================================================== */

/* 分类选中态(平台给 .switch-category 挂 is-primary) */
.au-side__item.is-primary,
.au-side__item.is-on {
    color: var(--au-primary);
    background: color-mix(in srgb, var(--au-primary) 12%, transparent);
    border-color: color-mix(in srgb, var(--au-primary) 34%, transparent);
}
.au-side__item.is-primary .au-side__name,
.au-m-sheet__cat.is-primary { color: var(--au-primary); }
.au-m-sheet__cat.is-primary {
    border-color: color-mix(in srgb, var(--au-primary) 44%, transparent);
    background: color-mix(in srgb, var(--au-primary) 10%, transparent);
}

/* 未展开的卡片:先不渲染背景图,省掉上千次图片请求 */
.item-list > .item-card-cell[data-au-folded] { display: none !important; }

/* 商品列表加载中的骨架(容器为空时) */
.au-grid.item-list:empty::before {
    content: "";
    grid-column: 1 / -1;
    height: 300px;
    border-radius: var(--au-r-lg);
    border: 1px solid var(--au-line);
    background:
        linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--au-ink) 6%, transparent) 36%, transparent 52%)
        0 0 / 220% 100% no-repeat,
        var(--au-paper-2);
    animation: au-sheen 1.35s linear infinite;
}
@keyframes au-sheen { from { background-position: 120% 0, 0 0; } to { background-position: -120% 0, 0 0; } }

/* 分类内筛选无结果 */
.au-none {
    padding: 40px 0; text-align: center;
    color: var(--au-ink-dis); font-size: 13.5px;
}


/* ============================================================================
   v3.8.2 PC 性能优化（最终覆盖层）
   说明：前面的精装层定义较晚，可能重新启用玻璃/阴影。因此这里放在
   文件末尾，确保 balanced 在桌面端真正成为低功耗档；不影响移动端视觉。
   ============================================================================ */
@media (min-width: 769px) {
    html[data-au-perf="balanced"] .au-top,
    html[data-au-perf="balanced"] .shop-nav,
    html[data-au-perf="balanced"] .uc-nav,
    html[data-au-perf="balanced"] .uc-topbar,
    html[data-au-perf="balanced"] .au-panel,
    html[data-au-perf="balanced"] .au-card,
    html[data-au-perf="balanced"] .au-foot,
    html[data-au-perf="balanced"] .au-side,
    html[data-au-perf="balanced"] .uc-side,
    html[data-au-perf="balanced"] .au-fab,
    html[data-au-perf="balanced"] [data-au-glass] {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    html[data-au-perf="balanced"] .au-top,
    html[data-au-perf="balanced"] .shop-nav,
    html[data-au-perf="balanced"] .uc-nav,
    html[data-au-perf="balanced"] .uc-topbar,
    html[data-au-perf="balanced"] .au-panel,
    html[data-au-perf="balanced"] .au-card,
    html[data-au-perf="balanced"] .au-foot,
    html[data-au-perf="balanced"] .au-side,
    html[data-au-perf="balanced"] .uc-side {
        background: var(--au-paper) !important;
    }

    /* 不为每张商品封面预留独立合成层；只有真正发生动画时才需要。 */
    html[data-au-perf="balanced"] .item-card-cell .acg-thumb,
    html[data-au-perf="balanced"] .item-card-cell .acg-cover {
        will-change: auto !important;
        transition: none !important;
    }

    html[data-au-perf="balanced"] .item-card-cell:hover .acg-thumb,
    html[data-au-perf="balanced"] .item-card-cell:hover .acg-cover,
    html[data-au-perf="balanced"] .item-card-cell:hover .acg-card,
    html[data-au-perf="balanced"] .au-card:hover {
        transform: none !important;
    }

    /* 大量卡片时，阴影和渐变重绘成本明显；保留细边框作为层次。 */
    html[data-au-perf="balanced"] .item-card-cell:hover .acg-card,
    html[data-au-perf="balanced"] .au-card,
    html[data-au-perf="balanced"] .au-panel,
    html[data-au-perf="balanced"] .au-fab {
        box-shadow: none !important;
    }

    /* 背景只保留静态柔光，不让桌面 GPU 持续跑 34 秒循环动画。 */
    html[data-au-perf="balanced"] .au-world__veil,
    html[data-au-perf="balanced"] .au-world__stars {
        animation: none !important;
        filter: none !important;
        will-change: auto !important;
    }
    html[data-au-perf="balanced"] .au-world__veil { opacity: .12 !important; }
    html[data-au-perf="balanced"] .au-world__stars { opacity: 0 !important; }

    /* 关闭桌面端无必要的装饰性 shimmer / sheen。 */
    html[data-au-perf="balanced"] .skeleton-item::after,
    html[data-au-perf="balanced"] .au-skel::after,
    html[data-au-perf="balanced"] .au-grid.item-list:empty::before {
        animation: none !important;
    }
}

/* 低功耗档不需要平滑滚动造成持续动画帧。 */
html[data-au-perf="balanced"] { scroll-behavior: auto !important; }


/* ==========================================================================
   v3.7.9 稳定/性能覆盖
   ========================================================================== */
/* PC 顶部：中等宽度（导航仍显示、未切汉堡）时压缩各段占位，
   导航本身改为可横向滚动，任何情况下都不再压到右侧工具区。 */
@media (min-width: 981px) {
    /* 顶栏放不下时，JS 会给 html 加 .au-compact —— 此前只有 JS 加分、没有样式响应，
       顶栏于是继续溢出压到工具区（PC 顶部错位的根因）。这里补齐收进抽屉的样式。 */
    html.au-compact .au-nav { display: none; }
    html.au-compact .au-searchpill { display: none; }
    html.au-compact .au-burger { display: inline-flex; }
}

@media (min-width: 981px) and (max-width: 1280px) {
    .au-top__bar { gap: 10px; }
    .au-nav__link { padding: 8px 8px; font-size: 13.5px; gap: 5px; }
    .au-nav__link .au-i { width: 16px; height: 16px; }
    .au-searchpill { min-width: 132px; padding: 0 10px; }
    .au-kbd { display: none; }
    .au-tools { gap: 6px; }
    .au-brand__name { font-size: 15.5px; }
}

/* PC：避免每张商品缩略图提前创建独立 GPU 合成层。 */
@media (min-width: 721px) {
    .item-card-cell .acg-thumb,
    .item-card-cell .acg-cover {
        will-change: auto !important;
    }
    .item-card-cell:hover .acg-thumb,
    .item-card-cell:hover .acg-cover {
        transform: none !important;
    }
    .item-card-cell:hover .acg-card {
        transform: none !important;
        box-shadow: none !important;
    }
}

/* PC 长列表：减少布局/绘制参与范围，并关闭高成本 fixed 背景重绘。 */
html[data-au-perf="balanced"] body,
html[data-au-perf="turbo"] body {
    background-attachment: scroll !important;
}
html[data-au-perf="balanced"] .bg-content::before {
    position: absolute;
    height: 260px;
}
html[data-au-perf="balanced"] .au-world__veil {
    display: none !important;
}
html[data-au-perf="balanced"] .au-world__stars {
    display: none !important;
}

/* 平台商品卡全部由宿主渲染，主题只做轻量增强。 */
@media (min-width: 721px) {
    .item-list > .item-card-cell {
        content-visibility: auto;
        contain-intrinsic-size: 360px;
    }
}

/* v3.7.9: 会员中心快捷入口仅用于手机端；PC 端必须完全隐藏，
   避免 Common/Header.html 中的移动快捷入口在桌面会员页裸露成未排版链接。 */
/* v3.7.9: 快捷入口默认收纳，点击后展开；避免移动端首页顶部长期占用空间 */
.uc-shortcuts{margin:0 0 18px;position:relative;z-index:2}
.uc-shortcuts__toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--au-line,rgba(120,120,140,.2));border-radius:14px;background:var(--au-card,rgba(255,255,255,.72));color:var(--au-ink,#202334);cursor:pointer;font:inherit;font-weight:700;box-shadow:0 6px 20px rgba(20,24,45,.06)}
.uc-shortcuts__toggle .uc-shortcuts__chev{transition:transform .18s ease}
.uc-shortcuts.is-open .uc-shortcuts__chev{transform:rotate(180deg)}
.uc-shortcuts__panel{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px;border:1px solid var(--au-line,rgba(120,120,140,.16));border-radius:16px;background:var(--au-card,rgba(255,255,255,.78));box-shadow:0 12px 28px rgba(20,24,45,.07)}
.uc-shortcuts__item{display:inline-flex;align-items:center;gap:8px;min-width:120px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--au-ink,#202334);background:var(--au-soft,rgba(99,102,241,.07));font-weight:700}
.uc-shortcuts__item .material-icons-outlined{font-size:21px;color:var(--au-primary,#6366F1)}
.uc-shortcuts__item:hover{transform:translateY(-1px)}
:root[data-theme="dark"] .uc-shortcuts__toggle,:root[data-theme="dark"] .uc-shortcuts__panel{background:color-mix(in srgb,var(--au-paper) 88%,transparent);color:var(--au-ink)}
:root[data-theme="dark"] .uc-shortcuts__item{color:var(--au-ink);background:color-mix(in srgb,var(--au-ink) 6%,transparent)}
@media (max-width:560px){
 .uc-shortcuts{margin:2px 14px 14px}
 .uc-shortcuts__toggle{width:100%;justify-content:flex-start;min-height:46px;border-radius:15px}
 .uc-shortcuts__panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}
 .uc-shortcuts__item{min-width:0;min-height:72px;flex-direction:column;justify-content:center;padding:8px 4px;gap:5px;font-size:12px}
 .uc-shortcuts__item .material-icons-outlined{font-size:24px}
}


/* ========================================================================
   v3.7.9 会员后台参考模板重构
   - PC：左侧固定会员导航 + 中央内容卡片 + 右侧工具区
   - Mobile：用户头部 + 三个快捷入口 + 两列数据卡 + 底部导航
   - 不改变后端业务 DOM / 表单接口，只调整布局与交互外观
   ======================================================================== */

/* ---------- PC 会员中心：参考模板布局 ---------- */
@media (min-width: 901px) {
    .uc-ref-side {
        position: fixed;
        /* 必须低于顶栏（顶栏 z-index 100），否则滚动/公告存在时侧栏会压住顶栏造成错位。
           实际 top 由 aurora.js 按顶栏实时位置写入，82px 仅作无脚本时的兜底。 */
        z-index: 90;
        left: 18px;
        top: 82px;
        bottom: 18px;
        width: 238px;
        overflow-y: auto;
        padding: 14px 12px 18px;
        border: 1px solid var(--au-line);
        border-radius: 22px;
        background: color-mix(in srgb, var(--au-surface) 88%, transparent);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        box-shadow: 0 18px 50px rgba(25, 35, 60, .10);
        scrollbar-width: thin;
    }

    .uc-ref-side__user {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        padding: 7px 7px 13px;
        margin-bottom: 9px;
        border-bottom: 1px solid var(--au-line);
    }
    .uc-ref-side__user img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid var(--au-line-strong); }
    .uc-ref-side__meta { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
    .uc-ref-side__meta b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .uc-ref-side__meta span { font-size: 11px; color: var(--au-ink-3); }
    .uc-ref-side__meta strong { color: var(--au-primary-deep); font-variant-numeric: tabular-nums; }
    .uc-ref-side__recharge { display: inline-flex; align-items: center; justify-content: center; padding: 7px 9px; border-radius: 999px; background: var(--au-primary-fill); color: #fff !important; font-size: 11px; font-weight: 700; }
    .uc-ref-side__title { padding: 10px 10px 6px; color: var(--au-ink-4); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
    .uc-ref-side__link {
        display:flex; align-items:center; gap:10px; min-height:39px; padding:8px 11px;
        border-radius:12px; color:var(--au-ink-2); font-size:13.5px; font-weight:600;
        transition:background .16s ease,color .16s ease,transform .16s ease;
    }
    .uc-ref-side__link .material-icons-outlined { font-size:18px; color:var(--au-ink-4); }
    .uc-ref-side__link:hover { background:var(--au-primary-soft); color:var(--au-primary-deep); transform:translateX(1px); }
    .uc-ref-side__link.active { background:var(--au-primary-soft); color:var(--au-primary-deep); box-shadow:inset 3px 0 0 var(--au-primary); }
    .uc-ref-side .uc-drawer__link { min-height:39px; padding:8px 11px; border-radius:12px; font-size:13.5px; }
    .uc-ref-side .uc-drawer__gtitle { padding:10px 10px 6px; }
    .uc-ref-side .uc-drawer__link:hover { transform:translateX(1px); }

    #pjax-container > .uc-main,
    #pjax-container > .au-main {
        width:auto;
        max-width:none;
        margin-left:282px;
        margin-right:24px;
        padding:24px 22px 60px;
    }

    .uc-card {
        border-radius:20px;
        box-shadow:0 14px 42px rgba(25,35,60,.08);
    }

    .uc-card__head { min-height:52px; padding:13px 18px; }
    .uc-card__body { padding:20px; }

    /* 参考模板的三列信息卡 / 双列表单 */
    .uc-stats, .uc-stats--3 { gap:14px; }
    .uc-stat { border-radius:17px; min-height:108px; }
    .uc-tabs { gap:4px; padding:6px; border-radius:15px; background:var(--au-surface-2); }
    .uc-tab { border-radius:11px !important; min-height:38px; }

    /* Layer/Layui 弹窗统一成参考模板的居中圆角面板 */
    .layui-layer, .layui-layer-dialog, .layui-layer-page {
        border-radius:18px !important;
        overflow:hidden !important;
        box-shadow:0 24px 70px rgba(15,23,42,.20) !important;
    }
    .layui-layer-title { height:50px !important; line-height:50px !important; padding:0 18px !important; background:var(--au-surface) !important; border-bottom:1px solid var(--au-line) !important; color:var(--au-ink) !important; font-weight:700 !important; }
    .layui-layer-content { background:var(--au-surface) !important; }
    .layui-layer-btn { background:var(--au-surface) !important; border-top:1px solid var(--au-line) !important; }
    .layui-layer-btn a { border-radius:10px !important; }

    .layui-form-item { margin-bottom:14px; }
    .layui-form-label { color:var(--au-ink-2) !important; font-weight:600; }
    .layui-input, .layui-textarea, .layui-select, .select2-container .select2-selection--single {
        border-color:var(--au-line-strong) !important; border-radius:11px !important; background:var(--au-surface) !important; color:var(--au-ink) !important;
        min-height:40px;
    }
    .layui-input:focus, .layui-textarea:focus { border-color:var(--au-primary) !important; box-shadow:0 0 0 3px var(--au-primary-ring) !important; }
}

/* ---------- 手机会员中心：参考模板布局 ---------- */
@media (max-width: 900px) {
    .uc-ref-side { display:none !important; }

    /* 参考模板：后台数据卡两列，窄屏仍保持信息密度 */
    .uc-main { padding:12px var(--au-gutter) calc(var(--au-nav-h) + var(--au-sab) + 24px) !important; }
    .uc-card { border-radius:18px; margin-bottom:12px; box-shadow:0 10px 30px rgba(20,30,60,.07); }
    .uc-card__head { min-height:48px; padding:11px 14px; }
    .uc-card__body { padding:14px; }
    .uc-stats, .uc-stats--3 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
    .uc-stat { min-height:104px; padding:14px !important; border-radius:17px; }
    .uc-stat__value { font-size:23px !important; }
    .uc-tabs { overflow-x:auto; scrollbar-width:none; display:flex; gap:4px; padding:5px; }
    .uc-tabs::-webkit-scrollbar { display:none; }
    .uc-tab { flex:0 0 auto; min-height:38px; padding:0 12px !important; border-radius:11px !important; }

    /* 参考模板的表单：移动端单列、字段间距加大、按钮固定易点 */
    .layui-form-item { margin-bottom:12px; }
    .layui-form-label { float:none !important; width:auto !important; text-align:left !important; padding:0 0 6px !important; color:var(--au-ink-2) !important; font-weight:650; }
    .layui-input-block { margin-left:0 !important; min-height:40px; }
    .layui-input, .layui-textarea, .layui-select { border-radius:11px !important; min-height:42px; font-size:14px !important; }
    .layui-btn { min-height:40px; border-radius:11px !important; }

    .layui-layer, .layui-layer-dialog, .layui-layer-page {
        width:min(94vw, 720px) !important;
        max-width:94vw !important;
        border-radius:18px !important;
        overflow:hidden !important;
    }
    .layui-layer-title { height:48px !important; line-height:48px !important; padding:0 15px !important; }
    .layui-layer-content { max-height:calc(100vh - 170px) !important; overflow:auto !important; }

    /* 参考模板的页面背景，不让内容卡片完全贴边 */
    .uc-body .bg-content { min-height:100vh; }
}

@media (max-width: 420px) {
    .uc-stat { min-height:96px; padding:12px !important; }
}

@media (max-width: 359px) {
    .uc-stats, .uc-stats--3 { grid-template-columns:1fr !important; }
}

/* 性能档：参考模板仍保留玻璃质感，但在 balanced 下限制高成本合成层 */
@media (min-width: 901px) {
    html[data-au-perf="balanced"] .uc-ref-side,
    html[data-au-perf="balanced"] .uc-card { -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* v3.8.2：公告改回默认模板的“普通内容区”模式，不使用全屏弹层。 */
.au-original-notice {
    margin: 0 auto 14px;
    width: min(var(--au-content-max, 1380px), calc(100% - 32px));
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius, 16px);
    background: var(--au-paper);
    box-shadow: var(--au-sh-1, 0 2px 8px rgba(20,22,31,.06));
    overflow: hidden;
}
.au-original-notice__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--au-line);
    color: var(--au-ink);
}
.au-original-notice__head .au-i { width: 18px; height: 18px; color: var(--au-primary); }
.au-original-notice__body {
    padding: 14px 16px;
    color: var(--au-ink-2);
    line-height: 1.7;
}
@media (max-width: 720px) {
    .au-original-notice { width: calc(100% - 24px); margin-bottom: 10px; }
    .au-original-notice__body { padding: 12px 14px; }
}


/* v3.8.2：修复宿主 net-loading 残留白罩
   loading.js 会直接把 display 改回 block；必须用 !important 才能在页面稳定后真正解除遮罩。 */
.net-loading.au-loading-dismissed,
.net-loading[aria-hidden="true"][data-au-hidden="1"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v3.8.3：修复 PC 列表视图商品名称/价格偶发不显示。
   列表模式不再继承卡片的 content-visibility/paint containment，
   并显式恢复标题、价格与统计行的可见性，避免宿主切换视图后出现空白文字。 */
@media (min-width: 721px) {
    .item-list.is-list > .item-card-cell {
        content-visibility: visible !important;
        contain: none !important;
        contain-intrinsic-size: auto !important;
    }
    .item-list.is-list .acg-card {
        min-height: 112px;
        color: var(--au-ink) !important;
    }
    .item-list.is-list .acg-body {
        min-width: 0;
        color: var(--au-ink) !important;
    }
    .item-list.is-list .goods-title,
    .item-list.is-list .acg-body .goods-title {
        display: -webkit-box !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: var(--au-ink) !important;
        -webkit-text-fill-color: currentColor !important;
        overflow: hidden !important;
    }
    .item-list.is-list .stat-row,
    .item-list.is-list .stat-row .price,
    .item-list.is-list .price {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .item-list.is-list .stat-row .price,
    .item-list.is-list .price {
        color: var(--au-ok, var(--au-primary-deep)) !important;
        -webkit-text-fill-color: currentColor !important;
    }
}

/* v3.8.2：PC 商城按参考模板收紧布局，同时减少高耗能视觉效果。
   保留原有商品/分类/搜索逻辑，只调整桌面展示。 */
@media (min-width: 981px) {
    :root {
        --au-gutter: 28px;
    }

    .au-wrap {
        max-width: 1440px;
    }

    .au-board {
        grid-template-columns: 238px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    .au-side {
        position: sticky;
        top: 86px;
        max-height: calc(100vh - 110px);
        border-radius: 22px;
        padding: 14px 10px;
    }

    .au-side__item {
        min-height: 42px;
        padding: 9px 11px;
        border-radius: 13px;
    }

    .au-shelf {
        min-width: 0;
        border-radius: 26px;
        padding: 22px 24px 28px;
    }

    .au-shelf__head {
        margin-bottom: 18px;
    }

    .au-grid.item-list {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    .item-card-cell .acg-card {
        border-radius: 20px;
        box-shadow: none;
        transform: none;
    }

    .item-card-cell .acg-thumb,
    .item-card-cell .acg-cover {
        aspect-ratio: 1 / 1;
    }

    .item-card-cell:hover .acg-card {
        transform: translateY(-2px);
        box-shadow: 0 10px 26px rgba(25, 35, 55, .10);
    }

    /* PC 默认关闭高成本动态模糊；保留玻璃感但不让整页持续重绘。 */
    .au-world__veil,
    .au-world__stars,
    .au-top,
    .au-side {
        animation: none !important;
    }

    .au-top,
    .au-side,
    .au-shelf {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}


/* v3.8.4：审核专项——PC 列表视图强制一列，恢复商品名/价格显示。
   宿主商品脚本可能在运行后重新写入布局样式，因此这里使用更高优先级，
   不改变网格模式，只约束 [is-list] 状态。 */
@media (min-width: 561px) {
    .item-list.is-list,
    .item-list[data-au-view="list"] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .item-list.is-list > .item-card-cell,
    .item-list[data-au-view="list"] > .item-card-cell {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        grid-column: 1 / -1 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .item-list.is-list .acg-card,
    .item-list[data-au-view="list"] .acg-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        width: 100% !important;
        min-height: 112px !important;
        overflow: hidden !important;
    }

    .item-list.is-list .acg-thumb,
    .item-list[data-au-view="list"] .acg-thumb,
    .item-list.is-list .acg-cover,
    .item-list[data-au-view="list"] .acg-cover {
        width: 152px !important;
        min-width: 152px !important;
        max-width: 152px !important;
        flex: 0 0 152px !important;
        aspect-ratio: auto !important;
    }

    .item-list.is-list .acg-body,
    .item-list[data-au-view="list"] .acg-body {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding: 12px 16px !important;
        justify-content: center !important;
    }

    .item-list.is-list .goods-title,
    .item-list[data-au-view="list"] .goods-title,
    .item-list.is-list .acg-body .goods-title,
    .item-list[data-au-view="list"] .acg-body .goods-title {
        display: -webkit-box !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: var(--au-ink) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 3em !important;
        overflow: hidden !important;
        -webkit-line-clamp: 2 !important;
    }

    .item-list.is-list .stat-row,
    .item-list[data-au-view="list"] .stat-row,
    .item-list.is-list .price,
    .item-list[data-au-view="list"] .price {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .item-list.is-list .price,
    .item-list[data-au-view="list"] .price {
        color: var(--au-primary-deep) !important;
        font-size: 20px !important;
        font-weight: 850 !important;
    }
}


/* v3.8.7：商品详情页参考版式 + 审核可读性修复
   仅调整详情页外观与信息分区；官方下单表单、字段名、class 契约和 item.js 保持不变。 */
@media (min-width: 981px) {
  body:has(.au-product--detail) { background-attachment: fixed; }
  .au-main.au-wrap:has(.au-product--detail) { max-width: 1380px; padding: 18px 0 0; }
  .au-main.au-wrap:has(.au-product--detail) .au-crumb { padding: 0 30px 18px; font-size: 13px; }
  .au-product--detail {
    display:grid; grid-template-columns:minmax(430px,1fr) minmax(0,1fr); gap:28px;
    padding: 0 24px 22px; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none;
  }
  .au-product--detail .au-product__media { padding:0; }
  .au-product--detail .au-product__media img {
    width:100%; aspect-ratio:1/1; border-radius:22px; background:rgba(255,255,255,.52);
    border:1px solid rgba(120,100,70,.16); box-shadow:0 8px 26px rgba(60,45,25,.08);
  }
  .au-product--detail .au-product__media-meta { padding:14px 8px 0; gap:10px 24px; font-size:13px; }
  .au-product--detail .au-product__aside { padding:0; }
  .au-product--detail .au-product__aside > .au-panel {
    padding:22px 24px 20px; border:1px solid rgba(120,100,70,.14); border-radius:24px;
    background:rgba(255,250,242,.68); box-shadow:0 8px 26px rgba(60,45,25,.06); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  }
  .au-product--detail .au-panel__body { padding:0; }
  .au-product--detail .au-buy__title { font-size:30px; line-height:1.25; margin:0 0 14px; letter-spacing:-.02em; }
  .au-product--detail .au-tags { gap:7px; }
  .au-product--detail .au-tag { padding:5px 9px; border-radius:7px; font-size:12px; }
  .au-product--detail .au-buy__price {
    margin:16px 0 14px; padding:14px 16px; min-height:64px; border-radius:16px; background:rgba(255,255,255,.38);
  }
  .au-product--detail .au-buy__price .price { font-size:34px; color:#087f6d; font-weight:800; }
  .au-product--detail .buy-divider { margin:0 0 18px; border-top:1px dashed rgba(100,85,65,.25); }
  .au-product--detail form.vstack { gap:14px!important; }
  .au-product--detail .au-field { margin:0; }
  .au-product--detail .au-field__label { margin-bottom:7px; font-size:13px; font-weight:700; }
  .au-product--detail .form-control { min-height:48px; border-radius:14px!important; background:rgba(255,255,255,.48); }
  .au-product--detail .qty-group { max-width:158px; height:44px; border-radius:13px; overflow:hidden; background:rgba(255,255,255,.48); }
  .au-product--detail .qty-group input.form-control { min-height:44px; width:66px; border-radius:0!important; }
  .au-product--detail .qty-group .change-num-sub,
  .au-product--detail .qty-group .change-num-add { width:46px; }
  .au-product--detail .cash-pay {
    display:grid!important; grid-template-columns:74px 1fr; align-items:center; gap:10px;
    margin-top:4px; padding:14px 0 0; border-top:1px solid rgba(100,85,65,.18);
  }
  .au-product--detail .pay-list { display:flex; gap:10px; flex-wrap:wrap; }
  .au-product--detail .pay-list .pay,
  .au-product--detail .pay-list > * {
    min-height:52px; min-width:190px; flex:1 1 190px; padding:10px 14px; border-radius:14px;
    border:1px solid rgba(100,85,65,.20); background:rgba(255,255,255,.52); box-sizing:border-box;
  }
  .au-main.au-wrap:has(.au-product--detail) .au-product-detail {
    margin:0 24px 28px; border:1px solid rgba(120,100,70,.14); border-radius:24px;
    background:rgba(255,250,242,.62); box-shadow:0 8px 26px rgba(60,45,25,.05); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  }
  .au-main.au-wrap:has(.au-product--detail) .au-product-tabs { min-height:62px; padding:0 30px; gap:30px; }
  .au-main.au-wrap:has(.au-product--detail) .au-product-tab { height:62px; font-size:15px; }
  .au-main.au-wrap:has(.au-product--detail) .au-product-detail__body { padding:26px 30px 34px; min-height:230px; line-height:1.9; }
}

@media (max-width: 980px) {
  .au-main.au-wrap:has(.au-product--detail) { padding-top:10px; }
  .au-main.au-wrap:has(.au-product--detail) .au-crumb { padding:0 14px 12px; }
  .au-product--detail { padding:0 14px 16px; border:0; background:transparent; box-shadow:none; }
  .au-product--detail .au-product__media img { border-radius:18px; }
  .au-product--detail .au-product__aside > .au-panel { margin-top:14px; padding:18px; border-radius:20px; background:rgba(255,250,242,.72); }
  .au-product--detail .au-buy__title { font-size:24px; }
  .au-product--detail .au-buy__price { margin:12px 0; padding:12px 14px; }
  .au-product--detail .cash-pay { grid-template-columns:1fr; gap:8px; }
  .au-product--detail .pay-list { display:grid; grid-template-columns:1fr 1fr; }
  .au-product--detail .pay-list > * { min-width:0; }
  .au-main.au-wrap:has(.au-product--detail) .au-product-detail { margin:0 14px 20px; border-radius:18px; }
}

/* v3.8.7：商品详情页深色模式可读性修复 */
html[data-theme="dark"] .au-product--detail .au-product__aside > .au-panel {
  background: rgba(20,23,31,.90) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: var(--au-ink) !important;
}
html[data-theme="dark"] .au-product--detail .au-product__media img {
  background: rgba(20,23,31,.82) !important;
  border-color: rgba(255,255,255,.14) !important;
}
html[data-theme="dark"] .au-product--detail .au-buy__price,
html[data-theme="dark"] .au-product--detail .form-control,
html[data-theme="dark"] .au-product--detail .qty-group,
html[data-theme="dark"] .au-product--detail .pay-list .pay,
html[data-theme="dark"] .au-product--detail .pay-list > * {
  background: rgba(20,23,31,.84) !important;
  color: var(--au-ink) !important;
  border-color: var(--au-line-strong) !important;
}
html[data-theme="dark"] .au-product--detail .au-buy__title,
html[data-theme="dark"] .au-product--detail .au-field__label,
html[data-theme="dark"] .au-product--detail .amount-label,
html[data-theme="dark"] .au-product--detail .au-panel__body {
  color: var(--au-ink) !important;
}
html[data-theme="dark"] .au-product--detail .au-buy__price .price,
html[data-theme="dark"] .au-product--detail .amount-value { color:#6ee7c8 !important; }
html[data-theme="dark"] .au-main.au-wrap:has(.au-product--detail) .au-product-detail {
  background:rgba(20,23,31,.88) !important; border-color:rgba(255,255,255,.14) !important;
}
html[data-theme="dark"] .au-main.au-wrap:has(.au-product--detail) .au-product-tabs,
html[data-theme="dark"] .au-main.au-wrap:has(.au-product--detail) .au-product-tab { color:var(--au-ink-2) !important; }
html[data-theme="dark"] .au-main.au-wrap:has(.au-product--detail) .au-product-tab.is-active { color:var(--au-ink) !important; }
html[data-theme="dark"] .au-product--detail .form-control::placeholder { color:var(--au-ink-dis) !important; }


/* v3.9.1：商品详情页「购买须知」页签
   说明：商品信息区（.au-product-detail）改为真实双面板——「商品详情」展示商品描述，
   「购买须知」展示平台统一的发货/查询说明，内容随商品自身的发货方式与设置变化，
   不再写死；两个面板都可切换、可被读屏与键盘访问。 */
.au-product-detail .au-product-tabs {
  display: flex;
  align-items: stretch;
  gap: 26px;
  min-height: 52px;
  padding: 0 18px;
  margin: 0;
  border-bottom: 1px solid var(--au-line);
}
.au-product-detail .au-product-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 52px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: var(--au-ink-2);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.au-product-detail .au-product-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--au-primary-fill);
  transform: scaleX(0);
  transition: transform var(--au-anim) ease;
}
.au-product-detail .au-product-tab.is-active { color: var(--au-ink); }
.au-product-detail .au-product-tab.is-active::after { transform: scaleX(1); }
.au-product-detail .au-product-tab:focus-visible { outline: none; box-shadow: var(--au-ring); border-radius: 8px; }

.au-product-detail .au-product-pane[hidden] { display: none !important; }
.au-product-detail .au-product-pane.au-rich { padding: 20px 18px 26px; line-height: 1.9; }

/* 须知列表：跟随官方详情页的说明条目样式 */
.au-notice .au-notice-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.au-notice .au-notice-list > li {
  position: relative;
  padding: 10px 14px 10px 34px;
  border: 1px solid var(--au-line);
  border-radius: var(--au-radius-sm);
  background: var(--au-surface-2);
  font-size: 14px;
  line-height: 1.75;
  color: var(--au-ink-2);
  list-style: none;
}
.au-notice .au-notice-list > li::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 17px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--au-primary-fill);
}
html[data-theme="dark"] .au-product-detail .au-product-tabs { border-bottom-color: var(--au-line-strong) !important; }
html[data-theme="dark"] .au-notice .au-notice-list > li {
  background: rgba(20,23,31,.84) !important;
  border-color: var(--au-line-strong) !important;
  color: var(--au-ink-2) !important;
}


/* ============================================================================
   Aurora 3.9.1 · 参考图视觉精修层
   目标：青绿色玻璃拟态、宽屏商城、商品详情大卡片双栏布局。
   只覆盖视觉，不修改平台商品数据/下单字段契约。
   ============================================================================ */
:root {
    --au-bg: hsl(var(--au-h) 30% 92%);
    --au-bg-2: hsl(var(--au-h) 28% 88%);
    --au-ink: hsl(var(--au-h) 22% 14%);
    --au-ink-2: hsl(var(--au-h) 16% 31%);
    --au-ink-dis: hsl(var(--au-h) 15% 40%);
    --au-line: hsl(var(--au-h) 24% 28% / .16);
    --au-line-strong: hsl(var(--au-h) 24% 28% / .25);
    --au-glass: hsl(var(--au-h) 42% 96% / .68);
    --au-glass-strong: hsl(var(--au-h) 42% 96% / .84);
    --au-blur: saturate(150%) blur(18px);
}
html[data-au-width="wide"] { --au-content: 1480px; }
html[data-au-radius="rounded"] { --au-radius: 20px; --au-radius-sm: 14px; --au-radius-lg: 28px; }
html[data-theme="light"] body.uc-body,
html[data-theme="light"] body.au-body { background-color: var(--au-bg); }
html[data-theme="light"] body.uc-body::before { background: color-mix(in srgb, var(--au-bg) var(--au-scrim), transparent); }
html[data-theme="dark"] body.uc-body,
html[data-theme="dark"] body.au-body { background-color: var(--au-bg); }
html[data-theme="dark"] body.uc-body::before { background: color-mix(in srgb, var(--au-bg) var(--au-scrim), transparent); }
.au-top__bar { min-height: 72px; }
.au-nav {
    padding: 5px; border: 1px solid rgb(255 255 255 / .62); border-radius: 999px;
    background: rgb(255 255 255 / .42); box-shadow: 0 8px 28px rgb(58 49 35 / .08);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.au-nav__link { border-radius: 999px; padding: 9px 16px; }
.au-nav__link.is-active { background: rgb(255 255 255 / .72); color: var(--au-primary-deep); box-shadow: 0 2px 8px rgb(55 47 35 / .08); }
.au-main:has(.au-board) { padding-top: 28px; }
.au-board { grid-template-columns: 236px minmax(0,1fr); gap: 26px; }
.au-side {
    padding: 14px 12px; border-radius: 24px; background: rgb(255 250 239 / .48);
    border-color: rgb(111 96 72 / .12); box-shadow: 0 10px 30px rgb(64 51 31 / .06);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.au-side__item { min-height: 42px; border-radius: 14px; }
.au-side__item.is-primary, .au-side__item.is-on { background: var(--au-primary-soft); color: var(--au-primary-deep); box-shadow: inset 3px 0 0 var(--au-primary); }
.au-shelf__head { border-bottom: 0; padding-bottom: 12px; margin-bottom: 12px; }
.au-shelf__name { font-size: 28px; }
.au-filter { height: 42px; min-width: 260px; border-radius: 999px; background: rgb(255 252 245 / .56); }
.au-seg { border-radius: 999px; background: rgb(255 252 245 / .56); padding: 4px; }
.au-seg__btn { border-radius: 999px; width: 34px; height: 30px; }
.au-seg__btn.is-on { background: var(--au-primary-fill); color: #fff; }
.item-list { gap: 18px !important; }
.item-list > .item-card-cell .acg-card {
    border-radius: 24px; border-color: rgb(111 96 72 / .12); background: rgb(255 250 239 / .54);
    box-shadow: 0 8px 28px rgb(64 51 31 / .055); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.item-list > .item-card-cell:hover .acg-card { border-color: color-mix(in srgb, var(--au-primary) 34%, transparent); box-shadow: 0 14px 36px rgb(64 51 31 / .10); }
.item-card-cell .acg-thumb, .item-card-cell .acg-cover { border-radius: 22px 22px 0 0; }
.item-card-cell .acg-body { padding: 14px 16px 16px; }
.item-card-cell .goods-title { font-size: 15px; font-weight: 700; }
.item-card-cell .price { color: var(--au-primary-deep) !important; }
@media (min-width: 981px) {
    .au-main.au-wrap:has(.au-product--detail) { max-width: 1420px; padding-top: 12px; }
    .au-main.au-wrap:has(.au-product--detail) .au-crumb { padding: 0 12px 14px; }
    .au-product--detail {
        grid-template-columns: minmax(360px, 37%) minmax(0, 1fr); gap: 28px; padding: 24px 24px 26px;
        border: 1px solid rgb(111 96 72 / .14); border-radius: 28px; background: rgb(255 250 239 / .60);
        box-shadow: 0 14px 42px rgb(64 51 31 / .08); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    }
    /* v3.9.9：深色配套 —— 上面这张 PC 商品页外层大卡原来把米白玻璃底写死了，
       深色模式下整块变成浅色外框（平台审核驳回项）。这里为它补齐深色取值，
       底色与同页 .au-product__aside > .au-panel / .au-product-detail 一致，
       描边换成深色发丝线；浅色端一个字没动。 */
    html[data-theme="dark"] .au-product--detail {
        background: rgba(20, 23, 31, .90);
        border-color: rgba(255, 255, 255, .14);
        box-shadow: 0 14px 42px rgb(0 0 0 / .45);
    }
    .au-product--detail .au-product__media img {
        border-radius: 22px; border: 1px solid rgb(111 96 72 / .16); background: rgb(255 251 242 / .66);
        box-shadow: 0 8px 24px rgb(64 51 31 / .07);
    }
    .au-product--detail .au-product__media-meta { padding: 12px 8px 0; }
    .au-product--detail .au-product__aside > .au-panel {
        padding: 4px 10px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
        backdrop-filter: none; -webkit-backdrop-filter: none;
    }
    .au-product--detail .au-buy__title { font-size: 30px; margin-bottom: 8px; }
    .au-product--detail .au-tags { margin-bottom: 12px; }
    .au-product--detail .au-buy__price { background: rgb(255 252 246 / .42); border: 1px solid rgb(111 96 72 / .08); }
    .au-product--detail .cash-pay { margin-top: 6px; padding-top: 16px; }
    .au-product--detail .pay-list .pay, .au-product--detail .pay-list > * { background: rgb(255 252 246 / .62); }
    .au-main.au-wrap:has(.au-product--detail) .au-product-detail {
        margin: 22px 0 28px; border-radius: 26px; border-color: rgb(111 96 72 / .13);
        background: rgb(255 250 239 / .58); box-shadow: 0 10px 32px rgb(64 51 31 / .06);
        backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    }
}
@media (max-width: 980px) { .au-board { grid-template-columns: 1fr; } .au-side { position: static; max-height: none; } }
.au-foot { background: transparent; }
.au-foot__inner { padding-top: 34px; }
.au-foot__grid { grid-template-columns: 1.25fr .8fr 1fr; gap: 48px; }
.au-foot__base { border-top-color: rgb(111 96 72 / .14); }


/* ==========================================================================
   极光 · 市集版式（PC 两栏：分类筛选条 + 商品列表 + 侧栏三卡）
   本段只服务首页新版式，全部使用 --au-* 设计令牌，不改动上方既有规则。
   ========================================================================== */

/* ---------------------------- 分类筛选条 ---------------------------- */
.au-catbar {
    display: flex; flex-direction: column; gap: 10px;
    padding: 12px 14px; margin: 0 0 16px;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-sh-1);
}

.au-catbar__strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

.au-catbar__strip--sub {
    padding-top: 10px;
    border-top: 1px dashed var(--au-line);
}

.au-catbar__pill {
    display: inline-flex; align-items: center; gap: 6px;
    height: 34px; padding: 0 16px;
    border-radius: var(--au-radius-pill);
    background: var(--au-surface-2);
    border: 1px solid var(--au-line);
    color: var(--au-ink-2);
    font-size: 13.5px; font-weight: 600; line-height: 1;
    text-decoration: none; white-space: nowrap;
    transition: background var(--au-anim) ease, color var(--au-anim) ease,
                border-color var(--au-anim) ease, transform var(--au-anim) ease;
}

.au-catbar__pill:hover { color: var(--au-ink); border-color: var(--au-line-strong); transform: translateY(-1px); }

.au-catbar__pill.is-primary {
    background: var(--au-primary-fill);
    border-color: var(--au-primary);
    color: #fff;
    box-shadow: var(--au-sh-primary);
}

.au-catbar__pill.is-primary:hover { color: #fff; }

.au-catbar__pill--sm { height: 29px; padding: 0 13px; font-size: 12.5px; }

.au-catbar__i { width: 15px; height: 15px; flex: none; }

.au-catbar__ico { width: 16px; height: 16px; flex: none; border-radius: 5px; object-fit: cover; }

.au-catbar__num {
    font-style: normal; font-size: 10.5px; font-weight: 700;
    padding: 1.5px 6px; border-radius: 999px;
    background: var(--au-primary-soft); color: var(--au-primary);
}

.au-catbar__pill.is-primary .au-catbar__num { background: rgb(255 255 255 / .22); color: #fff; }

/* ---------------------------- 两栏舞台 ---------------------------- */
.au-stage { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }

/* ---------------------------- 左：商品列表 ---------------------------- */
.au-lister {
    min-width: 0;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-sh-1);
    overflow: hidden;
}

.au-lister__head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 16px 20px 12px;
}

.au-lister__title {
    display: flex; align-items: center; gap: 8px;
    margin: 0; font-size: 16px; font-weight: 800; letter-spacing: -.01em;
    color: var(--au-ink);
}

.au-lister__title .au-i { width: 18px; height: 18px; color: var(--au-primary); }

.au-lister__meta { font-size: 12.5px; color: var(--au-ink-dis); white-space: nowrap; }

.au-lister__meta b { color: var(--au-primary); font-weight: 800; font-variant-numeric: tabular-nums; }

.au-sorts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 20px 14px; }

.au-sorts__btn {
    height: 28px; padding: 0 12px;
    border: 1px solid transparent; border-radius: 8px;
    background: transparent; color: var(--au-ink-dis);
    font-size: 12.5px; font-weight: 600; cursor: pointer;
    transition: background var(--au-anim) ease, color var(--au-anim) ease, border-color var(--au-anim) ease;
}

.au-sorts__btn:hover { background: var(--au-bg-2); color: var(--au-ink); }

.au-sorts__btn.is-on {
    background: var(--au-primary-soft);
    border-color: var(--au-primary-ring);
    color: var(--au-primary);
    font-weight: 700;
}

.au-lister .au-grid.item-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 0 20px 20px;
}

.au-lister .au-grid.item-list:empty::before { padding: 26px 0 34px; }

.au-lister .item-list > .item-card-cell { contain-intrinsic-size: auto 118px; }

/* ---------------------------- 商品卡：方形缩略图 + 横向信息 ---------------------------- */
.au-lister .item-list > .item-card-cell .acg-card {
    display: flex; flex-direction: row; align-items: stretch;
    min-height: 96px;
    border-radius: var(--au-radius-sm);
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    box-shadow: none;
    transform: none;
    overflow: hidden;
    transition: border-color var(--au-anim) ease, box-shadow var(--au-anim) ease, transform var(--au-anim) ease;
}

.au-lister .item-list > .item-card-cell:hover .acg-card {
    transform: translateY(-2px);
    border-color: var(--au-primary);
    box-shadow: var(--au-sh-2);
}

.au-lister .item-card-cell .acg-thumb,
.au-lister .item-card-cell .acg-cover {
    width: 96px; min-width: 96px; max-width: 96px;
    aspect-ratio: 1 / 1; min-height: 96px;
    border-radius: 0;
    flex: 0 0 96px;
}

.au-lister .item-card-cell:hover .acg-thumb,
.au-lister .item-card-cell:hover .acg-cover { transform: none; }

.au-lister .item-card-cell .acg-body {
    min-width: 0; flex: 1 1 auto;
    justify-content: center;
    gap: 5px; padding: 11px 13px;
}

.au-lister .item-card-cell .acg-body .tags { min-height: 0; }

.au-lister .item-card-cell .goods-title,
.au-lister .item-card-cell .acg-body .goods-title {
    font-size: 14px; font-weight: 650; line-height: 1.4;
    -webkit-line-clamp: 2; min-height: 0;
}

.au-lister .item-card-cell .stat-row { margin-top: 2px !important; }

.au-lister .item-card-cell .price { font-size: 19px; font-weight: 850; letter-spacing: -.4px; color: var(--au-primary-deep) !important; }

.au-lister .item-card-cell .price .origin { font-size: 12px; margin-left: 6px; }

.au-lister .item-card-cell .stat-bottom {
    border-top: 0; padding-top: 0; margin-top: 0;
    font-size: 11.5px;
}

.au-lister .item-card-cell .soldout-ribbon { top: 8px; left: 8px; right: auto; }

/* ---------------------------- 右：侧栏 ---------------------------- */
.au-rail { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

.au-rail .au-panel {
    padding: 16px;
    background: var(--au-surface);
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-sh-1);
}

.au-rail .au-panel__head {
    display: flex; align-items: center; gap: 7px;
    margin: 0 0 12px;
    font-size: 14.5px; font-weight: 800; letter-spacing: -.01em;
    color: var(--au-ink);
}

.au-rail .au-panel__head .au-i { width: 17px; height: 17px; color: var(--au-primary); }

/* 搜索卡 */
.au-minisearch { display: flex; align-items: center; gap: 8px; }

.au-minisearch__ico { display: none; }

.au-minisearch__input {
    flex: 1 1 auto; min-width: 0; height: 38px;
    padding: 0 12px;
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    background: var(--au-surface-2);
    color: var(--au-ink);
    font-size: 13px;
    outline: none;
}

.au-minisearch__input::placeholder { color: var(--au-ink-dis); }

.au-minisearch__input:focus { border-color: var(--au-primary); box-shadow: var(--au-ring); }

.au-minisearch__go {
    flex: none; height: 38px; padding: 0 16px;
    border-radius: var(--au-radius-sm);
    font-size: 13px; font-weight: 700;
    background: var(--au-primary-fill); border: 1px solid var(--au-primary-fill);
    color: var(--au-on-solid);
}

/* 公告卡 */
.au-note {
    display: flex; align-items: flex-start; gap: 9px;
    padding: 11px 12px;
    border: 1px solid var(--au-mark-line);
    border-radius: var(--au-radius-sm);
    background: var(--au-mark-soft);
}

.au-note__ico { flex: none; color: var(--au-mark); line-height: 0; padding-top: 1px; }
.au-note__ico .au-i { width: 15px; height: 15px; }

.au-note__text { font-size: 12.5px; line-height: 1.65; color: var(--au-ink-2); word-break: break-word; }

.au-note__foot { margin: 12px 0 0; font-size: 11.5px; color: var(--au-ink-dis); text-align: center; }

/* 客服列表 */
.au-svc { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }

.au-svc:empty { display: none; }

.au-svc__item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius-sm);
    background: var(--au-surface-2);
}

.au-svc__ico {
    display: grid; place-items: center; flex: none;
    width: 30px; height: 30px; border-radius: 9px;
    background: var(--au-primary-soft); color: var(--au-primary);
}

.au-svc__ico .au-i { width: 16px; height: 16px; }

.au-svc__ico--tg { background: rgb(34 158 217 / .13); color: #229ED9; }
.au-svc__ico--wechat { background: rgb(7 193 96 / .13); color: #07B85B; }
.au-svc__ico--wecom { background: rgb(47 125 255 / .13); color: #2F7DFF; }
.au-svc__ico--qq { background: rgb(18 183 245 / .13); color: #12B7F5; }
.au-svc__ico--mail { background: rgb(234 67 53 / .12); color: #E24434; }
.au-svc__ico--robot { background: rgb(99 102 241 / .13); color: #6366F1; }

.au-svc__name {
    flex: 1 1 auto; min-width: 0;
    font-size: 12.8px; font-weight: 650; color: var(--au-ink);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.au-svc__btn {
    flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    height: 28px; padding: 0 12px;
    border-radius: 8px;
    background: var(--au-primary-fill); color: #fff;
    font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap;
    transition: filter var(--au-anim) ease;
}

.au-svc__btn:hover { color: #fff; filter: brightness(1.08); }

/* 服务说明卡 */
.au-help__row { display: flex; align-items: flex-start; gap: 10px; }
.au-help__row + .au-help__row { margin-top: 12px; }

.au-help__ico { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; }
.au-help__ico .au-i { width: 16px; height: 16px; }
.au-help__ico--a { background: var(--au-mark-soft); color: var(--au-mark); }
.au-help__ico--b { background: var(--au-primary-soft); color: var(--au-primary); }

.au-help__copy { min-width: 0; }

.au-help__copy b { display: block; font-size: 13.5px; font-weight: 700; color: var(--au-ink); }

.au-help__copy span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.55; color: var(--au-ink-dis); }

.au-help__go {
    display: flex; align-items: center; justify-content: center;
    height: 40px; margin-top: 14px;
    border-radius: var(--au-radius-sm);
    background: var(--au-ink); color: var(--au-bg);
    font-size: 13.5px; font-weight: 700; text-decoration: none;
    transition: opacity var(--au-anim) ease;
}

.au-help__go:hover { color: var(--au-bg); opacity: .88; }

/* ---------------------------- 侧栏卡片宽度自适应 ---------------------------- */
@media (max-width: 1280px) {
    .au-lister .item-card-cell .acg-thumb,
    .au-lister .item-card-cell .acg-cover { width: 84px; min-width: 84px; max-width: 84px; flex-basis: 84px; }
    .au-lister .item-card-cell .price { font-size: 17.5px; }
}

/* ---------------------------- PC 专属（≥561px） ---------------------------- */
@media (min-width: 981px) {
    .au-stage { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (min-width: 561px) {
    /* 平台公告与主题公告在 PC 收进侧栏公告卡，不再占顶部横幅 */
    .au-original-notice, .au-announce { display: none !important; }

    /* 顶栏右侧 */
    .au-top .au-toplink {
        display: inline-flex; align-items: center; gap: 6px;
        height: 36px; padding: 0 14px;
        border: 1px solid var(--au-line);
        border-radius: var(--au-radius-sm);
        background: var(--au-surface);
        color: var(--au-ink-2);
        font-size: 13px; font-weight: 650; text-decoration: none;
        transition: border-color var(--au-anim) ease, color var(--au-anim) ease;
    }

    .au-top .au-toplink .au-i { width: 15px; height: 15px; }

    .au-top .au-toplink:hover { border-color: var(--au-primary); color: var(--au-primary); }

    .au-top .au-searchpill--ico {
        width: 36px; min-width: 36px; height: 36px; padding: 0;
        display: inline-grid; place-items: center;
        border-radius: var(--au-radius-sm);
    }

    .au-top .au-searchpill--ico .au-i { width: 17px; height: 17px; }

    .au-top .au-btn--ghost {
        background: var(--au-surface);
        border: 1px solid var(--au-line);
        color: var(--au-ink);
        box-shadow: none;
    }

    .au-top .au-btn--ghost:hover { border-color: var(--au-primary); color: var(--au-primary); }

    .au-top .au-btn--rune {
        background: var(--au-primary-fill);
        border: 1px solid var(--au-primary);
        color: #fff;
    }

    .au-top .au-btn--rune:hover { color: #fff; filter: brightness(1.06); }
}

/* ---------------------------- 窄屏适配（≤980px 单列 / ≤560px 手机） ---------------------------- */
@media (max-width: 980px) {
    .au-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .au-rail .au-rail__search { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .au-catbar {
        padding: 10px 0; margin-bottom: 10px;
        border-left: 0; border-right: 0; border-radius: 0;
        background: transparent; box-shadow: none;
    }

    .au-catbar__strip {
        flex-wrap: nowrap; overflow-x: auto;
        padding: 0 var(--au-gutter);
        scrollbar-width: none; -webkit-overflow-scrolling: touch;
    }

    .au-catbar__strip::-webkit-scrollbar { display: none; }

    .au-catbar__pill { height: 31px; padding: 0 14px; font-size: 13px; }

    .au-catbar__pill--sm { height: 27px; padding: 0 12px; font-size: 12px; }

    .au-catbar__strip--sub { margin-top: 8px; }

    .au-rail { display: none; }

    .au-lister {
        border-left: 0; border-right: 0; border-radius: 0;
        background: transparent; box-shadow: none;
    }

    .au-lister__head { padding: 4px var(--au-gutter) 10px; }

    .au-sorts { padding: 0 var(--au-gutter) 12px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .au-sorts::-webkit-scrollbar { display: none; }
    .au-sorts__btn { flex: none; }

    .au-lister .au-grid.item-list { padding: 0 var(--au-gutter) 16px; gap: 10px; }

    .au-lister .au-grid.item-list:empty::before { padding: 20px 0 30px; }

    .au-lister .au-more { padding: 0 var(--au-gutter) 16px; }

    /* 手机端商品卡回到竖卡：PC 的横向卡在窄屏会把标题挤没 */
    .au-lister .item-list > .item-card-cell { contain-intrinsic-size: auto 190px; }
    .au-lister .item-list > .item-card-cell .acg-card { display: block; min-height: 0; border-radius: var(--au-radius-sm); }
    .au-lister .item-card-cell .acg-thumb,
    .au-lister .item-card-cell .acg-cover {
        width: 100%; min-width: 0; max-width: none; flex: none;
        aspect-ratio: 4 / 3; min-height: 0;
    }
    .au-lister .item-card-cell .acg-body { padding: 9px 10px 11px; gap: 4px; }
    .au-lister .item-card-cell .goods-title,
    .au-lister .item-card-cell .acg-body .goods-title { font-size: 13px; line-height: 1.35; }
}

/* ==========================================================================
   桌面端首页 · 版式配色重铸（浅灰底 / 白卡 / 主色跟随后台「主题色」）
   只在 ≥561px 生效：不影响手机端 APP 壳、详情页与用户中心
   —— 本层只统一中性色（文字/分隔线/面），主色一律走全站 --au-primary 变量，
        不得在本层写死主色，否则后台「主题色」在 PC 首页不生效
   ========================================================================== */
@media (min-width: 561px) {/* v3.9.6:本层不再局部写死中性色(原来是一套冷灰蓝),面/线/字一律走全站令牌,
       跟随后台「主题色」;主色同样不在此层写死 *//* ---- 顶栏 ---- */
    html[data-theme="light"] .au-top .au-top__bar {
        background: var(--au-paper) !important;
        border-bottom: 1px solid var(--au-line);
        box-shadow: none;
        backdrop-filter: none;
    }
    html[data-theme="light"] .au-top .au-brand__name { color: var(--au-ink); }
    /* 首页「共 N 件」计数:浅色下用深一档的主色,亮色主题色(翠绿/绯红)也读得清 */
    html[data-theme="light"] .au-lister .au-lister__meta b,
    html[data-theme="light"] .au-lister__meta b { color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-top .au-btn--ghost {
        background: var(--au-paper) !important; border: 1px solid var(--au-line) !important;
        color: var(--au-ink) !important; box-shadow: none !important;
    }
    html[data-theme="light"] .au-top .au-btn--ghost:hover { border-color: var(--au-primary) !important; color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-top .au-btn--rune {
        background: var(--au-primary-fill) !important; border: 1px solid var(--au-primary) !important; color: #FFFFFF !important;
        box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--au-primary) 55%, transparent) !important;
    }
    html[data-theme="light"] .au-top .au-btn--rune:hover { filter: brightness(1.06); }
    html[data-theme="light"] .au-top .au-toplink {
        background: var(--au-paper); border: 1px solid var(--au-line) !important; color: var(--au-ink-2) !important;
    }
    html[data-theme="light"] .au-top .au-toplink:hover { border-color: var(--au-primary) !important; color: var(--au-primary-deep) !important; }/* ---- 分类筛选卡 ---- */
    html[data-theme="light"] .au-catbar { background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; }
    html[data-theme="light"] .au-catbar__pill:not(.is-primary) {
        background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; color: var(--au-ink-2) !important;
    }
    html[data-theme="light"] .au-catbar__pill:not(.is-primary):hover { border-color: color-mix(in srgb, var(--au-primary) 30%, var(--au-paper)) !important; color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary,
    html[data-theme="light"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary:hover,
    html[data-theme="light"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary:focus {
        background: var(--au-primary-fill) !important;
        background-color: var(--au-primary-fill) !important;
        border-color: var(--au-primary) !important;
        color: #FFFFFF !important;
        box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--au-primary) 55%, transparent) !important;
    }
    html[data-theme="light"] .au-catbar__num { background: var(--au-primary-soft) !important; color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-catbar__pill.is-primary .au-catbar__num { background: rgb(255 255 255 / .22) !important; color: #FFFFFF !important; }
    html[data-theme="light"] .au-catbar__strip--sub { border-top-color: var(--au-line) !important; }/* ---- 左：商品列表面板 ---- */
    html[data-theme="light"] .au-lister { background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; }
    html[data-theme="light"] .au-lister__head { color: var(--au-ink); }
    html[data-theme="light"] .au-sorts__btn { background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; color: var(--au-ink-2) !important; }
    html[data-theme="light"] .au-sorts__btn.is-on,
    html[data-theme="light"] .au-sorts__btn.is-on:hover {
        background: var(--au-primary-soft) !important;
        border-color: var(--au-primary-ring) !important;
        color: var(--au-primary-deep) !important;
    }/* ---- 商品卡：白底浅边 ---- */
    html[data-theme="light"] .au-lister .item-card-cell .acg-card { background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; }
    html[data-theme="light"] .au-lister .item-card-cell:hover .acg-card { border-color: var(--au-primary) !important; }
    html[data-theme="light"] .au-lister .item-card-cell .acg-body { background: transparent !important; }
    html[data-theme="light"] .au-lister .item-card-cell .goods-title { color: var(--au-ink) !important; }
    html[data-theme="light"] .au-lister .item-card-cell .price,
    html[data-theme="light"] .au-lister .item-card-cell .price .unit { color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-lister .item-card-cell .stat-bottom { color: var(--au-ink-3) !important; }
    html[data-theme="light"] .au-lister [data-au-more-btn] {
        background: var(--au-paper) !important; border: 1px solid var(--au-line) !important; color: var(--au-primary-deep) !important;
    }/* ---- 右：侧栏三卡 ---- */
    html[data-theme="light"] .au-stage .au-rail .au-panel,
    html[data-theme="light"] .au-stage .au-rail > .au-panel {
        background: var(--au-paper) !important;
        border: 1px solid var(--au-line) !important;
        box-shadow: 0 1px 2px rgb(16 24 40 / .04) !important;
        color: var(--au-ink) !important;
    }
    html[data-theme="light"] .au-stage .au-rail .au-panel__head { color: var(--au-ink) !important; }
    html[data-theme="light"] .au-stage .au-rail .au-panel__head .au-i { color: var(--au-primary-deep) !important; }
    html[data-theme="light"] .au-minisearch__input { background: var(--au-surface-2) !important; border-color: var(--au-line) !important; }
    html[data-theme="light"] .au-minisearch__go {
        background: var(--au-primary-fill) !important; border: 1px solid var(--au-primary-deep) !important;
        color: var(--au-on-solid) !important;
    }
    html[data-theme="light"] .au-stage .au-rail .au-note {
        background: var(--au-mark-soft) !important; border-color: var(--au-mark-line) !important; color: var(--au-mark-2) !important;
    }
    html[data-theme="light"] .au-stage .au-rail .au-note__foot { color: var(--au-ink-3) !important; }
    html[data-theme="light"] .au-svc__ico,
    html[data-theme="light"] .au-help__ico {
        background: var(--au-primary-soft) !important; color: var(--au-primary-deep) !important;
    }
    html[data-theme="light"] .au-svc__name,
    html[data-theme="light"] .au-help__copy b { color: var(--au-ink) !important; }
    html[data-theme="light"] .au-svc__desc,
    html[data-theme="light"] .au-help__copy span { color: var(--au-ink-3) !important; }
    html[data-theme="light"] .au-stage .au-rail .au-help__go {
        background: var(--au-ink) !important; border: 1px solid var(--au-ink) !important; color: var(--au-paper) !important;
    }
}

/* ==========================================================================
   22 · v3.9.4 公告弹窗（进店首屏，3.9.5 起与首屏头图共存）
   —— 两种入口：进店自动弹一次 + 顶栏铃铛随时重开；
      四种关法：点遮罩 / 右上 X / 底部「我已阅读」/ Esc。
      正文由平台「网站公告」富文本直出，宽图与表格已收进容器，不撑破手机屏。
   ========================================================================== */
:root { --au-mask: rgb(9 13 26 / .55); }
:root[data-theme="dark"] { --au-mask: rgb(2 3 10 / .68); }

.au-modal {
    position: fixed; inset: 0;
    /* 必须盖过手机壳的底部导航与分类 / 我的面板（那两层是 1000），
       否则公告弹着的时候底部按钮会浮在遮罩上面被误点。 */
    z-index: calc(var(--au-z-modal) + 60);
    display: grid; place-items: center; padding: 24px;
}
.au-modal[hidden] { display: none !important; }
.au-modal__scrim {
    position: absolute; inset: 0;
    /* 注意：站点变量 --au-scrim 是百分比（给 color-mix 当浓度用），不是颜色，
       这里必须自带颜色，否则遮罩会算成透明、底下的内容全部浮上来可点。 */
    background: var(--au-mask);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    animation: au-modal-fade var(--au-t3) var(--au-ease-out) both;
}
.au-modal__box {
    position: relative;
    display: flex; flex-direction: column;
    width: min(100%, 560px); max-height: min(86vh, 760px);
    overflow: hidden;
    border: 1px solid var(--au-line-2); border-radius: var(--au-r-xl);
    background: var(--au-paper); box-shadow: var(--au-shadow-3);
    animation: au-modal-rise var(--au-t3) var(--au-ease-out) both;
}
.au-modal__box:focus { outline: none; }
.au-modal__head { display: flex; align-items: center; gap: 9px; padding: 18px 18px 12px 20px; }
.au-modal__head .au-i { width: 20px; height: 20px; color: var(--au-primary-deep); flex: none; }
.au-modal__head h2 { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: .02em; color: var(--au-ink); }
.au-modal__x {
    display: grid; place-items: center; width: 32px; height: 32px;
    margin-left: auto; border: 0; border-radius: 50%;
    background: var(--au-paper-2); color: var(--au-ink-3); cursor: pointer;
    transition: background var(--au-t1), color var(--au-t1);
}
.au-modal__x:hover { background: var(--au-paper-3); color: var(--au-ink); }
.au-modal__x .au-i { width: 17px; height: 17px; }
.au-modal__body {
    flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain;
    padding: 2px 20px 16px;
    color: var(--au-ink-2); font-size: 14px; line-height: 1.72;
    overflow-wrap: anywhere; word-break: break-word;
}
.au-modal__body > :first-child { margin-top: 0; }
.au-modal__body > :last-child { margin-bottom: 0; }
.au-modal__body img, .au-modal__body video, .au-modal__body iframe { max-width: 100% !important; height: auto !important; }
.au-modal__body a { color: var(--au-primary-deep); }
.au-modal__foot {
    display: flex; justify-content: flex-end; gap: 10px;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--au-line); background: var(--au-paper-2);
}
.au-notice__read { min-width: 132px; justify-content: center; }
.au-notice__read .au-i { width: 17px; height: 17px; }
.au-m-ico { position: relative; }
body.au-notice-open { overflow: hidden; }

@keyframes au-modal-fade { from { opacity: 0; } }
@keyframes au-modal-rise { from { opacity: 0; transform: translateY(14px) scale(.985); } }
@media (prefers-reduced-motion: reduce) {
    .au-modal__scrim, .au-modal__box { animation: none; }
}

@media (max-width: 560px) {
    .au-modal { padding: 14px; }
    .au-modal__box { width: 100%; max-height: 82vh; border-radius: var(--au-r-lg); }
    .au-modal__head { padding: 15px 14px 10px 16px; }
    .au-modal__head h2 { font-size: 16px; }
    .au-modal__body { padding: 2px 16px 14px; font-size: 13.5px; }
    .au-modal__foot { padding: 10px 14px 14px; }
    .au-notice__read { width: 100%; min-width: 0; }
}

/* ==========================================================================
   23 · v3.9.5 起的桌面端深色适配层（v3.9.6 改为跟随主题色）
   —— 3.9.1 起的 PC 商城版式（浅灰底 / 白卡 / 主色）是一套写死的浅色值，
        已按 html[data-theme="light"] 收口；本层给同一批组件补齐深色配套，
        全部走 --au-* 令牌与提亮后的强调色，不新增第二套配色体系。
   —— 同时修正深色下若干处写死颜色导致的低对比（顶部用户胶囊、抽屉菜单、
        公告卡、页脚小字、商品卡价格）。
   ========================================================================== */
@media (min-width: 561px) {

    /* ---- 强调色：蓝色主色在深底上需提亮，实心按钮仍用原主色 + 白字 ---- */
    html[data-theme="dark"] .au-top,
    html[data-theme="dark"] .au-catbar,
    html[data-theme="dark"] .au-stage {
        --au-primary-soft: hsl(var(--au-h) var(--au-s) 62% / .18);
        --au-primary-ring: hsl(var(--au-h) var(--au-s) 62% / .42);
        --au-sh-primary: 0 6px 20px -6px rgb(0 0 0 / .60);
    }

    /* ---- 顶栏 ---- */
    html[data-theme="dark"] .au-top .au-top__bar {
        background: var(--au-glass-strong) !important;
        border-bottom: 1px solid var(--au-line);
        box-shadow: none;
    }
    html[data-theme="dark"] .au-top .au-brand__name { color: var(--au-ink); }
    html[data-theme="dark"] .au-top .au-btn--ghost {
        background: rgb(255 255 255 / .06) !important;
        border: 1px solid var(--au-line) !important;
        color: var(--au-ink) !important;
        box-shadow: none !important;
    }
    html[data-theme="dark"] .au-top .au-btn--ghost:hover { border-color: var(--au-accent-on) !important; color: var(--au-accent-on) !important; }
    html[data-theme="dark"] .au-top .au-btn--rune {
        background: var(--au-primary-fill) !important; border: 1px solid var(--au-primary) !important; color: #FFFFFF !important;
        box-shadow: 0 4px 12px -4px rgb(0 0 0 / .60) !important;
    }
    html[data-theme="dark"] .au-top .au-btn--rune:hover { filter: brightness(1.10); }
    html[data-theme="dark"] .au-top .au-toplink {
        background: rgb(255 255 255 / .06); border: 1px solid var(--au-line) !important; color: var(--au-ink-2) !important;
    }
    html[data-theme="dark"] .au-top .au-toplink:hover { border-color: var(--au-accent-on) !important; color: var(--au-accent-on) !important; }
    html[data-theme="dark"] .au-userpill { background: rgb(255 255 255 / .06); border-color: var(--au-line); }
    html[data-theme="dark"] .au-userpill__balance { color: var(--au-ink-2); }

    /* ---- 顶栏胶囊导航 ---- */
    html[data-theme="dark"] .au-nav {
        background: rgb(255 255 255 / .06);
        border: 1px solid var(--au-line);
        box-shadow: none;
    }
    html[data-theme="dark"] .au-nav__link { color: var(--au-ink-2); }
    html[data-theme="dark"] .au-nav__link:hover { background: rgb(255 255 255 / .08); color: var(--au-ink); }
    html[data-theme="dark"] .au-nav__link.is-active,
    html[data-theme="dark"] .au-nav__link.active {
        background: hsl(var(--au-h) var(--au-s) 62% / .18); color: var(--au-accent-on-2); box-shadow: none;
    }

    /* ---- 分类筛选条 ---- */
    html[data-theme="dark"] .au-catbar {
        background: var(--au-surface) !important; border: 1px solid var(--au-line) !important;
    }
    html[data-theme="dark"] .au-catbar__pill:not(.is-primary) {
        background: rgb(255 255 255 / .06) !important;
        border: 1px solid var(--au-line) !important;
        color: var(--au-ink-2) !important;
    }
    html[data-theme="dark"] .au-catbar__pill:not(.is-primary):hover {
        border-color: hsl(var(--au-h) var(--au-s) 62% / .42) !important; color: var(--au-accent-on-2) !important;
    }
    html[data-theme="dark"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary,
    html[data-theme="dark"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary:hover,
    html[data-theme="dark"] .au-catbar .au-catbar__strip .au-catbar__pill.is-primary:focus {
        background: var(--au-primary-fill) !important; background-color: var(--au-primary-fill) !important;
        border-color: var(--au-primary) !important; color: #FFFFFF !important;
        box-shadow: 0 4px 12px -4px rgb(0 0 0 / .60) !important;
    }
    html[data-theme="dark"] .au-catbar__strip--sub { border-top-color: var(--au-line) !important; }

    /* ---- 左：商品列表 ---- */
    html[data-theme="dark"] .au-lister { background: var(--au-surface) !important; border: 1px solid var(--au-line) !important; }
    html[data-theme="dark"] .au-lister__head { color: var(--au-ink); }
    html[data-theme="dark"] .au-sorts__btn {
        background: rgb(255 255 255 / .06) !important; border: 1px solid var(--au-line) !important; color: var(--au-ink-2) !important;
    }
    html[data-theme="dark"] .au-sorts__btn:hover { background: rgb(255 255 255 / .10) !important; color: var(--au-ink) !important; }

    /* ---- 商品卡 ---- */
    html[data-theme="dark"] .au-lister .item-card-cell .acg-card {
        background: var(--au-surface-2) !important; border: 1px solid var(--au-line) !important;
        box-shadow: 0 1px 2px rgb(0 0 0 / .35) !important;
    }
    html[data-theme="dark"] .au-lister .item-card-cell:hover .acg-card { border-color: hsl(var(--au-h) var(--au-s) 62% / .42) !important; }
    html[data-theme="dark"] .au-lister .item-card-cell .goods-title { color: var(--au-ink) !important; }
    html[data-theme="dark"] .au-lister .item-card-cell .price,
    html[data-theme="dark"] .au-lister .item-card-cell .price .unit { color: var(--au-accent-on-2) !important; }
    html[data-theme="dark"] .au-lister .item-card-cell .stat-bottom { color: var(--au-ink-3) !important; }
    html[data-theme="dark"] .au-lister [data-au-more-btn] {
        background: rgb(255 255 255 / .06) !important; border: 1px solid var(--au-line) !important; color: var(--au-accent-on) !important;
    }

    /* ---- 右：侧栏 ---- */
    html[data-theme="dark"] .au-stage .au-rail .au-panel,
    html[data-theme="dark"] .au-stage .au-rail > .au-panel {
        background: var(--au-surface) !important;
        border: 1px solid var(--au-line) !important;
        box-shadow: 0 1px 2px rgb(0 0 0 / .35) !important;
        color: var(--au-ink) !important;
    }
    html[data-theme="dark"] .au-stage .au-rail .au-panel__head { color: var(--au-ink) !important; }
    html[data-theme="dark"] .au-stage .au-rail .au-panel__head .au-i { color: var(--au-accent-on) !important; }
    html[data-theme="dark"] .au-minisearch__input {
        background: rgb(255 255 255 / .06) !important; border-color: var(--au-line) !important; color: var(--au-ink) !important;
    }
    html[data-theme="dark"] .au-minisearch__input::placeholder { color: var(--au-ink-3) !important; }
    html[data-theme="dark"] .au-minisearch__go {
        background: var(--au-primary-fill) !important; border: 1px solid var(--au-primary-deep) !important;
        color: var(--au-on-solid) !important;
    }
    html[data-theme="dark"] .au-stage .au-rail .au-note {
        background: color-mix(in srgb, var(--au-mark) 6%, #14120e) !important;
        border-color: var(--au-mark-line) !important;
        color: var(--au-ink) !important;
    }
    html[data-theme="dark"] .au-stage .au-rail .au-note__ico { color: var(--au-mark) !important; }
    html[data-theme="dark"] .au-stage .au-rail .au-note__text { color: var(--au-ink) !important; }
    html[data-theme="dark"] .au-stage .au-rail .au-note__text p,
    html[data-theme="dark"] .au-stage .au-rail .au-note__text li,
    html[data-theme="dark"] .au-stage .au-rail .au-note__text div { color: var(--au-ink) !important; }
    html[data-theme="dark"] .au-stage .au-rail .au-note__foot { color: var(--au-ink-3) !important; }
    html[data-theme="dark"] .au-svc__name, html[data-theme="dark"] .au-help__copy b { color: var(--au-ink) !important; }
    html[data-theme="dark"] .au-svc__desc, html[data-theme="dark"] .au-help__copy span { color: var(--au-ink-3) !important; }
    html[data-theme="dark"] .au-svc__ico { background: var(--au-accent-on-soft) !important; color: var(--au-accent-on) !important; }
    html[data-theme="dark"] .au-help__ico--b { background: hsl(var(--au-h) var(--au-s) 62% / .18) !important; color: var(--au-accent-on) !important; }
    html[data-theme="dark"] .au-stage .au-rail .au-help__go {
        background: var(--au-primary-fill) !important; border: 1px solid var(--au-primary-deep) !important;
        color: var(--au-on-solid) !important;
    }
}

/* ---- 深色下的通用修正（不限宽度，含抽屉菜单、页脚、富文本链接、商品卡价格） ---- */
html[data-theme="dark"] .au-drawer { background: var(--au-paper); border-color: var(--au-line); }
html[data-theme="dark"] .au-drawer__link { color: var(--au-ink-2); }
html[data-theme="dark"] .au-drawer__link:hover { background: rgb(255 255 255 / .08); color: var(--au-ink); }
html[data-theme="dark"] .au-drawer__link.is-active,
html[data-theme="dark"] .au-drawer__link.active { background: hsl(var(--au-h) var(--au-s) 62% / .18); color: var(--au-accent-on-2); }
html[data-theme="dark"] .au-drawer__brand { border-bottom-color: var(--au-line); }

html[data-theme="dark"] .au-foot__title { color: var(--au-ink-3); }
html[data-theme="dark"] .au-foot__base { color: var(--au-ink-3); border-top-color: var(--au-line); }
html[data-theme="dark"] .au-foot__base a { color: var(--au-ink-3); }
html[data-theme="dark"] .au-foot__base a:hover { color: var(--au-accent-on); }
html[data-theme="dark"] .au-foot__id b { color: var(--au-ink); }
html[data-theme="dark"] .au-foot__modes button,
html[data-theme="dark"] .au-foot__langs a { color: var(--au-ink-2); }
html[data-theme="dark"] .au-foot__modes button.is-on,
html[data-theme="dark"] .au-foot__langs a.is-on {
    background: hsl(var(--au-h) var(--au-s) 62% / .18); border-color: hsl(var(--au-h) var(--au-s) 62% / .42); color: var(--au-accent-on-2);
}

html[data-theme="dark"] .item-card-cell .price { color: var(--au-accent-on-2) !important; }
html[data-theme="dark"] .au-more__end,
html[data-theme="dark"] .au-empty { color: var(--au-ink-3); }
html[data-theme="dark"] .item-list > .item-card-cell .acg-card {
    background: var(--au-surface-2); border-color: var(--au-line); box-shadow: 0 1px 2px rgb(0 0 0 / .35);
}
html[data-theme="dark"] .au-rich a { color: var(--au-accent-on); }
html[data-theme="dark"] .au-side {
    background: var(--au-surface); border-color: var(--au-line); box-shadow: none;
}
html[data-theme="dark"] .au-side__item.is-primary,
html[data-theme="dark"] .au-side__item.is-on {
    background: hsl(var(--au-h) var(--au-s) 62% / .18); color: var(--au-accent-on-2); box-shadow: inset 3px 0 0 var(--au-accent-on);
}
html[data-theme="dark"] .au-filter,
html[data-theme="dark"] .au-seg { background: rgb(255 255 255 / .06); }

/* ---- 浅色（奶油底色）下页脚与「已经到底啦」的小字提一档对比 ----
   原来的暖灰在奶油底上只有 2.5~3.5，属于历史遗留；这里只在浅色下加深，
   深色由上面 23 节接管，两边都不动版面与字号。 */
html[data-theme="light"] .au-foot__title,
html[data-theme="light"] .au-foot__langs a,
html[data-theme="light"] .au-foot__modes button,
html[data-theme="light"] .au-foot__base,
html[data-theme="light"] .au-foot__base a,
html[data-theme="light"] .au-more__end { color: var(--au-ink-2); }
html[data-theme="light"] .au-foot__base a:hover,
html[data-theme="light"] .au-foot__modes button:hover,
html[data-theme="light"] .au-foot__langs a:hover { color: var(--au-primary-deep); }
html[data-theme="light"] .au-foot__id b { color: var(--au-ink-2); }
html[data-theme="light"] .au-foot__modes button.is-on,
html[data-theme="light"] .au-foot__langs a.is-on { color: var(--au-ink); }

/* ---- 深色下「强调色当文字用」的几处：不限宽度（手机端同样生效） ---- */
html[data-theme="dark"] .au-catbar__num { background: hsl(var(--au-h) var(--au-s) 62% / .18) !important; color: var(--au-accent-on-2) !important; }
html[data-theme="dark"] .au-catbar__pill.is-primary .au-catbar__num { background: rgb(255 255 255 / .24) !important; color: #FFFFFF !important; }
html[data-theme="dark"] .au-lister__meta { color: var(--au-ink-3); }
html[data-theme="dark"] .au-lister__meta b { color: var(--au-accent-on); }
html[data-theme="dark"] .au-lister__title .au-i { color: var(--au-accent-on); }
html[data-theme="dark"] .au-sorts__btn.is-on,
html[data-theme="dark"] .au-sorts__btn.is-on:hover {
    background: hsl(var(--au-h) var(--au-s) 62% / .18) !important;
    border-color: hsl(var(--au-h) var(--au-s) 62% / .42) !important;
    color: var(--au-accent-on-2) !important;
}
html[data-theme="light"] .au-sorts__btn,
html[data-theme="light"] .au-lister__meta { color: var(--au-ink-3); }

/* ---- v3.9.6:浅色下「强调色当文字用」的几处:不限宽度,手机端同样生效
   (原来这几条只写在 PC 层里,手机端浅色下强调色文字压在浅色胶囊上,对比度不足) ---- */
html[data-theme="light"] .au-catbar__num { background: var(--au-primary-soft) !important; color: var(--au-primary-deep) !important; }
html[data-theme="light"] .au-catbar__pill.is-primary .au-catbar__num { background: rgb(255 255 255 / .22) !important; color: #FFFFFF !important; }
html[data-theme="light"] .au-lister__meta b { color: var(--au-primary-deep) !important; }

/* ---- v3.9.6:深色层里 primary-deep 是「实底按钮底」用的深色,当文字用会压不住,
   这几处改用深色层的提亮强调色(跟随主题色,且各色相下都够亮) ---- */
html[data-theme="dark"] .au-look__modes button.is-on { color: var(--au-accent-on) !important; }
html[data-theme="dark"] .au-look__modes button.is-on .au-i { color: var(--au-accent-on) !important; }
