/* ==========================================================================
   逍遥DAO V3 · 视觉设计系统
   深空蓝金 · 生命体之光 —— 暗色宇宙底 + 玻璃拟态 + 极光渐变 + 金色点睛
   ========================================================================== */

:root{
  /* 色彩 */
  --bg-0:#03051A;
  --bg-1:#070C26;
  --glass:rgba(255,255,255,.045);
  --glass-strong:rgba(255,255,255,.07);
  --stroke:rgba(150,170,255,.14);
  --stroke-soft:rgba(150,170,255,.08);
  --ink:#F2F5FF;
  --ink-2:rgba(226,233,255,.62);
  --ink-3:rgba(226,233,255,.38);
  --brand-1:#5B6CFF;
  --brand-2:#8B5CF6;
  --brand-3:#22D3EE;
  --gold:#E7C88F;
  --good:#34D399;
  --warn:#FBBF24;
  --bad:#FB7185;
  --grad-main:linear-gradient(135deg,#5B6CFF,#8B5CF6 55%,#22D3EE);
  /* 尺寸 */
  --phone-w:390px;
  --phone-h:844px;
  --sb-h:44px;            /* 状态栏 */
  --tab-h:66px;           /* tab bar */
  --page-pad:20px;
  /* 字体 */
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Helvetica Neue",sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  font-family:var(--font);
  background:var(--bg-0);
  color:var(--ink);
  font-size:14px;
  line-height:1.5;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;color:var(--ink);}
a{color:inherit;text-decoration:none;}
::selection{background:rgba(91,108,255,.4);}
img,svg{display:block;}
.num, .tnum{font-variant-numeric:tabular-nums;}

/* ==========================================================================
   桌面端布局：极光背景 + 居中手机框 + 两侧说明
   ========================================================================== */
.bg-aurora{
  position:fixed;inset:0;z-index:0;display:none;
  background:
    radial-gradient(52% 42% at 12% 8%, rgba(91,108,255,.20), transparent 70%),
    radial-gradient(46% 40% at 88% 90%, rgba(139,92,246,.18), transparent 70%),
    radial-gradient(30% 26% at 78% 12%, rgba(34,211,238,.08), transparent 70%),
    var(--bg-0);
}
.desk-side{display:none;}

@media (min-width:768px){
  body{display:flex;align-items:center;justify-content:center;gap:72px;}
  .bg-aurora{display:block;}
  .phone{
    position:relative;z-index:2;
    width:var(--phone-w);height:var(--phone-h);
    border-radius:48px;overflow:hidden;flex:none;
    border:1px solid rgba(150,170,255,.20);
    box-shadow:
      0 0 0 10px rgba(10,14,34,.85),
      0 0 0 11px rgba(150,170,255,.10),
      0 40px 120px rgba(0,0,10,.75),
      0 0 160px rgba(91,108,255,.12);
    background:var(--bg-0);
  }
  .desk-side{display:block;position:relative;z-index:2;max-width:250px;}
}
@media (min-width:768px) and (max-width:1120px){
  .desk-right{display:none;}
  body{gap:56px;}
}
@media (max-width:767px){
  .phone{position:fixed;inset:0;background:var(--bg-0);}
  button{min-width:44px;min-height:44px;touch-action:manipulation;}
}

/* 桌面左侧品牌区 */
.desk-logo{display:flex;align-items:center;gap:12px;margin-bottom:36px;}
.desk-orb{
  width:34px;height:34px;border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.9), transparent 30%),
    radial-gradient(circle at 50% 50%, #7d8bff, #5B6CFF 45%, #8B5CF6 78%, #3b2a86);
  box-shadow:0 0 24px rgba(91,108,255,.55),0 0 60px rgba(139,92,246,.3);
}
.desk-name{font-size:22px;font-weight:700;letter-spacing:.04em;}
.desk-slogan{font-size:40px;line-height:1.32;font-weight:700;letter-spacing:.01em;margin-bottom:20px;}
.desk-slogan em{font-style:normal;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.desk-desc{color:var(--ink-3);font-size:13px;line-height:1.9;margin-bottom:28px;}
.desk-tags{display:flex;flex-wrap:wrap;gap:8px;}
.desk-tags span{
  font-size:11px;color:var(--ink-2);padding:7px 13px;border-radius:999px;
  background:var(--glass);border:1px solid var(--stroke-soft);
}
/* 桌面右侧 QR 占位 */
.desk-right{text-align:center;}
.desk-qr{
  width:132px;height:132px;margin:0 auto 16px;border-radius:22px;
  background:var(--glass);border:1px solid var(--stroke);
  display:grid;place-items:center;position:relative;overflow:hidden;
}
.desk-qr::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 0%,rgba(91,108,255,.14),transparent);}
.desk-qr-grid{
  width:84px;height:84px;border-radius:8px;opacity:.75;
  background:
    conic-gradient(from 90deg at 30% 30%, var(--ink-3) 90deg, transparent 0) 0 0/28px 28px,
    conic-gradient(from 90deg at 70% 70%, var(--ink-3) 90deg, transparent 0) 14px 14px/28px 28px;
  -webkit-mask:radial-gradient(circle at 50% 50%, #000 60%, transparent 100%);
}
.desk-qr-tip{font-size:13px;color:var(--ink-2);margin-bottom:6px;}
.desk-qr-sub{font-size:11px;color:var(--ink-3);letter-spacing:.08em;}

/* ==========================================================================
   手机内：极光底层 + 噪点 + 状态栏
   ========================================================================== */
.phone-aurora{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(75% 40% at 8% -4%, rgba(91,108,255,.24), transparent 68%),
    radial-gradient(65% 34% at 104% 30%, rgba(139,92,246,.13), transparent 70%),
    radial-gradient(70% 36% at 92% 104%, rgba(139,92,246,.16), transparent 70%),
    radial-gradient(40% 22% at 12% 88%, rgba(34,211,238,.06), transparent 70%),
    linear-gradient(180deg,#060A22 0%, var(--bg-0) 46%, #05081F 100%);
}
.phone-noise{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E");
}
.statusbar{
  position:absolute;top:0;left:0;right:0;height:var(--sb-h);z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 26px 0 30px;pointer-events:none;
}
.sb-time{font-size:15px;font-weight:600;letter-spacing:.02em;}
.sb-right{display:flex;align-items:center;gap:6px;}

/* ==========================================================================
   屏幕容器与通用排版
   ========================================================================== */
#app{position:absolute;inset:0;z-index:1;}
.screen{
  position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;
}
.screen-scroll{
  flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scrollbar-width:none;padding:calc(var(--sb-h) + 12px) var(--page-pad) 24px;
}
.screen-scroll::-webkit-scrollbar{display:none;}
.screen.has-tab .screen-scroll{padding-bottom:calc(var(--tab-h) + 46px);}
.screen.has-bar .screen-scroll{padding-bottom:158px;}

/* 进入动效：区块 fade-up 错峰（基态可见，动画为增强，兼容无动画环境） */
[data-anim]{animation:fadeUp .55s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--i,0)*60ms);}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* 英文眉题 */
.eyebrow{
  font-size:10.5px;letter-spacing:.18em;color:var(--ink-3);
  text-transform:uppercase;font-weight:600;margin-bottom:8px;
  display:flex;align-items:center;gap:8px;
}
.eyebrow.gold{color:rgba(231,200,143,.75);}
.eyebrow .line{flex:1;height:1px;background:linear-gradient(90deg,var(--stroke-soft),transparent);}

/* 页面大标题 */
.page-title{font-size:28px;line-height:34px;font-weight:700;letter-spacing:.01em;}
.page-sub{font-size:13px;color:var(--ink-3);margin-top:8px;line-height:1.7;}

/* 区块 */
.sec{margin-top:26px;}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.sec-title{font-size:17px;font-weight:700;line-height:24px;}
.sec-more{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:3px;}
.sec-more:active{opacity:.6;}

/* 演示数据小字 */
.demo-note{
  margin-top:34px;text-align:center;font-size:10px;color:var(--ink-3);
  letter-spacing:.12em;opacity:.7;
}

