/* ============================================================================
   Liquid Glass Skin  v1.0
   液态玻璃重皮 —— 直接作用于目标站的构建产物，无需改动任何 JS

   挂载方式（在 index.html 的 </head> 前加一行即可）：
     <link rel="stylesheet" href="/pc/assets/liquid-glass.css">
     <script src="/pc/assets/glass-skin.js" defer></script>

   原理：原站是 Tailwind 工具类 + Ant Design Vue(cssinjs) 构建的，
        其中 Tailwind 类名是可预期的（全站仅 350 个 token），
        因此可以用属性选择器 [class*="bg-white"] 批量接管视觉，
        无需修改任何组件代码。

   设计语言：Apple visionOS / macOS Sonoma 液态玻璃
     · backdrop-filter: blur() + saturate() 达成折射感
     · 1px 高光内描边（inset 0 1px 0）模拟玻璃厚度
     · 顶部 50% 白色渐隐 + 多层柔和投影
     · 环境光极光 + SVG 噪点，避免大面积渐变出现色带

   命名空间：所有皮肤自有的变量统一用 --lg-* 前缀，不与原站 --primary-* 冲突。
   ========================================================================== */

/* ---------------------------------------------------------------------------
   0. 皮肤令牌
   ------------------------------------------------------------------------- */
:root {
  --lg-glass-1: rgba(255, 255, 255, .74);
  --lg-glass-2: rgba(255, 255, 255, .56);
  --lg-glass-3: rgba(255, 255, 255, .36);
  --lg-blur: 30px;
  --lg-blur-lg: 48px;
  --lg-sat: 180%;

  --lg-hairline-top: rgba(255, 255, 255, .92);
  --lg-hairline: rgba(255, 255, 255, .60);
  --lg-hairline-soft: rgba(255, 255, 255, .32);
  --lg-edge: rgba(255, 255, 255, .55);

  --lg-sh-1: 0 1px 2px rgba(16, 24, 40, .06);
  --lg-sh-2: 0 2px 6px -2px rgba(16, 24, 40, .10), 0 8px 20px -10px rgba(16, 24, 40, .14);
  --lg-sh-3: 0 4px 12px -4px rgba(16, 24, 40, .12), 0 18px 40px -18px rgba(16, 24, 40, .20);
  --lg-sh-glass: inset 0 1px 0 var(--lg-hairline-top),
                 inset 0 -1px 0 rgba(255, 255, 255, .16),
                 var(--lg-sh-2);

  --lg-accent: #0A84FF;
  --lg-accent-2: #0071E3;
  --lg-accent-soft: rgba(10, 132, 255, .12);
  --lg-grad: linear-gradient(135deg, #4CA8FF 0%, #0A84FF 52%, #0060D6 100%);

  --lg-green: #30D158;
  --lg-orange: #FF9F0A;
  --lg-red: #FF453A;
  --lg-purple: #BF5AF2;

  --lg-r-sm: 12px;
  --lg-r-md: 16px;
  --lg-r-lg: 20px;
  --lg-r-xl: 26px;

  --lg-ease: cubic-bezier(.22, 1, .36, 1);

  /* 高光跟随坐标：由 glass-skin.js 动态写入，这里给默认值 */
  --lg-mx: 50%;
  --lg-my: 0%;
  --lg-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC",
             "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei",
             system-ui, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ===========================================================================
   1. 主题色接管
   原站由 JS 把 --primary-color 写到 documentElement 的 inline style 上
   （来自接口 station_info.site_color，默认 #FF9017）。
   行内样式优先级高于普通样式表，因此这里必须用 !important 才能接管。
   想保留原站橙色，把下面三行注释掉即可。
   =========================================================================== */
:root {
  --primary-color: #0A84FF !important;
  --primary-darken-color: #0071E3 !important;
  --primary-lighten-color: rgba(10, 132, 255, .12) !important;
}

/* ===========================================================================
   2. 环境光背景
   =========================================================================== */
html.lg-on,
body.lg-on {
  background: transparent !important;
  font-family: var(--lg-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-numeric: tabular-nums;
}

/* 由 glass-skin.js 注入 */
.lg-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;               /* 处于 html 背景之上、#app(z-index:1) 之下 */
  pointer-events: none;
  background:
    radial-gradient(1100px 760px at 10% -8%,  rgba(120, 190, 255, .85) 0%, rgba(120, 190, 255, 0) 62%),
    radial-gradient(900px 700px at 96% -4%,   rgba(255, 190, 225, .78) 0%, rgba(255, 190, 225, 0) 58%),
    radial-gradient(1000px 820px at 78% 108%, rgba(150, 245, 200, .60) 0%, rgba(150, 245, 200, 0) 60%),
    radial-gradient(760px 640px at 30% 104%,  rgba(255, 215, 150, .52) 0%, rgba(255, 215, 150, 0) 58%),
    linear-gradient(168deg, #F7F9FE 0%, #EEF3FB 38%, #E9EEF8 68%, #F2F0FA 100%);
}
.lg-ambient::after {              /* 噪点：消除色带，让玻璃更「实」 */
  content: "";
  position: absolute;
  inset: -50%;
  opacity: .40;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 240px 240px;
  animation: lg-grain 6s steps(6) infinite;
}
@keyframes lg-grain {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(-2%, 1%); }
  40%  { transform: translate(1%, -2%); }
  60%  { transform: translate(-1%, 2%); }
  80%  { transform: translate(2%, 1%); }
  100% { transform: translate(0, 0); }
}

.lg-aurora {
  position: fixed;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  filter: blur(90px);
  opacity: .50;
  background:
    radial-gradient(38% 32% at 22% 30%, rgba(10, 132, 255, .42), transparent 70%),
    radial-gradient(34% 30% at 74% 26%, rgba(191, 90, 242, .34), transparent 70%),
    radial-gradient(40% 34% at 58% 76%, rgba(48, 209, 88, .28), transparent 70%);
  animation: lg-aurora 30s var(--lg-ease) infinite alternate;
}
@keyframes lg-aurora {
  0%   { transform: translate3d(-3%, -2%, 0) scale(1.02) rotate(0deg); }
  50%  { transform: translate3d(3%, 2%, 0)  scale(1.10) rotate(4deg); }
  100% { transform: translate3d(-2%, 3%, 0) scale(1.04) rotate(-3deg); }
}

/* ===========================================================================
   3. 布局容器
   =========================================================================== */
#app,
#app > .overflow-x-hidden {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

/* 主内容区：原站是 bg-gray-100 的实心灰底，改为透明让环境光透出 */
.main[data-v-7946e613],
.main {
  background: transparent !important;
  color: #39435A;
}

/* 原站那条装饰横幅（orderbaner_1920_120.jpg）与新的视觉语言不搭，
   改为淡入的环境光过渡。想保留原图，删掉下面这条规则即可。 */
div[class*="orderbaner_1920_120"] {
  height: 40px !important;
  background-image: none !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .0), rgba(255, 255, 255, .55)) !important;
}

