/* 灵犀 AURORA · 全局基础样式
 * reset / 排版 / 按钮 / 卡片 / 玻璃拟态 / 导航 / toast / 通用动画 / 打印
 * 依赖 tokens.css，必须先引入 tokens.css
 */

/* ============ 1. reset ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}

/* hidden 必须能压住任何 display（状态块普遍用 display:flex/grid，
   否则 loading / error / empty / 内容会同时渲染，叠成一坨） */
[hidden]{display:none !important}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,svg,canvas,video{display:block;max-width:100%}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--aurora-2);outline-offset:2px}
::selection{background:rgba(109,94,252,.45);color:#fff}

/* ============ 2. 排版与底色 ============ */
body{
  min-height:100vh;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.7;
  color:var(--tx-1);
  background:var(--bg-0);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  /* 导航改为 fixed 后需要给内容让出高度 */
  padding-top:var(--nav-h);
}

/* ============ 2.1 滚动条 ============ */
/* Firefox */
html{scrollbar-width:thin;scrollbar-color:rgba(109,94,252,.55) transparent}
*{scrollbar-width:thin;scrollbar-color:rgba(109,94,252,.45) transparent}
/* WebKit / Blink */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:linear-gradient(180deg,rgba(109,94,252,.75),rgba(47,184,255,.6));
  border:2px solid transparent;
  background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(109,94,252,.95),rgba(0,229,192,.75));
  background-clip:padding-box;
}
::-webkit-scrollbar-corner{background:transparent}
/* 弹窗内滚动区：更细、更收敛，避免抢视觉 */
.au-scroll-slim::-webkit-scrollbar{width:7px;height:7px}
.au-scroll-slim::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.2);border:2px solid transparent;background-clip:padding-box;
}
.au-scroll-slim::-webkit-scrollbar-thumb:hover{
  background:rgba(109,94,252,.8);background-clip:padding-box;
}
h1,h2,h3,h4{color:var(--tx-0);line-height:1.25;font-weight:700;letter-spacing:.01em}
h1{font-size:clamp(28px,5vw,52px)}
h2{font-size:clamp(22px,3.4vw,34px)}
h3{font-size:clamp(18px,2.2vw,22px)}
h4{font-size:17px}
p{color:var(--tx-1)}
small{font-size:13px;color:var(--tx-2)}
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}

.au-wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.au-section{padding:84px 0;position:relative}
.au-center{text-align:center}
.au-muted{color:var(--tx-2)}
.au-dim{color:var(--tx-3)}
.au-gold{color:var(--gold)}
.au-hide{display:none !important}
.au-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.au-grad-text{
  background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.au-grad-main-text{
  background:var(--grad-main);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.au-grad-gold-text{
  background:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* 区块标题组 */
.au-head{max-width:760px;margin:0 auto 48px;text-align:center}
.au-head .au-kicker{
  display:inline-block;margin-bottom:14px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--aurora-3);
}
.au-head p{margin-top:14px;color:var(--tx-2);font-size:15px}

/* 徽标 */
.au-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:999px;
  font-size:12px;line-height:1.5;
  border:1px solid var(--line);background:var(--glass);color:var(--tx-1);
}
.au-badge-gold{border-color:rgba(255,200,107,.4);background:rgba(255,200,107,.1);color:var(--gold)}
.au-badge-free{border-color:rgba(47,184,255,.35);background:rgba(47,184,255,.1);color:var(--aurora-2)}
.au-badge-demo{border-color:rgba(255,95,162,.32);background:rgba(255,95,162,.09);color:var(--aurora-4)}

/* ============ 3. 按钮 ============ */
.au-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 24px;
  border-radius:999px;border:1px solid transparent;
  font-size:15px;font-weight:600;line-height:1;
  color:var(--tx-0);
  background:var(--glass-2);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,opacity .22s ease;
  -webkit-tap-highlight-color:transparent;
  text-align:center;
}
.au-btn-primary{
  background:var(--grad-main);color:#080a16;
  box-shadow:0 10px 30px rgba(109,94,252,.32);
}
.au-btn-gold{
  background:var(--grad-gold);color:#2a1c05;
  box-shadow:0 10px 30px rgba(255,200,107,.26);
}
.au-btn-ghost{background:transparent;border-color:var(--line);color:var(--tx-0)}
.au-btn-quiet{background:transparent;border-color:transparent;color:var(--tx-2)}
.au-btn-danger{background:rgba(255,95,162,.12);border-color:rgba(255,95,162,.38);color:#ff8ebd}
.au-btn-lg{min-height:54px;padding:0 34px;font-size:16px}
.au-btn-sm{min-height:36px;padding:0 16px;font-size:13px}
.au-btn-block{display:flex;width:100%}
.au-btn:disabled,.au-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;box-shadow:none}
@media (hover:hover) and (pointer:fine){
  .au-btn:hover{transform:translateY(-2px)}
  .au-btn-primary:hover{box-shadow:0 14px 38px rgba(109,94,252,.45)}
  .au-btn-gold:hover{box-shadow:0 14px 38px rgba(255,200,107,.4)}
  .au-btn-ghost:hover{background:var(--glass);border-color:rgba(255,255,255,.2)}
  .au-btn-quiet:hover{color:var(--tx-0)}
  .au-btn:disabled:hover,.au-btn[aria-disabled="true"]:hover{transform:none}
}
.au-btn:active{transform:translateY(0) scale(.985)}