/* 沉浸式大标题头部 */
.imm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.head-ava{flex:none;margin-top:2px;}
.head-bell{
  flex:none;position:relative;width:40px;height:40px;border-radius:14px;
  background:var(--glass);border:1px solid var(--stroke-soft);
  display:grid;place-items:center;color:var(--ink-2);
  transition:transform .15s;
}
.head-bell:active{transform:scale(.94);}
.head-bell .dot{
  position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;
  background:var(--bad);box-shadow:0 0 8px rgba(251,113,133,.8);
  border:1.5px solid #0a0e28;
}

/* 返回式页头（固定在滚动区外） */
.pagehead{
  flex:none;display:flex;align-items:center;gap:10px;
  padding:calc(var(--sb-h) + 8px) var(--page-pad) 10px;
  position:relative;z-index:5;
}
.pagehead .back{
  width:36px;height:36px;border-radius:12px;flex:none;
  background:var(--glass);border:1px solid var(--stroke-soft);
  display:grid;place-items:center;color:var(--ink);
  transition:transform .15s;
}
.pagehead .back:active{transform:scale(.92);}
.pagehead .ph-title{font-size:16px;font-weight:600;}
.pagehead .ph-sub{font-size:11px;color:var(--ink-3);margin-top:1px;}
.pagehead .ph-right{margin-left:auto;display:flex;gap:8px;align-items:center;}
.icon-btn{
  width:36px;height:36px;border-radius:12px;flex:none;
  background:var(--glass);border:1px solid var(--stroke-soft);
  display:grid;place-items:center;color:var(--ink-2);transition:transform .15s;
}
.icon-btn:active{transform:scale(.92);}

/* 滚动渐隐毛玻璃小标题条 */
.minihead{
  position:absolute;top:0;left:0;right:0;z-index:6;
  padding:calc(var(--sb-h) + 6px) var(--page-pad) 10px;
  display:flex;align-items:center;gap:10px;
  background:rgba(5,8,28,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--stroke-soft);
  opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .25s,transform .25s;
}
.minihead.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.minihead .mh-title{font-size:15px;font-weight:600;}

/* ==========================================================================
   玻璃卡片
   ========================================================================== */