/* ===========================================================================
   4. 表面重皮（核心）
   全站所有「白色面板 / 浅灰容器 / 卡片」统一转成玻璃。
   同时覆盖常见圆角、边框与阴影工具类。
   =========================================================================== */

/* ---- 4.1 白色面板 → 主玻璃 ---- */
[class*="bg-white"] {
  background: linear-gradient(180deg, var(--lg-glass-1), var(--lg-glass-2)) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  border-color: var(--lg-edge) !important;
  box-shadow: var(--lg-sh-glass);
}

/* ---- 4.2 浅灰容器 → 次级玻璃 ---- */
[class*="bg-gray-50"],
[class*="bg-gray-100"],
[class*="bg-slate-100"],
[class*="bg-[#f6f8fa]"] {
  background: var(--lg-glass-3) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border-color: var(--lg-hairline-soft) !important;
}

[class*="bg-gray-200"],
[class*="bg-gray-300"] {
  background: rgba(140, 152, 172, .16) !important;
  border-color: var(--lg-hairline-soft) !important;
}

/* 遮罩层（弹窗/图片预览的深色蒙版）→ 玻璃模糊蒙版 */
[class*="bg-[#000000"] {
  background: rgba(12, 18, 32, .32) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
[class*="bg-black"] {
  background: rgba(12, 18, 32, .55) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
[class*="shadow-sm"] { box-shadow: var(--lg-sh-1) !important; }

/* 语义色微调，对齐 Apple 系统色 */
[class*="text-red-400"], [class*="text-red-500"] { color: var(--lg-red) !important; }
[class*="text-red-600"] { color: #D70015 !important; }
[class*="bg-red-50"]    { background: rgba(255, 69, 58, .1) !important; }
[class*="bg-orange-50"] { background: rgba(255, 159, 10, .1) !important; }

/* ---- 4.3 主色块：从纯色改为渐变玻璃 ---- */
[class*="bg-main"]:not([class*="bg-main-lighten"]) {
  background: var(--lg-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .32) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48),
              0 6px 18px -8px rgba(10, 132, 255, .72) !important;
}
[class*="bg-main-lighten"] {
  background: var(--lg-accent-soft) !important;
  color: var(--lg-accent-2) !important;
}
[class*="bg-red-500"] {
  background: linear-gradient(135deg, #FF7A9C, #FF453A) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 6px 18px -8px rgba(255, 69, 58, .7) !important;
}
[class*="bg-purple-100"], [class*="bg-orange-100"] {
  background: rgba(191, 90, 242, .13) !important;
  color: #4A1D8C !important;
}

/* ---- 4.4 圆角：放大到 visionOS 尺度 ---- */
[class*="rounded-[8px]"]  { border-radius: 12px !important; }
[class*="rounded-[10px]"] { border-radius: 14px !important; }
[class*="rounded-[16px]"] { border-radius: var(--lg-r-lg) !important; }
[class*="rounded-[40px]"] { border-radius: 999px !important; }
[class*="rounded-lg"]     { border-radius: 14px !important; }
[class*="rounded-md"]     { border-radius: 11px !important; }
[class*="rounded-sm"]     { border-radius: 9px !important; }

/* ---- 4.5 边框：灰线 → 发丝高光 ---- */
[class*="border-gray-100"],
[class*="border-gray-200"],
[class*="border-gray-300"] {
  border-color: var(--lg-hairline-soft) !important;
}
[class*="border-solid"][class*="border-t"],
[class*="border-b"] {
  border-color: var(--lg-hairline-soft) !important;
}

/* ---- 4.6 阴影：统一为多层柔和投影 ---- */
[class*="shadow-md"] { box-shadow: var(--lg-sh-glass) !important; }
[class*="shadow-lg"],
[class*="shadow-xl"] { box-shadow: var(--lg-sh-glass), 0 24px 56px -28px rgba(16, 24, 40, .38) !important; }

/* ---- 4.7 文字 ---- */
[class*="text-gray-800"], [class*="text-gray-700"] { color: #0A1121 !important; }
[class*="text-gray-600"] { color: #39435A !important; }
[class*="text-gray-500"] { color: #6B7688 !important; }
[class*="text-gray-400"], [class*="text-gray-300"] { color: #9AA3B4 !important; }
[class*="text-main"] { color: var(--lg-accent) !important; }
[class*="hover:bg-main"]:hover { background: var(--lg-grad) !important; color: #fff !important; }
[class*="hover:text-main"]:hover { color: var(--lg-accent) !important; }
[class*="hover:border-main"]:hover { border-color: var(--lg-accent) !important; }
[class*="text-red-500"] { color: var(--lg-red) !important; }
[class*="text-orange-400"], [class*="text-orange-600"] { color: var(--lg-orange) !important; }

/* 字体栈统一 */
body, input, select, textarea, button, .top-link, .ant-btn, .ant-input {
  font-family: var(--lg-font) !important;
}

/* ---- 4.8 原站自有设计类（Tailwind 工具类之外的「品牌类」）----
   从 index-yGvNuOBW.css 反查得到，出现频次很高，是皮肤的关键落点。 */

/* 章节标题：原为「左侧 4px 主色竖条 + 灰色粗体」，改为渐变竖条 + 更紧的字距 */
.hd-1, .hd-2 {
  position: relative;
  padding-left: 13px !important;
  border-left: 0 !important;
  font-weight: 720 !important;
  letter-spacing: -.02em;
  color: #0A1121;
}
.hd-1::before, .hd-2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 1.15em;
  border-radius: 999px;
  background: var(--lg-grad);
  box-shadow: 0 0 12px 1px rgba(10, 132, 255, .45);
}
.hd-1 { font-size: 17px !important; }
.hd-2 { font-size: 15px !important; }

/* 文字按钮：原为主色文字 + 下划线式 hover，改为胶囊玻璃按钮 */
.tb-btn, .opt-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  height: 26px;
  padding: 0 11px !important;
  font-weight: 600 !important;
  color: var(--lg-accent-2) !important;
  border: 1px solid transparent;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6);
  transition: background .2s var(--lg-ease), box-shadow .2s var(--lg-ease),
              transform .12s cubic-bezier(.34, 1.56, .64, 1) !important;
}
.tb-btn:hover, .opt-btn:hover {
  color: var(--lg-accent-2) !important;
  background: rgba(255, 255, 255, .9) !important;
  border-color: var(--lg-edge);
  box-shadow: inset 0 1px 0 #fff, var(--lg-sh-2) !important;
  opacity: 1 !important;
}
.tb-btn:active, .opt-btn:active { transform: scale(.95); opacity: 1 !important; }
.tb-btn.tb-btn-danger {
  color: #B3122F !important;
  background: rgba(255, 69, 58, .12) !important;
}
.tb-btn.tb-btn-danger:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #FF7A9C, #FF453A) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 8px 20px -8px rgba(255,69,58,.7) !important;
}

/* 裸工具类（class 里只有 "rounded" / "border" 这种单词，用 ~= 精确匹配） */
[class~="rounded"]      { border-radius: var(--lg-r-md) !important; }
[class~="rounded-full"] { border-radius: 999px !important; }
[class~="border"] {
  border-color: var(--lg-hairline-soft) !important;
  border-width: 1px !important;
  border-style: solid !important;
}
[class~="border-b"] { border-bottom-color: var(--lg-hairline-soft) !important; }
[class~="border-t"] { border-top-color: var(--lg-hairline-soft) !important; }
[class~="border-l"] { border-left-color: var(--lg-hairline-soft) !important; }
[class~="border-r"] { border-right-color: var(--lg-hairline-soft) !important; }

/* 选项卡式小项（商品列表的排序/样式切换） */
.style-item {
  border-radius: 10px !important;
  transition: background .2s var(--lg-ease), color .2s var(--lg-ease) !important;
}
.style-item:hover {
  color: var(--lg-accent) !important;
  background: rgba(255, 255, 255, .66) !important;
}

/* 筛选工具行（商品/订单列表顶部） */
.filter-row {
  padding: 6px 0 !important;
  border-bottom: 1px solid var(--lg-hairline-soft) !important;
  background: transparent !important;
}
.filter-row:last-child { border-bottom-width: 0 !important; }

/* 表格/列表 hover 态统一 */
[class*="hover:bg-gray-100"]:hover,
[class*="hover:bg-slate-200"]:hover,
[class*="hover:bg-gray-50"]:hover { background: rgba(255, 255, 255, .62) !important; }
[class*="hover:shadow-lg"]:hover {
  box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-3) !important;
}

/* ===========================================================================
   5. 顶部工具条 & 导航
   原站：<div class="top-0 left-0 z-20 w-full bg-gray-100 h-[35px] box-content pb-4">
   =========================================================================== */
div[class*="h-[35px]"][class*="box-content"] {
  position: sticky !important;
  top: 0;
  z-index: 40 !important;   /* 置于页面其它 z-20 元素之上 */
  background: linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, .42)) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur-lg)) saturate(var(--lg-sat));
  backdrop-filter: blur(var(--lg-blur-lg)) saturate(var(--lg-sat));
  border-bottom: 1px solid var(--lg-hairline-soft);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top);
}