/* ============ 4. 卡片 / 玻璃拟态 ============ */
.au-card{
  position:relative;
  padding:26px;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:var(--shadow-1);
}
.au-glass{
  border:1px solid var(--line);
  background:var(--glass);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  backdrop-filter:blur(14px) saturate(150%);
  border-radius:var(--r-lg);
}
.au-glass-2{background:var(--glass-2)}
/* 顶部一道极光描边 */
.au-card-lit::before{
  content:"";position:absolute;left:22px;right:22px;top:-1px;height:1px;
  background:var(--grad-main);opacity:.75;border-radius:1px;
}
.au-card-gold{border-color:rgba(255,200,107,.28)}
.au-card-gold::before{background:var(--grad-gold)}

@media (hover:hover) and (pointer:fine){
  .au-hoverable{transition:transform .28s cubic-bezier(.2,.7,.3,1),border-color .28s ease,box-shadow .28s ease}
  .au-hoverable:hover{
    transform:translateY(-6px);
    border-color:rgba(109,94,252,.42);
    box-shadow:0 18px 46px rgba(0,0,0,.45),var(--shadow-glow);
  }
}

.au-grid{display:grid;gap:20px}
.au-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.au-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.au-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){
  .au-grid-3,.au-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============ 5. 表单 ============ */
.au-field{margin-bottom:18px}
.au-label{display:block;margin-bottom:8px;font-size:13px;color:var(--tx-2);letter-spacing:.04em}
.au-input{
  width:100%;min-height:48px;padding:0 16px;
  border-radius:var(--r-sm);
  border:1px solid var(--line);
  background:rgba(7,9,18,.55);
  color:var(--tx-0);font-size:15px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.au-input::placeholder{color:var(--tx-3)}
.au-input:focus{
  outline:none;border-color:rgba(109,94,252,.65);
  box-shadow:0 0 0 3px rgba(109,94,252,.16);
  background:rgba(7,9,18,.8);
}
.au-input.is-ok{border-color:rgba(0,229,192,.6)}
.au-input.is-bad{border-color:rgba(255,95,162,.65)}
.au-hint{margin-top:7px;font-size:12.5px;min-height:18px;color:var(--tx-3);transition:color .2s ease}
.au-hint.is-ok{color:var(--aurora-3)}
.au-hint.is-bad{color:#ff8ebd}

/* ============ 6. 顶部导航 + 汉堡菜单 ============ */
.au-nav{
  position:fixed;left:0;right:0;top:0;z-index:60;
  height:var(--nav-h);
  border-bottom:1px solid var(--line);
  background:rgba(7,9,18,.72);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
}
.au-nav-inner{
  height:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:18px;
}
.au-logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--tx-0);letter-spacing:.02em;flex:0 0 auto}
.au-logo-mark{
  width:32px;height:32px;flex:0 0 auto;display:block;
  filter:drop-shadow(0 4px 14px rgba(109,94,252,.55));
}
.au-logo:hover .au-logo-mark{filter:drop-shadow(0 4px 18px rgba(47,184,255,.7))}
.au-logo-mark,.au-logo-mark *{transition:filter .25s ease}
.au-logo-txt{font-size:16px}
.au-logo-txt span{font-size:11px;letter-spacing:.28em;color:var(--tx-2);margin-left:6px;font-weight:600}

.au-nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
.au-nav-links a{
  padding:8px 13px;border-radius:999px;
  font-size:14px;color:var(--tx-1);
  transition:color .2s ease,background .2s ease;
}
.au-nav-links a.is-active{color:var(--tx-0);background:var(--glass-2)}
@media (hover:hover) and (pointer:fine){
  .au-nav-links a:hover{color:var(--tx-0);background:var(--glass)}
}
.au-nav-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.au-nav-user{font-size:13px;color:var(--tx-1);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 会员标识（导航常驻，金色。桌面端只留一个图标，天数进会员中心看）
   尺寸向用户名看齐：22px 圆 ≈ 13px 文字的行高，不抢戏 */
.au-vip{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:22px;height:22px;border-radius:50%;
  border:1px solid rgba(255,200,107,.45);
  background:linear-gradient(135deg,rgba(255,216,155,.18),rgba(255,200,107,.1));
  color:var(--gold);line-height:1;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 0 10px rgba(255,200,107,.18);
  transition:box-shadow .3s ease,border-color .3s ease,transform .2s ease;
}
.au-vip:hover{border-color:rgba(255,200,107,.75);box-shadow:0 0 16px rgba(255,200,107,.34);transform:translateY(-1px)}
.au-vip i{font-style:normal;font-size:11px;line-height:1}
/* 抽屉里保留完整文案：移动端没有 hover，光一个图标看不懂 */
.au-vip-block{
  display:flex;width:100%;height:auto;justify-content:center;gap:6px;
  padding:11px 14px;font-size:13px;border-radius:var(--r-sm);
}
.au-vip-block i{font-size:13px}
.au-vip-block b{font-weight:600;letter-spacing:.02em}
.au-vip-block span{color:rgba(255,200,107,.72);font-size:12px}
.au-vip-block span:empty{display:none}
@media (prefers-reduced-motion:reduce){
  .au-vip{transition:none}
  .au-vip:hover{transform:none}
}

.au-burger{
  display:none;
  width:42px;height:42px;border-radius:12px;
  border:1px solid var(--line);background:var(--glass);
  align-items:center;justify-content:center;flex:0 0 auto;
}
.au-burger i{
  display:block;position:relative;width:18px;height:2px;border-radius:2px;background:var(--tx-0);
  transition:transform .25s ease,background .2s ease;
}
.au-burger i::before,.au-burger i::after{
  content:"";position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:var(--tx-0);
  transition:transform .25s ease,opacity .2s ease;
}
.au-burger i::before{top:-6px}
.au-burger i::after{top:6px}
.au-burger[aria-expanded="true"] i{background:transparent}
.au-burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.au-burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}

.au-drawer{
  display:none;
  position:fixed;left:0;right:0;top:var(--nav-h);z-index:59;
  padding:16px 20px 26px;
  background:rgba(9,11,24,.97);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  max-height:calc(100vh - var(--nav-h));overflow-y:auto;
}
.au-drawer a{
  display:block;padding:14px 14px;border-radius:var(--r-sm);
  font-size:16px;color:var(--tx-1);border:1px solid transparent;
}
.au-drawer a.is-active{color:var(--tx-0);background:var(--glass);border-color:var(--line)}
.au-drawer-foot{margin-top:14px;display:grid;gap:10px}

/* ============ 7. Toast ============ */
.au-toasts{
  position:fixed;z-index:999;
  left:50%;transform:translateX(-50%);
  top:calc(var(--nav-h) + 14px);
  width:min(440px,calc(100vw - 32px));
  display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
}
.au-toast{
  pointer-events:auto;
  display:flex;align-items:flex-start;gap:10px;
  padding:13px 14px;
  border-radius:var(--r-md);
  border:1px solid var(--line);
  background:rgba(20,24,48,.96);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:var(--shadow-1);
  color:var(--tx-0);font-size:14px;line-height:1.6;
  animation:au-toast-in .28s cubic-bezier(.2,.8,.3,1) both;
}
.au-toast.is-out{animation:au-toast-out .22s ease forwards}
.au-toast-ico{
  flex:0 0 auto;width:20px;height:20px;margin-top:1px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:#080a16;
}
.au-toast-msg{flex:1 1 auto;min-width:0;word-break:break-word}
.au-toast-x{
  flex:0 0 auto;width:24px;height:24px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  color:var(--tx-2);font-size:16px;line-height:1;
}
@media (hover:hover) and (pointer:fine){
  .au-toast-x:hover{color:var(--tx-0);background:var(--glass-2)}
}
.au-toast-ok{border-color:rgba(0,229,192,.4)}
.au-toast-ok .au-toast-ico{background:var(--aurora-3)}
.au-toast-info{border-color:rgba(47,184,255,.4)}
.au-toast-info .au-toast-ico{background:var(--aurora-2)}
.au-toast-err{border-color:rgba(255,95,162,.55);background:rgba(48,16,34,.97)}
.au-toast-err .au-toast-ico{background:var(--aurora-4)}
@keyframes au-toast-in{from{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes au-toast-out{to{opacity:0;transform:translateY(-8px) scale(.97)}}

/* ============ 8. 通用动画：粒子 / 光晕 / 流光 ============ */
/* 粒子层（CSS 版，供无 canvas 页面使用） */
.au-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.au-particles i{
  position:absolute;bottom:-10px;
  width:3px;height:3px;border-radius:50%;
  background:var(--aurora-2);opacity:0;
  animation:au-float linear infinite;
  will-change:transform,opacity;
}
@keyframes au-float{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.6)}
  12%{opacity:.75}
  100%{opacity:0;transform:translate3d(var(--dx,20px),calc(-1 * var(--rise,90vh)),0) scale(1.15)}
}
canvas.au-particle-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}