.card{
  position:relative;border-radius:20px;
  background:var(--glass);
  border:1px solid var(--stroke-soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.card.strong{background:var(--glass-strong);border-color:var(--stroke);}
.card-pad{padding:18px;}
/* 卡片背后彩色光晕 */
.glow-wrap{position:relative;}
.glow-wrap::before{
  content:"";position:absolute;inset:-8% -4% auto;height:70%;z-index:0;
  background:radial-gradient(55% 70% at 30% 20%, rgba(91,108,255,.34), transparent 70%),
             radial-gradient(45% 60% at 78% 30%, rgba(139,92,246,.28), transparent 70%);
  filter:blur(40px);opacity:.9;pointer-events:none;
}
.glow-wrap.gold::before{
  background:radial-gradient(55% 70% at 30% 20%, rgba(231,200,143,.30), transparent 70%),
             radial-gradient(45% 60% at 78% 30%, rgba(251,191,36,.16), transparent 70%);
}
.glow-wrap > *{position:relative;z-index:1;}

/* 可点卡片反馈 */
.tap{transition:transform .16s ease,opacity .16s;}
.tap:active{transform:scale(.97);opacity:.88;}

/* ==========================================================================
   发光球体 Orb（视觉锤）
   ========================================================================== */
.orb{position:relative;border-radius:50%;display:grid;place-items:center;flex:none;}
.orb-core{
  width:100%;height:100%;border-radius:50%;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.85), rgba(255,255,255,0) 28%),
    radial-gradient(circle at 70% 80%, rgba(34,211,238,.5), rgba(34,211,238,0) 46%),
    radial-gradient(circle at 50% 50%, #8291ff 0%, #5B6CFF 40%, #8B5CF6 74%, #37277e 100%);
  box-shadow:
    0 0 22px rgba(91,108,255,.5),
    0 0 64px rgba(139,92,246,.26),
    inset 0 -10% 18% rgba(18,10,58,.55),
    inset 0 8% 14% rgba(255,255,255,.20);
  animation:orbBreath 4s ease-in-out infinite;
}
.orb-ring{
  position:absolute;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,
    transparent 0deg, rgba(139,92,246,.95) 42deg, transparent 96deg,
    transparent 170deg, rgba(34,211,238,.85) 226deg, transparent 300deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation:spin 12s linear infinite;
}
.orb-ring.r1{inset:-7px;}
.orb-ring.r2{inset:-14px;opacity:.6;animation-duration:19s;animation-direction:reverse;
  background:conic-gradient(from 120deg, transparent 0deg, rgba(91,108,255,.9) 50deg, transparent 110deg, transparent 200deg, rgba(231,200,143,.5) 250deg, transparent 320deg);}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes orbBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
/* 状态：思考中=快速流光 / 离线=灰蓝静止 */
.orb.think .orb-ring{animation-duration:2.2s;}
.orb.think .orb-core{animation-duration:1.6s;}
.orb.off .orb-core{
  animation:none;filter:saturate(.25) brightness(.7);
  box-shadow:0 0 14px rgba(120,135,190,.25), inset 0 -10% 18% rgba(10,10,30,.6);
}
.orb.off .orb-ring{display:none;}

/* 人物头像（orb 风格占位：CSS 渐变 + 姓氏单字） */
.ava{
  position:relative;border-radius:50%;display:grid;place-items:center;flex:none;
  color:rgba(255,255,255,.95);font-weight:600;
  background:
    radial-gradient(circle at 30% 24%, hsla(var(--h,230),90%,84%,.85), transparent 42%),
    linear-gradient(150deg, hsl(var(--h,230),82%,64%), hsl(calc(var(--h,230) + 38),72%,44%));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    inset 0 -8px 14px rgba(8,8,30,.35),
    0 0 16px hsla(var(--h,230),88%,64%,.35);
  text-shadow:0 1px 4px rgba(10,10,40,.4);
}
.ava.sm{width:34px;height:34px;font-size:14px;}
.ava.md{width:44px;height:44px;font-size:17px;}
.ava.lg{width:56px;height:56px;font-size:22px;}
.ava.xl{width:76px;height:76px;font-size:30px;}
.ava.xxl{width:88px;height:88px;font-size:34px;}
/* 头像外发光描边 */
.ava-ring{position:relative;}
.ava-ring::after{
  content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1.5px solid hsla(var(--h,230),88%,70%,.5);
  box-shadow:0 0 18px hsla(var(--h,230),88%,64%,.4);
  animation:ringGlow 3.4s ease-in-out infinite;
}
@keyframes ringGlow{0%,100%{opacity:.55;}50%{opacity:1;}}
/* 在线青点 */
.online-dot{
  position:absolute;right:0;bottom:2px;width:11px;height:11px;border-radius:50%;
  background:var(--brand-3);border:2px solid #070c26;
  box-shadow:0 0 8px rgba(34,211,238,.9);
}
.online-dot.gold{background:var(--gold);box-shadow:0 0 8px rgba(231,200,143,.9);}

/* ==========================================================================
   大数字 / 渐变文字
   ========================================================================== */
.bignum{
  font-weight:300;letter-spacing:-.01em;line-height:1;
  background:linear-gradient(135deg,#cdd6ff,#8ea0ff 50%,#a78bfa);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.bignum.gold{background:linear-gradient(135deg,#f5e2bd,#E7C88F 55%,#d3a95f);-webkit-background-clip:text;background-clip:text;}
.grad-text{background:var(--grad-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ==========================================================================
   胶囊标签 chip · 来源分层标注
   ========================================================================== */
.chip{
  display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 9px;
  border-radius:999px;font-size:10.5px;color:var(--ink-2);white-space:nowrap;
  background:var(--glass);border:1px solid var(--stroke-soft);
}
.chip.gold{border-color:rgba(231,200,143,.5);color:var(--gold);background:rgba(231,200,143,.06);}
.chip.purple{border-color:rgba(139,92,246,.5);color:#c9b8fa;background:rgba(139,92,246,.07);}
.chip.cyan{border-color:rgba(34,211,238,.42);color:#7fe3f4;background:rgba(34,211,238,.05);}
.chip.green{border-color:rgba(52,211,153,.42);color:#7ce9c0;background:rgba(52,211,153,.05);}
.chip.gray{color:var(--ink-3);}
.chip.dash{border-style:dashed;color:var(--ink-3);}
.chip.warn-dash{border-style:dashed;border-color:rgba(251,191,36,.4);color:rgba(251,191,36,.8);}
.chip .cdot{width:5px;height:5px;border-radius:50%;background:currentColor;}

/* 依据标注（会话页）：依据青 / 边界金 / 动作紫 / 结果绿 */
.basis{
  display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.02em;
  padding:4px 9px;border-radius:8px;margin-top:6px;
}
.basis::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;}
.basis.k-basis{color:#7fe3f4;background:rgba(34,211,238,.07);border:1px solid rgba(34,211,238,.18);}
.basis.k-bound{color:#ecd3a3;background:rgba(231,200,143,.07);border:1px solid rgba(231,200,143,.2);}
.basis.k-act{color:#c9b8fa;background:rgba(139,92,246,.09);border:1px solid rgba(139,92,246,.22);}
.basis.k-res{color:#7ce9c0;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.2);}

/* ==========================================================================
   按钮
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:48px;padding:0 20px;border-radius:14px;font-size:15px;font-weight:600;
  transition:transform .15s,opacity .15s,box-shadow .2s;user-select:none;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn.sm{height:38px;padding:0 15px;font-size:13px;border-radius:11px;}
.btn.xs{height:30px;padding:0 12px;font-size:12px;border-radius:9px;font-weight:500;}
.btn.block{width:100%;}
.btn-primary{
  background:var(--grad-main);color:#fff;
  box-shadow:0 8px 22px rgba(91,108,255,.35),inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:active{box-shadow:0 4px 12px rgba(91,108,255,.3);}
.btn-gold{
  color:var(--gold);background:rgba(231,200,143,.07);
  border:1px solid rgba(231,200,143,.48);
  box-shadow:0 0 18px rgba(231,200,143,.08),inset 0 1px 0 rgba(231,200,143,.12);
}
.btn-ghost{color:var(--ink-2);background:var(--glass);border:1px solid var(--stroke-soft);}
.btn-dark{color:var(--ink);background:rgba(8,12,34,.8);border:1px solid var(--stroke);}
.btn[disabled]{opacity:.45;pointer-events:none;}

/* ==========================================================================
   底部 Tab bar（悬浮玻璃条 + 中心 orb 凸起）
   ========================================================================== */
#tabbar{
  position:absolute;left:12px;right:12px;bottom:12px;height:var(--tab-h);z-index:40;
  display:flex;align-items:stretch;
  background:rgba(9,13,36,.78);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border:1px solid var(--stroke-soft);border-radius:24px;
  box-shadow:0 12px 34px rgba(0,0,12,.5),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .3s,opacity .3s;
}
#tabbar[hidden]{display:none;}
#tabbar.hidden{transform:translateY(120%);opacity:0;pointer-events:none;}
.tab{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;color:var(--ink-3);font-size:10px;letter-spacing:.02em;
  transition:color .2s,transform .15s;position:relative;
}
.tab:active{transform:scale(.94);}
.tab.on{color:var(--ink);}
.tab svg{transition:filter .2s;}
.tab.on svg{filter:drop-shadow(0 0 6px rgba(91,108,255,.8));}
.tab.on::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:22px;height:2.5px;border-radius:2px;background:var(--grad-main);
  box-shadow:0 0 8px rgba(91,108,255,.9);
}
/* 中心 orb tab */
.tab-orb{overflow:visible;}
.tab-orb .orb-wrap{
  margin-top:-24px;width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%, #12183e, #080c26 75%);
  border:1px solid var(--stroke);
  box-shadow:0 6px 20px rgba(0,0,16,.55),0 0 26px rgba(91,108,255,.22);
  transition:transform .16s;
}
.tab-orb:active .orb-wrap{transform:scale(.92);}
.tab-orb .orb-core{width:40px;height:40px;}
.tab-orb .orb-ring.r1{inset:-4px;}
.tab-orb .orb-ring.r2{display:none;}
.tab-orb.on .orb-wrap{box-shadow:0 6px 20px rgba(0,0,16,.55),0 0 34px rgba(91,108,255,.5);}
.tab-orb span{margin-top:2px;}

/* ==========================================================================
   半屏弹层 Sheet
   ========================================================================== */
#sheet-root{position:absolute;inset:0;z-index:60;pointer-events:none;}
#sheet-root.open{pointer-events:auto;}
.sheet-mask{
  position:absolute;inset:0;background:rgba(2,4,16,.62);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  opacity:0;transition:opacity .28s;
}
#sheet-root.open .sheet-mask{opacity:1;}
.sheet{
  position:absolute;left:0;right:0;bottom:0;max-height:84%;
  display:flex;flex-direction:column;
  border-radius:26px 26px 0 0;
  background:linear-gradient(180deg,#0D1332 0%,#070C26 30%);
  border-top:1px solid var(--stroke);
  box-shadow:0 -20px 60px rgba(0,0,10,.6),inset 0 1px 0 rgba(255,255,255,.07);
  transform:translateY(103%);transition:transform .34s cubic-bezier(.32,.72,.24,1);
}
#sheet-root.open .sheet{transform:translateY(0);}
.sheet-grip{width:38px;height:4px;border-radius:4px;background:rgba(226,233,255,.18);margin:10px auto 4px;flex:none;}
.sheet-body{overflow-y:auto;padding:10px 22px calc(24px + env(safe-area-inset-bottom));scrollbar-width:none;}
.sheet-body::-webkit-scrollbar{display:none;}
.sheet-close{position:absolute;top:14px;right:16px;z-index:2;}

/* ==========================================================================
   Toast
   ========================================================================== */
#toast-root{
  position:absolute;left:0;right:0;bottom:112px;z-index:80;
  display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;
}
.toast{
  display:flex;align-items:center;gap:8px;max-width:82%;
  background:rgba(14,19,48,.94);border:1px solid var(--stroke);
  padding:11px 18px;border-radius:999px;font-size:13px;color:var(--ink);
  box-shadow:0 10px 30px rgba(0,0,10,.5),inset 0 1px 0 rgba(255,255,255,.07);
  animation:toastIn .3s cubic-bezier(.22,.61,.36,1);
}
.toast.out{animation:toastOut .25s forwards;}
.toast .tk{color:var(--good);flex:none;}
@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.94);}to{opacity:1;transform:none;}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.96);}}

/* ==========================================================================
   固定行动栏（页面级）
   ========================================================================== */
#actionbar-root{position:absolute;left:0;right:0;bottom:0;z-index:35;pointer-events:none;}
#actionbar-root:empty{display:none;}
.actionbar{
  pointer-events:auto;display:flex;gap:10px;align-items:center;
  padding:14px var(--page-pad) 20px;
  background:linear-gradient(180deg,rgba(3,5,26,.55),rgba(3,5,26,.92) 30%,rgba(3,5,26,.98) 70%);
  backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);
  border-top:1px solid rgba(150,170,255,.08);
}
.actionbar .btn{flex:1;}
.actionbar .btn.no-flex{flex:none;}

/* ==========================================================================
   表单控件
   ========================================================================== */
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:7px;font-weight:500;}
.field .req{color:var(--bad);}
.input,.textarea,.select{
  width:100%;background:var(--glass);border:1px solid var(--stroke-soft);
  border-radius:13px;padding:13px 15px;font-size:14px;color:var(--ink);
  outline:none;transition:border-color .2s,box-shadow .2s;appearance:none;
}
.input:focus,.textarea:focus,.select:focus{
  border-color:rgba(91,108,255,.55);box-shadow:0 0 0 3px rgba(91,108,255,.14);
}
.input::placeholder,.textarea::placeholder{color:var(--ink-3);}
.textarea{min-height:84px;resize:none;line-height:1.6;}
.select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a96c8' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
}
.select option{background:#0d1332;color:var(--ink);}

/* 分段选择器 */
.seg{
  display:flex;position:relative;flex:none;
  border-bottom:1px solid var(--stroke-soft);
  padding:0 var(--page-pad);
}
.screen > .seg:first-child{margin-top:calc(var(--sb-h) + 6px);}
.seg .seg-item{
  flex:1;text-align:center;padding:12px 0 11px;font-size:14px;color:var(--ink-3);
  font-weight:500;position:relative;transition:color .2s;
}
.seg .seg-item.on{color:var(--ink);font-weight:600;}
.seg .seg-ind{
  position:absolute;bottom:-1px;height:2.5px;border-radius:3px;
  background:var(--grad-main);box-shadow:0 0 10px rgba(91,108,255,.8);
  transition:left .28s cubic-bezier(.32,.72,.24,1),width .28s cubic-bezier(.32,.72,.24,1);
}

/* 筛选 chips 横滑 */
.hscroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--page-pad));padding:2px var(--page-pad) 4px;}
.hscroll::-webkit-scrollbar{display:none;}
.fchip{
  flex:none;height:32px;padding:0 15px;border-radius:999px;font-size:12.5px;
  color:var(--ink-2);background:var(--glass);border:1px solid var(--stroke-soft);
  display:inline-flex;align-items:center;gap:6px;transition:all .18s;
}
.fchip:active{transform:scale(.95);}
.fchip.on{
  color:#fff;background:linear-gradient(135deg,rgba(91,108,255,.32),rgba(139,92,246,.3));
  border-color:rgba(91,108,255,.6);box-shadow:0 0 14px rgba(91,108,255,.18);
}