/* 顶部链接：苹果风胶囊 hover */
.top-link[data-v-05309254] {
  position: relative;
  height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  color: #39435A;
  transition: background .22s var(--lg-ease), color .22s var(--lg-ease);
}
.top-link[data-v-05309254]:hover {
  color: #0A1121 !important;
  background: rgba(255, 255, 255, .78);
  box-shadow: inset 0 1px 0 #fff, 0 2px 8px -4px rgba(16, 24, 40, .3);
}

/* 原组件内写死的橙色（阅读按钮 / 分隔条）跟随新主题 */
.read-button[data-v-05309254],
.read-all-button[data-v-05309254] {
  color: var(--lg-accent) !important;
  border-radius: 999px;
  transition: background .2s var(--lg-ease);
}
.read-button[data-v-05309254]:hover,
.read-all-button[data-v-05309254]:hover { background: var(--lg-accent-soft); }

.message-item[data-v-05309254] { border-bottom: 1px solid var(--lg-hairline-soft) !important; }
.warn-icon-wrapper[data-v-05309254] {
  border-color: var(--lg-hairline) !important;
  background: rgba(255, 255, 255, .5);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.red-dot[data-v-05309254] {
  background: var(--lg-red) !important;
  box-shadow: 0 0 0 3px rgba(255, 69, 58, .22), 0 0 10px 1px rgba(255, 69, 58, .6);
}

/* 头部下拉/气泡（消息、客服二维码、APP 下载） */
[data-v-05309254] div[class*="overflow-y-auto"] {
  padding: 6px;
  border-radius: var(--lg-r-md);
}

/* ===========================================================================
   6. 悬浮快捷坞
   原站：<div class="fixed right-[10px] bottom-[380px] fixed-menu rounded-lg overflow-hidden shadow-xl z-10">
   =========================================================================== */
.fixed-menu {
  right: 20px !important;
  bottom: 28px !important;
  padding: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, .62) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur-lg)) saturate(210%);
  backdrop-filter: blur(var(--lg-blur-lg)) saturate(210%);
  border: 1px solid var(--lg-edge) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 0 var(--lg-hairline-top),
              0 18px 44px -20px rgba(16, 24, 40, .45) !important;
}
.fixed-menu > div[data-v-7946e613] {
  border: 0 !important;
  border-radius: 999px !important;
  transition: transform .26s cubic-bezier(.34, 1.56, .64, 1), background .2s var(--lg-ease);
}
.fixed-menu > div[data-v-7946e613]:hover {
  transform: scale(1.12);
  background: var(--lg-grad) !important;
  box-shadow: 0 8px 20px -8px rgba(10, 132, 255, .8);
}
.fixed-menu > div[data-v-7946e613]:hover .i,
.fixed-menu > div[data-v-7946e613]:hover div { color: #fff !important; }

/* ===========================================================================
   7. 页脚
   =========================================================================== */
div[class*="h-[100px]"][class*="border-t"] {
  position: relative;
  height: auto !important;
  padding: 26px 0 30px !important;
  flex-wrap: wrap;
  color: #6B7688 !important;
  background: transparent !important;
  border-top: 1px solid var(--lg-hairline-soft) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
div[class*="h-[100px]"][class*="border-t"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .5));
  pointer-events: none;
}