/* 渐变光晕 */
.au-glow{
  position:absolute;border-radius:50%;
  filter:blur(80px);opacity:.4;pointer-events:none;z-index:0;
  will-change:transform;
}
.au-glow-1{width:520px;height:520px;background:radial-gradient(circle,rgba(109,94,252,.85),transparent 68%);animation:au-drift 22s ease-in-out infinite}
.au-glow-2{width:460px;height:460px;background:radial-gradient(circle,rgba(47,184,255,.7),transparent 68%);animation:au-drift 27s ease-in-out infinite reverse}
.au-glow-3{width:400px;height:400px;background:radial-gradient(circle,rgba(0,229,192,.55),transparent 68%);animation:au-drift 31s ease-in-out infinite}
@keyframes au-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  33%{transform:translate3d(6%,-5%,0) scale(1.12)}
  66%{transform:translate3d(-5%,4%,0) scale(.94)}
}

/* 极光顶部条 */
.au-aurora-band{
  position:absolute;left:-10%;right:-10%;top:0;height:260px;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 100% at 20% 0%,rgba(109,94,252,.45),transparent 70%),
    radial-gradient(50% 100% at 55% 0%,rgba(47,184,255,.38),transparent 70%),
    radial-gradient(55% 100% at 85% 0%,rgba(0,229,192,.3),transparent 70%);
  filter:blur(28px);
  animation:au-band 16s ease-in-out infinite alternate;
}
@keyframes au-band{0%{transform:translateX(-2%) scaleY(1)}100%{transform:translateX(2%) scaleY(1.18)}}