/* ==========================================================================
   聊天气泡
   ========================================================================== */
.msg-row{display:flex;gap:9px;margin-bottom:14px;}
.msg-row .ava{margin-top:2px;}
.bubble{
  max-width:78%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.65;
  position:relative;word-break:break-word;
}
.bubble.theirs{
  background:var(--glass-strong);border:1px solid var(--stroke-soft);
  border-top-left-radius:5px;color:var(--ink);
}
.bubble.theirs::before{
  content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2.5px;border-radius:2px;
  background:linear-gradient(180deg,var(--brand-1),var(--brand-2));
  box-shadow:0 0 8px rgba(91,108,255,.7);
}
.bubble.mine{
  background:linear-gradient(135deg,rgba(91,108,255,.85),rgba(139,92,246,.8));
  border-top-right-radius:5px;color:#fff;
  box-shadow:0 6px 18px rgba(91,108,255,.25),inset 0 1px 0 rgba(255,255,255,.22);
}
.msg-row.mine{flex-direction:row-reverse;}
/* 系统/边界提示 */
.sys-note{
  text-align:center;font-size:10.5px;color:var(--ink-3);margin:16px 0;
  display:flex;align-items:center;gap:10px;
}
.sys-note::before,.sys-note::after{content:"";flex:1;height:1px;background:var(--stroke-soft);}
.boundary-card{
  border:1px dashed rgba(226,233,255,.16);border-radius:14px;
  padding:13px 15px;font-size:11.5px;color:var(--ink-3);line-height:1.75;
}

/* ==========================================================================
   进度条 / 环形进度
   ========================================================================== */
.pbar{height:5px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden;}
.pbar > i{
  display:block;height:100%;border-radius:5px;background:var(--grad-main);
  box-shadow:0 0 10px rgba(91,108,255,.6);
  animation:pbarIn 1s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes pbarIn{from{width:0;}}
.ringp{transform:rotate(-90deg);}
.ringp .track{stroke:rgba(255,255,255,.08);}
.ringp .val{stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.22,.61,.36,1);}

/* ==========================================================================
   待决策卡：金色描边呼吸
   ========================================================================== */
.card-decide{
  border:1px solid rgba(231,200,143,.4);
  background:linear-gradient(160deg, rgba(231,200,143,.06), rgba(231,200,143,.015) 45%, var(--glass));
  animation:goldPulse 2.8s ease-in-out infinite;
}
@keyframes goldPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(231,200,143,.22),inset 0 1px 0 rgba(255,255,255,.05);}
  50%{box-shadow:0 0 24px 2px rgba(231,200,143,.18),inset 0 1px 0 rgba(255,255,255,.05);}
}

/* ==========================================================================
   列表项 / 菜单
   ========================================================================== */
.menu-list{border-radius:20px;overflow:hidden;}
.menu-item{
  display:flex;align-items:center;gap:13px;padding:15px 17px;
  border-bottom:1px solid var(--stroke-soft);transition:background .15s,transform .15s;
}
.menu-item:last-child{border-bottom:none;}
.menu-item:active{background:rgba(255,255,255,.05);}
.menu-item .mi-ic{
  width:34px;height:34px;border-radius:11px;flex:none;
  background:rgba(91,108,255,.1);border:1px solid rgba(91,108,255,.2);
  display:grid;place-items:center;color:#9aabff;
}
.menu-item .mi-label{font-size:14px;font-weight:500;}
.menu-item .mi-sub{font-size:11px;color:var(--ink-3);margin-top:1px;}
.menu-item .mi-arrow{margin-left:auto;color:var(--ink-3);}
.menu-item.danger .mi-label{color:var(--bad);}
.menu-item.danger .mi-ic{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.2);color:var(--bad);}

/* ==========================================================================
   各页面专属样式
   ========================================================================== */

/* ---- 首页 ---- */
.home-greet{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.morning-card{padding:20px 18px 16px;overflow:hidden;}
.morning-stats{display:flex;margin:16px 0 14px;}
.mstat{flex:1;min-width:0;}
.mstat + .mstat{border-left:1px solid var(--stroke-soft);padding-left:14px;}
.mstat .v{font-size:29px;display:flex;align-items:baseline;gap:3px;}
.mstat .v .arrow{font-size:15px;opacity:.7;-webkit-text-fill-color:var(--ink-3);}
.mstat .k{font-size:10.5px;color:var(--ink-3);margin-top:6px;letter-spacing:.03em;}
.mstat.hot .k{color:rgba(231,200,143,.8);}
.morning-foot{font-size:11px;color:var(--ink-3);border-top:1px solid var(--stroke-soft);padding-top:12px;display:flex;gap:6px;align-items:center;}

.decide-card{padding:16px;}
.decide-top{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3);margin-bottom:12px;}
.decide-top .vs{color:var(--gold);}
.decide-main{display:flex;gap:14px;align-items:center;}
.decide-info{flex:1;min-width:0;}
.decide-title{font-size:16px;font-weight:700;line-height:1.4;}
.decide-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.decide-actions{display:flex;gap:9px;margin-top:15px;}
.decide-actions .btn{flex:1;}
.agent-flag{
  margin-top:12px;padding-top:11px;border-top:1px dashed rgba(231,200,143,.2);
  font-size:10px;color:rgba(231,200,143,.65);letter-spacing:.06em;
  display:flex;align-items:center;gap:6px;
}