/* ===========================================================================
   8. Ant Design Vue v4 组件重皮
   cssinjs 生成的选择器带 hash 类且 hash-priority="high"（真类名，非 :where），
   特异性为 (0,2,0)，因此这里统一加 !important 才能稳定覆盖。
   =========================================================================== */
/* ---- 按钮 ---- */
.ant-btn {
  height: 34px !important;
  padding: 0 16px !important;
  font-weight: 600 !important;
  color: #0A1121 !important;
  border: 1px solid var(--lg-edge) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .58)) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  backdrop-filter: blur(18px) saturate(180%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-1) !important;
  transition: transform .14s cubic-bezier(.34, 1.56, .64, 1), box-shadow .24s var(--lg-ease), filter .24s var(--lg-ease) !important;
}
.ant-btn > span { position: relative; }
.ant-btn:hover { box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-2) !important; filter: saturate(1.1); }
.ant-btn:active { transform: scale(.965); }
.ant-btn-sm { height: 28px !important; padding: 0 12px !important; font-size: 12px !important; }
.ant-btn-lg { height: 44px !important; padding: 0 22px !important; }
.ant-btn-text, .ant-btn-link {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ant-btn-text:hover, .ant-btn-link:hover { background: rgba(255, 255, 255, .6) !important; }
.ant-btn-link, .ant-btn-link > span { color: var(--lg-accent) !important; }

.ant-btn-primary {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .38) !important;
  background: var(--lg-grad) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55),
              0 2px 4px rgba(0, 60, 140, .2),
              0 10px 26px -10px rgba(10, 132, 255, .78) !important;
}
.ant-btn-primary:not(:disabled):hover { filter: brightness(1.06) saturate(1.08); }
.ant-btn-dangerous {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #FF7A9C, #FF453A) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 10px 26px -10px rgba(255, 69, 58, .7) !important;
}
.ant-btn:disabled, .ant-btn-disabled { opacity: .5 !important; box-shadow: none !important; }