/* 流光（进度条 / 描边扫光） */
.au-shine{position:relative;overflow:hidden}
.au-shine::after{
  content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  animation:au-sweep 2.6s ease-in-out infinite;
}
@keyframes au-sweep{0%{left:-60%}60%,100%{left:120%}}

.au-progress{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.au-progress>span{display:block;height:100%;border-radius:999px;background:var(--grad-main);transition:width .45s cubic-bezier(.3,.8,.3,1)}

/* 入场浮现 */
.au-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.au-reveal.is-in{opacity:1;transform:none}

/* 数字跳动 */
.au-num{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em}

/* 呼吸脉冲 */
.au-pulse{animation:au-pulse 2.8s ease-in-out infinite}
@keyframes au-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  .au-reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ============ 9. 页脚 ============ */
.au-foot{
  border-top:1px solid var(--line);
  padding:40px 0 54px;
  background:var(--bg-1);
  position:relative;z-index:1;
}
.au-foot-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
}
.au-foot-links{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--tx-2)}
.au-foot small{display:block;color:var(--tx-3);font-size:12px;line-height:1.9}

/* ============ 10. 小犀浮窗 ============ */
.xi-fab{
  position:fixed;right:20px;bottom:20px;z-index:80;
  width:56px;height:56px;border-radius:50%;
  background:var(--grad-main);
  box-shadow:0 10px 30px rgba(109,94,252,.5);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s ease,opacity .2s ease;
}
.xi-fab svg{width:28px;height:28px}
.xi-fab[hidden]{display:none}
@media (hover:hover) and (pointer:fine){
  .xi-fab:hover{transform:scale(1.08) rotate(-4deg)}
}
.xi-fab-dot{
  position:absolute;top:2px;right:2px;width:11px;height:11px;border-radius:50%;
  background:var(--aurora-4);border:2px solid var(--bg-0);
}
.xi-panel{
  position:fixed;right:20px;bottom:20px;z-index:81;
  width:min(360px,calc(100vw - 32px));
  max-height:min(560px,calc(100vh - 90px));
  display:flex;flex-direction:column;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  background:rgba(13,16,32,.97);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  overflow:hidden;
  animation:au-xi-in .26s cubic-bezier(.2,.8,.3,1) both;
}
@keyframes au-xi-in{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.xi-panel[hidden]{display:none}
.xi-head{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,rgba(109,94,252,.24),rgba(47,184,255,.14));
  flex:0 0 auto;
}
.xi-avatar{
  width:34px;height:34px;border-radius:11px;flex:0 0 auto;
  background:var(--grad-main);display:flex;align-items:center;justify-content:center;
}
.xi-avatar svg{width:20px;height:20px}
.xi-name{font-size:14px;font-weight:700;color:var(--tx-0);line-height:1.3}
.xi-name em{display:block;font-style:normal;font-size:11.5px;font-weight:400;color:var(--tx-2)}
.xi-close{
  margin-left:auto;width:30px;height:30px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  color:var(--tx-1);font-size:18px;line-height:1;
}
@media (hover:hover) and (pointer:fine){
  .xi-close:hover{background:var(--glass-2);color:var(--tx-0)}
}
.xi-body{
  flex:1 1 auto;overflow-y:auto;
  padding:14px;display:flex;flex-direction:column;gap:10px;
  -webkit-overflow-scrolling:touch;
}
.xi-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.xi-msg-bot{align-self:flex-start;background:var(--glass-2);border:1px solid var(--line);color:var(--tx-1);border-bottom-left-radius:5px}
.xi-msg-me{align-self:flex-end;background:var(--grad-main);color:#080a16;font-weight:500;border-bottom-right-radius:5px}
.xi-caret{display:inline-block;width:7px;height:15px;vertical-align:-2px;background:var(--aurora-3);animation:au-blink .85s step-end infinite}
@keyframes au-blink{50%{opacity:0}}
.xi-quick{
  flex:0 0 auto;display:flex;flex-wrap:wrap;gap:7px;
  padding:10px 14px;border-top:1px solid var(--line);
}
.xi-quick button{
  padding:7px 11px;border-radius:999px;
  border:1px solid var(--line);background:var(--glass);
  font-size:12.5px;color:var(--tx-1);
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
@media (hover:hover) and (pointer:fine){
  .xi-quick button:hover{border-color:rgba(109,94,252,.5);color:var(--tx-0);background:var(--glass-2)}
}
.xi-input{
  flex:0 0 auto;display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line);
}
.xi-input input{
  flex:1 1 auto;min-width:0;min-height:40px;padding:0 13px;
  border-radius:999px;border:1px solid var(--line);
  background:rgba(7,9,18,.6);color:var(--tx-0);font-size:14px;
}
.xi-input input:focus{outline:none;border-color:rgba(109,94,252,.6)}
.xi-send{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  background:var(--grad-main);display:flex;align-items:center;justify-content:center;
}
.xi-send svg{width:18px;height:18px}
.xi-tip{padding:0 14px 10px;font-size:11px;color:var(--tx-3);flex:0 0 auto}

/* ============ 11. 移动端 ============ */
@media (max-width:768px){
  body{font-size:15px}
  .au-wrap{padding:0 16px}
  .au-section{padding:52px 0}
  .au-head{margin-bottom:30px}
  .au-head p{font-size:14px}
  .au-card{padding:18px;border-radius:var(--r-md)}
  .au-grid{gap:14px}
  .au-grid-2,.au-grid-3,.au-grid-4{grid-template-columns:1fr}
  .au-nav-links{display:none}
  .au-nav-side .au-btn,.au-nav-side .au-nav-user{display:none}
  /* 窄屏保留会员标识，只收紧：这是付费凭证，不能跟普通按钮一起隐掉 */
  .au-nav-side .au-vip{display:inline-flex;width:20px;height:20px}
  .au-nav-side .au-vip i{font-size:10px}
  .au-nav-inner{padding:0 16px;gap:12px}
  .au-burger{display:flex;margin-left:auto}
  .au-drawer{display:none}
  .au-drawer.is-open{display:block}
  .au-logo-txt span{display:none}
  .au-toasts{top:auto;bottom:96px;width:calc(100vw - 24px)}
  .au-foot-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .au-foot{padding:30px 0 40px}
  .xi-fab{right:14px;bottom:14px;width:50px;height:50px}
  .xi-fab svg{width:24px;height:24px}
  .xi-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:min(76vh,540px)}
  .au-btn-lg{min-height:50px;padding:0 24px;font-size:15px}
}
@media (max-width:400px){
  .au-wrap{padding:0 14px}
  .au-btn{padding:0 18px;font-size:14px}
  .au-btn-lg{padding:0 20px}
}

/* ============ 12. 打印 ============ */
@media print{
  @page{margin:12mm}
  html,body{background:#fff !important;color:#111 !important}
  body{font-size:12pt}
  h1,h2,h3,h4,p,li,td,th,small{color:#111 !important;-webkit-text-fill-color:#111 !important}
  .au-grad-text,.au-grad-main-text,.au-grad-gold-text{
    background:none !important;-webkit-text-fill-color:#111 !important;color:#111 !important;
  }
  .au-nav,.au-drawer,.au-burger,.au-toasts,.xi-fab,.xi-panel,.au-foot,
  .au-particles,.au-glow,.au-aurora-band,canvas.au-particle-canvas,
  .au-no-print{display:none !important}
  .au-card,.au-glass{
    background:#fff !important;border:1px solid #ccc !important;box-shadow:none !important;
    break-inside:avoid;page-break-inside:avoid;
  }
  .au-section{padding:8mm 0 !important}
  a{color:#111 !important;text-decoration:none}
  .au-reveal{opacity:1 !important;transform:none !important}
  *{animation:none !important;transition:none !important}
}