.judge-card{padding:16px;display:flex;gap:14px;align-items:center;}
.judge-info{flex:1;min-width:0;}
.judge-title{font-size:15px;font-weight:700;line-height:1.45;}
.judge-sub{font-size:11.5px;color:var(--ink-3);margin-top:6px;line-height:1.6;}
.ava-stack{display:flex;align-items:center;margin-top:10px;}
.ava-stack .ava{margin-left:-9px;border:2px solid #0a0f2c;}
.ava-stack .ava:first-child{margin-left:0;}
.ava-stack .more{
  margin-left:6px;font-size:10.5px;color:var(--ink-3);
}

.task-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--stroke-soft);}
.task-row:last-child{border-bottom:none;}
.task-ic{width:36px;height:36px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(91,108,255,.1);border:1px solid rgba(91,108,255,.18);color:#9aabff;}
.task-ic.done{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.2);color:var(--good);}
.task-info{flex:1;min-width:0;}
.task-name{font-size:13.5px;font-weight:600;display:flex;justify-content:space-between;gap:8px;}
.task-name .pct{font-size:12px;color:#8ea0ff;font-weight:500;}
.task-meta{font-size:10.5px;color:var(--ink-3);margin-top:5px;}

.daily-card{
  padding:18px;border-radius:20px;position:relative;overflow:hidden;
  border:1px solid rgba(231,200,143,.28);
  background:linear-gradient(150deg,rgba(231,200,143,.1),rgba(231,200,143,.02) 40%,rgba(139,92,246,.05));
}
.daily-card .dc-no{
  font-size:26px;font-weight:300;letter-spacing:.14em;color:var(--gold);
}
.daily-card .dc-title{font-size:16px;font-weight:700;margin-top:8px;}
.daily-card .dc-meta{font-size:11px;color:rgba(231,200,143,.6);margin-top:8px;letter-spacing:.05em;}

/* ---- 情报 ---- */
.live-bar{
  display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3);
  margin-bottom:14px;
}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--bad);box-shadow:0 0 8px rgba(251,113,133,.9);animation:liveBlink 1.6s infinite;}
@keyframes liveBlink{0%,100%{opacity:1;}50%{opacity:.35;}}
.mainline-card{padding:16px;margin-bottom:16px;position:relative;overflow:hidden;}
.mainline-card .ml-tag{color:#8ea0ff;font-size:10px;letter-spacing:.16em;font-weight:600;}
.mainline-card .ml-title{font-size:16.5px;font-weight:700;line-height:1.5;margin:8px 0 7px;}
.mainline-card .ml-sub{font-size:12px;color:var(--ink-2);line-height:1.7;}
.news-item{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--stroke-soft);}
.news-item:last-child{border-bottom:none;}
.news-time{flex:none;width:44px;padding-top:2px;}
.news-time .t{font-size:13px;font-weight:600;color:var(--ink-2);}
.news-time .new{
  display:inline-block;margin-top:5px;font-size:9px;color:var(--bad);letter-spacing:.08em;
  border:1px solid rgba(251,113,133,.4);border-radius:5px;padding:1px 4px;
}
.news-body{flex:1;min-width:0;}
.news-cat{font-size:10px;color:#8ea0ff;letter-spacing:.1em;margin-bottom:4px;}
.news-title{font-size:13.5px;line-height:1.55;font-weight:500;}
.news-src{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap;}
.deep-hero{padding:18px;position:relative;overflow:hidden;}
.deep-hero .dh-min{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--ink-3);margin-top:10px;}
.deep-card{flex:none;width:215px;padding:14px;}
.deep-card .dc-cat{font-size:10px;letter-spacing:.14em;color:#8ea0ff;}
.deep-card .dc-t{font-size:13.5px;font-weight:600;line-height:1.5;margin-top:7px;}
.daily-cover{padding:20px;text-align:left;position:relative;overflow:hidden;}
.past-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--stroke-soft);}
.past-item:last-child{border:none;}
.past-no{
  width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;
  font-size:11px;color:var(--gold);border:1px solid rgba(231,200,143,.3);
  background:rgba(231,200,143,.05);letter-spacing:.05em;
}