/* ---- 输入 / 选择 / 日期 ---- */
.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-picker,
.ant-select:not(.ant-select-customize-input) .ant-select-selector,
.ant-cascader-picker,
textarea.ant-input {
  min-height: 34px !important;
  color: #0A1121 !important;
  border: 1px solid var(--lg-hairline-soft) !important;
  border-radius: var(--lg-r-sm) !important;
  background: rgba(255, 255, 255, .46) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 2px rgba(16, 24, 40, .05), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
  transition: border-color .22s var(--lg-ease), box-shadow .22s var(--lg-ease), background .22s var(--lg-ease) !important;
}
.ant-input-affix-wrapper { padding: 0 11px !important; }
.ant-input-affix-wrapper > input.ant-input { background: transparent !important; box-shadow: none !important; }
.ant-input:hover,
.ant-picker:hover,
.ant-select:not(.ant-select-disabled):hover .ant-select-selector { background: rgba(255, 255, 255, .62) !important; border-color: var(--lg-hairline) !important; }
.ant-input:focus,
.ant-input-focused,
.ant-input-affix-wrapper-focused,
.ant-picker-focused,
.ant-select-focused:not(.ant-select-disabled) .ant-select-selector {
  background: rgba(255, 255, 255, .82) !important;
  border-color: color-mix(in srgb, var(--lg-accent) 55%, white) !important;
  box-shadow: 0 0 0 4px var(--lg-accent-soft) !important;
}
.ant-input::placeholder, .ant-select-selection-placeholder, .ant-picker-input > input::placeholder { color: #9AA3B4 !important; }
.ant-select-arrow, .ant-picker-suffix { color: #9AA3B4 !important; }
.ant-select-dropdown,
.ant-picker-dropdown .ant-picker-panel-container,
.ant-cascader-menus,
.ant-dropdown-menu {
  padding: 6px !important;
  border: 1px solid var(--lg-edge) !important;
  border-radius: var(--lg-r-md) !important;
  background: rgba(255, 255, 255, .82) !important;
  -webkit-backdrop-filter: blur(40px) saturate(200%);
  backdrop-filter: blur(40px) saturate(200%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top),
              0 24px 56px -24px rgba(16, 24, 40, .42) !important;
}
.ant-select-item { border-radius: 9px !important; }
.ant-select-item-option-active:not(.ant-select-item-option-disabled) { background: rgba(255, 255, 255, .9) !important; }
.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  color: #fff !important;
  background: var(--lg-grad) !important;
  box-shadow: 0 4px 14px -6px rgba(10, 132, 255, .8);
}
.ant-select-item-option-selected .ant-select-item-option-state { color: #fff !important; }
.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner,
.ant-picker-today-btn { background: var(--lg-grad) !important; color: #fff !important; border-radius: 8px !important; }
.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before { border-color: var(--lg-accent) !important; }
.ant-picker-header, .ant-picker-footer { border-color: var(--lg-hairline-soft) !important; }

/* ---- 表单 ---- */
.ant-form-item-label > label { color: #39435A !important; font-weight: 600 !important; font-size: 12.5px !important; }
.ant-form-item-explain-error { font-size: 11.5px !important; }

/* ---- 复选 / 单选 / 开关 ---- */
.ant-checkbox-inner, .ant-radio-inner {
  border-color: var(--lg-hairline) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .6) !important;
  box-shadow: inset 0 1px 2px rgba(16, 24, 40, .05) !important;
}
.ant-radio-inner { border-radius: 50% !important; }
.ant-checkbox-checked .ant-checkbox-inner,
.ant-radio-checked .ant-radio-inner {
  background: var(--lg-grad) !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px -5px rgba(10, 132, 255, .8) !important;
}
.ant-switch { background: rgba(120, 130, 150, .3) !important; box-shadow: inset 0 1px 2px rgba(16, 24, 40, .08) !important; }
.ant-switch-checked { background: linear-gradient(135deg, #5AE9A0, #30D158) !important; box-shadow: 0 4px 12px -5px rgba(48, 209, 88, .8) !important; }
.ant-switch-handle::before { box-shadow: 0 1px 1px rgba(0, 0, 0, .1), 0 2px 6px rgba(16, 24, 40, .22) !important; }

/* ---- 表格 ---- */
.ant-table { background: transparent !important; font-size: 12.5px !important; }
.ant-table-container { border-radius: var(--lg-r-lg) !important; overflow: hidden; }
.ant-table-thead > tr > th {
  color: #6B7688 !important;
  font-weight: 650 !important;
  font-size: 11.5px !important;
  letter-spacing: .02em;
  background: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  border-bottom: 1px solid var(--lg-hairline-soft) !important;
  box-shadow: inset 0 1px 0 var(--lg-hairline-top);
}
.ant-table-thead > tr > th::before { display: none !important; }
.ant-table-tbody > tr > td {
  color: #39435A !important;
  border-bottom: 1px solid var(--lg-hairline-soft) !important;
  background: transparent !important;
}
.ant-table-tbody > tr:hover > td,
.ant-table-tbody > tr.ant-table-row-hover > td { background: rgba(255, 255, 255, .55) !important; }
.ant-table-wrapper .ant-table { background: transparent !important; }
.ant-table-cell-fix-left, .ant-table-cell-fix-right { background: rgba(255, 255, 255, .8) !important; backdrop-filter: blur(20px); }
.ant-table-empty .ant-table-placeholder { background: transparent !important; }

/* ---- 分页 ---- */
.ant-pagination-item,
.ant-pagination-prev .ant-pagination-item-link,
.ant-pagination-next .ant-pagination-item-link {
  min-width: 30px !important;
  height: 30px !important;
  line-height: 28px !important;
  border: 1px solid var(--lg-hairline-soft) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .5) !important;
  transition: all .2s var(--lg-ease) !important;
}
.ant-pagination-item a { color: #39435A !important; }
.ant-pagination-item:hover,
.ant-pagination-prev:hover .ant-pagination-item-link,
.ant-pagination-next:hover .ant-pagination-item-link { background: rgba(255, 255, 255, .88) !important; }
.ant-pagination-item-active {
  border-color: transparent !important;
  background: var(--lg-grad) !important;
  box-shadow: 0 5px 14px -6px rgba(10, 132, 255, .8) !important;
}
.ant-pagination-item-active a { color: #fff !important; }

/* ---- 弹层 / 抽屉 / 气泡 ---- */
.ant-modal-mask { background: rgba(12, 18, 32, .3) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.ant-modal-content,
.ant-drawer-content {
  padding: 0 !important;
  border: 1px solid var(--lg-edge) !important;
  border-radius: var(--lg-r-xl) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .74)) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur-lg)) saturate(210%);
  backdrop-filter: blur(var(--lg-blur-lg)) saturate(210%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top),
              0 40px 100px -40px rgba(6, 12, 30, .55) !important;
  overflow: hidden;
}
.ant-modal-header { padding: 18px 24px 14px !important; border-bottom: 1px solid var(--lg-hairline-soft) !important; background: transparent !important; border-radius: 0 !important; }
.ant-modal-title { font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.01em; }
.ant-modal-body { padding: 20px 24px !important; }
.ant-modal-footer { padding: 14px 24px !important; border-top: 1px solid var(--lg-hairline-soft) !important; background: rgba(255, 255, 255, .34) !important; }
.ant-modal-close { top: 14px !important; right: 14px !important; border-radius: 999px !important; transition: background .2s var(--lg-ease); }
.ant-modal-close:hover { background: rgba(255, 255, 255, .8) !important; }
.ant-modal-confirm .ant-modal-confirm-title { font-weight: 700 !important; }
.ant-drawer-header { border-bottom: 1px solid var(--lg-hairline-soft) !important; background: transparent !important; }

.ant-tooltip-inner,
.ant-popover-inner,
.ant-popconfirm-inner-content {
  padding: 8px 12px !important;
  color: #fff !important;
  border-radius: var(--lg-r-sm) !important;
  background: rgba(18, 22, 34, .88) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .6) !important;
  font-size: 12px !important;
}
.ant-popover-inner { color: #0A1121 !important; background: rgba(255, 255, 255, .88) !important; }
.ant-popover-arrow::before { background: rgba(255, 255, 255, .88) !important; }

/* ---- 反馈 ---- */
.ant-message-notice-content,
.ant-notification-notice {
  padding: 10px 16px !important;
  border: 1px solid var(--lg-edge) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .88) !important;
  -webkit-backdrop-filter: blur(var(--lg-blur)) saturate(200%);
  backdrop-filter: blur(var(--lg-blur)) saturate(200%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top),
              0 18px 44px -20px rgba(6, 12, 30, .45) !important;
  font-weight: 550;
}
.ant-notification-notice { border-radius: var(--lg-r-lg) !important; }
.ant-spin-dot-item { background-color: var(--lg-accent) !important; }
.ant-skeleton { background: transparent !important; }
.ant-skeleton .ant-skeleton-content .ant-skeleton-title,
.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph > li,
.ant-skeleton .ant-skeleton-header .ant-skeleton-avatar {
  background: linear-gradient(90deg, rgba(140, 152, 172, .14), rgba(140, 152, 172, .26), rgba(140, 152, 172, .14)) !important;
  background-size: 400% 100% !important;
  border-radius: 10px !important;
}
.ant-empty-description { color: #9AA3B4 !important; }

/* ---- 标签 / 徽标 / 头像 ---- */
.ant-tag {
  height: 22px !important;
  display: inline-flex !important;
  align-items: center;
  padding: 0 9px !important;
  margin-inline-end: 6px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  border: 1px solid var(--lg-hairline-soft) !important;
  background: rgba(255, 255, 255, .55) !important;
  color: #39435A !important;
}
.ant-tag-blue   { background: rgba(10, 132, 255, .14) !important;  color: #06407F !important; border-color: rgba(10, 132, 255, .24) !important; }
.ant-tag-green  { background: rgba(48, 209, 88, .16) !important;   color: #075A2A !important; border-color: rgba(48, 209, 88, .28) !important; }
.ant-tag-orange { background: rgba(255, 159, 10, .16) !important;  color: #8A4B00 !important; border-color: rgba(255, 159, 10, .28) !important; }
.ant-tag-red    { background: rgba(255, 69, 58, .14) !important;   color: #8E0B26 !important; border-color: rgba(255, 69, 58, .26) !important; }
.ant-tag-purple { background: rgba(191, 90, 242, .14) !important;  color: #4A1D8C !important; border-color: rgba(191, 90, 242, .26) !important; }
.ant-badge-count {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #FF7A9C, #FF453A) !important;
  box-shadow: 0 2px 8px -2px rgba(255, 69, 58, .8) !important;
  font-weight: 700 !important;
}
.ant-avatar {
  border: 1px solid rgba(255, 255, 255, .5) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), var(--lg-sh-1) !important;
}

/* ---- 选项卡 ---- */
.ant-tabs-top > .ant-tabs-nav::before { border-bottom-color: var(--lg-hairline-soft) !important; }
.ant-tabs-tab { font-weight: 600 !important; color: #6B7688 !important; transition: color .2s var(--lg-ease) !important; }
.ant-tabs-tab:hover, .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn { color: #0A1121 !important; }
.ant-tabs-ink-bar { height: 2.5px !important; border-radius: 3px; background: var(--lg-grad) !important; box-shadow: 0 0 10px 0 rgba(10, 132, 255, .6); }
.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab { border-radius: 12px 12px 0 0 !important; background: rgba(255, 255, 255, .4) !important; }
.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active { background: rgba(255, 255, 255, .85) !important; }

/* ---- 图片 / 轮播 ---- */
.ant-image-img { border-radius: var(--lg-r-md); }
.ant-image-preview-mask { background: rgba(12, 18, 32, .55) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.ant-carousel .slick-dots li button { background: rgba(10, 17, 33, .28) !important; border-radius: 999px; }
.ant-carousel .slick-dots li.slick-active button { background: var(--lg-accent) !important; }

/* ---- 回到顶部 ---- */
.ant-back-top { right: 20px !important; bottom: 108px !important; }
.ant-back-top-content {
  width: 40px !important; height: 40px !important; line-height: 40px !important;
  border: 1px solid var(--lg-edge) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .68) !important;
  -webkit-backdrop-filter: blur(30px) saturate(200%);
  backdrop-filter: blur(30px) saturate(200%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-2) !important;
  color: #39435A !important;
  transition: transform .26s cubic-bezier(.34, 1.56, .64, 1) !important;
}
.ant-back-top-content:hover { transform: translateY(-4px) scale(1.06) !important; background: var(--lg-grad) !important; color: #fff !important; }

/* ---- 穿梭框 / 步骤 / 折叠 / 结果 ---- */
.ant-steps-item-title { font-weight: 650 !important; font-size: 13px !important; }
.ant-steps-item-process .ant-steps-item-icon {
  background: var(--lg-grad) !important; border-color: transparent !important;
  box-shadow: 0 0 0 4px var(--lg-accent-soft), 0 6px 16px -6px rgba(10, 132, 255, .8) !important;
}
.ant-steps-item-finish .ant-steps-item-icon { border-color: var(--lg-green) !important; }
.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { color: var(--lg-green) !important; }
.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after { background: var(--lg-green) !important; }
.ant-collapse-item { border-bottom-color: var(--lg-hairline-soft) !important; }
.ant-collapse-header { font-weight: 650 !important; }

/* ===========================================================================
   9. 图标字体（uiw）
   =========================================================================== */
.i[class*="uiw:"] { color: inherit; }
.fixed-menu .i { color: #39435A; font-size: 17px; }

/* ===========================================================================
   10. 滚动条
   原站滚动条滑块用的是 --primary-color，重皮后自动变蓝；
   这里再改成半透明圆角样式，更符合玻璃质感。
   =========================================================================== */
html { margin-right: 0 !important; scroll-behavior: smooth; }
::-webkit-scrollbar { width: 9px !important; height: 9px !important; }
::-webkit-scrollbar-track { background: transparent !important; }
::-webkit-scrollbar-thumb {
  background: rgba(120, 130, 150, .32) !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background-clip: content-box !important;
}
::-webkit-scrollbar-thumb:hover { background: rgba(100, 110, 130, .5) !important; background-clip: content-box !important; }
body::-webkit-scrollbar-thumb { background: rgba(120, 130, 150, .32) !important; background-clip: content-box !important; }
* { scrollbar-width: thin; scrollbar-color: rgba(120, 130, 150, .35) transparent; }

/* ===========================================================================
   11. 玻璃「高光跟随」
   glass-skin.js 会把鼠标位置写入 --lg-mx / --lg-my
   =========================================================================== */
.lg-spec {
  position: relative;
}
.lg-spec::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(220px 220px at var(--lg-mx, 50%) var(--lg-my, 0%),
              rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 62%);
  transition: opacity .3s var(--lg-ease);
  z-index: 0;
}
.lg-spec:hover::after { opacity: 1; }

/* ===========================================================================
   12. 皮肤自带的主题切换按钮
   =========================================================================== */
.lg-toggle {
  position: fixed;
  left: 20px;
  bottom: 28px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 15px;
  font: 600 12.5px var(--lg-font);
  color: #39435A;
  cursor: pointer;
  border: 1px solid var(--lg-edge);
  border-radius: 999px;
  background: rgba(255, 255, 255, .62);
  -webkit-backdrop-filter: blur(40px) saturate(200%);
  backdrop-filter: blur(40px) saturate(200%);
  box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-2);
  transition: transform .26s cubic-bezier(.34, 1.56, .64, 1), box-shadow .24s var(--lg-ease);
}
.lg-toggle:hover { transform: translateY(-3px); box-shadow: inset 0 1px 0 var(--lg-hairline-top), var(--lg-sh-3); }
.lg-toggle svg { display: block; }

/* ===========================================================================
   13. 深色模式（html[data-lg-theme="dark"]）
   =========================================================================== */
html[data-lg-theme="dark"] {
  --lg-glass-1: rgba(28, 30, 42, .70);
  --lg-glass-2: rgba(28, 30, 42, .52);
  --lg-glass-3: rgba(28, 30, 42, .34);
  --lg-hairline-top: rgba(255, 255, 255, .26);
  --lg-hairline: rgba(255, 255, 255, .16);
  --lg-hairline-soft: rgba(255, 255, 255, .10);
  --lg-edge: rgba(255, 255, 255, .14);
  --lg-sh-glass: inset 0 1px 0 var(--lg-hairline-top), 0 2px 6px -2px rgba(0, 0, 0, .5), 0 16px 36px -18px rgba(0, 0, 0, .6);
}
html[data-lg-theme="dark"] .lg-ambient {
  background:
    radial-gradient(1100px 760px at 10% -8%,  rgba(10, 70, 150, .72) 0%, transparent 62%),
    radial-gradient(900px 700px at 96% -4%,   rgba(110, 30, 120, .58) 0%, transparent 58%),
    radial-gradient(1000px 820px at 78% 108%, rgba(10, 90, 70, .50) 0%, transparent 60%),
    linear-gradient(168deg, #0B1020 0%, #0D1424 45%, #0A0E1A 100%);
}
html[data-lg-theme="dark"] body,
html[data-lg-theme="dark"] .main { color: #C6CCDA !important; }
html[data-lg-theme="dark"] [class*="text-gray-800"],
html[data-lg-theme="dark"] [class*="text-gray-700"] { color: #F2F4F9 !important; }
html[data-lg-theme="dark"] [class*="text-gray-600"] { color: #C6CCDA !important; }
html[data-lg-theme="dark"] [class*="text-gray-500"] { color: #98A1B4 !important; }
html[data-lg-theme="dark"] .ant-btn { color: #F2F4F9 !important; }
html[data-lg-theme="dark"] .ant-btn-text:hover,
html[data-lg-theme="dark"] .ant-btn-link:hover { background: rgba(255, 255, 255, .1) !important; }
html[data-lg-theme="dark"] .ant-input,
html[data-lg-theme="dark"] .ant-picker,
html[data-lg-theme="dark"] .ant-select-selector { color: #F2F4F9 !important; background: rgba(255, 255, 255, .07) !important; }
html[data-lg-theme="dark"] .ant-table-thead > tr > th { color: #98A1B4 !important; background: rgba(255, 255, 255, .06) !important; }
html[data-lg-theme="dark"] .ant-table-tbody > tr > td { color: #C6CCDA !important; }
html[data-lg-theme="dark"] .ant-modal-content,
html[data-lg-theme="dark"] .ant-drawer-content { background: linear-gradient(180deg, rgba(26, 29, 41, .92), rgba(20, 23, 34, .88)) !important; }
html[data-lg-theme="dark"] .ant-select-dropdown,
html[data-lg-theme="dark"] .ant-dropdown-menu,
html[data-lg-theme="dark"] .ant-picker-panel-container { background: rgba(26, 29, 41, .92) !important; }
html[data-lg-theme="dark"] .lg-toggle { color: #F2F4F9; background: rgba(28, 30, 42, .66); }

/* ===========================================================================
   14. 无障碍与降级
   =========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .lg-ambient::after, .lg-aurora { animation: none !important; }
  * { transition-duration: 1ms !important; animation-duration: 1ms !important; }
}

/* 不支持 backdrop-filter 时回退到高不透明度纯色，避免文字不可读 */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  [class*="bg-white"] { background: rgba(255, 255, 255, .95) !important; }
  [class*="bg-gray-100"], [class*="bg-gray-50"] { background: rgba(245, 247, 250, .95) !important; }
  .lg-ambient { opacity: .6; }
}

/* 打印：去玻璃，保证清晰 */
@media print {
  .lg-ambient, .lg-aurora, .lg-toggle, .fixed-menu { display: none !important; }
  [class*="bg-white"] { background: #fff !important; backdrop-filter: none !important; box-shadow: none !important; }
}