/* ---- 情报详情 ---- */
.article-title{font-size:22px;line-height:1.42;font-weight:700;}
.article-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);margin-top:12px;}
.article-actions{display:flex;gap:8px;margin-top:16px;}
.judgment-card{padding:18px;position:relative;overflow:hidden;}
.judgment-no{
  font-size:44px;font-weight:200;line-height:1;
  background:linear-gradient(135deg,rgba(142,160,255,.9),rgba(139,92,246,.5));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.twin-say{padding:16px;}
.twin-say .ts-quote{
  font-size:14px;line-height:1.8;color:var(--ink);margin:12px 0;
  padding-left:12px;border-left:2px solid rgba(231,200,143,.5);
}
.src-list{border-top:1px solid var(--stroke-soft);padding-top:12px;margin-top:4px;
  font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:7px;}

/* ---- 日报 ---- */
.daily-hero{
  border-radius:24px;padding:26px 20px 22px;position:relative;overflow:hidden;
  border:1px solid rgba(231,200,143,.32);
  background:
    radial-gradient(80% 60% at 80% 0%, rgba(231,200,143,.14), transparent 60%),
    linear-gradient(165deg,#141024,#0a0d28 60%);
  text-align:left;
}
.daily-hero .dh-kicker{font-size:10px;letter-spacing:.3em;color:rgba(231,200,143,.7);}
.daily-hero .dh-no{
  font-size:56px;font-weight:200;letter-spacing:.06em;line-height:1.05;
  background:linear-gradient(135deg,#f7e7c6,#E7C88F 55%,#caa257);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.daily-hero .dh-date{font-size:12px;color:rgba(231,200,143,.65);margin-top:2px;letter-spacing:.1em;}
.daily-hero .dh-title{font-size:21px;font-weight:700;margin-top:16px;line-height:1.45;}
.daily-hero .dh-meta{font-size:11px;color:var(--ink-3);margin-top:12px;display:flex;gap:12px;}
.daily-item{padding:17px 16px;display:flex;gap:15px;}
.daily-item .di-no{
  font-size:30px;font-weight:200;color:rgba(231,200,143,.75);line-height:1;flex:none;width:36px;
}
.daily-item .di-title{font-size:15px;font-weight:700;line-height:1.5;}
.daily-item .di-sub{font-size:12px;color:var(--ink-2);line-height:1.7;margin-top:6px;}
.daily-item .di-tags{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap;}
.expert-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--page-pad));padding:2px var(--page-pad) 6px;}
.expert-row::-webkit-scrollbar{display:none;}
.expert-cell{flex:none;width:66px;text-align:center;}
.expert-cell .ec-name{font-size:10.5px;color:var(--ink-2);margin-top:7px;}
.expert-cell .ec-n{font-size:9.5px;color:var(--ink-3);margin-top:2px;}

/* ---- 链接（A-to-A 主页） ---- */
.net-stats{display:flex;gap:10px;margin-top:18px;}
.net-stat{
  flex:1;padding:14px 8px 12px;text-align:center;border-radius:16px;
  background:var(--glass);border:1px solid var(--stroke-soft);
}
.net-stat .v{font-size:26px;}
.net-stat .k{font-size:10px;color:var(--ink-3);margin-top:5px;letter-spacing:.04em;}
.sess-row{display:flex;align-items:center;gap:12px;padding:13px 15px;}
.sess-row + .sess-row{border-top:1px solid var(--stroke-soft);}
.sess-info{flex:1;min-width:0;}
.sess-title{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:7px;}
.sess-sub{font-size:11px;color:var(--ink-3);margin-top:4px;}
.sess-right{flex:none;text-align:right;}
.sess-round{font-size:11px;color:#8ea0ff;}
.reply-tag{font-size:9.5px;color:#7fe3f4;margin-top:4px;display:inline-flex;align-items:center;gap:4px;}
.reply-tag i{width:5px;height:5px;border-radius:50%;background:var(--brand-3);box-shadow:0 0 6px var(--brand-3);animation:liveBlink 1.4s infinite;}
.found-row{display:flex;align-items:center;gap:12px;padding:13px 15px;}
.found-row + .found-row{border-top:1px solid var(--stroke-soft);}
.found-info{flex:1;min-width:0;}
.found-name{font-size:13.5px;font-weight:600;}
.found-sub{font-size:10.5px;color:var(--ink-3);margin-top:3px;}
.match-mini{flex:none;text-align:right;}
.match-mini .mv{font-size:17px;font-weight:600;color:#8ea0ff;}
.match-bar{width:76px;margin-top:6px;}
.explore-card{
  flex:none;width:150px;padding:16px 14px;text-align:center;position:relative;overflow:hidden;
}
.explore-card .ec-role{font-size:10px;color:var(--ink-3);margin-top:3px;}
.explore-card .ec-name{font-size:14.5px;font-weight:700;margin-top:9px;}
.explore-card .ec-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:10px;}
.explore-card .ec-on{
  display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:#7fe3f4;margin-top:10px;
}
.explore-card .ec-on i{width:5px;height:5px;border-radius:50%;background:var(--brand-3);box-shadow:0 0 6px var(--brand-3);}

/* ---- 交流详情 ---- */
.duel-card{padding:18px 14px;display:flex;align-items:center;gap:8px;}
.duel-side{flex:1;min-width:0;text-align:center;}
.duel-side .ds-name{font-size:13px;font-weight:700;margin-top:9px;}
.duel-side .ds-role{font-size:10px;color:var(--ink-3);margin-top:3px;}
.duel-side .ds-link{font-size:10px;color:#8ea0ff;margin-top:5px;display:inline-flex;align-items:center;gap:2px;}
.duel-vs{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;}
.status-strip{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;padding:10px;border-radius:13px;font-size:11.5px;
  color:rgba(231,200,143,.9);background:rgba(231,200,143,.06);
  border:1px solid rgba(231,200,143,.22);
}
.concl-card{padding:14px 15px;display:flex;gap:12px;align-items:flex-start;}
.concl-ic{
  width:34px;height:34px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:rgba(91,108,255,.1);border:1px solid rgba(91,108,255,.2);color:#9aabff;
}
.concl-t{font-size:13.5px;font-weight:700;}
.concl-s{font-size:11.5px;color:var(--ink-2);line-height:1.65;margin-top:4px;}
.chat-zone{margin-top:8px;}
.chat-note-top{
  text-align:center;font-size:10px;color:var(--ink-3);margin:4px 0 16px;letter-spacing:.04em;
}
.brief-card{padding:18px;}
.brief-sec + .brief-sec{margin-top:15px;padding-top:14px;border-top:1px dashed var(--stroke-soft);}
.brief-k{font-size:11px;color:#8ea0ff;letter-spacing:.1em;font-weight:600;margin-bottom:8px;}
.brief-item{display:flex;gap:8px;font-size:12.5px;color:var(--ink-2);line-height:1.7;margin-bottom:6px;}
.brief-item .bi-dot{color:var(--gold);flex:none;}
.session-topline{
  font-size:10px;color:var(--ink-3);text-align:center;padding:2px 0 12px;letter-spacing:.03em;
}

/* ---- 分身名片主页（他人） ---- */
.profile-hero{position:relative;text-align:center;padding:6px 0 4px;}
.profile-hero .ph-ava{display:inline-block;position:relative;}
.profile-hero .ph-name{font-size:23px;font-weight:700;margin-top:15px;}
.profile-hero .ph-title{font-size:12.5px;color:var(--ink-2);margin-top:5px;}
.profile-hero .ph-badges{display:flex;justify-content:center;gap:7px;margin-top:12px;flex-wrap:wrap;}
.profile-declare{
  margin-top:16px;font-size:10px;color:var(--ink-3);text-align:center;line-height:1.7;
  padding:9px 14px;border-radius:12px;background:var(--glass);border:1px dashed var(--stroke-soft);
}
.quote-card{
  padding:14px 16px;border-radius:16px;position:relative;
  background:var(--glass);border:1px solid var(--stroke-soft);
}
.quote-card .q-mark{
  font-size:30px;line-height:1;font-weight:700;color:rgba(139,92,246,.55);
  font-family:Georgia,serif;
}
.quote-card .q-text{font-size:13px;line-height:1.75;color:var(--ink);margin-top:2px;}
.net-tabs{display:flex;gap:6px;padding:4px;border-radius:13px;background:var(--glass);border:1px solid var(--stroke-soft);}
.net-tab{
  flex:1;height:34px;border-radius:10px;font-size:12.5px;color:var(--ink-3);
  display:flex;align-items:center;justify-content:center;gap:5px;transition:all .18s;font-weight:500;
}
.net-tab.on{background:rgba(91,108,255,.18);color:var(--ink);border:1px solid rgba(91,108,255,.35);font-weight:600;}
.net-tab .cnt{font-size:10.5px;opacity:.7;}
.net-item{padding:13px 15px;}
.net-item + .net-item{border-top:1px solid var(--stroke-soft);}
.net-item .ni-name{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:7px;}
.net-item .ni-sub{font-size:11px;color:var(--ink-3);margin-top:4px;line-height:1.6;}
.net-item .ni-src{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;}

/* ---- 1v1 对话 ---- */
.chat-head{display:flex;align-items:center;gap:11px;flex:1;min-width:0;}
.chat-head .ch-name{font-size:15px;font-weight:700;display:flex;align-items:center;gap:7px;}
.chat-head .ch-status{font-size:10.5px;color:#7fe3f4;margin-top:2px;display:flex;align-items:center;gap:5px;}
.suggest-chips{display:flex;flex-direction:column;gap:8px;margin:6px 0 18px 47px;}
.suggest-chip{
  align-self:flex-start;max-width:100%;text-align:left;
  padding:10px 14px;border-radius:14px;border-top-left-radius:5px;font-size:12.5px;
  color:#b9c6ff;background:rgba(91,108,255,.09);border:1px dashed rgba(91,108,255,.4);
  transition:transform .15s;
}
.suggest-chip:active{transform:scale(.97);}
.inputbar{
  flex:none;display:flex;align-items:flex-end;gap:9px;
  padding:10px var(--page-pad) 16px;
  background:linear-gradient(180deg,transparent,rgba(3,5,26,.92) 40%);
}
.inputbar .ib-field{
  flex:1;min-height:42px;max-height:110px;border-radius:21px;
  background:var(--glass-strong);border:1px solid var(--stroke);
  padding:11px 16px;font-size:13.5px;outline:none;resize:none;
}
.inputbar .ib-field::placeholder{color:var(--ink-3);}
.ib-btn{
  width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--glass-strong);border:1px solid var(--stroke);color:var(--ink-2);
  transition:transform .15s;
}
.ib-btn:active{transform:scale(.9);}
.ib-send{
  background:var(--grad-main);color:#fff;border:none;
  box-shadow:0 6px 16px rgba(91,108,255,.4);
}
.attach-bar{
  display:flex;align-items:center;gap:10px;margin:0 var(--page-pad) 10px;
  padding:10px 13px;border-radius:13px;background:var(--glass-strong);
  border:1px solid rgba(91,108,255,.3);
}
.attach-bar .ab-name{font-size:12px;font-weight:600;}
.attach-bar .ab-meta{font-size:10px;color:var(--ink-3);margin-top:2px;}
.cost-hint{
  display:flex;align-items:center;gap:6px;font-size:10.5px;color:rgba(231,200,143,.8);
  margin:0 var(--page-pad) 10px;padding:0 4px;
}

/* ---- 机会 ---- */
.deal-card{padding:17px;position:relative;overflow:hidden;}
.deal-top{display:flex;align-items:flex-start;gap:13px;}
.deal-logo{
  width:50px;height:50px;border-radius:15px;flex:none;display:grid;place-items:center;
  font-size:17px;font-weight:700;letter-spacing:.02em;color:#fff;
  background:linear-gradient(145deg,hsl(var(--h,230),75%,58%),hsl(calc(var(--h,230) + 45),70%,40%));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px hsla(var(--h,230),80%,50%,.3);
}
.deal-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.deal-name{font-size:17px;font-weight:700;}
.deal-slogan{font-size:12.5px;color:var(--ink-2);margin-top:5px;line-height:1.6;}
.deal-judge{font-size:12px;color:var(--ink-2);line-height:1.7;margin-top:12px;
  padding:11px 13px;border-radius:12px;background:rgba(91,108,255,.06);border:1px solid rgba(91,108,255,.14);}
.deal-judge .dj-k{color:#8ea0ff;font-size:10px;letter-spacing:.12em;display:block;margin-bottom:5px;}
.deal-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;
  font-size:10.5px;color:var(--ink-3);}
.deal-meta .sep{opacity:.4;}
.deal-foot{
  margin-top:13px;padding-top:12px;border-top:1px solid var(--stroke-soft);
  display:flex;align-items:center;justify-content:space-between;
  font-size:10.5px;color:var(--ink-3);
}
.rate-badge{
  display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:8px;
  font-size:11px;font-weight:700;color:var(--gold);
  border:1px solid rgba(231,200,143,.45);background:rgba(231,200,143,.07);
  box-shadow:0 0 12px rgba(231,200,143,.1);
}
.lock-tag{display:inline-flex;align-items:center;gap:5px;color:rgba(231,200,143,.85);font-size:10.5px;}
.member-card{
  padding:20px 18px;border-radius:22px;text-align:left;position:relative;overflow:hidden;
  border:1px solid rgba(231,200,143,.35);
  background:linear-gradient(155deg,rgba(231,200,143,.12),rgba(231,200,143,.02) 45%,rgba(139,92,246,.06));
}

/* ---- 项目详情 ---- */
.deal-hero{padding:20px 18px;}
.dh-row{display:flex;gap:15px;align-items:center;}
.dh-logo{width:62px;height:62px;border-radius:18px;font-size:20px;}
.score-wrap{display:flex;gap:18px;align-items:center;padding:18px;}
.score-ring{flex:none;position:relative;width:104px;height:104px;}
.score-ring .sr-center{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.score-ring .sr-v{font-size:30px;font-weight:300;}
.score-ring .sr-k{font-size:9.5px;color:var(--ink-3);margin-top:3px;letter-spacing:.08em;}
.dim-row{margin-bottom:13px;}
.dim-row:last-child{margin-bottom:0;}
.dim-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px;}
.dim-head .dv{color:#8ea0ff;font-weight:600;}
.dim-name{color:var(--ink-2);}
.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.fact-cell{padding:13px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--stroke-soft);}
.fact-cell .fc-v{font-size:16px;font-weight:600;}
.fact-cell .fc-v.ok{color:var(--good);}
.fact-cell .fc-k{font-size:10px;color:var(--ink-3);margin-top:4px;}
.fold-item{border-bottom:1px solid var(--stroke-soft);}
.fold-item:last-child{border:none;}
.fold-head{
  display:flex;align-items:center;gap:10px;padding:14px 2px;font-size:13px;font-weight:500;
}
.fold-head .fh-arrow{margin-left:auto;color:var(--ink-3);transition:transform .2s;}
.fold-item.open .fh-arrow{transform:rotate(90deg);}
.fold-body{display:none;padding:0 2px 14px;font-size:12px;color:var(--ink-2);line-height:1.8;}
.fold-item.open .fold-body{display:block;}
.verify-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 7px rgba(52,211,153,.8);flex:none;}
.expert-opinion{display:flex;align-items:center;gap:11px;padding:12px 14px;}
.expert-opinion + .expert-opinion{border-top:1px solid var(--stroke-soft);}
.eo-name{font-size:12.5px;font-weight:600;}
.eo-view{font-size:11px;color:var(--ink-3);margin-top:3px;}
.eo-stance{
  flex:none;font-size:10px;padding:4px 9px;border-radius:8px;
  color:#7ce9c0;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);
}
.eo-stance.careful{color:#ecd3a3;background:rgba(231,200,143,.07);border-color:rgba(231,200,143,.28);}

/* ---- 提交项目 ---- */
.steps{display:flex;align-items:center;gap:0;margin:6px 0 22px;}
.step{flex:1;text-align:center;position:relative;}
.step .st-dot{
  width:26px;height:26px;border-radius:50%;margin:0 auto;display:grid;place-items:center;
  font-size:11.5px;font-weight:600;background:var(--glass-strong);
  border:1px solid var(--stroke);color:var(--ink-3);position:relative;z-index:1;
  transition:all .25s;
}
.step.on .st-dot{background:var(--grad-main);color:#fff;border-color:transparent;box-shadow:0 0 14px rgba(91,108,255,.5);}
.step.done .st-dot{background:rgba(52,211,153,.15);color:var(--good);border-color:rgba(52,211,153,.4);}
.step .st-label{font-size:10px;color:var(--ink-3);margin-top:7px;}
.step.on .st-label{color:var(--ink);}
.step::before,.step::after{
  content:"";position:absolute;top:13px;height:1px;width:50%;background:var(--stroke-soft);
}
.step::before{left:0;}
.step::after{right:0;}
.step:first-child::before,.step:last-child::after{display:none;}
.upload-box{
  border:1.5px dashed rgba(150,170,255,.25);border-radius:16px;padding:22px;
  text-align:center;color:var(--ink-3);font-size:12px;transition:border-color .2s;
}
.upload-box:active{border-color:rgba(91,108,255,.5);}
.flow-item{display:flex;gap:12px;padding:11px 0;}
.flow-item .fi-n{
  width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-size:10px;color:#8ea0ff;border:1px solid rgba(91,108,255,.4);
}

/* ---- 分身中心 ---- */
.twin-hero{padding:19px 18px;position:relative;overflow:hidden;}
.twin-top{display:flex;gap:15px;align-items:center;}
.twin-name{font-size:18px;font-weight:700;}
.twin-status{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:#7fe3f4;margin-top:5px;}
.twin-status i{width:6px;height:6px;border-radius:50%;background:var(--brand-3);box-shadow:0 0 8px var(--brand-3);animation:liveBlink 2s infinite;}
.twin-roles{display:flex;margin-top:16px;border-top:1px solid var(--stroke-soft);padding-top:14px;}
.twin-role{flex:1;text-align:center;min-width:0;}
.twin-role + .twin-role{border-left:1px solid var(--stroke-soft);}
.twin-role .tr-v{font-size:16px;font-weight:600;}
.twin-role .tr-k{font-size:9.5px;color:var(--ink-3);margin-top:4px;letter-spacing:.03em;}
.role-card{display:flex;gap:14px;padding:16px;align-items:center;}
.role-ic{
  width:46px;height:46px;border-radius:15px;flex:none;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(91,108,255,.22),rgba(139,92,246,.18));
  border:1px solid rgba(91,108,255,.35);color:#aab6ff;
  box-shadow:0 0 18px rgba(91,108,255,.15);
}
.role-card.gold .role-ic{
  background:linear-gradient(145deg,rgba(231,200,143,.16),rgba(231,200,143,.06));
  border-color:rgba(231,200,143,.4);color:var(--gold);box-shadow:0 0 18px rgba(231,200,143,.12);
}
.role-t{font-size:15px;font-weight:700;}
.role-s{font-size:11.5px;color:var(--ink-3);line-height:1.6;margin-top:4px;}
.role-arrow{margin-left:auto;color:var(--ink-3);flex:none;}
.scene-card{flex:none;width:160px;padding:15px 14px;position:relative;overflow:hidden;}
.scene-card .sc-tag{font-size:9px;letter-spacing:.1em;color:#8ea0ff;}
.scene-card .sc-name{font-size:14px;font-weight:700;margin-top:7px;}
.scene-card .sc-sub{font-size:10.5px;color:var(--ink-3);margin-top:6px;line-height:1.6;}
.scene-card.new-scene{display:grid;place-items:center;border-style:dashed;min-height:118px;color:var(--ink-3);}
.mem-card{display:flex;gap:13px;padding:15px 16px;align-items:center;}
.mem-ic{width:40px;height:40px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);color:#c9b8fa;}
.grow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.grow-cell{padding:13px 8px;text-align:center;border-radius:14px;background:var(--glass);border:1px solid var(--stroke-soft);}
.grow-cell .gv{font-size:17px;font-weight:600;}
.grow-cell .gk{font-size:9.5px;color:var(--ink-3);margin-top:4px;}

/* ---- 分身干活 ---- */
.cap-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;}
.cap-chips::-webkit-scrollbar{display:none;}
.report-card{
  display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:15px;
  background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(34,211,238,.06));
  border:1px solid rgba(52,211,153,.3);
}
.task-stat-row{display:flex;gap:9px;margin-bottom:14px;}
.task-stat{flex:1;text-align:center;padding:11px 4px;border-radius:13px;background:var(--glass);border:1px solid var(--stroke-soft);}
.task-stat .v{font-size:18px;font-weight:600;}
.task-stat .k{font-size:9.5px;color:var(--ink-3);margin-top:3px;}

/* ---- 分身训练 ---- */
.train-bar{display:flex;gap:8px;align-items:center;}
.train-pill{
  display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;
  font-size:12px;background:var(--glass-strong);border:1px solid var(--stroke);color:var(--ink-2);
  position:relative;
}
.train-pill .red-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;
  background:var(--bad);border:1.5px solid #0a0e28;}
.summary-card{padding:15px 16px;border-radius:16px;background:rgba(139,92,246,.07);border:1px solid rgba(139,92,246,.28);}
.summary-card .sc-t{font-size:12.5px;font-weight:600;color:#d6c9fb;margin-bottom:10px;}
.summary-item{display:flex;gap:9px;font-size:12.5px;line-height:1.65;color:var(--ink);margin-bottom:7px;}
.summary-item .si-n{color:#a78bfa;flex:none;font-weight:600;}

/* ---- AI 通话 ---- */
.call-screen{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  padding:calc(var(--sb-h) + 18px) 26px 30px;text-align:center;
}
.call-name{font-size:24px;font-weight:700;margin-top:4px;}
.call-status{font-size:12px;color:var(--ink-3);margin-top:8px;display:flex;align-items:center;gap:7px;}
.call-status .cs-dot{width:6px;height:6px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px var(--warn);}
.call-status.live .cs-dot{background:var(--good);box-shadow:0 0 8px var(--good);}
.call-orb-zone{flex:1;display:grid;place-items:center;position:relative;width:100%;}
.call-orb{width:180px;height:180px;}
.call-orb .orb-ring.r1{inset:-14px;}
.call-orb .orb-ring.r2{inset:-30px;opacity:.45;}
.call-orb .orb-inner-char{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:52px;font-weight:600;color:rgba(255,255,255,.92);text-shadow:0 2px 16px rgba(20,10,60,.6);
}
.subtitle-card{
  width:100%;padding:14px 16px;border-radius:17px;text-align:left;
  background:var(--glass-strong);border:1px solid var(--stroke-soft);
  font-size:12.5px;line-height:1.75;color:var(--ink-2);
}
.subtitle-card .st-who{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#8ea0ff;margin-bottom:7px;font-weight:600;}
.call-timer{font-size:32px;font-weight:200;margin-top:18px;letter-spacing:.06em;}
.call-timer-sub{font-size:11px;color:var(--ink-3);margin-top:5px;}
.call-btns{display:flex;gap:34px;margin-top:24px;}
.call-btn{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;color:var(--ink-2);}
.call-btn .cb-ic{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:var(--glass-strong);border:1px solid var(--stroke);color:var(--ink);
  transition:transform .15s;
}
.call-btn:active .cb-ic{transform:scale(.9);}
.call-btn.hangup .cb-ic{
  background:linear-gradient(145deg,#ff5b5b,#e2333f);border:none;
  box-shadow:0 10px 26px rgba(251,60,80,.45),inset 0 1px 0 rgba(255,255,255,.3);
}
.call-back{position:absolute;top:calc(var(--sb-h) + 8px);left:16px;z-index:5;}

/* ---- 我的 ---- */
.me-head{display:flex;gap:16px;align-items:center;}
.me-name{font-size:21px;font-weight:700;display:flex;align-items:center;gap:8px;}
.me-bio{font-size:12px;color:var(--ink-2);margin-top:6px;line-height:1.65;}
.vip-card{
  padding:17px 18px;border-radius:20px;position:relative;overflow:hidden;
  border:1px solid rgba(231,200,143,.4);
  background:linear-gradient(150deg,rgba(231,200,143,.14),rgba(231,200,143,.03) 50%,rgba(139,92,246,.07));
  display:flex;align-items:center;gap:14px;
}
.vip-crown{
  width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(231,200,143,.25),rgba(231,200,143,.08));
  border:1px solid rgba(231,200,143,.5);color:var(--gold);
  box-shadow:0 0 20px rgba(231,200,143,.18);
}
.vip-name{font-size:15px;font-weight:700;color:var(--gold);}
.vip-exp{font-size:10.5px;color:rgba(231,200,143,.65);margin-top:4px;}
.stat4{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stat4-cell{padding:16px 16px 14px;border-radius:18px;background:var(--glass);border:1px solid var(--stroke-soft);}
.stat4-cell .k{font-size:11px;color:var(--ink-3);}
.stat4-cell .v{font-size:27px;font-weight:300;margin-top:8px;display:flex;align-items:baseline;gap:6px;}
.stat4-cell .u{font-size:11px;color:var(--ink-3);}

/* ---- 会员 sheet ---- */
.member-hero{text-align:center;padding:8px 0 4px;}
.member-title{font-size:21px;font-weight:700;margin-top:10px;
  background:linear-gradient(135deg,#f5e2bd,#E7C88F 60%,#cfa557);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.member-sub{font-size:11.5px;color:var(--ink-3);margin-top:8px;}
.benefit-item{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--stroke-soft);align-items:flex-start;}
.benefit-item:last-child{border:none;}
.benefit-ic{width:36px;height:36px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(231,200,143,.1);border:1px solid rgba(231,200,143,.35);color:var(--gold);}
.benefit-t{font-size:13.5px;font-weight:600;}
.benefit-s{font-size:11px;color:var(--ink-3);margin-top:3px;line-height:1.6;}

/* ---- 我的名片 ---- */
.mycard-hero{
  position:relative;border-radius:24px;overflow:hidden;
  border:1px solid var(--stroke);
  background:
    radial-gradient(90% 60% at 50% -10%, rgba(91,108,255,.35), transparent 62%),
    radial-gradient(60% 40% at 85% 20%, rgba(139,92,246,.25), transparent 65%),
    linear-gradient(180deg,#0d1334,#080c26);
  padding:30px 20px 20px;text-align:center;
}
.mycard-hero .mc-name{font-size:25px;font-weight:700;margin-top:15px;}
.mycard-hero .mc-en{font-size:11px;letter-spacing:.32em;color:var(--ink-3);margin-top:5px;}
.mycard-hero .mc-oneline{font-size:12.5px;color:var(--ink-2);margin-top:11px;line-height:1.7;}
.mycard-caps{display:flex;justify-content:center;gap:8px;margin-top:15px;flex-wrap:wrap;}
.cap-pill{
  display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:999px;
  font-size:10.5px;color:#b9c6ff;background:rgba(91,108,255,.1);border:1px solid rgba(91,108,255,.32);
}
.timeline{position:relative;padding-left:22px;}
.timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1.5px;
  background:linear-gradient(180deg,rgba(91,108,255,.5),rgba(139,92,246,.2));}
.tl-item{position:relative;padding-bottom:16px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:"";position:absolute;left:-19.5px;top:5px;width:9px;height:9px;border-radius:50%;
  background:var(--grad-main);box-shadow:0 0 10px rgba(91,108,255,.8);
}
.tl-time{font-size:10.5px;color:#8ea0ff;letter-spacing:.04em;}
.tl-role{font-size:13.5px;font-weight:600;margin-top:4px;}
.tl-org{font-size:11.5px;color:var(--ink-3);margin-top:2px;}
.call-float{
  display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:18px;
  background:linear-gradient(135deg,rgba(91,108,255,.25),rgba(139,92,246,.22));
  border:1px solid rgba(91,108,255,.45);
  box-shadow:0 10px 30px rgba(91,108,255,.2);
}
.mini-stats{display:flex;justify-content:space-around;padding:13px 0;}
.mini-stat{text-align:center;}
.mini-stat .v{font-size:16px;font-weight:600;}
.mini-stat .k{font-size:9.5px;color:var(--ink-3);margin-top:3px;}

/* ---- 空状态 ---- */
.empty-state{display:flex;flex-direction:column;align-items:center;padding:44px 0 30px;text-align:center;}
.empty-state .orb-core{width:72px;height:72px;}
.empty-t{font-size:14px;font-weight:600;margin-top:20px;color:var(--ink-2);}
.empty-s{font-size:11.5px;color:var(--ink-3);margin-top:7px;}

/* ---- 动效关闭（无障碍） ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
}
