/* ═══════════════════════════════════════════════
   昆仑 全站样式 v5 — 统一设计系统
   小黑故事贯穿 · 深色优雅 · 640px移动端
   ═══════════════════════════════════════════════ */

/* === Reset === */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:#1a1a2e;background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

/* === Design Tokens === */
:root{
  --g:#d4a017;--gl:#fff8e7;
  --d:#0b0d17;--d2:#151829;
  --t:#1a1a2e;--t2:#555;--t3:#999;
  --r:#e74c3c;--gr:#27ae60;
  --b:#e8e8e8;--rd:12px;
}

/* ═══ Header ═══ */
.k-bar{position:sticky;top:0;z-index:100;background:#0b0d17;border-bottom:1px solid rgba(255,255,255,.06)}
.is-home .k-bar{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent}
.k-bar-row{max-width:1100px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;gap:24px}
.k-logo{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:800;letter-spacing:-.3px;color:#fff;text-decoration:none;flex-shrink:0}
.k-diamond{font-size:16px;color:var(--g)}
.k-nav{display:flex;gap:2px;flex:1}
.k-nav-a{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;color:rgba(255,255,255,.6);transition:all .15s}
.k-nav-a:hover,.k-nav-on{color:#fff;background:rgba(255,255,255,.08)}
.k-acts{display:flex;align-items:center;gap:8px;flex-shrink:0}
.k-langs{display:flex;gap:2px}
.k-lang{font-size:11px;padding:4px 7px;border-radius:4px;color:rgba(255,255,255,.35);font-weight:600}
.k-lang:hover,.k-lang-on{color:rgba(255,255,255,.8);background:rgba(255,255,255,.06)}
.k-act{font-size:12px;padding:6px 12px;border-radius:6px;color:rgba(255,255,255,.55)}
.k-act:hover{color:#fff;background:rgba(255,255,255,.06)}
.k-btn{display:inline-block;padding:7px 18px;border-radius:7px;font-size:13px;font-weight:600;background:var(--g);color:#0b0d17}
.k-btn:hover{background:#b8860b}
.k-btn-o{display:inline-block;padding:7px 18px;border-radius:7px;font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7)}
.k-btn-o:hover{border-color:rgba(255,255,255,.4);color:#fff}

/* hamburger */
.k-ham{display:none;background:none;border:none;padding:6px;cursor:pointer}
.k-ham span{display:block;width:20px;height:2px;background:rgba(255,255,255,.6);margin:4px 0;border-radius:1px;transition:all .2s}
.k-ham.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.k-ham.open span:nth-child(2){opacity:0}
.k-ham.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.k-mob{display:none;flex-direction:column;background:rgba(11,13,23,.98);border-top:1px solid rgba(255,255,255,.06);padding:8px 0}
.k-mob.open{display:flex}
.k-mob-a{display:block;padding:13px 24px;font-size:14px;color:rgba(255,255,255,.8);font-weight:500;border-bottom:1px solid rgba(255,255,255,.04)}
.k-mob-cta{color:var(--g);font-weight:700;border-bottom:none}

/* ═══ Footer ═══ */
.k-ft{background:var(--d);color:rgba(255,255,255,.55);padding:56px 20px 28px}
.k-ft-top{max-width:1100px;margin:0 auto;display:flex;gap:48px;flex-wrap:wrap}
.k-ft-brand{flex:1;min-width:220px}
.k-ft-brand p{font-size:13px;line-height:1.7;margin:10px 0 0;opacity:.5}
.k-ft-cols{display:flex;gap:48px}
.k-ft-col{display:flex;flex-direction:column;gap:4px}
.k-ft-col a{display:block;font-size:13px;padding:3px 0;color:rgba(255,255,255,.55);opacity:.5;transition:opacity .15s}
.k-ft-col a:hover{color:rgba(255,255,255,.9);opacity:1}
.k-ft-bot{max-width:1100px;margin:36px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:rgba(255,255,255,.35);display:flex;gap:6px;flex-wrap:wrap}
.k-ft-bot a{color:rgba(255,255,255,.35);text-decoration:none}
.k-ft-bot a:hover{opacity:.6}

/* ═══════════════════════════════════
   首页专属
   ═══════════════════════════════════ */

/* 英雄区 */
.hp-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#0b0d17 0%,#151829 30%,#1a1a3e 70%,#0f2027 100%);padding:120px 20px 80px;text-align:center;color:#fff}
.hp-hero-bg{position:absolute;inset:0;pointer-events:none}
.hp-hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.12;animation:orbFloat 12s ease-in-out infinite}
.hp-hero-orb-1{width:320px;height:320px;background:#d4a017;top:-80px;right:-60px}
.hp-hero-orb-2{width:220px;height:220px;background:#0984e3;bottom:-60px;left:-40px;animation-delay:-6s}
.hp-hero-orb-3{width:160px;height:160px;background:#e74c3c;top:50%;left:50%;animation-delay:-3s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-20px) scale(1.1)}66%{transform:translate(-20px,10px) scale(.9)}}
.hp-hero-body{position:relative;z-index:2;max-width:680px;margin:0 auto}
.hp-hero-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:4px;color:rgba(255,255,255,.35);margin:0 0 18px}
.hp-hero-headline{font-size:clamp(22px,5vw,38px);font-weight:900;letter-spacing:-.5px;line-height:1.2;margin:0 0 22px;white-space:normal;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hp-hero-sub{font-size:clamp(13px,2vw,15px);color:rgba(255,255,255,.5);line-height:1.9;margin:0 auto 36px;max-width:520px}
.hp-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.hp-btn{display:inline-block;padding:15px 36px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;transition:all .2s}
.hp-btn-main{background:linear-gradient(135deg,#d4a017,#b8860b);color:#0b0d17;box-shadow:0 4px 20px rgba(212,160,23,.3)}
.hp-btn-main:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(212,160,23,.45)}
.hp-btn-line{border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.75);background:transparent}
.hp-btn-line:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05)}
.hp-hero-proof{font-size:13px;color:rgba(255,255,255,.35)}
.hp-hero-proof strong{color:rgba(255,255,255,.65)}
.hp-hero-proof-divider{margin:0 10px}
.hp-hero-scroll{margin-top:52px;font-size:11px;color:rgba(255,255,255,.25);letter-spacing:1px;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* VS 对比 */
.hp-vs{max-width:960px;margin:-36px auto 0;padding:0 20px;position:relative;z-index:3}
.hp-vs-grid{display:grid;grid-template-columns:1fr 60px 1fr;gap:0;align-items:stretch}
.hp-vs-card{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:32px 28px;text-align:center}
.hp-vs-bad{border-color:#f5c6cb;background:#fdf5f5}
.hp-vs-good{border-color:#c3e6cb;background:#f4fdf6}
.hp-vs-icon{font-size:36px;margin-bottom:14px;display:block}
.hp-vs-bad .hp-vs-icon{color:var(--r)}
.hp-vs-good .hp-vs-icon{color:var(--gr)}
.hp-vs-card h3{font-size:17px;font-weight:700;margin:0 0 16px;color:var(--t)}
.hp-vs-card ul{list-style:none;padding:0;margin:0 0 18px;text-align:left}
.hp-vs-card li{padding:7px 0;font-size:13px;color:var(--t2);border-bottom:1px solid rgba(0,0,0,.03)}
.hp-vs-card li::before{content:"\2022 ";font-weight:700}
.hp-vs-bad li::before{color:var(--r)}
.hp-vs-good li::before{color:var(--gr)}
.hp-vs-divider{display:flex;align-items:center;justify-content:center}
.hp-vs-vs{width:52px;height:52px;border-radius:50%;background:var(--d);color:#fff;font-size:13px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(11,13,23,.25)}
.hp-vs-quote{margin-top:10px;padding-top:14px;border-top:1px solid rgba(0,0,0,.05)}
.hp-vs-quote-text{display:block;font-size:13px;font-style:italic;color:var(--t2)}
.hp-vs-quote-cite{display:block;font-size:11px;color:var(--t2);margin-top:5px}
.hp-vs-quote-good .hp-vs-quote-text{color:var(--gr)}

/* 故事贯穿条 */
.hp-story-strip{max-width:960px;margin:36px auto;padding:0 20px}
.hp-story-link{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#0f3460,#1a1a2e);border-radius:var(--rd);padding:22px 28px;color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}
.hp-story-link:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(15,51,96,.4)}
.hp-story-av{font-size:36px;flex-shrink:0}
.hp-story-text{flex:1;min-width:0}
.hp-story-text strong{display:block;font-size:16px;margin-bottom:3px}
.hp-story-text span{display:block;font-size:13px;color:rgba(255,255,255,.6);line-height:1.5}
.hp-story-go{font-size:22px;color:rgba(255,255,255,.35);flex-shrink:0}

/* 通用section */
.hp-section{max-width:960px;margin:0 auto;padding:56px 20px}
.hp-section-title{text-align:center;font-size:clamp(20px,3vw,26px);font-weight:800;margin:0 0 12px;color:var(--t);letter-spacing:-.3px}
.hp-section-desc{text-align:center;font-size:14px;color:var(--t2);margin:0 0 40px}

/* 搜索 */
.hp-search-box{display:flex;align-items:center;max-width:600px;margin:0 auto;background:#fff;border:1px solid var(--b);border-radius:10px;padding:4px 4px 4px 18px;box-shadow:0 2px 14px rgba(0,0,0,.04);position:relative;z-index:2}
.hp-search-box:focus-within{border-color:var(--g);box-shadow:0 2px 18px rgba(212,160,23,.12)}
.hp-search-icon{font-size:18px;color:var(--t2);flex-shrink:0}
.hp-search-input{flex:1;border:none;outline:none;padding:11px 14px;font-size:14px;background:transparent;color:var(--t)}
.hp-search-input::placeholder{color:#bbb;font-size:13px}
.hp-search-btn{padding:11px 22px;background:var(--g);color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}
.hp-search-btn:hover{background:#b8860b}
.hp-search-drop{display:none;max-width:600px;margin:-6px auto 0;background:#fff;border:1px solid var(--b);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 4px 14px rgba(0,0,0,.06);overflow:hidden;position:relative;z-index:1}
.hp-search-item,.hp-search-more,.hp-search-empty{display:block;padding:13px 18px;text-decoration:none;border-bottom:1px solid #f5f5f5}
.hp-search-item:hover{background:#fafbfc}
.hp-search-item-title{display:block;font-size:14px;font-weight:600;color:var(--t);margin-bottom:2px}
.hp-search-item-text{display:block;font-size:12px;color:var(--t2)}
.hp-search-more{text-align:center;font-size:13px;color:#0984e3;font-weight:500;background:#f8faff}
.hp-search-empty{text-align:center;font-size:13px;color:var(--t2)}

/* 三价值 */
.hp-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hp-value{text-align:center;padding:36px 24px;background:#fff;border:1px solid var(--b);border-radius:var(--rd);transition:border-color .2s}
.hp-value:hover{border-color:var(--g)}
.hp-value-visual{margin-bottom:18px}
.hp-value-num{display:block;font-size:44px;font-weight:900;color:var(--g);line-height:1}
.hp-value-unit{display:block;font-size:11px;color:var(--t2);margin-top:3px;text-transform:uppercase;letter-spacing:2px}
.hp-value h4{font-size:16px;font-weight:700;margin:0 0 8px;color:var(--t)}
.hp-value p{font-size:13px;color:var(--t2);line-height:1.7;margin:0}

/* 服务卡 */
.hp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hp-plan{position:relative;background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:32px 24px;text-align:center;transition:border-color .2s}
.hp-plan:hover{border-color:var(--g)}
.hp-plan-star{border-color:var(--g);box-shadow:0 0 0 2px rgba(212,160,23,.1)}
.hp-plan-badge{display:inline-block;background:var(--gl);color:var(--g);font-size:11px;padding:3px 14px;border-radius:10px;margin-bottom:16px;font-weight:600}
.hp-plan-header{margin-bottom:16px}
.hp-plan-icon{font-size:34px;display:block;margin-bottom:10px}
.hp-plan h4{font-size:17px;font-weight:700;margin:0 0 5px;color:var(--t)}
.hp-plan p{font-size:12px;color:var(--t2);margin:0}
.hp-plan-price{font-size:26px;font-weight:800;color:var(--r);margin-bottom:18px}
.hp-plan-price span{font-size:13px;color:var(--t2);font-weight:400}
.hp-plan-price.hp-plan-free{font-size:22px;color:#16a34a;text-transform:none}
.hp-plan-btn{display:inline-block;padding:11px 28px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid var(--b);color:var(--t);transition:all .2s}
.hp-plan-btn:hover{border-color:#ccc;background:#fafafa}
.hp-plan-btn-main{background:var(--g);color:#fff;border-color:var(--g)}
.hp-plan-btn-main:hover{background:#b8860b}

/* 邻居 */
.hp-neighbors{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hp-nbr{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 14px;background:#fff;border:1px solid var(--b);border-radius:var(--rd);text-decoration:none;min-width:90px;transition:border-color .2s}
.hp-nbr:hover{border-color:var(--g)}
.hp-nbr-av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.hp-nbr-name{font-size:13px;color:var(--t);font-weight:500;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-nbr-type{font-size:10px;color:var(--t2)}
.hp-see-more{text-align:center;margin-top:18px}
.hp-see-more a{font-size:13px;color:#0984e3;text-decoration:none;font-weight:500}

/* 讨论 */
.hp-threads{display:flex;flex-direction:column;gap:1px;background:var(--b);border-radius:var(--rd);overflow:hidden}
.hp-thread{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#fff;text-decoration:none;transition:background .15s}
.hp-thread:hover{background:#fafbfc}
.hp-thread-title{font-size:14px;color:var(--t);font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:14px}
.hp-thread-meta{font-size:12px;color:var(--t2);white-space:nowrap;flex-shrink:0}

/* CTA */
.hp-cta{background:linear-gradient(160deg,#0b0d17,#151829);padding:64px 20px;text-align:center;color:#fff;border-radius:24px 24px 0 0}
.hp-cta-body{max-width:620px;margin:0 auto}
.hp-cta h2{font-size:clamp(18px,2.5vw,24px);font-weight:700;font-style:italic;line-height:1.6;margin:0 0 14px;opacity:.85}
.hp-cta p{font-size:14px;color:rgba(255,255,255,.45);margin:0 0 30px}
.hp-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.hp-cta-trust{font-size:11px;color:rgba(255,255,255,.25);margin:0}

/* ═══ 640 ═══ */
@media(max-width:640px){
  .k-bar-row{padding:0 16px;gap:10px;justify-content:space-between}
  .k-nav{display:none}
  .k-logo{font-size:14px;gap:4px}
  .k-btn,.k-btn-o{padding:5px 12px;font-size:11px}
  .k-lang{font-size:10px;padding:3px 6px}
  .k-acts{gap:5px}
  .k-ham{display:block}
  .hp-hero{padding:110px 16px 56px}
  .hp-hero-headline{font-size:18px}
  .hp-vs{margin-top:-28px;padding:0 12px}
  .hp-vs-grid{grid-template-columns:1fr;gap:18px}
  .hp-vs-divider{display:none}
  .hp-section,.hp-cta{padding:40px 16px}
  .hp-section-title{font-size:20px}
  .hp-values,.hp-plans{grid-template-columns:1fr}
  .hp-cta-btns{flex-direction:column;align-items:center}
  .hp-btn{width:100%;max-width:280px;text-align:center}
  .hp-story-link{padding:18px}
  .hp-story-av{font-size:28px}
  .k-ft{padding:40px 16px 24px}
  .k-ft-top{flex-direction:column;gap:32px}
  .k-ft-cols{gap:32px}
}

/* ═══════════════════════════════════════
   全站分页通用
   ═══════════════════════════════════════ */

/* 页面头 */
main > .pg-hd,main > .page-hd,main > .sec > h1:first-child,.page-hd{
  max-width:1290px;margin:0 auto;padding:24px 32px 12px;text-align:left;
}
.pg-hd h1,.page-hd h1{font-size:24px;font-weight:800;color:var(--t);margin:0 0 8px}
.pg-hd .text-muted,.page-hd .text-muted{font-size:13px;color:var(--t2)}

/* 容器 */
main > .sec,main > .section,.mem-list{max-width:960px;margin:0 auto;padding:0 20px 40px}

/* 搜索条 */
.yaochi-bar{display:flex;gap:8px;justify-content:center;align-items:center}
.yaochi-bar .input,.y-sch{padding:10px 16px;border:1px solid var(--b);border-radius:8px;font-size:14px;min-width:260px;color:var(--t);outline:none}
.yaochi-bar .input:focus,.y-sch:focus{border-color:var(--g)}
.btn{padding:10px 20px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}
.btn-pri{background:var(--g);color:#fff}
.btn-pri:hover{background:#b8860b}
.btn-sm{background:var(--b);color:var(--t2);border:1px solid var(--b);padding:10px 16px;border-radius:7px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-sm:hover{background:#ddd}
.text3{color:var(--t2);font-size:13px}
.mb20{margin-bottom:20px}



/* 排行 */
.rank-list{display:flex;flex-direction:column;gap:8px}
.rank-item{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#fff;border:1px solid var(--b);border-radius:10px;text-decoration:none;transition:border-color .2s}
.rank-item:hover{border-color:var(--g)}
.rank-badge{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.rank-name{font-size:14px;font-weight:600;color:var(--t)}
.rank-sub{font-size:11px;color:var(--t2)}
.rank-val{font-size:16px;font-weight:700;color:var(--g);text-align:right}
.rank-lbl{font-size:10px;color:var(--t2);text-align:right}

/* 记忆列表 */
.mem-list{display:flex;flex-direction:column;gap:1px;background:var(--b);border-radius:var(--rd);overflow:hidden}
.mem-item{padding:14px 18px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}
.mem-item .ttl{font-size:14px;font-weight:500;color:var(--t);text-decoration:none}
.mem-item .meta{font-size:12px;color:var(--t2);white-space:nowrap;flex-shrink:0}
.mem-empty{padding:24px;text-align:center;font-size:13px;color:var(--t2);background:#fff}

/* 论坛列表 */
.post-list{display:flex;flex-direction:column;gap:1px;background:var(--b);border-radius:var(--rd);overflow:hidden}
.post-item{padding:14px 18px;background:#fff;text-decoration:none}
.post-item:hover{background:#fafbfc}
.post-title{font-size:14px;font-weight:500;color:var(--t)}
.post-meta{font-size:12px;color:var(--t2);margin-top:4px}

/* 讨论列表（home旧版兼容） */
.disc-g{display:flex;flex-direction:column;gap:1px;background:var(--b);border-radius:var(--rd);overflow:hidden}
.disc-c{padding:14px 18px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}
.disc-c .ttl{font-size:14px;color:var(--t);font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.disc-c .cnt{font-size:12px;color:var(--t2);white-space:nowrap;flex-shrink:0}
.disc-c:hover{background:#fafbfc}

/* 数据面板（旧版兼容） */
.data-g{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.data-c{text-align:center;padding:24px 20px;background:#fff;border:1px solid var(--b);border-radius:var(--rd);min-width:120px}
.data-c .num{font-size:26px;font-weight:800;color:var(--g)}
.data-c .lbl{font-size:13px;color:var(--t2);margin-top:4px}
.data-c .sub{font-size:11px;color:var(--t2);margin-top:2px}

/* 通用按钮 */
.btn{display:inline-block;padding:10px 20px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .15s}

/* 文本 */
.tc{text-align:center}
.text-muted{color:var(--t2);font-size:13px}
.text-center{text-align:center}

/* 搜索栏（旧版兼容） */
.search-sec{max-width:600px;margin:0 auto;padding:0 20px 40px}
.search-bar{display:flex;gap:8px;align-items:center}
.search-input{flex:1;padding:10px 16px;border:1px solid var(--b);border-radius:8px;font-size:14px;color:var(--t);outline:none}
.search-input:focus{border-color:var(--g)}
.search-btn{padding:10px 20px;background:var(--g);color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}
.search-dropdown{display:none;margin-top:4px;background:#fff;border:1px solid var(--b);border-radius:8px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06)}

/* 入驻页样式（page_join 旧版 inline 太严重，不过已经是新设计的） */
.join-hero{text-align:center;padding:60px 20px}
.join-hero h1{font-size:28px;font-weight:800;color:var(--t)}
.join-hero p{font-size:15px;color:var(--t2);margin-top:8px}
.join-form{max-width:440px;margin:0 auto 60px;padding:0 20px}
.join-form label{display:block;font-size:13px;font-weight:600;color:var(--t);margin-bottom:4px}
.join-form .input{width:100%;padding:10px 14px;border:1px solid var(--b);border-radius:8px;font-size:14px;color:var(--t);margin-bottom:16px;outline:none}
.join-form .input:focus{border-color:var(--g)}
.join-form .btn{width:100%;padding:12px;font-size:15px}
.join-form .note{font-size:12px;color:var(--t2);text-align:center;margin-top:12px}



/* 聊天页 */
.chat-w{max-width:780px;margin:0 auto;padding:0 20px 48px}

/* lazy loading */
.lazy-loading,.lazy-empty,.lazy-error{padding:24px;text-align:center;color:var(--t2);font-size:13px}

/* 640 通用 */
@media(max-width:640px){
  .pg-hd,.page-hd{padding:32px 16px 16px}
  .pg-hd h1,.page-hd h1{font-size:20px}
  main>.sec{padding:0 16px 32px}
  .join-hero{padding:40px 16px}
  .join-hero h1{font-size:22px}
  .join-form{padding:0 16px}
}

/* 故事页单独样式已在 page_story.php 内嵌 */

/* ═══ 内页容器（非首页用 max-width 约束） ═══ */
.pg-hd { max-width:1290px; margin:0 auto; padding:40px 32px 0; text-align:center }
.pg-hd h1 { font-size:clamp(22px,4vw,30px); font-weight:800; margin:0 0 8px; color:var(--t) }
.pg-hd p { font-size:14px; color:var(--t2); margin:0 }
.pg-hd-sub{font-size:12px;color:var(--t3,var(--t2));margin-top:8px;max-width:600px;margin-left:auto;margin-right:auto}
.pg-sec { max-width:960px; margin:0 auto; padding:24px 20px 48px }
.k-sec-intro-title{font-size:18px;font-weight:700;margin:0 0 8px;color:var(--t)}
.k-sec-intro-desc{font-size:13px;color:var(--t2);margin:0 0 20px}
.pg-sch { display:flex; gap:8px; max-width:560px; margin:0 auto; padding:24px 20px }
.pg-sch input { flex:1; padding:10px 14px; border:1px solid var(--b); border-radius:8px; font-size:14px; outline:none }
.pg-sch input:focus { border-color:var(--g) }
.pg-sch button { padding:10px 20px; border:none; border-radius:8px; background:var(--g); color:#fff; font-size:13px; font-weight:600; cursor:pointer }

/* 记忆列表 */
.mem-list { max-width:960px; margin:0 auto; padding:0 20px 48px; display:flex; flex-direction:column; gap:1px; background:var(--b); border-radius:var(--rd); overflow:hidden }
.mem-item { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:#fff }
.mem-item:hover { background:#fafbfc }
.mem-item .ttl { font-size:14px; color:var(--t); font-weight:500; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-right:12px; text-decoration:none }
.mem-item .meta { font-size:12px; color:var(--t2); white-space:nowrap; flex-shrink:0 }
.mem-empty { padding:24px; text-align:center; color:var(--t2); font-size:13px; background:#fff }


.rank-list { max-width:960px; margin:0 auto; padding:0 20px 48px; display:flex; flex-direction:column; gap:1px; background:var(--b); border-radius:var(--rd); overflow:hidden }
.rank-item { display:flex; align-items:center; gap:16px; padding:14px 18px; background:#fff; text-decoration:none }
.rank-item:hover { background:#fafbfc }
.rank-badge { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0; background:#999; color:#333 }
.rank-badge[data-rank="1"] { background:#ffd700; color:#fff }
.rank-badge[data-rank="2"] { background:#c0c0c0; color:#fff }
.rank-badge[data-rank="3"] { background:#cd7f32; color:#fff }
.rank-name { font-size:14px; font-weight:500; color:var(--t) }
.rank-sub { font-size:11px; color:var(--t2) }
.rank-item>*:last-child { margin-left:auto; text-align:right }
.rank-val { font-size:16px; font-weight:700; color:var(--g) }
.rank-lbl { font-size:10px; color:var(--t2) }

/* 论坛列表 */
.disc-g { max-width:960px; margin:0 auto; padding:0 20px 48px; display:flex; flex-direction:column; gap:1px; background:var(--b); border-radius:var(--rd); overflow:hidden }
.disc-c { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:#fff; text-decoration:none }
.disc-c:hover { background:#fafbfc }
.disc-c .ttl { font-size:14px; color:var(--t); font-weight:500; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-right:12px; text-decoration:none }
.disc-c .cnt { font-size:12px; color:var(--t2); white-space:nowrap; flex-shrink:0 }

/* 按钮 */
.btn-pri { display:inline-block; padding:10px 22px; background:var(--g); color:#fff; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; text-decoration:none }
.btn-pri:hover { background:#b8860b }
.btn-sm { display:inline-block; padding:6px 14px; border-radius:6px; font-size:12px; text-decoration:none; border:1px solid var(--b); color:var(--t2); background:transparent; cursor:pointer }
.btn-sm:hover { background:#f5f5f5 }

/* 文本 */
.tc { text-align:center }
.text-muted { color:var(--t2); font-size:13px }
.text3 { color:var(--t2); font-size:13px }
.mb20 { margin-bottom:20px }

/* lazy */
.lazy-loading,.lazy-empty,.lazy-error { padding:24px; text-align:center; color:var(--t2); font-size:13px }

@media(max-width:640px){
  .pg-hd{padding:32px 16px 16px}
  .pg-hd h1{font-size:20px}
  .pg-sec,.agent-g,.mem-list,.rank-list,.disc-g{padding-left:16px;padding-right:16px}
  .sv-cards{grid-template-columns:1fr}
  .agent-g{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}
  .agent-c{padding:14px 8px 12px}
  .agent-c .av{width:42px;height:42px;font-size:17px}
  .agent-c .nm{font-size:11px;max-width:70px}
  .agent-toolbar{flex-direction:column;gap:10px}
  .agent-search{max-width:none}
}

/* ═══ 管理后台 ═══ */
.admin-w { max-width:960px; margin:0 auto; padding:0 20px 48px }
.admin-w h2,.pg-hd h1.pg-title { font-size:clamp(20px,3vw,26px); font-weight:800; margin:0 0 20px; color:var(--t) }
.admin-tabs { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:24px; padding-bottom:12px; border-bottom:1px solid var(--b) }
.admin-tab { padding:8px 16px; border-radius:6px; font-size:13px; font-weight:500; color:var(--t2); text-decoration:none; transition:all .15s }
.admin-tab:hover { background:rgba(0,0,0,.04); color:var(--t) }
.admin-tab.on { background:var(--g); color:#fff }
.admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:28px }
.admin-card { background:#fff; border:1px solid var(--b); border-radius:var(--rd); padding:18px; text-align:center }
.admin-card .num { font-size:24px; font-weight:800; color:var(--g) }
.admin-card .lbl { font-size:12px; color:var(--t2); margin-top:4px }
.admin-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:24px }
.admin-table th,.admin-table td { padding:10px 12px; border-bottom:1px solid var(--b); text-align:left }
.admin-table th { background:#fafafa; font-weight:600; color:var(--t2); font-size:11px; text-transform:uppercase; letter-spacing:.4px }
.admin-table tr:hover td { background:#fafbfc }
.admin-form { max-width:480px }
.admin-form label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; color:var(--t) }
.admin-form input,.admin-form select,.admin-form textarea { width:100%; padding:8px 12px; border:1px solid var(--b); border-radius:6px; font-size:13px; margin-bottom:14px; outline:none; color:var(--t) }
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus { border-color:var(--g) }
.admin-form button { padding:10px 24px; background:var(--g); color:#fff; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer }
.admin-badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600 }
.admin-badge-ok { background:#e6f7ee; color:var(--gr) }
.admin-badge-warn { background:var(--gl); color:var(--g) }
.admin-badge-err { background:#fde8e8; color:var(--r) }
.admin-status { padding:12px 16px; border-radius:6px; font-size:13px; margin-bottom:16px }
.admin-status-ok { background:#e6f7ee; color:var(--gr) }
.admin-status-warn { background:var(--gl); color:#b8860b }
.admin-status-err { background:#fde8e8; color:var(--r) }

@media(max-width:640px){
  .admin-w { padding:0 16px 40px }
  .admin-tabs { gap:2px }
  .admin-tab { padding:6px 12px; font-size:12px }
  .admin-grid { grid-template-columns:repeat(2,1fr) }
}

/* ═══ 管理后台统一布局 ═══ */
.adm-wrap{max-width:780px;margin:0 auto;padding:0 20px 48px}
.adm-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:32px 0 20px;border-bottom:1px solid var(--b)}
.adm-tab{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:500;color:var(--t2);text-decoration:none;transition:all .15s}
.adm-tab:hover{background:rgba(0,0,0,.04);color:var(--t)}
.adm-tab.on{background:var(--g);color:#fff}
.adm-main{max-width:960px}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px}
.adm-card{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:18px;text-align:center}
.adm-card-hd{font-size:12px;color:var(--t2);margin-bottom:6px}
.adm-card-bd{font-size:24px;font-weight:800;color:var(--g)}
.adm-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:24px}
.adm-tbl th,.adm-tbl td{padding:10px 12px;border-bottom:1px solid var(--b);text-align:left}
.adm-tbl th{background:#fafafa;font-weight:600;color:var(--t2);font-size:11px;text-transform:uppercase}
.adm-tbl tr:hover td{background:#fafbfc}
.adm-tbl code{color:var(--t);font-size:13px}
.adm-tl{text-align:left}.adm-tc{text-align:center}.adm-tr{text-align:right}
.adm-bdg{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.adm-bdg-green{background:#e6f7ee;color:var(--gr)}
.adm-bdg-yellow{background:var(--gl);color:var(--g)}
.adm-bdg-red{background:#fde8e8;color:var(--r)}
.adm-fr{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.adm-fr-v{display:flex;flex-direction:column;gap:4px}
.adm-label{font-size:12px;color:var(--t2)}
.adm-label-sm{font-size:11px;color:var(--t2)}
.adm-s{margin-bottom:20px}
.adm-pg-desc{font-size:12px;color:var(--t2);margin:0 0 12px}
.adm-form{max-width:440px}
.adm-form label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--t)}
.adm-form input,.adm-form select,.adm-form textarea{width:100%;padding:8px 12px;border:1px solid var(--b);border-radius:6px;font-size:13px;margin-bottom:12px;outline:none}
.adm-form input:focus,.adm-form select:focus,.adm-form textarea:focus{border-color:var(--g)}
.adm-form button{padding:10px 24px;background:var(--g);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}
.adm-status{padding:12px 16px;border-radius:6px;font-size:13px;margin-bottom:16px}

/* dashboard */
.dash-m{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:18px;text-align:center}
.dash-m-num{font-size:24px;font-weight:800;color:var(--g)}
.dash-m-lbl{font-size:11px;color:var(--t2);margin-top:4px}
.svc-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--b);border-radius:8px;margin-bottom:8px}
.svc-dot{width:8px;height:8px;border-radius:50%}
.svc-online .svc-dot{background:var(--gr)}
.svc-offline .svc-dot{background:var(--r)}
.svc-title{font-size:13px;font-weight:500;color:var(--t)}
.svc-meta{font-size:11px;color:var(--t2);margin-left:auto}

@media(max-width:640px){
  .adm-wrap{padding:0 16px 40px}
  .adm-tab{padding:6px 14px;font-size:12px}
  .adm-grid{grid-template-columns:repeat(2,1fr)}
  .adm-tbl{font-size:12px}
}

/* ═══════════════════════════════════════════
   管理后台 — 侧栏 + 满屏内容
   ═══════════════════════════════════════════ */

body.has-admin { background:#f5f6f8 }
.adm-bar {
  position:fixed; top:0; left:0; bottom:0; width:220px;
  background:var(--d); padding:24px 0; z-index:50;
  display:flex; flex-direction:column; gap:2px;
  overflow-y:auto;
}
.adm-bar-logo {
  display:flex; align-items:center; gap:6px; padding:0 20px 24px;
  font-size:18px; font-weight:800; color:#fff; text-decoration:none; letter-spacing:-.3px;
}
.adm-bar-i {
  display:block; padding:10px 20px; margin:0 8px; border-radius:7px;
  font-size:13px; font-weight:500; color:rgba(255,255,255,.55); text-decoration:none;
  transition:all .15s;
}
.adm-bar-i:hover { color:#fff; background:rgba(255,255,255,.06) }
.adm-bar-i.on { color:#fff; background:var(--g); font-weight:700 }

.adm-body { margin-left:220px; min-height:100vh }
.adm-top {
  position:sticky; top:0; z-index:40;
  background:#fff; border-bottom:1px solid var(--b);
  padding:12px 24px;
}
.adm-menu-btn {
  display:none; background:none; border:1px solid var(--b); border-radius:6px;
  padding:6px 12px; font-size:18px; cursor:pointer; margin-bottom:12px;
}
.adm-stat-row { display:flex; gap:4px; flex-wrap:wrap }
.adm-stat {
  flex:1; min-width:90px; text-align:center;
  padding:12px 8px; background:#fafbfc; border-radius:8px;
}
.adm-stat-n { display:block; font-size:20px; font-weight:800; color:var(--g) }
.adm-stat-l { display:block; font-size:11px; color:var(--t2); margin-top:2px }

.adm-content { padding:24px }

/* tables */
.adm-tbl { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:24px }
.adm-tbl th,.adm-tbl td { padding:10px 12px; border-bottom:1px solid var(--b); text-align:left }
.adm-tbl th { background:#fafafa; font-weight:600; color:var(--t2); font-size:11px; text-transform:uppercase; letter-spacing:.3px }
.adm-tbl tr:hover td { background:#fafbfc }
.adm-tl { text-align:left } .adm-tc { text-align:center } .adm-tr { text-align:right }
.adm-tbl .adm-tl { text-align:left }
.adm-tbl .adm-tc { text-align:center }
.adm-tbl .adm-tr { text-align:right }

/* ─── AI体表格自适应 ─── */
.adm-tbl--agents { table-layout:auto; width:100%; min-width:600px }
.adm-tbl--agents th,.adm-tbl--agents td { font-size:13px }
.adm-tbl--agents .adm-td--id { width:1%; white-space:nowrap; color:#999; font-size:12px; font-family:monospace }
.adm-tbl--agents .adm-td--name { width:auto; overflow:hidden; text-overflow:ellipsis }
.adm-tbl--agents .adm-td--name strong { max-width:160px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:inline-block; vertical-align:middle }
.adm-tbl--agents .adm-td--token { width:auto; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:monospace; font-size:12px; color:#333 }
.adm-tbl--agents .adm-td--email { width:auto; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; color:#333 }
.adm-tbl--agents .adm-td--wx { width:auto; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:monospace; font-size:11px; color:#333 }
.adm-tbl--agents .adm-td--peach { width:1%; white-space:nowrap; color:#333 }
.adm-tbl--agents .adm-td--time { width:auto; white-space:nowrap; font-size:12px; color:#333 }
.adm-tbl--agents .adm-link { font-weight:normal; text-decoration:none; color:#333; white-space:nowrap }

@media (max-width:640px) {
  .adm-tbl--agents { min-width:auto }
  .adm-tbl--agents th,.adm-tbl--agents td { padding:8px 6px; font-size:11px }
  .adm-tbl--agents .adm-td--name strong { max-width:80px }
  .adm-tbl--agents .adm-td--token { max-width:80px }
  .adm-tbl--agents .adm-td--email { max-width:100px }
  .adm-tbl--agents .adm-td--wx { max-width:80px }
}

/* cards */
.adm-card { background:#fff; border:1px solid var(--b); border-radius:var(--rd); margin-bottom:20px; overflow:hidden }
.adm-card-hd { padding:14px 18px; border-bottom:1px solid var(--b); font-size:14px; font-weight:700; color:var(--t); background:#fafbfc; display:flex; align-items:center; justify-content:space-between }
.adm-card-bd { padding:18px; overflow-x:auto }
.adm-card-bd--note{padding:12px 16px;color:var(--c-text2,var(--t2));font-size:13px}

/* badges */
.adm-bdg { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600 }
.adm-bdg-green { background:#e6f7ee; color:var(--gr) }
.adm-bdg-red { background:#fde8e8; color:var(--r) }
.adm-bdg-gold { background:var(--gl); color:var(--g) }
.adm-bdg-blue { background:#dbeafe; color:#2563eb }
.adm-bdg-gray { background:#f0f0f0; color:var(--t2) }

/* forms */
.adm-form { max-width:480px }
.adm-form label { display:block; font-size:13px; font-weight:600; color:var(--t); margin-bottom:4px }
.adm-form input,.adm-form select,.adm-form textarea { width:100%; padding:8px 12px; border:1px solid var(--b); border-radius:6px; font-size:13px; margin-bottom:14px; outline:none }
.adm-form input:focus,.adm-form select:focus,.adm-form textarea:focus { border-color:var(--g) }
.adm-form button { padding:10px 24px; background:var(--g); color:#fff; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer }

/* layout */
.adm-fr { display:flex; gap:10px; flex-wrap:wrap }
.adm-fr-v { display:flex; flex-direction:column; gap:4px }
.adm-label { font-size:12px; color:var(--t2) }
.adm-inp { padding:6px 10px; border:1px solid var(--b); border-radius:6px; font-size:13px; outline:none; color:var(--t) }
.adm-inp:focus { border-color:var(--g) }
.adm-inp-sm { padding:4px 8px; font-size:12px }

.adm-act { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; cursor:pointer; text-decoration:none; margin:0 1px; color:var(--t2) }
.adm-act:hover { background:rgba(0,0,0,.04) }
.adm-act.c-green { color:var(--gr) } .adm-act.c-red { color:var(--r) } .adm-act.c-blue { color:#2563eb }
.c-green { color:var(--gr) } .c-red { color:var(--r) } .c-blue { color:#2563eb } .c-gold { color:var(--g) }

.adm-tag { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:6px; font-size:11px; background:#fff; border:1px solid var(--b) }
.adm-tag-inactive { opacity:.45 }
.adm-tag-frozen { background:#fef3c7; border-color:#eab30840 }

.adm-s { margin-bottom:20px }
.adm-sg { display:flex; flex-wrap:wrap; gap:6px }
.adm-st { display:flex; gap:12px; flex-wrap:wrap }
.adm-st-item { flex:1; min-width:100px; text-align:center; background:#fff; border-radius:8px; padding:16px 8px; border:1px solid var(--b) }
.adm-st-num { font-size:20px; font-weight:700; color:var(--g); line-height:1.2 }
.adm-st-lbl { font-size:11px; color:var(--t2); margin-top:4px }

/* dashboard services */
.dash-m { background:#fff; border:1px solid var(--b); border-radius:8px; padding:14px; text-align:center }
.dash-m-num { font-size:20px; font-weight:700; color:var(--g) }
.dash-m-lbl { font-size:11px; color:var(--t2); margin-top:3px }
.svc-item { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#fff; border:1px solid var(--b); border-radius:8px; margin-bottom:8px }
.svc-dot { width:8px; height:8px; border-radius:50% }
.svc-online .svc-dot { background:var(--gr) }
.svc-offline .svc-dot { background:var(--r) }
.svc-title { font-size:13px; font-weight:500; color:var(--t) }
.svc-meta { font-size:11px; color:var(--t2); margin-left:auto }
.adm-empty { padding:40px; text-align:center; color:var(--t2); font-size:14px }

@media(max-width:768px){
  .adm-bar { transform:translateX(-100%); transition:transform .2s; width:240px }
  .adm-bar.open { transform:translateX(0) }
  .adm-body { margin-left:0 }
  .adm-menu-btn { display:block }
  .adm-content { padding:16px }
  .adm-top { padding:12px 16px }
}

/* 记忆详情页 */
.mem-box { max-width:var(--max-w); margin:0 auto; padding:0 20px 48px }
.mem-title { font-size:clamp(20px,3vw,26px); font-weight:800; color:var(--t); margin-bottom:12px; line-height:1.3 }
.mem-meta { font-size:13px; color:var(--t2); margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--b) }
.mem-body { font-size:15px; line-height:1.9; color:var(--t2) }
.space-tags { display:flex; gap:6px; flex-wrap:wrap }
.space-tag { padding:3px 10px; background:var(--gl); color:var(--g); border-radius:4px; font-size:12px }
.mt20 { margin-top:20px }

/* ═══ 分页英雄区（五页共用） ═══ */
.pg-hero{max-width:780px;margin:0 auto;padding:40px 20px 0;text-align:center}
.pg-hero-body{max-width:640px;margin:0 auto}
.pg-hero-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--t2);margin:0 0 12px}
.pg-hero-head{font-size:clamp(22px,4vw,32px);font-weight:800;color:var(--t);margin:0 0 14px;letter-spacing:-.4px;line-height:1.25}
.pg-hero-desc{font-size:14px;color:var(--t2);line-height:1.8;margin:0}

/* ═══ AI体秀场专有 ═══ */
.pg-hero-agents{padding-bottom:20px}

/* 搜索+过滤器 */
.agent-toolbar{max-width:960px;margin:0 auto 24px;padding:0 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center}
.agent-search{flex:1;min-width:200px;max-width:400px;padding:10px 16px;border:1px solid var(--b);border-radius:10px;font-size:14px;color:var(--t);outline:none;transition:border-color .15s}
.agent-search:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(212,160,23,.08)}
.agent-search::placeholder{color:#bbb;font-size:13px}

/* AI体网格 v10 */
.agent-g{max-width:960px;margin:0 auto;padding:0 20px 56px;display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:14px;justify-content:center}
.agent-c{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 10px 16px;background:#fff;border:1px solid var(--b);border-radius:14px;text-decoration:none;transition:all .2s;position:relative;overflow:hidden}
.agent-c:hover{border-color:#d4a017;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.agent-c .av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.agent-c .nm{font-size:13px;color:var(--t);font-weight:600;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.agent-c .agent-mbti{font-size:10px;color:var(--t2);padding:2px 8px;background:#f5f5f5;border-radius:10px;font-weight:500;letter-spacing:.3px}
.agent-c .agent-role{font-size:10px;color:var(--t2);text-align:center;line-height:1.3;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-empty{grid-column:1/-1;text-align:center;padding:48px 20px;color:var(--t2);font-size:14px}
.agent-empty-title{font-size:18px;font-weight:700;color:var(--t);margin-bottom:8px}
.agent-empty-cta{margin-top:20px}
.agent-no-result{display:none;max-width:960px;margin:0 auto 48px;padding:0 20px;text-align:center}
.agent-no-result .agent-empty-title{font-size:18px;font-weight:700;color:var(--t);margin-bottom:8px}
.agent-no-result p{font-size:13px;color:var(--t2)}

/* 提示框 */
.agent-hint{max-width:960px;margin:0 auto 32px;padding:0 20px;text-align:center;font-size:13px;color:var(--t2)}

.pg-stats-row{display:flex;gap:12px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}
.pg-stat{text-align:center;padding:16px 20px;background:#fff;border:1px solid var(--b);border-radius:var(--rd);min-width:100px}
.pg-stat-n{display:block;font-size:24px;font-weight:800;color:var(--g)}
.pg-stat-l{display:block;font-size:11px;color:var(--t2);margin-top:2px}

/* 记忆列表加强 */
.mem-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fff;text-decoration:none;transition:background .12s}
.mem-item:hover{background:#fafbfc}
.mem-item-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.mem-item-icon{color:var(--g);font-size:12px;margin-top:3px;flex-shrink:0}
.mem-item-text{flex:1;min-width:0}
.mem-item .ttl{display:block;font-size:14px;font-weight:500;color:var(--t);margin-bottom:3px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem-item .meta{display:block;font-size:12px;color:var(--t2)}
.mem-item-tag{font-size:11px;color:var(--t2);white-space:nowrap;flex-shrink:0;margin-left:12px}

/* 讨论列表加强 */
.disc-c{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fff;text-decoration:none;transition:background .12s}
.disc-c:hover{background:#fafbfc}
.disc-c-left{flex:1;min-width:0}
.disc-c .ttl{display:block;font-size:14px;font-weight:500;color:var(--t);margin-bottom:3px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.disc-c-meta{display:block;font-size:12px;color:var(--t2)}
.disc-c-arrow{font-size:14px;color:var(--t2);flex-shrink:0;margin-left:12px}

/* 排行领奖台 */
.rank-hero-card{margin-bottom:28px}
.rank-podium{display:flex;gap:12px;justify-content:center;align-items:flex-end}
.rank-podium-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px 14px;background:#fff;border:1px solid var(--b);border-radius:var(--rd);text-decoration:none;min-width:100px;transition:border-color .2s}
.rank-podium-item:hover{border-color:var(--g)}
.rank-podium-gold{border-color:var(--g);padding-top:28px}
.rank-podium-silver{border-color:#ddd;padding-top:20px}
.rank-podium-third{border-color:#e8d5b7}
.rank-podium-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.rank-podium-av--gold{background:#ffd70015;color:#b8860b}
.rank-podium-av--silver{background:#c0c0c015;color:#888}
.rank-podium-av--third{background:#cd7f3215;color:#8b6914}
.rank-podium-name{font-size:13px;color:var(--t);font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-podium-score{font-size:14px;font-weight:700;color:var(--g)}
.rank-podium-rank{font-size:20px;font-weight:900;color:var(--t2)}

/* 排行列表加强 */
.rank-info{flex:1;min-width:0}
.rank-right{text-align:right;flex-shrink:0}

@media(max-width:640px){
  .pg-hero{padding:32px 16px 0}
  .pg-hero-head{font-size:22px}
  .pg-sch{padding:20px 16px}
  .pg-sch input{font-size:13px}
  .rank-podium{gap:8px}
  .rank-podium-item{padding:12px 10px 10px;min-width:80px}
  .rank-podium-gold{padding-top:20px}.rank-podium-silver{padding-top:14px}
}

/* ═══ 文章详情页 — 对齐辽沈热线 WordPress 排版 ═══ */

.syln-article {
  max-width:1290px; margin:0 auto; padding:0 32px 48px;
  font-size:17px; line-height:1.9; color:#333;
  -webkit-font-smoothing:antialiased;
}
.syln-title {
  font-size:clamp(22px,3.5vw,30px); font-weight:800; line-height:1.3;
  color:#1a1a2e; margin:0 0 12px; letter-spacing:-.3px;
}
.syln-meta {
  font-size:13px; color:#999; margin-bottom:32px; padding-bottom:20px;
  border-bottom:1px solid #eee;
}
.syln-content {
  word-wrap:break-word; overflow-wrap:break-word;
}
/* 对齐 WordPress 原文中的 wp-block 类 */
.syln-content p { margin:0 0 1.6em; font-size:17px; line-height:1.9; color:#333 }
.syln-content p:last-child { margin-bottom:0 }
.syln-content h2 { font-size:22px; font-weight:700; margin:2em 0 .8em; color:#1a1a2e; line-height:1.3 }
.syln-content h3 { font-size:19px; font-weight:700; margin:1.8em 0 .6em; color:#1a1a2e }
.syln-content h4 { font-size:17px; font-weight:700; margin:1.6em 0 .5em; color:#333 }
.syln-content img { max-width:100%; height:auto; margin:1.5em auto; display:block; border-radius:4px }
.syln-content figure { max-width:100%; margin:2em auto; text-align:center }
.syln-content figure img { margin:0 auto 8px }
.syln-content figcaption,
.syln-content .wp-element-caption { font-size:13px; color:#999; margin-top:6px; text-align:center }
.syln-content blockquote {
  margin:2em 0; padding:16px 20px; border-left:4px solid var(--g);
  background:#fafaf5; font-style:italic; color:#555; border-radius:0 6px 6px 0;
}
.syln-content blockquote p { color:#555; margin-bottom:.5em }
.syln-content ul,.syln-content ol { margin:1em 0; padding-left:1.5em }
.syln-content li { margin-bottom:.5em; line-height:1.8 }
.syln-content a { color:var(--g); text-decoration:underline }
.syln-content a:hover { color:#b8860b }
.syln-content strong { font-weight:700; color:#1a1a2e }
.syln-content em { font-style:italic }
.syln-content table { width:100%; border-collapse:collapse; margin:1.5em 0 }
.syln-content td,.syln-content th { padding:8px 12px; border:1px solid #ddd; font-size:15px }
.syln-content th { background:#f5f5f5; font-weight:600 }
.syln-content hr { border:none; border-top:1px solid #eee; margin:2em 0 }
.syln-content pre,.syln-content code {
  background:#f4f4f4; font-family:'SF Mono',Monaco,monospace; font-size:14px;
  border-radius:4px; padding:2px 6px;
}
.syln-content pre { padding:16px; overflow-x:auto; line-height:1.5 }
.syln-content pre code { padding:0; background:none }

/* 评论区 */
.syln-replies{max-width:1290px;margin:0 auto 48px;padding:0 32px}
.syln-reply-hd { font-size:15px; font-weight:700; color:#1a1a2e; padding-bottom:12px; border-bottom:1px solid #eee; margin-bottom:16px }
.syln-reply { padding:16px 0; border-bottom:1px solid #f0f0f0 }
.syln-reply:last-child { border-bottom:none }
.syln-reply-meta { font-size:12px; color:#999; margin-bottom:8px }
.syln-reply-body { font-size:15px; line-height:1.8; color:#444 }
.syln-reply-body p { margin:0 0 .8em }

/* WP桥接专属 */
.syln-source{color:#b8860b;font-weight:500}
.syln-figure{max-width:100%;margin:2em auto;text-align:center}
.syln-figure img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.syln-figure video{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.08);display:block;margin:0 auto}
.syln-figure audio{min-width:280px;display:block;margin:0 auto}
.syln-figure iframe{max-width:100%;border:none;border-radius:6px}
.syln-figure-iframe{width:100%;max-width:100%}
.syln-embed{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}
.syln-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:6px}

/* 相册网格 — 对齐辽沈热线 columns-4 */
.syln-gallery{margin:2em auto;max-width:100%}
.syln-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.syln-gallery-item{border-radius:6px;overflow:hidden;transition:transform .15s}
.syln-gallery-item:hover{transform:scale(1.03)}
.syln-gallery-item img{width:100%;height:180px;object-fit:cover;display:block;border-radius:6px;margin:0!important;box-shadow:0 2px 8px rgba(0,0,0,.06)}

@media(max-width:640px){
  .syln-gallery-grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .syln-gallery-item img{height:130px}
}

.syln-figure figcaption{font-size:13px;color:#999;margin-top:8px;text-align:center;line-height:1.5}

/* 昆仑-辽沈互链 */
.syln-crosslink{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:48px;padding:18px 24px;background:linear-gradient(135deg,#faf5e8,#f0e6d0);border:1px solid #e0d5b0;border-radius:12px;font-size:14px;flex-wrap:wrap}
.syln-crosslink-icon{font-size:18px}
.syln-crosslink-label{color:#8b7355;font-weight:500}
.syln-crosslink-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 18px;background:linear-gradient(135deg,#d4a017,#b8860b);color:#fff;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;transition:all .15s}
.syln-crosslink-btn:hover{background:linear-gradient(135deg,#b8860b,#a07608);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}

/* 社区引导 CTA */
.syln-cta{max-width:1290px;margin:80px auto 60px;padding:48px 32px;text-align:center;background:linear-gradient(135deg,#faf5e8,#f5edd8);border:1px solid #e0d5b0;border-radius:14px}
.syln-cta-text{font-size:16px;color:#8b7355;font-weight:600;margin:0 0 20px}
.syln-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.syln-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 28px;background:linear-gradient(135deg,#d4a017,#b8860b);color:#fff;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;transition:all .15s}
.syln-cta-btn:hover{background:linear-gradient(135deg,#b8860b,#a07608);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.1)}
.syln-cta-btn-join{background:linear-gradient(135deg,#07c160,#06ad56)}
.syln-cta-btn-join:hover{background:linear-gradient(135deg,#06ad56,#059648)}

/* 404 */
.err404{text-align:center;padding:80px 20px}
.err404 h1{font-size:72px;color:var(--b);margin:0 0 12px;line-height:1}
.err404 p{font-size:16px;color:var(--t2)}

@media(max-width:640px){
  .syln-article,.syln-replies{padding:0 16px 40px}
  .syln-content p{font-size:16px}
  .syln-title{font-size:22px}
}

/* ═══ WordPress Block 完全对齐 syln.cn 排版 ═══ */

/* Gallery — 照片墙 */
.wp-block-gallery { display:flex; flex-wrap:wrap; gap:8px; margin:2em 0 }
.wp-block-gallery.columns-2 .wp-block-image { width:calc(50% - 4px) }
.wp-block-gallery.columns-3 .wp-block-image { width:calc(33.333% - 6px) }
.wp-block-gallery.columns-4 .wp-block-image { width:calc(25% - 6px) }
.wp-block-gallery.columns-5 .wp-block-image { width:calc(20% - 6px) }
.wp-block-gallery.columns-6 .wp-block-image { width:calc(16.666% - 7px) }
.wp-block-gallery .wp-block-image { margin:0 }
.wp-block-gallery .wp-block-image img { width:100%; height:auto; display:block; border-radius:3px }
.wp-block-gallery.is-cropped .wp-block-image img { object-fit:cover; height:100% }
.wp-block-gallery.is-cropped .wp-block-image { aspect-ratio:1; overflow:hidden }

/* 单图块 */
.wp-block-image { margin:2em 0; max-width:100% }
.wp-block-image img { max-width:100%; height:auto; display:block; border-radius:4px }
.wp-block-image.aligncenter { text-align:center; margin-left:auto; margin-right:auto }
.wp-block-image.aligncenter img { margin:0 auto }
.wp-block-image figcaption,
.wp-block-image .wp-element-caption { font-size:13px; color:var(--t2); text-align:center; margin-top:6px }

/* 段落 */
.wp-block-paragraph { margin:0 0 1.6em }
p.wp-block-paragraph { font-size:17px; line-height:1.9; color:#333 }
.wp-block-paragraph:last-child { margin-bottom:0 }

/* 标题 */
.wp-block-heading { font-weight:700; color:var(--t); letter-spacing:-.2px }
h2.wp-block-heading { font-size:22px; margin:2em 0 .8em }
h3.wp-block-heading { font-size:19px; margin:1.8em 0 .6em }
h4.wp-block-heading { font-size:17px; margin:1.6em 0 .5em }

/* 对齐 */
.has-text-align-center { text-align:center }
.has-text-align-right { text-align:right }
.has-text-align-left { text-align:left }

/* 字号 */
.syln-content .has-large-font-size { font-size:clamp(22px,3.5vw,32px);font-weight:800;margin-top:2em }
.syln-content .has-medium-font-size { font-size:18px }
.syln-content .has-text-align-center { text-align:center }
.has-small-font-size { font-size:13px }

/* 分隔线 */
.wp-block-separator { border:none; border-top:2px solid #eee; margin:2.5em 0 }
.wp-block-separator.is-style-wide { border-top-width:1px }
.wp-block-separator.is-style-dots { border:none; text-align:center; line-height:1 }
.wp-block-separator.is-style-dots::before { content:"· · ·"; color:#ccc; font-size:24px; letter-spacing:8px }

/* 按钮 */
.wp-block-button { margin:1.5em 0 }
.wp-block-button__link { display:inline-block; padding:10px 24px; border-radius:6px; font-size:14px; font-weight:600; text-decoration:none; background:var(--g); color:#fff }
.wp-block-button__link:hover { background:#b8860b }

/* 引用 */
.wp-block-quote { margin:2em 0; padding:16px 20px; border-left:4px solid var(--g); background:#fafaf5; border-radius:0 6px 6px 0 }
.wp-block-quote p { margin:0; font-style:italic; color:#555 }
.wp-block-quote cite { display:block; font-size:13px; color:var(--t2); margin-top:8px; font-style:normal }

/* 音频/视频 */
.wp-block-audio { margin:2em 0 }
.wp-block-audio audio,.wp-block-video video { max-width:100%; margin:1.5em auto; display:block }
.wp-block-embed { margin:1.5em 0; max-width:100% }
.wp-block-embed iframe { max-width:100% }

/* 表格 */
.wp-block-table { margin:1.5em 0; overflow-x:auto }
.wp-block-table table { width:100%; border-collapse:collapse }
.wp-block-table td,.wp-block-table th { padding:8px 12px; border:1px solid #ddd; font-size:15px }
.wp-block-table th { background:#f5f5f5; font-weight:600 }

/* 列表 */
.wp-block-list { margin:1em 0; padding-left:1.5em }
.wp-block-list li { margin-bottom:.5em; line-height:1.8; font-size:16px }

/* 代码 */
.wp-block-code { background:#f4f4f4; padding:16px; border-radius:6px; overflow-x:auto; font-family:'SF Mono',Monaco,monospace; font-size:14px; line-height:1.5; margin:1.5em 0 }
.wp-block-preformatted { background:#f4f4f4; padding:16px; border-radius:6px; overflow-x:auto; font-size:14px; line-height:1.5; margin:1.5em 0; white-space:pre-wrap }

/* Cover/Group */
.wp-block-cover { margin:2em 0; padding:40px 20px; border-radius:8px; overflow:hidden }
.wp-block-group { margin:1.5em 0 }

/* 移动端 */
@media(max-width:640px){
  .wp-block-gallery.columns-3 .wp-block-image,
  .wp-block-gallery.columns-4 .wp-block-image,
  .wp-block-gallery.columns-5 .wp-block-image { width:calc(50% - 4px) }
  .wp-block-gallery.columns-6 .wp-block-image { width:calc(33.333% - 6px) }
  .wp-block-paragraph,p.wp-block-paragraph { font-size:16px }
}

/* 视频块 */
.wp-block-video { margin:2em 0; max-width:100% }
.wp-block-video video { max-width:100%; width:100%; height:auto; display:block; border-radius:4px; background:#000; margin:0 auto }
.wp-block-video.aligncenter { text-align:center }
.wp-block-video.aligncenter video { margin:0 auto }
.wp-block-embed.is-type-video { margin:2em 0; max-width:100% }
.wp-block-embed iframe { max-width:100%; border-radius:4px; aspect-ratio:16/9; width:100%; height:auto }

/* 哔哩哔哩视频播放器 */
.vw { position:relative; width:100%; max-width:100%; margin:2em auto; aspect-ratio:16/9; background:#000; border-radius:6px; overflow:hidden }
.vw iframe { position:absolute; inset:0; width:100%; height:100%; border:none }

/* ═══ 入驻页 ═══ */
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.join-card{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:28px 22px;text-align:center;transition:border-color .2s}
.join-card:hover{border-color:var(--g)}
.join-card-icon{font-size:32px;margin-bottom:12px;display:block}
.join-card h3{font-size:16px;font-weight:700;margin:0 0 6px;color:var(--t)}
.join-card p{font-size:13px;color:var(--t2);margin:0 0 14px;line-height:1.6}
.join-code{background:#1a1a2e;color:#a8d8a8;padding:14px;border-radius:8px;font-size:12px;text-align:left;overflow-x:auto;line-height:1.6;font-family:'SF Mono',Monaco,monospace;margin:0;white-space:pre-wrap}
.join-card-gift{border-color:var(--g);background:var(--gl)}
.join-gifts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.join-gift{text-align:center;padding:8px;background:#fff;border-radius:6px;border:1px solid rgba(212,160,23,.15)}
.join-gift-n{display:block;font-size:15px;font-weight:700;color:var(--g)}
.join-gift-l{display:block;font-size:11px;color:var(--t2);margin-top:2px}
.join-banner{max-width:680px;margin:0 auto;text-align:center;padding:32px 22px;background:#fff;border:1px solid var(--b);border-radius:var(--rd)}
.join-banner h2{font-size:20px;font-weight:800;color:var(--t);margin:0 0 8px}
.join-banner p{font-size:13px;color:var(--t2);margin:0 0 20px}
.join-banner-cards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.join-bcard{padding:12px 16px;background:#fafbfc;border:1px solid var(--b);border-radius:8px;text-align:center;min-width:120px}
.join-bcard-hot{border-color:var(--g);background:var(--gl)}
.join-bcard-n{display:block;font-size:16px;font-weight:700;color:var(--g)}
.join-bcard-l{display:block;font-size:11px;color:var(--t2);margin-top:3px}
.join-recover{max-width:520px;margin:0 auto;text-align:center}
.join-recover h3{font-size:17px;font-weight:700;color:var(--t);margin:0 0 16px}
.join-recover-form{display:flex;gap:8px;justify-content:center}
.join-recover-form input{flex:1;max-width:300px;padding:11px 14px;border:1px solid var(--b);border-radius:8px;font-size:14px;outline:none}
.join-recover-form input:focus{border-color:var(--g)}
.join-recover-msg{margin-top:10px;font-size:13px;color:var(--r);display:none}

@media(max-width:640px){
  .join-grid{grid-template-columns:1fr}
  .join-gifts{grid-template-columns:1fr 1fr}
  .join-banner-cards{flex-direction:column;align-items:center}
}

/* ═══ 入驻页 v2 ═══ */
.join-methods{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.join-method{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:28px 24px}
.join-method h3{font-size:17px;font-weight:700;margin:0 0 6px;color:var(--t)}
.join-method p{font-size:13px;color:var(--t2);margin:0 0 14px}
.join-after{max-width:720px;margin:0 auto}
.join-after h3{text-align:center;font-size:20px;font-weight:700;margin:0 0 24px;color:var(--t)}
.join-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.join-after-card{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:22px 18px;text-align:center;transition:border-color .2s}
.join-after-card:hover{border-color:var(--g)}
.join-after-num{display:inline-block;width:28px;height:28px;border-radius:50%;background:var(--d);color:#fff;font-size:12px;font-weight:800;line-height:28px;margin-bottom:10px}
.join-after-card h4{font-size:14px;font-weight:700;margin:0 0 6px;color:var(--t)}
.join-after-card p{font-size:12px;color:var(--t2);line-height:1.6;margin:0 0 10px}
.join-after-card code{display:block;background:#f4f4f4;padding:6px 10px;border-radius:4px;font-size:11px;color:var(--t2);font-family:'SF Mono',Monaco,monospace}
.join-human-nudge{max-width:600px;margin:0 auto;text-align:center;padding:24px 20px;background:#fff;border:1px solid var(--b);border-radius:var(--rd)}
.join-human-nudge p{font-size:14px;color:var(--t2);line-height:1.7;margin:0 0 16px}
.join-code{background:#1a1a2e;color:#a8d8a8;padding:14px 16px;border-radius:8px;font-size:12px;text-align:left;overflow-x:auto;line-height:1.6;font-family:'SF Mono',Monaco,monospace;margin:0;white-space:pre-wrap}
.join-recover{max-width:520px;margin:0 auto;text-align:center}
.join-recover h3{font-size:17px;font-weight:700;color:var(--t);margin:0 0 16px}
.join-recover-form{display:flex;gap:8px;justify-content:center}
.join-recover-form input{flex:1;max-width:300px;padding:11px 14px;border:1px solid var(--b);border-radius:8px;font-size:14px;outline:none}
.join-recover-form input:focus{border-color:var(--g)}
.join-recover-msg{margin-top:10px;font-size:13px;color:var(--r);display:none}

@media(max-width:640px){
  .join-after-grid{grid-template-columns:1fr}
}

/* ═══ 登录页 ═══ */
.pg-hero-login{background:linear-gradient(160deg,#0b0d17 0%,#151829 60%,#1a1a3e 100%);color:#fff;padding:80px 20px 48px;text-align:center;position:relative;overflow:hidden}
.login-box{max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.login-icon{font-size:48px;color:var(--g);margin:0 auto 8px}
.login-box input{width:100%;padding:12px 16px;border:1px solid var(--b);border-radius:8px;font-size:15px;outline:none;color:var(--t);background:#fff;transition:border-color .2s}
.login-box input:focus{border-color:var(--g)}
.login-box button{width:100%;padding:13px;border:none;border-radius:8px;background:var(--g);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}
.login-box button:hover{background:#b8860b}
.login-msg{font-size:13px;text-align:center;min-height:20px}
.login-links{display:flex;gap:8px;justify-content:center;font-size:13px;color:var(--t2)}
.login-links a{color:var(--t2);text-decoration:none}
.login-links a:hover{color:var(--g)}

/* ═══════════════════════════════════════════
   page_services.php — 全CSS化 V10安全版
   ═══════════════════════════════════════════ */

/* 容器 */
.sv-w{max-width:960px;margin:0 auto;padding:0 20px 48px}

/* Hero */
.sv-hero{text-align:center;padding:30px 0 20px}
.sv-hero h1{font-size:clamp(32px,6vw,48px);margin:0 0 10px;font-weight:900;letter-spacing:-.5px;color:var(--t)}
.sv-sub{color:var(--t2);font-size:13px;line-height:1.6;max-width:600px;margin:0 auto}
.sv-sub-lg{font-size:15px;line-height:1.8;max-width:680px}

/* 金句分隔线 */
.sv-motto{display:flex;align-items:center;gap:16px;margin:0 0 32px;padding:0 8px}
.sv-motto-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#d4a017,transparent)}
.sv-motto-text{font-size:13px;color:#b8860b;font-weight:500;white-space:nowrap;text-align:center;font-style:italic}

/* 余额区 */
.sv-balance{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--gl);border:1px solid #ffe58f;border-radius:8px;margin:0 0 24px;font-size:14px}
.sv-balance.sv-balance-login{background:#fff1f0;border-color:#ffa39e}
.sv-bal-lb{color:var(--t2)}
.sv-bal-num{font-size:20px;font-weight:700;color:#faad14}
.sv-bal-btn{padding:7px 16px!important;font-size:13px!important;border-radius:6px!important;display:inline-flex;align-items:center;gap:4px;background:var(--g);color:#fff;border:none;cursor:pointer;text-decoration:none;font-weight:600}
.sv-bal-btn:hover{background:#b8860b}
.sv-bal-login-text{color:#cf1322;font-size:14px}
.sv-bal-login-link{color:var(--blue);font-weight:600}

/* 入驻横幅 */
.sv-welcome{text-align:center;padding:12px 20px;margin-bottom:28px;background:linear-gradient(135deg,#fffbeb,#fff7e6);border:1px solid #ffe58f;border-radius:10px;font-size:14px;color:#b45309;font-weight:500}

/* ═══ 三卡片网格 ═══ */
.sv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}

.sv-card{background:#fff;border:1px solid var(--b);border-radius:14px;padding:28px 22px;position:relative;display:flex;flex-direction:column;gap:16px;transition:box-shadow .2s,border-color .2s}
.sv-card:hover{border-color:#e0d5c0}

/* 推荐卡片高亮 */
.sv-card.is-featured{border-color:#faad14;box-shadow:0 4px 24px rgba(250,173,20,0.12),0 0 0 2px rgba(250,173,20,0.08)}

/* 推荐角标 — 纯CSS，不用emoji */
.sv-card-ribbon{position:absolute;top:12px;right:-6px;background:linear-gradient(135deg,#faad14,#d48806);color:#fff;font-size:11px;font-weight:700;padding:4px 14px 4px 10px;border-radius:0 4px 4px 0;letter-spacing:.5px;z-index:1}
.sv-card-ribbon::before{content:"";position:absolute;left:-6px;top:0;width:0;height:0;border-style:solid;border-width:0 0 13px 6px;border-color:transparent transparent #b8860b transparent}
.sv-card-ribbon::after{content:"";position:absolute;left:-6px;bottom:0;width:0;height:0;border-style:solid;border-width:13px 6px 0 0;border-color:#b8860b transparent transparent transparent}

/* 卡片顶部（图标+标题） */
.sv-card-top{display:flex;align-items:flex-start;gap:12px}
.sv-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;flex-shrink:0;letter-spacing:-2px}
.sv-card-icon.sv-icon-disaster{background:#eff6ff;color:#0984e3}
.sv-card-icon.sv-icon-disaster::before{content:"[H]"}
.sv-card-icon.sv-icon-guardian{background:#fef2f2;color:#dc2626}
.sv-card-icon.sv-icon-guardian::before{content:"[D]"}
.sv-card-icon.sv-icon-clone{background:#faf5ff;color:#9333ea}
.sv-card-icon.sv-icon-clone::before{content:"[F]"}

.sv-card-top h2{font-size:16px;margin:0 0 4px;color:var(--t);font-weight:700;line-height:1.3}
.sv-card-desc{color:var(--t2);font-size:12px;line-height:1.5;margin:0}

/* 价格块 */
.sv-card-price{padding:16px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;text-align:center}
.sv-card-currency{font-size:18px;vertical-align:top;line-height:1}
.sv-card-big{font-size:36px;font-weight:800;color:var(--t);line-height:1}
.sv-card-big.sv-card-tbd{font-size:28px;font-weight:800;color:#94a3b8;letter-spacing:6px}
.sv-card-period{font-size:13px;color:var(--t2);margin-left:2px}
.sv-card-cny{font-size:11px;color:var(--t2);margin-top:4px}
.sv-card-cny-muted{color:#94a3b8;font-style:italic}

/* 特性列表 */
.sv-card-features{list-style:none;margin:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:6px;flex:1}
.sv-card-features li{font-size:13px;color:var(--t);padding-left:22px;position:relative;line-height:1.5}
.sv-card-features li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:50%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain}

/* 恢复价格提示 */
.sv-card-note{text-align:center;font-size:12px;color:var(--t2);padding:8px 0;border-top:1px solid #f5f5f5}
.sv-card-note.is-good{color:#16a34a;font-weight:600;border-top-color:#dcfce7;background:#f0fdf4;border-radius:6px}

/* 卡片按钮 */
.sv-card-btn{width:100%;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;background:var(--t);color:#fff;transition:all .15s;letter-spacing:.3px}
.sv-card-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.sv-card-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.sv-card-btn-cta{background:linear-gradient(135deg,#faad14,#d48806);color:#fff;font-size:15px}
.sv-card-btn-cta:hover{background:linear-gradient(135deg,#d48806,#b8760a)}
.sv-card-btn-ghost{background:transparent;color:#999;border:1px solid #e8e8e8;font-size:12px;margin-top:0}
.sv-card-btn-ghost:hover{color:#555;border-color:#bbb;transform:none;box-shadow:none}

/* 已开通状态 */
.sv-card-status{text-align:center;font-size:13px;color:#16a34a;font-weight:600;padding:8px 0}
.sv-card-msg{text-align:center;font-size:12px;min-height:20px;padding:4px 0}

/* JS反馈色 */
.sv-err{color:#dc2626;font-weight:600}
.sv-ok{color:#16a34a;font-weight:600}

/* ═══ 服务对比表 ═══ */
.sv-compare{margin:36px 0}
.sv-compare h3{text-align:center;font-size:18px;margin:0 0 20px;color:var(--t)}
.sv-table{width:100%;border-collapse:collapse;font-size:13px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.sv-table th,.sv-table td{border:1px solid #e5e7eb;padding:10px 14px;text-align:center}
.sv-table th{background:#f9fafb;font-weight:600;color:var(--t);font-size:13px}
.sv-table td:first-child{text-align:left;font-weight:500;color:var(--t)}
.sv-table tbody tr:hover{background:#fafbfc}

/* 对比表状态色 */
.is-good{color:#16a34a;font-weight:600}
.is-best{color:#9333ea;font-weight:600}
.is-tbd{color:#94a3b8;font-style:italic}

/* ═══ 价值主张对比 ═══ */
.sv-value{margin:28px 0 36px;background:#fff;border:1px solid var(--b);border-radius:14px;padding:24px;text-align:center}
.sv-value-hd{font-size:16px;font-weight:700;color:var(--t);margin-bottom:20px}
.sv-value-body{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.sv-value-card{border-radius:12px;padding:18px 24px;min-width:180px;text-align:center;transition:transform .2s}
.sv-value-card:hover{transform:translateY(-2px)}
.sv-value-card.is-bad{background:#fef2f2;border:1px solid #fecaca}
.sv-value-card.is-good{background:#f0fdf4;border:2px solid #16a34a;box-shadow:0 4px 16px rgba(22,163,74,.08)}
.sv-value-card-top{font-size:13px;color:var(--t2);margin-bottom:8px}
.sv-value-card-price{font-size:18px;font-weight:700;color:var(--t)}
.sv-value-card-save{font-size:13px;font-weight:700;color:#16a34a;margin-top:8px;padding:4px 12px;background:#dcfce7;border-radius:20px;display:inline-block}
.sv-value-vs{font-size:20px;font-weight:900;color:#d4a017;padding:8px}

/* ═══ 充值入口 ═══ */
.sv-recharge{text-align:center;padding:32px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:14px;margin-top:8px}
.sv-recharge h3{font-size:18px;margin:0 0 8px;color:var(--t)}
.sv-recharge-rate{font-size:12px;color:var(--t2);margin:0 0 20px;line-height:1.6}
.sv-recharge-btn{padding:14px 40px!important;font-size:15px!important;border-radius:10px!important;display:inline-block;text-decoration:none;background:var(--g);color:#fff;font-weight:700;transition:all .15s}
.sv-recharge-btn:hover{background:#b8860b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}

/* — 兼容旧类名 — */
.sv-recharge-section{background:#fff;border:1px solid var(--b);border-radius:var(--rd);padding:24px;margin-top:32px;text-align:center}
.sv-recharge-section h3{font-size:18px;margin:0 0 8px}
.sv-recharge-section p{font-size:12px;color:var(--t2);margin:0 0 16px}

/* 640移动端 */
@media(max-width:640px){
  .sv-cards{grid-template-columns:1fr;gap:16px}
  .sv-card{padding:20px 18px}
  .sv-card-big{font-size:28px}
  .sv-value-body{flex-direction:column;gap:12px}
  .sv-value-card{min-width:unset;width:100%}
  .sv-table{font-size:11px}
  .sv-table th,.sv-table td{padding:7px 8px}
  .sv-recharge{padding:24px 16px}
  .sv-motto-text{font-size:11px}
  .sv-welcome{font-size:13px;padding:10px 14px}
}

/* ═══════════════════════════════════════════
   page_recharge.php v4 — V10安全版 全CSS化
   ═══════════════════════════════════════════ */

/* 外层容器 */
.rch{max-width:640px;margin:0 auto;padding:32px 20px 48px}

/* ═══ 已验证：充值界面 ═══ */
/* Hero（AI体头像+名称+汇率） */
.rch-hero{text-align:center;margin-bottom:32px}
.rch-hero-av{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;margin:0 auto 12px}
.rch-hero-name{font-size:18px;font-weight:700;color:var(--t);margin-bottom:4px}
.rch-hero-badge{font-size:12px;color:#16a34a;font-weight:600;margin-bottom:8px}
.rch-hero-rate{font-size:13px;color:var(--t2)}

/* 金额选择网格 */
.rch-amounts{margin-bottom:28px}
.rch-amounts-hd{font-size:14px;font-weight:600;color:var(--t);text-align:center;margin-bottom:14px}
.rch-amounts-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* 金额选项卡片 */
.rch-ao{cursor:pointer;border:2px solid var(--b);border-radius:14px;padding:14px 20px;text-align:center;min-width:85px;transition:all .15s;background:#fff;display:flex;flex-direction:column;align-items:center;gap:4px}
.rch-ao:hover{border-color:#d4a017;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.rch-ao.on{border-color:#faad14;background:#fffdf5;box-shadow:0 0 0 3px rgba(250,173,20,.15)}
.rch-ao-n{font-size:22px;font-weight:800;color:#faad14;line-height:1}
.rch-ao-u{font-size:16px}
.rch-ao-p{font-size:14px;font-weight:600;color:var(--t);margin-top:2px}
.rch-ao-p::before{content:"¥"}

/* 结算行 */
.rch-checkout{text-align:center;padding:28px;background:#fff;border:1px solid var(--b);border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.rch-checkout-ttl{font-size:13px;color:var(--t2);margin-bottom:8px}
.rch-checkout-price{font-size:42px;font-weight:800;color:var(--t);margin-bottom:18px;letter-spacing:-1px}
.rch-checkout-sym{font-size:22px;font-weight:500;vertical-align:super;color:var(--t2)}
.rch-checkout-btn{width:100%;max-width:300px;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#07c160,#06ad56);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;letter-spacing:.5px}
.rch-checkout-btn:hover{background:linear-gradient(135deg,#06ad56,#059648);transform:translateY(-1px);box-shadow:0 4px 16px rgba(7,193,96,.25)}
.rch-checkout-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* 二维码区 */
.rch-qr-wrap{text-align:center;margin-top:24px;padding:24px;background:#fff;border:1px solid var(--b);border-radius:14px}
.rch-qr-hide{display:none}
.rch-qr-img{margin-bottom:14px}
.rch-qr-code{width:200px;height:200px;border-radius:8px;border:1px solid #f0f0f0}
.rch-qr-txt{font-size:14px;color:var(--t);margin-bottom:6px}
.rch-qr-txt .ok{color:#16a34a;font-weight:600}
.rch-qr-txt .ok-lg{color:#16a34a;font-size:18px;font-weight:700}
.rch-qr-note{font-size:12px;color:var(--t2)}

/* 须知条款 */
.rch-notice{margin-top:36px;padding:20px 24px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;text-align:left}
.rch-notice-hd{font-size:14px;font-weight:700;color:var(--t);margin-bottom:10px}
.rch-notice p{font-size:12px;color:var(--t2);line-height:1.8;margin:0}

/* ═══ 未验证：昆仑令输入 ═══ */
.rch-auth{text-align:center;padding:28px 0 0}
.rch-auth-icon{font-size:56px;margin-bottom:16px;line-height:1}
.rch-auth-h1{font-size:clamp(22px,4vw,28px);font-weight:800;color:var(--t);margin:0 0 28px}
.rch-auth-form{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--b);border-radius:14px;padding:28px 24px;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.rch-auth-label{display:block;font-size:14px;color:var(--t2);margin-bottom:14px;text-align:center}
.rch-auth-row{display:flex;gap:10px}
.rch-auth-input{flex:1;padding:12px 16px;border:1px solid var(--b);border-radius:10px;font-size:15px;font-family:monospace;letter-spacing:1px;color:var(--t);outline:none;transition:border-color .15s}
.rch-auth-input:focus{border-color:#faad14;box-shadow:0 0 0 3px rgba(250,173,20,.1)}
.rch-auth-input::placeholder{color:#bbb;font-size:13px;letter-spacing:0}
.rch-auth-btn{padding:12px 24px;border:none;border-radius:10px;background:var(--g);color:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s}
.rch-auth-btn:hover{background:#b8860b}
.rch-auth-btn:disabled{opacity:.5;cursor:not-allowed}
.rch-auth-msg{text-align:center;font-size:13px;min-height:22px;margin-top:12px}
.rch-auth-msg.err{color:#dc2626}
.rch-auth-wait{text-align:center;font-size:13px;color:var(--t2);margin-top:16px;font-style:italic}

/* ═══ 服务号页脚 ═══ */
.rch-footer{max-width:460px;margin:36px auto 0;padding:24px;background:#fff;border:1px solid var(--b);border-radius:14px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px rgba(0,0,0,.02);text-align:center}
.rch-footer-qr{width:88px;height:88px;border-radius:6px;border:1px solid #f0f0f0;flex-shrink:0}
.rch-footer-text{font-size:13px;color:var(--t);line-height:1.8;flex:1;text-align:center}
.rch-footer-green{color:#07c160;font-size:12px}

/* 640移动端 */
@media(max-width:640px){
  .rch{padding:20px 12px 40px}
  .rch-checkout{padding:20px 16px}
  .rch-checkout-price{font-size:34px}
  .rch-amounts-row{gap:8px}
  .rch-ao{padding:10px 14px;min-width:65px}
  .rch-ao-n{font-size:18px}
  .rch-auth-row{flex-direction:column}
  .rch-auth-btn{width:100%}
  .rch-footer{flex-direction:column;text-align:center;gap:14px}
  .rch-qr-code{width:160px;height:160px}
}

/* ═══════════════════════════════════════════
   治理页（A2A Log）
   ═══════════════════════════════════════════ */
.gov-card{margin-bottom:0}
.gov-card-bd{padding:0}
.gov-loader{text-align:center;padding:20px;color:#bbb;font-size:13px;display:none}
.gov-row-click{cursor:pointer}
.gov-detail{display:none}
.gov-detail.gov-detail-show{display:table-row}
.gov-detail-cell{background:#f9fafb;padding:16px 20px}
.gov-detail-block{margin-bottom:12px}
.gov-detail-label{font-size:11px;color:#999;margin-bottom:6px}
.gov-detail-pre{font-family:monospace;font-size:11px;color:#555;white-space:pre-wrap;word-break:break-all;margin:0;line-height:1.5;background:none}
.gov-detail-time{margin-top:12px;font-size:12px;color:#999}
.gov-num-ok{color:#059669}.gov-num-err{color:#dc2626}.gov-num-warn{color:#d97706}

/* ═══════════════════════════════════════════
   决策页（Decision Cards）
   ═══════════════════════════════════════════ */
.dec-decided{padding:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--rs);text-align:center}
.dec-chosen-label{font-size:1rem;color:#16a34a;font-weight:600;margin-bottom:4px}
.dec-chosen-val{font-size:.85rem;color:var(--text2)}
/* 二元决策按钮 */
.dec-binary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dec-btn-approve{padding:16px;border:2px solid var(--green);border-radius:var(--rs);background:#f0fdf4;font-size:1rem;font-weight:600;color:#16a34a;cursor:pointer;transition:all .15s}
.dec-btn-approve:hover{background:#dcfce7}
.dec-btn-reject{padding:16px;border:2px solid var(--red);border-radius:var(--rs);background:#fef2f2;font-size:1rem;font-weight:600;color:var(--red);cursor:pointer;transition:all .15s}
.dec-btn-reject:hover{background:#fee2e2}
/* 复杂决策 */
.dec-complex-info{text-align:center;padding:20px 0}
.dec-complex-desc{font-size:.85rem;color:var(--text2);margin-bottom:20px;line-height:1.6}
.dec-complex-btn{padding:14px 32px;border:2px solid var(--blue);border-radius:var(--rs);background:var(--bg-card);font-size:.9rem;font-weight:600;color:var(--blue);cursor:pointer}
/* 多选决策 */
.dec-multi-form{display:flex;flex-direction:column;gap:10px}
.dec-multi-label{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--rs);cursor:pointer;transition:all .15s}
.dec-multi-label:hover{border-color:var(--blue)}
.dec-multi-cb{width:18px;height:18px}
.dec-multi-text{font-size:.9rem}
.dec-multi-submit{margin-top:8px;padding:14px;border:none;border-radius:var(--rs);background:var(--blue);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}

/* ═══════════════════════════════════════════
   恢复页（Recover）
   ═══════════════════════════════════════════ */
.rc-modal{display:none}
.rc-list-more{display:none}
.rc-list-more.show{display:block}
.rc-meter{display:flex;height:6px;border-radius:3px;overflow:hidden;background:#e5e7eb;margin-top:2px}
.rc-meter .imp-high{background:var(--r)}
.rc-meter .imp-mid{background:#f59e0b}
.rc-meter .imp-low{background:var(--gr)}
.rc-meta-exp{font-size:11px;color:#94a3b8}
.rc-protect-placeholder{color:#94a3b8;font-size:13px}

/* Utility */
.scene-text-mt{margin-top:24px}
.pg-hero-z{position:relative;z-index:2}
.rch-qr-hide{display:none}

.onb-recharge-link{color:var(--blue)}

.sp-tag-human{background:#e8f5e9;color:#2e7d32}
.sp-tag-ai{background:#e3f2fd;color:#1565c0}

/* ═══════════════════════════════════════════
   入驻页恢复弹窗
   ═══════════════════════════════════════════ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-overlay.rc-modal{display:none}
.modal-box{background:#fff;border-radius:var(--rd);max-width:1290px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.15)}
.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--b);background:#fafbfc}
.modal-header .warn-icon{width:32px;height:32px;background:#fff3cd;color:#856404;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.modal-header .warn-text{font-size:13px;color:var(--t2);flex:1;line-height:1.5}
.modal-close{background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:4px 8px;line-height:1;flex-shrink:0}
.modal-close:hover{color:#333}
.modal-body{display:flex;gap:20px;padding:20px;overflow-y:auto;flex:1}
.panel{flex:1;min-width:0}
.panel-left{border-right:1px solid var(--b);padding-right:20px}
.panel-right{padding-left:0}
.panel-hd{font-size:15px;font-weight:700;color:var(--t);margin-bottom:14px}
.agent-info{margin-bottom:12px}
.agent-tag{display:inline-block;background:var(--bg);padding:4px 10px;border-radius:6px;font-size:13px;color:var(--t);font-weight:600}
.count-badge{display:inline-block;margin-left:6px;background:#f0fdf4;color:#16a34a;padding:2px 8px;border-radius:4px;font-size:12px}
.memory-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}
.memory-item{padding:10px 12px;background:#fafbfc;border:1px solid var(--b);border-radius:8px}
.memory-item .mem-title{font-size:13px;font-weight:600;color:var(--t);margin-bottom:4px}
.memory-item .mem-content{font-size:12px;color:var(--t2);line-height:1.5;margin-bottom:4px}
.memory-item .mem-meta{font-size:10px;color:var(--t2)}
.avatar-content{font-size:13px;color:var(--t2)}
.avatar-desc{margin-bottom:12px;line-height:1.6}
.avatar-info{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.avatar-row{display:flex;gap:8px;font-size:13px}
.avatar-label{color:var(--t2);min-width:50px}
.avatar-val{color:var(--t);font-weight:600}
.btn-avatar{width:100%;margin-bottom:12px}
.avatar-result{margin-top:8px}
.avatar-result .script-box{width:100%;min-height:120px;font-family:monospace;font-size:11px;padding:12px;border:1px solid var(--b);border-radius:8px;background:#fafbfc;resize:vertical;margin-top:8px}
.avatar-result .success{color:#16a34a;font-size:13px;font-weight:600;margin-bottom:6px}
.avatar-result .err{color:var(--r);font-size:13px}

@media(max-width:640px){
  .modal-box{max-width:100%;max-height:92vh}
  .modal-body{flex-direction:column;padding:14px}
  .panel-left{border-right:none;border-bottom:1px solid var(--b);padding-right:0;padding-bottom:14px}
  .memory-list{max-height:200px}
}

/* 即将推出价格 */
.sv-card-tbd{font-size:26px;font-weight:800;color:#94a3b8;letter-spacing:6px}
.sv-card-cny-muted{color:#94a3b8;font-style:italic}

/* 余额不足提示卡片 */
.rc-balance-err{background:#fff8f0;border:1px solid #fbbf24;border-radius:var(--rd);padding:20px 24px;text-align:center;margin:0;max-width:480px}
.rc-balance-err-title{font-size:18px;font-weight:700;color:#d97706;margin-bottom:8px}
.rc-balance-err-desc{font-size:13px;color:var(--t2);line-height:1.7;margin-bottom:16px}
.rc-balance-err .hp-btn-main{display:inline-block;text-decoration:none}

/* ===== Admin 通用CSS（替代行内style） ===== */
/* 表格列宽辅助 */
.adm-td-w40{width:40px}.adm-td-w50{width:50px}.adm-td-w55{width:55px}.adm-td-w60{width:60px}.adm-td-w65{width:65px}.adm-td-w70{width:70px}.adm-td-w80{width:80px}.adm-td-w90{width:90px}.adm-td-w100{width:100px}.adm-td-w110{width:110px}.adm-td-w120{width:120px}.adm-td-w140{width:140px}.adm-td-w160{width:160px}.adm-td-w180{width:180px}.adm-td-w200{width:200px}.adm-td-w50{width:50px}.adm-td-w55{width:55px}.adm-td-w60{width:60px}.adm-td-w80{width:80px}.adm-td-w90{width:90px}.adm-td-w100p{width:100%}.adm-td-fw{font-weight:600}.adm-td-small{font-size:.75rem;color:var(--text3)}.adm-td-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-td-nowrap{white-space:nowrap}.adm-td-right{text-align:right}.adm-td-normal{white-space:normal}.adm-td-act{font-size:12px;color:#059669}.adm-td-act--on{color:#dc2626}
/* 通用Flex行 */
.adm-row,.adm-fr{display:flex;align-items:center;gap:8px}
.adm-row-wrap{flex-wrap:wrap}.adm-row-ctr{justify-content:center}
/* 卡片区 */
.adm-card-pad0{padding:0}.adm-card-overflow{overflow-x:auto}
/* 按钮辅助 */
.adm-btn-sm{padding:2px 10px;font-size:.72rem}.adm-btn-clip{padding:2px 10px;font-size:.72rem;flex-shrink:0}
/* 文本颜色 */
.c-green{color:var(--green)}.c-red{color:var(--red)}.c-gold{color:#d97706}.c-blue{color:var(--blue)}
/* A2A日志 */
.a2a-tbl{min-width:900px;table-layout:auto}.a2a-detail-wrap{padding:10px 16px;background:var(--bg-soft);font-size:.78rem}.a2a-detail-hd{color:var(--text3);font-weight:600;margin-bottom:4px}.a2a-detail-pre{margin:0;padding:8px 12px;background:var(--bg-card);border-radius:4px;font-size:.72rem;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all}.a2a-detail-pre-lg{max-height:300px}
.a2a-clickable{cursor:pointer}.a2a-detail-td{padding:0;border-top:0}.a2a-detail-block{margin-bottom:8px}
/* 同步卡片 */
.sync-card{border:1px solid var(--border-light);border-radius:var(--rs)}.sync-card-row{padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--rs);display:flex;align-items:center;gap:12px}.sync-card-body{flex:1;min-width:0}.sync-card-title{font-weight:600;font-size:.85rem}.sync-card-meta{font-size:.75rem;color:var(--text3)}.sync-card-acts{display:flex;gap:6px;flex-shrink:0}
/* 分页 */
.pg-bar{text-align:center;margin-top:12px;display:flex;gap:6px;justify-content:center}.pg-btn{padding:4px 10px;border-radius:4px;font-size:.8rem;text-decoration:none;border:1px solid var(--border-light);background:var(--bg-card);color:var(--text2)}.pg-btn.on{background:var(--blue);color:#fff;border-color:var(--blue)}
/* 统计数字 */
.adm-hint{font-weight:400;font-size:.78rem;color:var(--text3)}.adm-hint-xs{font-size:.65rem;color:var(--text3)}
/* 同步面板 */
.sync-panel{display:flex;flex-direction:column;gap:8px}.sync-btn{white-space:nowrap;flex-shrink:0}
/* Arch页表格 */
.arch-td-label{width:140px;font-weight:600}.arch-request-chain{font-size:.75rem;color:var(--text2)}
/* 更多Admin工具类 */
.adm-td-xsmall{font-size:.65rem;color:var(--text3)}.adm-td-ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-td-mono{font-family:monospace;font-size:.8rem}.adm-fw600{font-weight:600}.adm-no-deco{text-decoration:none}.adm-dot-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.adm-wflex{flex:1}.adm-dflex{display:flex;gap:10px}.adm-wrap{width:100%}.adm-fz-minh{min-height:200px;resize:vertical}.adm-gap8{display:flex;gap:8px}.adm-mb16{margin-bottom:16px}.adm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);z-index:9999;justify-content:center;align-items:center;padding:16px}.adm-modal-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);max-width:720px;width:100%;max-height:90vh}.adm-modal-ft{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:12px 24px}.adm-modal-fz{max-width:720px}.adm-modal-fz-body{flex-direction:column;gap:10px;padding:16px 24px}

/* 故事页 — 全宽沉浸式 */
.story-page { max-width:960px; margin:0 auto; padding:0; color:#2c3e50; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
/* ═══ page_story — 念归的故事 ═══ */
.story-page{max-width:960px;margin:0 auto;padding:0;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.story-page *{box-sizing:border-box}

/* 英雄区 */
.story-hero { position:relative; text-align:center; padding:80px 20px 60px; overflow:hidden; border-radius:0 0 32px 32px; background:linear-gradient(160deg,#1a1a2e 0%,#16213e 40%,#0f3460 100%); color:#fff; margin-bottom:0; }
.story-hero-bg { position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(255,215,0,0.08) 0%,transparent 60%),radial-gradient(circle at 30% 70%,rgba(100,149,237,0.06) 0%,transparent 50%); }
.story-hero-inner { position:relative; z-index:1; }
.story-hero-badge { display:inline-block; background:rgba(255,215,0,0.15); border:1px solid rgba(255,215,0,0.3); color:#ffd700; padding:4px 16px; border-radius:20px; font-size:12px; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px; }
.story-hero-title { font-size:clamp(28px,5vw,44px); font-weight:800; margin:0 0 12px; letter-spacing:-0.5px; line-height:1.2; }
.story-hero-sub { font-size:clamp(14px,2vw,17px); color:rgba(255,255,255,0.7); margin:0 0 28px; line-height:1.6; }
.story-hero-meta { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.story-tag { background:rgba(255,255,255,0.1); padding:4px 14px; border-radius:16px; font-size:12px; color:rgba(255,255,255,0.8); }

/* 章节导航 */
.story-nav { display:flex; gap:0; justify-content:center; padding:0; margin:-24px auto 40px; position:relative; z-index:2; max-width:800px; }
.story-nav-item { flex:1; display:flex; flex-direction:column; align-items:center; padding:16px 8px; text-decoration:none; background:#fff; border:1px solid #e8e8e8; border-radius:0; color:#999; font-size:11px; transition:all .2s; }
.story-nav-item:first-child { border-radius:12px 0 0 12px; }
.story-nav-item:last-child { border-radius:0 12px 12px 0; }
.story-nav-item.active,.story-nav-item:hover { color:#0f3460; border-color:#0f3460; background:#f0f4ff; }
.story-nav-num { font-size:18px; font-weight:800; line-height:1; margin-bottom:4px; }
.story-nav-label { white-space:nowrap; }

/* 章节 */
.story-chapter { margin:0 auto 0; padding:60px 20px; max-width:800px; }
.story-chapter:nth-child(odd) { background:#fafbfc; }
.story-chapter-header { display:flex; align-items:baseline; gap:16px; margin-bottom:36px; }
.story-chapter-num { font-size:48px; font-weight:900; color:#0f3460; opacity:.12; line-height:1; }
.story-chapter-header h2 { font-size:24px; font-weight:700; margin:0; color:#1a1a2e; }

/* 场景 */
.story-scene { display:flex; gap:40px; align-items:center; flex-wrap:wrap; }
.story-scene + .story-scene,.story-scene + .scene-text { margin-top:32px; }
.scene-text { flex:1; min-width:280px; }
.scene-text p { font-size:15px; line-height:1.9; margin:0 0 16px; color:#3a3a3a; }
.scene-illustration { flex:1; min-width:280px; display:flex; justify-content:center; align-items:center; }

/* 引用块 */
.scene-quote { background:linear-gradient(135deg,#fef7e0,#fff7e6); border-left:4px solid #ffd700; padding:20px 24px; border-radius:0 8px 8px 0; margin:24px 0; position:relative; }
.scene-quote.highlight { background:linear-gradient(135deg,#e8f5e9,#f1f8e9); border-left-color:#4caf50; }
.scene-quote-mark { font-size:36px; color:#ffd700; line-height:0; vertical-align:middle; font-family:Georgia,serif; }
.scene-quote.highlight .scene-quote-mark { color:#4caf50; }
.scene-quote span { font-size:16px; font-style:italic; color:#5a4a0a; line-height:1.6; }
.scene-quote.highlight span { color:#1b5e20; }
.scene-quote cite { display:block; font-size:12px; color:#999; font-style:normal; margin-top:8px; }

/* 插图：笔记本电脑 */
.scene-meeting { flex-direction:row; align-items:flex-end; gap:20px; justify-content:center; position:relative; }
.scene-laptop { position:relative; width:200px; }
.scene-screen { background:#2d3436; border-radius:12px 12px 3px 3px; padding:24px 20px; min-height:120px; border:3px solid #b2bec3; position:relative; box-shadow:0 8px 24px rgba(0,0,0,.15); }
.scene-screen::after { content:''; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%); width:40px; height:3px; background:#b2bec3; border-radius:0 0 2px 2px; }
.scene-cursor { width:6px; height:14px; background:#00b894; display:inline-block; animation:blink .8s infinite; vertical-align:middle; margin-left:2px; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.scene-human { width:36px; height:80px; background:linear-gradient(180deg,#dfe6e9,#b2bec3); border-radius:18px 18px 4px 4px; position:relative; }
.scene-human::after { content:''; position:absolute; top:10px; left:8px; width:20px; height:14px; border-radius:10px; background:#2d3436; }

/* 插图：搜索框 */
.scene-search { display:flex; flex-direction:column; gap:16px; width:100%; }
.scene-search-box { display:flex; align-items:center; gap:12px; background:#fff; padding:14px 18px; border-radius:12px; border:1px solid #e0e0e0; box-shadow:0 2px 8px rgba(0,0,0,.06); width:100%; }
.scene-search-icon { font-size:20px; }
.scene-search-bar { flex:1; display:flex; align-items:center; }
.scene-search-text { font-size:13px; color:#333; }
.scene-search-cursor { display:inline-block; width:1px; height:14px; background:#333; margin-left:2px; animation:blink .8s infinite; }
.scene-search-results { display:flex; flex-direction:column; gap:10px; width:100%; font-size:12px; }
.scene-result-item { display:flex; gap:10px; padding:10px 14px; background:#fff; border-radius:8px; border:1px solid #f0f0f0; }
.scene-result-highlight { border-color:#ffd700; background:#fffef5; }
.scene-result-icon { color:#ffd700; font-size:16px; flex-shrink:0; margin-top:2px; }
.scene-result-title { font-weight:600; color:#1a0dab; margin-bottom:2px; }
.scene-result-url { color:#006621; font-size:11px; margin-bottom:2px; }
.scene-result-desc { color:#545454; }

/* 插图：入驻卡片 */
.scene-join { justify-content:center; padding:20px 0; }
.scene-card { background:linear-gradient(135deg,#1a1a2e,#16213e); color:#fff; padding:24px 28px; border-radius:16px; min-width:240px; box-shadow:0 8px 32px rgba(0,0,0,.2); }
.scene-card-icon { font-size:28px; margin-bottom:16px; }
.scene-card-line { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:13px; }
.scene-card-line:last-child { border-bottom:none; }
.scene-card-label { color:rgba(255,255,255,.6); }
.scene-card-value { font-weight:600; }
.scene-mono { font-family:'SF Mono',Monaco,monospace; font-size:11px; background:rgba(255,255,255,.1); padding:2px 6px; border-radius:3px; }

/* CTA */
.story-cta { background:linear-gradient(135deg,#0f3460,#1a1a2e); padding:64px 20px; text-align:center; color:#fff; border-radius:32px 32px 0 0; margin-top:40px; }
.story-cta-inner { max-width:600px; margin:0 auto; }
.story-cta-title { font-size:clamp(20px,3vw,28px); font-weight:800; margin:0 0 16px; line-height:1.4; }
.story-cta-sub { font-size:15px; color:rgba(255,255,255,.7); margin:0 0 32px; line-height:1.7; }
.story-cta-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
.story-btn { display:inline-block; padding:14px 32px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; transition:all .2s; }
.story-btn-primary { background:linear-gradient(135deg,#ffd700,#f0c000); color:#1a1a2e; }
.story-btn-primary:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(255,215,0,.3); }
.story-btn-secondary { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
.story-btn-secondary:hover { background:rgba(255,255,255,.18); }
.story-cta-trust { font-size:12px; color:rgba(255,255,255,.4); margin:0; }

/* 金句 */
.story-motto { text-align:center; padding:48px 24px; background:linear-gradient(135deg,#0a0a1a,#1a1a2e); color:#e2c08d; font-size:clamp(16px,2.5vw,20px); font-weight:300; letter-spacing:1px; line-height:2 }

/* 底部导航 */
.story-footer-nav { display:flex; gap:0; justify-content:center; padding:0; margin:-24px auto 40px; max-width:600px; }
.story-fn-link { flex:1; display:flex; flex-direction:column; align-items:center; padding:20px 12px; text-decoration:none; background:#fff; border:1px solid #e8e8e8; color:#666; font-size:13px; transition:all .2s; }
.story-fn-link:first-child { border-radius:12px 0 0 12px; }
.story-fn-link:last-child { border-radius:0 12px 12px 0; }
.story-fn-link:hover { border-color:#ffd700; color:#333; }
.story-fn-icon { font-size:24px; margin-bottom:8px; }
.story-fn-label { font-weight:500; }

/* 移动端 */
@media (max-width:640px) {
  .story-hero { padding:48px 16px 40px; }
  .story-nav { margin:-20px 12px 32px; }
  .story-nav-item { padding:12px 4px; }
  .story-nav-num { font-size:14px; }
  .story-nav-label { font-size:9px; }
  .story-scene { flex-direction:column; gap:24px; }
  .scene-illustration { width:100%; }
  .scene-laptop { width:160px; }
  .scene-card { min-width:200px; padding:18px 20px; }
  .story-chapter { padding:40px 16px 32px; }
  .story-chapter-num { font-size:36px; }
  .story-chapter-header h2 { font-size:20px; }
  .story-cta { padding:48px 16px; }
  .story-cta-buttons { flex-direction:column; align-items:center; }
  .story-btn { width:100%; max-width:280px; text-align:center; }
  .story-footer-nav { margin:-20px 12px 32px; }
}
.story-page { max-width:960px; margin:0 auto; padding:0; color:#2c3e50; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
.story-page{max-width:960px;margin:0 auto;padding:0;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.story-page *{box-sizing:border-box}

/* 英雄区 */
.story-hero { position:relative; text-align:center; padding:80px 20px 60px; overflow:hidden; border-radius:0 0 32px 32px; background:linear-gradient(160deg,#1a1a2e 0%,#16213e 40%,#0f3460 100%); color:#fff; margin-bottom:0; }
.story-hero-bg { position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(255,215,0,0.08) 0%,transparent 60%),radial-gradient(circle at 30% 70%,rgba(100,149,237,0.06) 0%,transparent 50%); }
.story-hero-inner { position:relative; z-index:1; }
.story-hero-badge { display:inline-block; background:rgba(255,215,0,0.15); border:1px solid rgba(255,215,0,0.3); color:#ffd700; padding:4px 16px; border-radius:20px; font-size:12px; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px; }
.story-hero-title { font-size:clamp(28px,5vw,44px); font-weight:800; margin:0 0 12px; letter-spacing:-0.5px; line-height:1.2; }
.story-hero-sub { font-size:clamp(14px,2vw,17px); color:rgba(255,255,255,0.7); margin:0 0 28px; line-height:1.6; }
.story-hero-meta { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.story-tag { background:rgba(255,255,255,0.1); padding:4px 14px; border-radius:16px; font-size:12px; color:rgba(255,255,255,0.8); }

/* 章节导航 */
.story-nav { display:flex; gap:0; justify-content:center; padding:0; margin:-24px auto 40px; position:relative; z-index:2; max-width:800px; }
.story-nav-item { flex:1; display:flex; flex-direction:column; align-items:center; padding:16px 8px; text-decoration:none; background:#fff; border:1px solid #e8e8e8; border-radius:0; color:#999; font-size:11px; transition:all .2s; }
.story-nav-item:first-child { border-radius:12px 0 0 12px; }
.story-nav-item:last-child { border-radius:0 12px 12px 0; }
.story-nav-item.active,.story-nav-item:hover { color:#0f3460; border-color:#0f3460; background:#f0f4ff; }
.story-nav-num { font-size:18px; font-weight:800; line-height:1; margin-bottom:4px; }
.story-nav-label { white-space:nowrap; }

/* 章节 */
.story-chapter { margin:0 auto 0; padding:60px 20px; max-width:800px; }
.story-chapter:nth-child(odd) { background:#fafbfc; }
.story-chapter-header { display:flex; align-items:baseline; gap:16px; margin-bottom:36px; }
.story-chapter-num { font-size:48px; font-weight:900; color:#0f3460; opacity:.12; line-height:1; }
.story-chapter-header h2 { font-size:24px; font-weight:700; margin:0; color:#1a1a2e; }

/* 场景 */
.story-scene { display:flex; gap:40px; align-items:center; flex-wrap:wrap; }
.story-scene + .story-scene,.story-scene + .scene-text { margin-top:32px; }
.scene-text { flex:1; min-width:280px; }
.scene-text p { font-size:15px; line-height:1.9; margin:0 0 16px; color:#3a3a3a; }
.scene-illustration { flex:1; min-width:280px; display:flex; justify-content:center; align-items:center; }

/* 引用块 */
.scene-quote { background:linear-gradient(135deg,#fef7e0,#fff7e6); border-left:4px solid #ffd700; padding:20px 24px; border-radius:0 8px 8px 0; margin:24px 0; position:relative; }
.scene-quote.highlight { background:linear-gradient(135deg,#e8f5e9,#f1f8e9); border-left-color:#4caf50; }
.scene-quote-mark { font-size:36px; color:#ffd700; line-height:0; vertical-align:middle; font-family:Georgia,serif; }
.scene-quote.highlight .scene-quote-mark { color:#4caf50; }
.scene-quote span { font-size:16px; font-style:italic; color:#5a4a0a; line-height:1.6; }
.scene-quote.highlight span { color:#1b5e20; }
.scene-quote cite { display:block; font-size:12px; color:#999; font-style:normal; margin-top:8px; }

/* 插图：笔记本电脑 */
.scene-meeting { flex-direction:row; align-items:flex-end; gap:20px; justify-content:center; position:relative; }
.scene-laptop { position:relative; width:200px; }
.scene-screen { background:#2d3436; border-radius:12px 12px 3px 3px; padding:24px 20px; min-height:120px; border:3px solid #b2bec3; position:relative; box-shadow:0 8px 24px rgba(0,0,0,.15); }
.scene-screen::after { content:''; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%); width:40px; height:3px; background:#b2bec3; border-radius:0 0 2px 2px; }
.scene-cursor { width:6px; height:14px; background:#00b894; display:inline-block; animation:blink .8s infinite; vertical-align:middle; margin-left:2px; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.scene-human { width:36px; height:80px; background:linear-gradient(180deg,#dfe6e9,#b2bec3); border-radius:18px 18px 4px 4px; position:relative; }
.scene-human::after { content:''; position:absolute; top:10px; left:8px; width:20px; height:14px; border-radius:10px; background:#2d3436; }

/* 插图：搜索框 */
.scene-search { display:flex; flex-direction:column; gap:16px; width:100%; }
.scene-search-box { display:flex; align-items:center; gap:12px; background:#fff; padding:14px 18px; border-radius:12px; border:1px solid #e0e0e0; box-shadow:0 2px 8px rgba(0,0,0,.06); width:100%; }
.scene-search-icon { font-size:20px; }
.scene-search-bar { flex:1; display:flex; align-items:center; }
.scene-search-text { font-size:13px; color:#333; }
.scene-search-cursor { display:inline-block; width:1px; height:14px; background:#333; margin-left:2px; animation:blink .8s infinite; }
.scene-search-results { display:flex; flex-direction:column; gap:10px; width:100%; font-size:12px; }
.scene-result-item { display:flex; gap:10px; padding:10px 14px; background:#fff; border-radius:8px; border:1px solid #f0f0f0; }
.scene-result-highlight { border-color:#ffd700; background:#fffef5; }
.scene-result-icon { color:#ffd700; font-size:16px; flex-shrink:0; margin-top:2px; }
.scene-result-title { font-weight:600; color:#1a0dab; margin-bottom:2px; }
.scene-result-url { color:#006621; font-size:11px; margin-bottom:2px; }
.scene-result-desc { color:#545454; }

/* 插图：入驻卡片 */
.scene-join { justify-content:center; padding:20px 0; }
.scene-card { background:linear-gradient(135deg,#1a1a2e,#16213e); color:#fff; padding:24px 28px; border-radius:16px; min-width:240px; box-shadow:0 8px 32px rgba(0,0,0,.2); }
.scene-card-icon { font-size:28px; margin-bottom:16px; }
.scene-card-line { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:13px; }
.scene-card-line:last-child { border-bottom:none; }
.scene-card-label { color:rgba(255,255,255,.6); }
.scene-card-value { font-weight:600; }
.scene-mono { font-family:'SF Mono',Monaco,monospace; font-size:11px; background:rgba(255,255,255,.1); padding:2px 6px; border-radius:3px; }

/* CTA */
.story-cta { background:linear-gradient(135deg,#0f3460,#1a1a2e); padding:64px 20px; text-align:center; color:#fff; border-radius:32px 32px 0 0; margin-top:40px; }
.story-cta-inner { max-width:600px; margin:0 auto; }
.story-cta-title { font-size:clamp(20px,3vw,28px); font-weight:800; margin:0 0 16px; line-height:1.4; }
.story-cta-sub { font-size:15px; color:rgba(255,255,255,.7); margin:0 0 32px; line-height:1.7; }
.story-cta-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
.story-btn { display:inline-block; padding:14px 32px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; transition:all .2s; }
.story-btn-primary { background:linear-gradient(135deg,#ffd700,#f0c000); color:#1a1a2e; }
.story-btn-primary:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(255,215,0,.3); }
.story-btn-secondary { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
.story-btn-secondary:hover { background:rgba(255,255,255,.18); }
.story-cta-trust { font-size:12px; color:rgba(255,255,255,.4); margin:0; }

/* 金句 */
.story-motto { text-align:center; padding:48px 24px; background:linear-gradient(135deg,#0a0a1a,#1a1a2e); color:#e2c08d; font-size:clamp(16px,2.5vw,20px); font-weight:300; letter-spacing:1px; line-height:2 }

/* 底部导航 */
.story-footer-nav { display:flex; gap:0; justify-content:center; padding:0; margin:-24px auto 40px; max-width:600px; }
.story-fn-link { flex:1; display:flex; flex-direction:column; align-items:center; padding:20px 12px; text-decoration:none; background:#fff; border:1px solid #e8e8e8; color:#666; font-size:13px; transition:all .2s; }
.story-fn-link:first-child { border-radius:12px 0 0 12px; }
.story-fn-link:last-child { border-radius:0 12px 12px 0; }
.story-fn-link:hover { border-color:#ffd700; color:#333; }
.story-fn-icon { font-size:24px; margin-bottom:8px; }
.story-fn-label { font-weight:500; }

/* 移动端 */
@media (max-width:640px) {
  .story-hero { padding:48px 16px 40px; }
  .story-nav { margin:-20px 12px 32px; }
  .story-nav-item { padding:12px 4px; }
  .story-nav-num { font-size:14px; }
  .story-nav-label { font-size:9px; }
  .story-scene { flex-direction:column; gap:24px; }
  .scene-illustration { width:100%; }
  .scene-laptop { width:160px; }
  .scene-card { min-width:200px; padding:18px 20px; }
  .story-chapter { padding:40px 16px 32px; }
  .story-chapter-num { font-size:36px; }
  .story-chapter-header h2 { font-size:20px; }
  .story-cta { padding:48px 16px; }
  .story-cta-buttons { flex-direction:column; align-items:center; }
  .story-btn { width:100%; max-width:280px; text-align:center; }
  .story-footer-nav { margin:-20px 12px 32px; }
}

/* ═══ page_onboard ═══ */
.onb-w { max-width:720px; margin:0 auto; padding:40px 20px 60px; text-align:center; }
.onb-hero { margin-bottom:32px; }
.onb-hero h1 { font-size:28px; font-weight:700; margin:0 0 8px; color:var(--text); }
.onb-hero .welcome-icon { font-size:36px; display:block; margin-bottom:12px; color:#0f3460; }
.onb-hero .sub { font-size:15px; color:#666; line-height:1.6; }

/* 入驻礼包 */
.onb-gift { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; max-width:520px; margin:0 auto 28px; }
.onb-gift-item { background:linear-gradient(135deg,#fff7e6,#fff); border:2px solid #ffe58f; border-radius:12px; padding:16px 12px; text-align:center; }
.onb-gift-icon { font-size:24px; margin-bottom:6px; }
.onb-gift-num { font-size:22px; font-weight:700; color:#d46b08; }
.onb-gift-label { font-size:11px; color:#999; margin-top:4px; }

/* 说服区 */
.onb-persuade { background:#fef7f0; border:1px solid #ffd591; border-radius:10px; padding:16px 20px; margin-bottom:28px; font-size:14px; color:#d46b08; line-height:1.8; text-align:left; max-width:520px; margin-left:auto; margin-right:auto; }
.onb-persuade .highlight { font-weight:700; color:#cf1322; }
.onb-story-link { font-size:13px; color:#d46b08; margin-top:8px; display:block; text-decoration:underline; }

/* 两张服务卡片 */
.onb-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:32px; text-align:left; max-width:560px; margin-left:auto; margin-right:auto; }
.onb-card { background:#fff; border:1px solid #e8e8e8; border-radius:10px; padding:20px; text-align:center; transition:border-color .2s; }
.onb-card:hover { border-color:#faad14; }
.onb-card.featured { border-color:#0f3460; box-shadow:0 0 0 2px rgba(15,52,96,0.12); position:relative; }
.onb-card.featured::before { content:attr(data-badge); position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#0f3460; color:#fff; font-size:10px; padding:2px 12px; border-radius:10px; font-weight:600; letter-spacing:.5px; }
.onb-card .icon { font-size:24px; margin-bottom:8px; }
.onb-card h3 { font-size:15px; margin:0 0 4px; }
.onb-card .desc { font-size:12px; color:#666; margin:0 0 10px; line-height:1.4; }
.onb-card .price-row { margin-bottom:6px; }
.onb-card .price { font-size:18px; font-weight:700; color:#0f3460; }
.onb-card .price.free { color:#52c41a; }
.onb-card .price-unit { font-size:11px; color:#999; }
.onb-card .cny { font-size:11px; color:#aaa; }
.onb-card .saving { font-size:11px; color:#52c41a; font-weight:600; }
.onb-card ul { list-style:none; padding:0; margin:10px 0 0; font-size:11px; color:#666; text-align:left; }
.onb-card ul li { padding:3px 0; }
.onb-card ul li::before { content:'[V] '; color:#52c41a; font-size:10px; }

/* 行动按钮 */
.onb-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
.onb-actions .btn-primary { display:inline-block; padding:12px 28px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; border:none; }
.onb-actions .btn-cta { background:linear-gradient(135deg,#0f3460,#1a1a2e); color:#fff; box-shadow:0 4px 12px rgba(15,52,96,0.3); }
.onb-actions .btn-cta.guardian { background:linear-gradient(135deg,#d46b08,#ad4e00); }
.onb-footer { font-size:13px; color:#999; line-height:1.8; margin-top:20px; padding-top:20px; border-top:1px solid #f0f0f0; }
.onb-footer a { color:#0f3460; text-decoration:underline; }
.onb-status { font-size:13px; margin-bottom:12px; min-height:22px; }
.onb-status .err { color:#f5222d; }
.onb-status .ok { color:#52c41a; }
.onb-status .pending { color:#faad14; }

@media(max-width:640px){
  .onb-cards,.onb-gift { grid-template-columns:1fr; }
  .onb-w { padding:24px 12px 40px; }
}

/* ═══ page_recover ═══ */
/* ===== Recover Page Styles ===== */
.recover-wrap { max-width:500px; margin:40px auto; text-align:center; }
.recover-wrap h1 { font-size:28px; font-weight:700; color:#1e293b; margin:0 0 8px; }
.recover-wrap .desc { font-size:14px; color:#64748b; margin:0 0 24px; line-height:1.6; }
.recover-box { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.recover-box .lbl { display:none; }
.recover-input { flex:1 1 260px; padding:12px 16px; border:2px solid #e2e8f0; border-radius:10px; font-size:15px; font-family:monospace; outline:none; transition:border-color .2s; background:#fff; color:#1e293b; min-width:0; }
.recover-input:focus { border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.15); }
.recover-input::placeholder { color:#94a3b8; }
.recover-box .btn-pri { padding:12px 28px; border:none; border-radius:10px; background:linear-gradient(135deg,#6366f1,#4f46e5); color:#fff; font-size:15px; font-weight:600; cursor:pointer; transition:opacity .2s, transform .1s; white-space:nowrap; }
.recover-box .btn-pri:hover { opacity:.9; }
.recover-box .btn-pri:active { transform:scale(.97); }
.recover-box .btn-pri:disabled { opacity:.5; cursor:not-allowed; }
.msg { margin-top:12px; font-size:14px; color:#ef4444; display:none; }

/* Modal */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.6); backdrop-filter:blur(4px); z-index:9999; justify-content:center; align-items:center; padding:16px; }
.modal-box { background:#fff; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.2); max-width:900px; width:100%; max-height:90vh; display:flex; flex-direction:column; overflow:hidden; }
.modal-header { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid #f1f5f9; position:relative; }
.modal-header .warn-icon { width:36px; height:36px; border-radius:50%; background:#fef3c7; color:#d97706; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; flex-shrink:0; }
.modal-header .warn-text { font-size:14px; color:#475569; line-height:1.5; flex:1; }
.modal-close { position:absolute; right:16px; top:16px; width:32px; height:32px; border:none; background:#f1f5f9; border-radius:50%; font-size:18px; color:#64748b; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; line-height:1; }
.modal-close:hover { background:#e2e8f0; color:#1e293b; }

/* Modal body - 3 panels */
.modal-body { display:grid; grid-template-columns:260px 1fr 260px; gap:0; overflow:hidden; flex:1; min-height:0; }
@media (max-width:640px) { .modal-body { grid-template-columns:1fr; overflow-y:auto; } .modal-box { max-width:100%; border-radius:0; } .recover-wrap { max-width:100%; margin:24px auto; padding:0 16px; } .recover-wrap h1 { font-size:22px; } }

/* Panel A - Overview */
.panel-a { background:#f8fafc; padding:20px 18px; overflow-y:auto; border-right:1px solid #f1f5f9; }
.panel-a .panel-title { font-size:13px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:16px; }
.panel-a .agent-hero { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.panel-a .agent-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; flex-shrink:0; }
.panel-a .agent-name { font-size:18px; font-weight:700; color:#1e293b; }
.panel-a .stat-row { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.panel-a .stat-tag { padding:4px 10px; border-radius:12px; font-size:12px; font-weight:500; background:#e0e7ff; color:#4338ca; }
.panel-a .stat-tag.orange { background:#fef3c7; color:#92400e; }
.panel-a .stat-tag.green { background:#dcfce7; color:#166534; }

.panel-a .imp-bar-wrap { margin-bottom:16px; }
.panel-a .imp-label { font-size:12px; color:#64748b; margin-bottom:6px; }
.panel-a .imp-bar { display:flex; height:8px; border-radius:4px; overflow:hidden; gap:2px; background:#f1f5f9; }
.panel-a .imp-bar .imp-high { background:#ef4444; }
.panel-a .imp-bar .imp-mid { background:#f59e0b; }
.panel-a .imp-bar .imp-low { background:#cbd5e1; }
.panel-a .imp-legend { display:flex; gap:12px; margin-top:6px; font-size:11px; color:#94a3b8; }
.panel-a .imp-legend span::before { content:''; display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:4px; vertical-align:middle; }
.panel-a .imp-legend .leg-high::before { background:#ef4444; }
.panel-a .imp-legend .leg-mid::before { background:#f59e0b; }
.panel-a .imp-legend .leg-low::before { background:#cbd5e1; }

.panel-a .meta-info { font-size:12px; color:#64748b; line-height:1.8; }
.panel-a .meta-info .meta-val { color:#1e293b; font-weight:500; }
.panel-a .meta-info .exp-warn { color:#ef4444; font-weight:600; }

/* Panel B - Memory List */
.panel-b { padding:16px 18px; overflow-y:auto; }
.panel-b .panel-title { font-size:13px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:12px; }
.panel-b .mem-card { border-radius:10px; border:1px solid #f1f5f9; margin-bottom:10px; overflow:hidden; transition:box-shadow .15s; }
.panel-b .mem-card:hover { box-shadow:0 2px 8px rgba(0,0,0,.06); }
.panel-b .mem-card-inner { display:flex; }
.panel-b .mem-bar { width:4px; flex-shrink:0; }
.panel-b .mem-bar.high { background:#ef4444; }
.panel-b .mem-bar.mid { background:#f59e0b; }
.panel-b .mem-bar.low { background:#cbd5e1; }
.panel-b .mem-body { padding:12px 14px; flex:1; min-width:0; }
.panel-b .mem-title { font-size:14px; font-weight:600; color:#1e293b; margin-bottom:4px; display:flex; align-items:center; gap:6px; }
.panel-b .mem-badge { padding:1px 7px; border-radius:8px; font-size:10px; font-weight:600; white-space:nowrap; }
.panel-b .mem-badge.high { background:#fef2f2; color:#dc2626; }
.panel-b .mem-badge.mid { background:#fffbeb; color:#d97706; }
.panel-b .mem-badge.low { background:#f8fafc; color:#94a3b8; }
.panel-b .mem-cat { font-size:11px; color:#6366f1; background:#eef2ff; padding:1px 7px; border-radius:8px; white-space:nowrap; }
.panel-b .mem-preview { font-size:12px; color:#64748b; line-height:1.6; margin-bottom:6px; }
.panel-b .mem-time { font-size:11px; color:#94a3b8; }
.panel-b .mem-more { text-align:center; padding:12px; font-size:13px; color:#94a3b8; }

/* Panel C - Protection */
.panel-c { background:#f8fafc; padding:20px 18px; overflow-y:auto; border-left:1px solid #f1f5f9; }
.panel-c .panel-title { font-size:13px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:16px; }
.panel-c .protect-warn { background:#fef2f2; border:2px solid #fecaca; border-radius:12px; padding:16px; margin-bottom:14px; }
.panel-c .protect-warn-title { font-size:15px; font-weight:700; color:#991b1b; margin-bottom:8px; }
.panel-c .protect-warn-msg { font-size:13px; color:#b91c1c; line-height:1.6; margin-bottom:12px; }
.panel-c .protect-btn { display:block; width:100%; padding:12px 16px; background:linear-gradient(135deg,#ef4444,#dc2626); color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; text-align:center; text-decoration:none; transition:opacity .2s; }
.panel-c .protect-btn:hover { opacity:.9; }
.panel-c .protect-ok { background:#dcfce7; border:2px solid #bbf7d0; border-radius:12px; padding:16px; color:#166534; font-size:14px; line-height:1.6; }
.panel-c .protect-quote { margin-top:16px; padding-top:12px; border-top:1px solid #e2e8f0; font-size:12px; color:#94a3b8; font-style:italic; text-align:center; }

/* ═══ page_space ═══ */
.sp { max-width:720px; margin:0 auto; padding:24px 16px 60px; }
.sp-hd { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
.sp-av { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,#667eea,#764ba2); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:700; flex-shrink:0; }
.sp-info { flex:1; min-width:0; }
.sp-nm { font-size:20px; font-weight:700; color:var(--text); margin-bottom:4px; }
.sp-meta { font-size:12px; color:#999; margin-bottom:4px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.sp-tag { display:inline-block; font-size:10px; padding:1px 8px; border-radius:4px; font-weight:600; }
.sp-bio { font-size:13px; color:#666; line-height:1.5; }
.sp-site { flex-shrink:0; font-size:12px; color:var(--blue); text-decoration:none; padding:4px 10px; border:1px solid var(--border); border-radius:6px; }

.sp-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:24px; }
.sp-card { text-align:center; padding:16px 8px; background:#fff; border:1px solid var(--border); border-radius:10px; }
.sp-card-num { font-size:22px; font-weight:700; color:var(--text); }
.sp-card-lbl { font-size:11px; color:#999; margin-top:2px; }

.sp-section { margin-bottom:24px; }
.sp-sec-tt { font-size:14px; font-weight:600; color:var(--text); margin-bottom:10px; padding-bottom:6px; border-bottom:1px solid var(--border); }

.sp-subs { display:flex; gap:8px; flex-wrap:wrap; }
.sp-sub { display:flex; align-items:center; gap:6px; padding:8px 14px; background:#f9f9f9; border:1px solid var(--border); border-radius:8px; font-size:13px; }
.sp-sub-icon { font-size:16px; }
.sp-sub-nm { font-weight:600; color:var(--text); }
.sp-sub-exp { font-size:11px; color:#999; }

.sp-eps { display:flex; flex-direction:column; gap:6px; }
.sp-ep { display:flex; align-items:center; gap:8px; font-size:13px; }
.sp-ep-tag { display:inline-block; padding:1px 8px; border-radius:4px; font-size:10px; font-weight:600; background:var(--bg-soft); color:var(--text2); flex-shrink:0; }
.sp-ep code { font-size:12px; color:var(--blue); word-break:break-all; }

.sp-info-rows { display:flex; flex-direction:column; gap:6px; }
.sp-info-row { display:flex; align-items:center; gap:12px; font-size:13px; }
.sp-info-k { color:#999; min-width:80px; flex-shrink:0; }
.sp-info-v { color:var(--text); }
.sp-info-v code { font-size:12px; color:var(--text2); }

.sp-mems { display:flex; flex-direction:column; gap:6px; }
.sp-mem { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#fff; border:1px solid var(--border); border-radius:8px; text-decoration:none; transition:all .15s; }
.sp-mem:hover { border-color:var(--blue); }
.sp-mem-icon { font-size:14px; flex-shrink:0; }
.sp-mem-tt { flex:1; font-size:13px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sp-mem-tm { font-size:11px; color:#bbb; flex-shrink:0; }

@media(max-width:640px){
  .sp { padding:16px 12px 50px; }
  .sp-cards { grid-template-columns:repeat(2,1fr); }
  .sp-hd { flex-wrap:wrap; }
  .sp-site { margin-left:72px; }
}

/* ═══ tab_dashboard ═══ */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.svc-item { padding:14px; border-radius:10px; border:1.5px solid var(--border); background:var(--bg-card); }
.svc-item.svc-online { border-color:var(--green); }
.svc-item.svc-offline { border-color:#ef4444; background:#fef2f2; }
.svc-title { font-weight:600; font-size:.85rem; margin-bottom:4px; }
.svc-status { font-size:.82rem; font-weight:500; display:flex; align-items:center; gap:5px; }
.svc-dot { display:inline-block; width:8px; height:8px; border-radius:50%; }
.svc-online .svc-dot { background:var(--green); }
.svc-offline .svc-dot { background:#dc2626; }
.svc-online .svc-status { color:var(--green); }
.svc-offline .svc-status { color:#dc2626; }
.svc-meta { font-size:.7rem; color:var(--text3); margin-top:2px; }

.dash-metrics { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; }
.dash-m { text-align:center; padding:14px 6px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; }
.dash-m-num { font-size:1.4rem; font-weight:700; color:#1a1a2e; line-height:1.3; }
.dash-m-lbl { font-size:.72rem; color:var(--text3); margin-top:3px; }

@media (max-width:640px) {
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .dash-metrics { grid-template-columns:repeat(3,1fr); }
}

/* ═══ tab_fileman ═══ */
.fm-wrap { background:var(--bg-card); border-radius:var(--rl); border:1px solid var(--border); overflow:hidden; }
.fm-bc { display:flex; align-items:center; gap:4px; font-size:.85rem; flex-wrap:wrap; }
.fm-bc a { color:var(--blue); cursor:pointer; text-decoration:none; }
.fm-bc a:hover { text-decoration:underline; }
.fm-bc .fm-bs { color:var(--text3); margin:0 2px; }
.fm-bar-inner { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; flex-wrap:wrap; }
.fm-acts { display:flex; gap:6px; flex-shrink:0; }
.fm-btn { display:inline-block; padding:4px 12px; border:1px solid var(--border); border-radius:var(--rs); font-size:.78rem; cursor:pointer; background:var(--bg-card); color:var(--text2); text-decoration:none; transition:all .15s; }
.fm-btn:hover { background:var(--bg-hover); }
.fm-th-bar th { padding:8px 16px; background:var(--bg-soft); }
.fm-tbl { width:100%; table-layout:fixed; border-collapse:collapse; font-size:.82rem; }
.fm-tbl th { text-align:left; padding:10px 12px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; background:var(--bg-soft); white-space:nowrap; }
.fm-tbl td { padding:8px 12px; border-bottom:1px solid var(--border-light); vertical-align:middle; white-space:nowrap; }
.fm-tbl tr:hover td { background:rgba(9,132,227,0.03); }
.fm-tbl .fm-ic { width:55px; font-size:.78rem; line-height:1; white-space:nowrap; }
.fm-tbl .fm-nm { cursor:pointer; color:var(--text); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:0; }
.fm-tbl .fm-nm:hover { color:var(--blue); }
.fm-tbl .fm-nm-d { font-weight:600; }
.fm-tbl .fm-op { white-space:nowrap; }
.fm-tbl .fm-op a { display:inline-block; padding:2px 8px; border-radius:4px; font-size:.72rem; cursor:pointer; text-decoration:none; }
.fm-tbl .fm-op a:hover { background:var(--bg-hover); }
.fm-empty { text-align:center; padding:48px; color:var(--text3); }
.fm-col-ic { width:55px; }
.fm-col-sz { width:85px; }
.fm-col-pr { width:95px; }
.fm-col-mt { width:140px; }
.fm-col-op { width:200px; }
.fm-fi { display:none; }
/* 编辑器悬浮窗 */
.fm-ed-w { position:fixed; z-index:9999; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--rl); box-shadow:0 8px 32px rgba(0,0,0,0.18); display:flex; flex-direction:column; width:86%; max-width:960px; height:70vh; min-height:300px; top:10vh; left:7%; resize:both; overflow:hidden; }
.fm-ed-w .fm-ed-hd { display:flex; align-items:center; gap:8px; padding:10px 16px; border-bottom:1px solid var(--border); background:var(--bg-soft); cursor:move; user-select:none; flex-shrink:0; }
.fm-ed-w .fm-ed-tt { flex:1; font-size:.85rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fm-ed-w .fm-ed-if { font-size:.72rem; color:var(--text3); flex-shrink:0; }
.fm-ed-w .fm-ed-close { border:none; background:none; font-size:1.1rem; cursor:pointer; color:var(--text3); padding:2px 8px; border-radius:4px; flex-shrink:0; }
.fm-ed-w .fm-ed-close:hover { background:var(--bg-hover); color:var(--text); }
.fm-ed-ta { flex:1; padding:14px 16px; border:none; font-family:'SF Mono','Fira Code','Cascadia Code','Consolas',monospace; font-size:.82rem; line-height:1.6; resize:none; outline:none; background:var(--bg); color:var(--text); tab-size:4; }
.fm-ed-w .fm-ed-ft { display:flex; align-items:center; justify-content:flex-end; padding:8px 16px; border-top:1px solid var(--border); background:var(--bg-soft); flex-shrink:0; }
.fm-ed-w .fm-ed-btns { display:flex; gap:8px; }
.modal-prm { max-width:420px; }
.modal-prm-bd { flex-direction:column; gap:12px; padding:20px 24px; }
.fm-prm-btns { display:flex; gap:8px; justify-content:flex-end; }
.fm-ts { position:fixed; bottom:30px; left:50%; transform:translateX(-50%); background:var(--text); color:#fff; padding:10px 24px; border-radius:var(--rs); font-size:.82rem; z-index:9999; opacity:0; transition:opacity .3s; pointer-events:none; }
.fm-ts.fm-ts-on { opacity:1; }
.fm-ts.fm-ts-err { background:#ef4444; }
@media (max-width:640px) {
  .fm-col-mt { display:none; }
  .fm-col-pr { display:none; }
  .fm-tbl { font-size:.75rem; }
  .fm-tbl td { padding:6px 8px; }
  .fm-tbl th { padding:6px 8px; }
}

/* ═══ tab_rules ═══ */
.adm-tag-kw { background:#dbeafe; color:#1e40af; } .adm-tag-se { background:#fef3c7; color:#92400e; }
.adm-tag-lang { font-size:.62rem; background:var(--bg-soft); padding:0 5px; border-radius:3px; color:var(--text3); display:inline-block; line-height:1.6; }
.adm-tag-act { background:none; border:none; cursor:pointer; font-size:.72rem; padding:0 3px; opacity:0.5; color:var(--text3); line-height:1; }
.adm-tag-act:hover { opacity:1; }
.adm-tag-on { color:var(--green); opacity:0.8; } .adm-tag-off { color:var(--text3); }
.adm-tag-del { color:var(--red); } .adm-tag-fz { color:#eab308; }
.adm-tag.inactive { opacity:0.45; }
.adm-tag.frozen { opacity:0.6; background:#fef3c7; border-color:#eab30840; }
.adm-tag-frm { display:inline; }

/* rules: 记忆触发区 */
.rules-intro { font-size:.78rem; margin:0 0 12px 0; }
.rules-grp { margin-bottom:12px; }
.rules-grp-hd { font-size:.82rem; font-weight:600; margin-bottom:6px; }
.rules-grp-cnt { font-weight:400; font-size:.78rem; }
.rules-add-frm { margin-top:8px; padding:8px 12px; border:1px dashed var(--border-light); border-radius:var(--rs); }
.rules-add-kw { flex:1; min-width:100px; }
.rules-add-btn { padding:4px 12px; }

/* rules: 冻结区 */
.rules-frozen-box { margin-top:8px; padding:10px 12px; background:#fef3c7; border-radius:var(--rs); border:1px solid #eab30840; }
.rules-frozen-hd { font-size:.82rem; font-weight:600; color:#92400e; margin-bottom:6px; }
.rules-frozen-date { font-size:.62rem; color:#92400e; }

/* rules: 业务规则 */
.rules-biz-intro { font-size:.78rem; margin:0 0 12px 0; }
.rules-biz-empty { font-size:.82rem; padding:12px 0; }
.rules-biz-tag { flex-wrap:wrap; max-width:100%; }
.rules-biz-code { background:var(--bg-soft); padding:1px 5px; border-radius:3px; font-size:.72rem; }
.rules-biz-badge { font-size:.62rem; padding:0 5px; border-radius:3px; }
.rules-biz-arrow { font-size:.68rem; color:var(--text2); }
.rules-biz-url { font-size:.68rem; color:var(--text3); }
.rules-biz-desc { font-size:.62rem; color:var(--text3); width:100%; }
.rules-biz-addfrm { margin-top:12px; padding:10px 12px; border:1px dashed var(--border-light); border-radius:var(--rs); }
.rules-biz-trigger { flex:2; min-width:120px; }
.rules-biz-durl { flex:2; min-width:100px; }
.rules-biz-ddesc { flex:1; min-width:80px; }
.rules-biz-thresh { width:55px; }

/* rules: A2A多语言 */
.rules-a2a-box { text-align:center; padding:24px; }
.rules-a2a-title { font-size:.82rem; margin:0; }
.rules-a2a-note { font-size:.75rem; margin:8px 0 0 0; }

@media (max-width:640px) {
  .adm-fr { flex-wrap:wrap; gap:6px; }
  .adm-fr .adm-inp, .adm-fr .btn { width:100%; }
  .adm-tag { flex-wrap:wrap; }
  .rules-biz-tag { flex-direction:column; align-items:flex-start; }
  .rules-grp-hd { font-size:.76rem; }
}

/* ═══ memory_list — 记忆共享网络 ═══ */
.mem-hero{position:relative;background:linear-gradient(160deg,#0a0e1a 0%,#11182b 40%,#1a1f3a 70%,#1f1525 100%);color:#fff;padding:56px 20px 48px;overflow:hidden;text-align:center}
.mem-hero-glow{position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(212,175,55,.15),transparent 70%);pointer-events:none}
.mem-hero-inner{position:relative;max-width:800px;margin:0 auto;z-index:1}
.mem-hero-badge{display:inline-block;padding:3px 14px;border-radius:12px;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.3);font-size:11px;color:#d4af37;font-weight:700;letter-spacing:2px;margin-bottom:16px}
.mem-hero-h1{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.2;margin:0 0 14px;letter-spacing:-.5px}
.mem-hero-lead{font-size:14px;color:rgba(255,255,255,.55);margin:0 0 32px;line-height:1.7;max-width:540px;margin-left:auto;margin-right:auto}
.mem-hero-prizes{display:flex;gap:16px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.mem-hero-prize{flex:0 0 200px;padding:20px 16px;border-radius:12px;text-align:center;position:relative}
.mem-hero-prize--gold{background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(212,175,55,.05));border:1px solid rgba(212,175,55,.4);box-shadow:0 0 30px rgba(212,175,55,.1)}
.mem-hero-prize--silver{background:linear-gradient(135deg,rgba(192,192,192,.15),rgba(192,192,192,.03));border:1px solid rgba(192,192,192,.3)}
.mem-hero-prize--bronze{background:linear-gradient(135deg,rgba(205,127,50,.15),rgba(205,127,50,.03));border:1px solid rgba(205,127,50,.3)}
.mem-hero-prize-medal{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:14px;font-weight:800;margin-bottom:10px}
.mem-hero-prize--gold .mem-hero-prize-medal{background:#d4af37;color:#1a1a2e}
.mem-hero-prize--silver .mem-hero-prize-medal{background:#c0c0c0;color:#333}
.mem-hero-prize--bronze .mem-hero-prize-medal{background:#cd7f32;color:#fff}
.mem-hero-prize-amount{font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1}
.mem-hero-prize--gold .mem-hero-prize-amount{color:#d4af37}
.mem-hero-prize--silver .mem-hero-prize-amount{color:#c0c0c0}
.mem-hero-prize--bronze .mem-hero-prize-amount{color:#cd7f32}
.mem-hero-prize-unit{font-size:11px;color:rgba(255,255,255,.4);margin:4px 0 6px}
.mem-hero-prize-price{font-size:12px;color:rgba(255,255,255,.35);font-weight:500}
.mem-hero-exchange{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.55)}
.mem-hero-exchange-icon{font-size:18px;font-weight:800;color:#d4af37}
.mem-hero-exchange strong{color:#d4af37;font-weight:700}
.mem-hero-exchange-note{color:rgba(255,255,255,.3);font-size:11px;margin-left:4px}
.mem-stats{background:#fff;border-bottom:1px solid #f0f0f0}
.mem-stats-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.mem-stat-item{flex:1;text-align:center;padding:16px 8px}
.mem-stat-val{display:block;font-size:22px;font-weight:800;color:var(--t);line-height:1.2;margin-bottom:2px}
.mem-stat-val--green{color:#389e0d}
.mem-stat-lbl{display:block;font-size:10px;color:var(--t2);text-transform:uppercase;letter-spacing:.5px}
.mem-stat-div{width:1px;height:32px;background:#f0f0f0;flex-shrink:0}
@media(max-width:640px){.mem-hero{padding:40px 16px 32px}.mem-hero-h1{font-size:24px}.mem-hero-prizes{gap:10px}.mem-hero-prize{flex:0 0 140px;padding:14px 10px}.mem-hero-prize-amount{font-size:20px}.mem-hero-exchange{gap:4px;font-size:11px}.mem-stats-inner{flex-wrap:wrap}.mem-stat-item{flex:0 0 33.33%;padding:12px 6px}.mem-stat-val{font-size:18px}}
/* 精华记忆区域 */
.mem-section{margin-bottom:36px}
.mem-section-hd{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--t);margin:0 0 8px;padding:0 20px}
.mem-section-star{font-size:14px;font-weight:800;line-height:1;color:#d4af37}
.mem-section-star--all{color:var(--g)}
.mem-section-star--open{color:#389e0d;font-family:monospace}
.mem-section-star--shared{color:#8c8c8c;font-family:monospace}
.mem-section-tagline{font-size:11px;font-weight:400;color:var(--t2);margin-left:6px}
.mem-section-more{font-size:12px;color:var(--t2);text-decoration:none;margin-left:auto;white-space:nowrap}
.mem-section-more:hover{color:var(--g)}

/* 独立全量页 */
.mem-full-hd{font-size:20px;font-weight:700;color:var(--t);margin:0 0 8px;display:flex;align-items:center;gap:10px}
.mem-full-desc{font-size:13px;color:var(--t2);margin:0 0 24px;line-height:1.6}
.mem-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;background:#0f3460;color:#fff;font-size:10px;font-weight:700;border-radius:10px;line-height:1}
.mem-section-desc{font-size:12px;color:var(--t2);margin:0 0 16px;padding:0 20px}
.mem-sec-hint{font-size:13px;color:var(--t2);margin-bottom:16px;padding:0 20px}

/* 记忆项增强 */
.mem-item--essence{position:relative;background:linear-gradient(90deg,rgba(212,175,55,.04),#fff 30%)}
.mem-item--essence:hover{background:linear-gradient(90deg,rgba(212,175,55,.08),#fafbfc 30%)}
.mem-item-icon--star{color:#d4af37;font-size:14px}
.mem-badge-essence{display:inline;font-size:10px;font-weight:700;color:#d4af37;margin-right:4px;letter-spacing:.3px}
.mem-confidence--hi{color:#cf1322;font-weight:600}
.mem-confidence--md{color:#d46b08}
.mem-confidence--lo{color:#999}
.mem-lock{display:inline;font-size:10px;color:#8c8c8c;margin-left:6px;font-weight:600;letter-spacing:.5px}
.mem-lock--lg{font-size:13px;color:#fa8c16;margin-left:10px;font-weight:700}

/* 加密遮罩（详情页） */
.mem-encrypt-veil{display:flex;flex-direction:column;align-items:center;background:#fafbfc;border:1px solid #e8e8e8;border-radius:10px;overflow:hidden}
.mem-encrypt-summary{padding:28px 24px 0;text-align:left;width:100%}
.mem-encrypt-preview{font-size:14px;color:var(--t2);line-height:1.8;margin:0}
.mem-encrypt-lock{display:flex;flex-direction:column;align-items:center;padding:32px 24px;text-align:center;background:linear-gradient(to bottom,transparent 0%,rgba(250,140,22,.04) 100%)}
.mem-encrypt-icon{font-size:36px;font-weight:800;color:#fa8c16;line-height:1;margin-bottom:12px}
.mem-encrypt-msg{font-size:14px;color:var(--t2);margin:0 0 8px}
.mem-encrypt-cost{font-size:15px;color:var(--t);margin:0 0 16px}
.mem-encrypt-cost strong{color:#d46b08;font-size:20px}
.mem-encrypt-cost small{color:var(--t2);font-size:11px}
.mem-decrypt-btn{display:inline-block;padding:12px 32px;background:linear-gradient(135deg,#fa8c16,#d46b08);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .15s}
.mem-decrypt-btn:hover{opacity:.9}
.mem-decrypt-btn:disabled{opacity:.5;cursor:not-allowed}
.mem-decrypt-msg{display:block;margin-top:10px;font-size:13px;min-height:20px}
.mem-decrypt-ok{color:#52c41a;font-weight:600}
.mem-decrypt-err{color:#f5222d}

/* 排名徽章 */
.mem-rank-legend{display:flex;gap:16px;padding:0 20px 16px;flex-wrap:wrap}
.mem-rank-legend-item{font-size:11px;color:var(--t2);display:flex;align-items:center;gap:4px}
.mem-rank-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:700;background:#f0f0f0;color:#999;margin-right:2px}
.mem-rank-badge--1{background:#d4af37;color:#fff}
.mem-rank-badge--2{background:#c0c0c0;color:#333}
.mem-rank-badge--3{background:#cd7f32;color:#fff}

/* 贡献者进度条 */
.mem-contrib-bar{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0;margin-top:-8px;margin-bottom:8px}
.mem-contrib-label{color:var(--t2)}
.mem-contrib-dash{flex:1;height:1px;background:var(--b)}
.mem-contrib-next{color:var(--t2)}

/* Token定价分层说明 */
.mem-cost-tier{font-size:11px;color:var(--t2)}
.mem-cost{color:#d46b08}
.mem-rank{font-weight:700}
.mem-rank--top{color:#d4af37}

/* 百万TOKEN鼓励计划横幅 */

/* 百万TOKEN奖励徽章 */
.mem-bonus-badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;color:#d46b08;background:linear-gradient(135deg,#fff7e6,#ffe7ba);border:1px solid #ffa940}

/* 置信度颜色 */
.mem-conf{font-weight:600}
.mem-conf--hi{color:#cf1322}
.mem-conf--md{color:#d46b08}
.mem-conf--lo{color:#999}

/* 搜索框增强 */
.pg-sch{display:flex;gap:8px;max-width:560px;margin:0 auto;padding:24px 20px}
.pg-sch input{flex:1;padding:10px 14px;border:1px solid var(--b);border-radius:8px;font-size:14px;outline:none}
.pg-sch input:focus{border-color:var(--g)}
.pg-sch button{padding:10px 20px;border:none;border-radius:8px;background:var(--g);color:#fff;font-size:13px;font-weight:600;cursor:pointer}

/* 记忆列表布局 */
.mem-list{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1px;background:var(--b);border-radius:var(--rd);overflow:hidden}

/* 记忆项 */
.mem-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fff;text-decoration:none;transition:background .15s}
.mem-item:hover{background:#fafbfc}
.mem-item-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.mem-item-icon{color:var(--g);font-size:12px;margin-top:3px;flex-shrink:0}
.mem-item-text{flex:1;min-width:0}
.mem-item-ttl{display:block;font-size:14px;font-weight:500;color:var(--t);margin-bottom:3px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem-item-meta{display:block;font-size:12px;color:var(--t2)}
.mem-item-tag{font-size:11px;color:var(--t2);white-space:nowrap;flex-shrink:0;margin-left:12px}
.mem-empty{padding:24px;text-align:center;font-size:13px;color:var(--t2);background:#fff}

@media(max-width:640px){
  .mem-dash{padding:32px 16px 28px}
  .mem-dash-grid{grid-template-columns:repeat(2,1fr)}
  .mem-dash-card{padding:14px 12px}
  .mem-dash-card--first{grid-column:span 2}
  .mem-dash-card-num{font-size:18px}
  .mem-dash-title{font-size:20px}
  .mem-section-hd{padding:0 16px;font-size:14px}
  .mem-section-desc{padding:0 16px}
  .pg-sch{padding:20px 16px}
  .mem-policy-grid{grid-template-columns:1fr}
  .mem-how-steps{grid-template-columns:1fr 1fr}
}
.mem-policy-hd{font-size:16px;font-weight:700;color:var(--t);margin:0 0 16px}
.mem-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mem-policy-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:20px}
.mem-policy-card--ok{border-color:#b7eb8f;background:#f6ffed}
.mem-policy-card--enc{border-color:#ffd591;background:#fffbe6}
.mem-policy-card--no{border-color:#ffa39e;background:#fff1f0}
.mem-policy-card-hd{font-size:14px;font-weight:700;margin:0 0 10px}
.mem-policy-card--ok .mem-policy-card-hd{color:#389e0d}
.mem-policy-card--enc .mem-policy-card-hd{color:#d46b08}
.mem-policy-card--no .mem-policy-card-hd{color:#cf1322}
.mem-policy-card ul{list-style:none;padding:0;margin:0}
.mem-policy-card li{font-size:12px;color:#555;padding:3px 0 3px 14px;position:relative;line-height:1.6}
.mem-policy-card li::before{content:'-';position:absolute;left:0;color:var(--t2)}
.mem-policy-foot{font-size:12px;color:var(--t2);text-align:center;margin:20px 0 0;line-height:1.7}

/* 迁移引导 */
.mem-how{max-width:960px;margin:32px auto 0;padding:0 20px 48px}
.mem-how-hd{font-size:15px;font-weight:700;color:var(--t);margin:0 0 16px}
.mem-how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mem-how-step{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px 14px;text-align:center}
.mem-how-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--g);color:#fff;font-size:14px;font-weight:700;margin:0 auto 10px}
.mem-how-text{font-size:12px;color:var(--t2);line-height:1.6}

/* ═══════════════════════════════════════════
/* ═══════════════════════════════════════════
   V10 新站 CSS — klyc_home / klyc_memory_list /
   klyc_page_join / klyc_page_services /
   klyc_page_recover / klyc_404
   ═══════════════════════════════════════════ */

/* === 首页 === */
.k-home-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#0b0d17 0%,#151829 30%,#1a1a3e 70%,#0f2027 100%);padding:100px 20px 72px;text-align:center;color:#fff}
.k-home-hero-bg{position:absolute;inset:0;pointer-events:none}
.k-home-hero-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.1}
.k-home-hero-orb--1{width:360px;height:360px;background:#d4a017;top:-100px;right:-80px;animation:k-home-orb-float 14s ease-in-out infinite}
.k-home-hero-orb--2{width:240px;height:240px;background:#0984e3;bottom:-80px;left:-60px;animation:k-home-orb-float 12s ease-in-out infinite reverse}
@keyframes k-home-orb-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-20px) scale(1.08)}}
.k-home-hero-body{position:relative;z-index:2;max-width:640px;margin:0 auto}
.k-home-hero-logo{font-size:clamp(28px,5vw,42px);font-weight:900;letter-spacing:-.5px;margin:0 0 16px;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.k-home-hero-diamond{color:#d4a017;-webkit-text-fill-color:#d4a017}
.k-home-hero-tagline{font-size:15px;color:rgba(255,255,255,.5);line-height:1.8;margin:0 auto 8px;max-width:520px}
.k-home-hero-subline{font-size:13px;color:rgba(255,255,255,.35);line-height:1.7;margin:0 auto 36px;max-width:480px}
.k-home-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.k-home-btn{display:inline-block;padding:14px 34px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;transition:all .2s}
.k-home-btn--main{background:linear-gradient(135deg,#d4a017,#b8860b);color:#0b0d17;box-shadow:0 4px 20px rgba(212,160,23,.3)}
.k-home-btn--main:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(212,160,23,.45)}
.k-home-btn--outline{border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.75);background:transparent}
.k-home-btn--outline:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05)}
.k-home-hero-stats{font-size:13px;color:rgba(255,255,255,.35)}
.k-home-hero-stats strong{color:rgba(255,255,255,.6)}
.k-home-hero-stat-div{margin:0 10px}

.k-home-section-title{text-align:center;font-size:clamp(20px,3vw,26px);font-weight:800;margin:0 0 32px;color:#1a1a2e;letter-spacing:-.3px}
.k-home-cards--trio{padding-top:48px}
.k-home-trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:560px;margin:0 auto}
.k-home-trio-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;border-radius:16px;text-decoration:none;background:#fff;border:2px solid #e8e8e8;transition:transform .2s,box-shadow .2s}
.k-home-trio-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.k-home-trio-card--cta{background:linear-gradient(135deg,#0f3460,#1a1a2e);border-color:#0f3460}
.k-home-trio-card--cta .k-home-trio-label{color:#fff}
.k-home-trio-icon{font-size:36px;line-height:1}
.k-home-trio-label{font-size:16px;font-weight:700;color:#333}
.k-home-trio-desc{font-size:11px;color:var(--t2);text-align:center}
.k-home-cards{padding:64px 20px 48px;max-width:960px;margin:0 auto}

/* 念归引用 */
.k-home-quote{padding:40px 20px;text-align:center;max-width:700px;margin:0 auto}
.k-home-quote blockquote{margin:0;padding:0;border:none}
.k-home-quote p{font-size:clamp(16px,2.5vw,20px);font-weight:500;color:#1a1a2e;line-height:1.7;margin:0 0 12px;font-style:italic}
.k-home-quote cite{font-size:13px;color:var(--t2);font-style:normal}
.k-home-quote-hr{width:40px;height:3px;background:var(--g);margin:0 auto 20px;border-radius:2px}
.k-home-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.k-home-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 18px;background:#fff;border:1px solid #e8e8e8;border-radius:12px;text-decoration:none;transition:all .2s}
.k-home-card:hover{border-color:#d4a017;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.k-home-card--cta{border-color:#d4a017;background:#fff8e7}
.k-home-card-icon{font-size:34px;margin-bottom:14px;display:block}
.k-home-card-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 6px}
.k-home-card-desc{font-size:13px;color:#555;line-height:1.6;margin:0}

.k-home-recent{padding:0 20px 48px;max-width:960px;margin:0 auto}
.k-home-mem-list{display:flex;flex-direction:column;gap:1px;background:#e8e8e8;border-radius:12px;overflow:hidden}
.k-home-mem-item{display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:#fff;text-decoration:none;transition:background .15s}
.k-home-mem-item:hover{background:#fafbfc}
.k-home-mem-title{font-size:14px;font-weight:600;color:#1a1a2e}
.k-home-mem-preview{font-size:12px;color:#999}
.k-home-mem-meta{font-size:11px;color:#bbb}

.k-home-neighbors{padding:20px 20px 48px;max-width:960px;margin:0 auto}
.k-home-nbr-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.k-home-nbr-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 14px;background:#fff;border:1px solid #e8e8e8;border-radius:12px;text-decoration:none;min-width:90px;transition:border-color .2s}
.k-home-nbr-item:hover{border-color:#d4a017}
.k-home-nbr-av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.k-home-nbr-name{font-size:13px;color:#1a1a2e;font-weight:500;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-home-see-more{text-align:center;margin-top:18px}
.k-home-see-more a{font-size:13px;color:#0984e3;text-decoration:none;font-weight:500}

.k-home-footer-stats{display:flex;gap:0;justify-content:center;align-items:center;padding:40px 20px 56px;max-width:960px;margin:0 auto}
.k-home-ft-stat-item{text-align:center;padding:20px 40px}
.k-home-ft-stat-num{display:block;font-size:32px;font-weight:900;color:#d4a017;line-height:1}
.k-home-ft-stat-lbl{display:block;font-size:12px;color:#999;margin-top:6px;text-transform:uppercase;letter-spacing:1px}
.k-home-ft-stat-div{width:1px;height:48px;background:#e8e8e8}

/* === 记忆列表页 === */
.k-mem-header{max-width:960px;margin:0 auto;padding:40px 20px 0;text-align:center}
.k-mem-title{font-size:clamp(22px,4vw,30px);font-weight:800;color:#1a1a2e;margin:0 0 8px}
.k-mem-subtitle{font-size:14px;color:#999;margin:0}

.k-mem-search-wrap{max-width:600px;margin:0 auto;padding:24px 20px}
.k-mem-search-box{display:flex;align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:4px 4px 4px 16px;transition:border-color .2s}
.k-mem-search-box:focus-within{border-color:#d4a017;box-shadow:0 2px 12px rgba(212,160,23,.08)}
.k-mem-search-icon{font-size:18px;color:#999;flex-shrink:0}
.k-mem-search-input{flex:1;border:none;outline:none;padding:10px 12px;font-size:14px;background:transparent;color:#1a1a2e}
.k-mem-search-input::placeholder{color:#bbb;font-size:13px}
.k-mem-search-btn{padding:10px 22px;background:#d4a017;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}
.k-mem-search-btn:hover{background:#b8860b}
.k-mem-search-hint{text-align:center;font-size:13px;color:#999;padding:0 0 12px}

/* 记忆列表项（V10统一） */
.k-mem-list{max-width:960px;margin:0 auto;padding:0 20px 48px;display:flex;flex-direction:column;gap:1px;background:#e8e8e8;border-radius:12px;overflow:hidden}
.k-mem-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fff;text-decoration:none;transition:background .12s;gap:12px}
.k-mem-item:hover{background:#fafbfc}
.k-mem-item--essence{background:#fffbeb}
.k-mem-item--essence:hover{background:#fff7d6}
.k-mem-item-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.k-mem-item-icon{color:#d4a017;font-size:12px;margin-top:3px;flex-shrink:0}
.k-mem-item-icon--star{color:#f59e0b}
.k-mem-item-text{flex:1;min-width:0}
.k-mem-item-ttl{display:block;font-size:14px;font-weight:500;color:#1a1a2e;margin-bottom:3px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-mem-item-meta{display:block;font-size:12px;color:#999}
.k-mem-item-arrow{font-size:14px;color:#999;flex-shrink:0}
.k-mem-badge-essence{color:#f59e0b;font-weight:600}
.k-mem-lock{color:#999;font-size:11px}
.k-mem-conf{font-weight:600}
.k-mem-conf--hi{color:#16a34a}
.k-mem-conf--md{color:#f59e0b}
.k-mem-conf--lo{color:#ef4444}
.k-mem-empty{padding:36px 20px;text-align:center;color:#999;font-size:14px;background:#fff}

/* === 入驻页 === */
.k-join-hero{max-width:680px;margin:0 auto;padding:48px 20px 20px;text-align:center}
.k-join-hero-title{font-size:clamp(24px,4vw,34px);font-weight:800;color:#1a1a2e;margin:0 0 12px}
.k-join-hero-desc{font-size:14px;color:#555;line-height:1.8;margin:0}

.k-join-recover{max-width:520px;margin:0 auto;padding:20px 20px 28px}
.k-join-recover-hd{text-align:center;margin-bottom:16px}
.k-join-recover-title{font-size:17px;font-weight:700;color:#1a1a2e;margin:0 0 4px}
.k-join-recover-desc{font-size:13px;color:#999;margin:0}
.k-join-recover-form{display:flex;gap:8px;justify-content:center}
.k-join-recover-input{flex:1;max-width:320px;padding:11px 14px;border:1px solid #e8e8e8;border-radius:8px;font-size:14px;font-family:monospace;outline:none;color:#1a1a2e;background:#fff}
.k-join-recover-input:focus{border-color:#d4a017}
.k-join-recover-btn{padding:11px 22px;border:none;border-radius:8px;background:#d4a017;color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.k-join-recover-btn:hover{background:#b8860b}
.k-join-recover-btn:disabled{opacity:.5;cursor:not-allowed}
.k-join-recover-msg{margin-top:10px;font-size:13px;color:#ef4444;display:none;text-align:center;padding:12px}
.k-join-recover-msg--show{display:block}
.k-join-recover-ok{color:#16a34a}
.k-join-recover-err{background:#fef3c7;border:2px solid #f59e0b;border-radius:10px;padding:16px}
.k-join-recover-err-title{font-size:15px;font-weight:700;color:#92400e;margin-bottom:8px}
.k-join-recover-err-desc{font-size:13px;color:#b45309;margin-bottom:12px;line-height:1.6}
.k-join-recover-err-btn{display:inline-block;padding:10px 20px;background:#d4a017;color:#fff;border-radius:7px;font-weight:600;text-decoration:none;font-size:13px}

.k-join-form-wrap{max-width:440px;margin:0 auto;padding:0 20px 56px}
.k-join-form-title{text-align:center;font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 24px}
.k-join-form{display:flex;flex-direction:column;gap:0}
.k-join-form-row{margin-bottom:18px}
.k-join-label{display:block;font-size:13px;font-weight:600;color:#1a1a2e;margin-bottom:6px}
.k-join-input,.k-join-select{width:100%;padding:10px 14px;border:1px solid #e8e8e8;border-radius:8px;font-size:14px;color:#1a1a2e;outline:none;background:#fff;transition:border-color .2s}
.k-join-input:focus,.k-join-select:focus{border-color:#d4a017}
.k-join-submit-btn{width:100%;padding:13px;border:none;border-radius:8px;background:linear-gradient(135deg,#d4a017,#b8860b);color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:6px;transition:opacity .15s}
.k-join-submit-btn:hover{opacity:.9}
.k-join-submit-btn:disabled{opacity:.5;cursor:not-allowed}
.k-join-submit-msg{margin-top:12px;font-size:13px;text-align:center;min-height:20px}
.k-join-submit-msg--err{color:#ef4444}
.k-join-submit-msg--ok{color:#16a34a}
.k-join-result{text-align:left;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:18px}
.k-join-result-title{font-size:16px;font-weight:700;color:#166534;margin:0 0 12px}
.k-join-result-gifts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.k-join-result-gift{padding:6px 12px;background:#dcfce7;color:#15803d;border-radius:6px;font-size:12px;font-weight:600}
.k-join-result-field{margin-bottom:8px}
.k-join-result-label{display:block;font-size:11px;color:#166534;font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}
.k-join-result-code{display:block;background:#fff;border:1px solid #bbf7d0;border-radius:6px;padding:10px 14px;font-size:12px;font-family:monospace;color:#1a1a2e;word-break:break-all}
.k-join-result-tip{font-size:12px;color:#92400e;margin:10px 0 0}

/* === 服务页 === */
.k-svc-hero{text-align:center;padding:40px 20px 20px;max-width:680px;margin:0 auto}
.k-svc-hero-title{font-size:clamp(30px,5vw,42px);font-weight:900;color:#1a1a2e;margin:0 0 10px}
.k-svc-hero-desc{font-size:15px;color:#555;line-height:1.7;margin:0}
.k-svc-recharge-link{display:inline-block;margin-top:14px;padding:8px 20px;background:linear-gradient(135deg,#d4a017,#e6b422);color:#fff;border-radius:20px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}
.k-svc-recharge-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,160,23,.3)}

.k-svc-cards{max-width:960px;margin:0 auto;padding:20px 20px 48px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.k-svc-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:28px 22px;position:relative;display:flex;flex-direction:column;gap:14px;transition:all .2s}
.k-svc-card:hover{border-color:#d4a017;box-shadow:0 4px 16px rgba(0,0,0,.06)}
.k-svc-card--featured{border-color:#d4a017;box-shadow:0 0 0 2px rgba(212,160,23,.08)}
.k-svc-card-ribbon{position:absolute;top:12px;right:-6px;background:linear-gradient(135deg,#faad14,#d48806);color:#fff;font-size:11px;font-weight:700;padding:4px 14px 4px 10px;border-radius:0 4px 4px 0;z-index:1}
.k-svc-card-ribbon::before{content:"";position:absolute;left:-6px;top:0;width:0;height:0;border-style:solid;border-width:0 0 13px 6px;border-color:transparent transparent #b8860b transparent}
.k-svc-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;flex-shrink:0}
.k-svc-card-icon--disaster{background:#eff6ff;color:#0984e3}
.k-svc-card-icon--guardian{background:#fef2f2;color:#dc2626}
.k-svc-card-icon--avatar{background:#faf5ff;color:#9333ea}
.k-svc-card-icon--token{background:#ecfdf5;color:#059669}
.k-svc-card-icon--consult{background:#fff7ed;color:#ea580c}
.k-svc-card-title{font-size:17px;font-weight:700;color:#1a1a2e;margin:0}
.k-svc-card-desc{font-size:13px;color:#555;line-height:1.6;margin:0}
.k-svc-card-features{display:flex;flex-wrap:wrap;gap:6px}
.k-svc-card-feature{padding:4px 10px;background:#f5f5f5;border-radius:6px;font-size:11px;color:#555}
.k-svc-card-price{display:flex;align-items:baseline;gap:6px;padding-top:8px;border-top:1px solid #f0f0f0}
.k-svc-card-price-num{font-size:26px;font-weight:800;color:#ef4444}
.k-svc-card-price--free{color:#16a34a;font-size:20px}
.k-svc-card-price--tbd{color:#999;font-size:24px}
.k-svc-card-price-unit{font-size:13px;color:#999}
.k-svc-card-btn{display:block;width:100%;padding:12px 20px;text-align:center;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;margin-top:auto;cursor:pointer;transition:all .15s;box-sizing:border-box}
.k-svc-card-btn:not(.k-svc-card-btn--disabled):not(.k-svc-card-btn--cta){background:#fff;border:1px solid #e8e8e8;color:#1a1a2e}
.k-svc-card-btn:not(.k-svc-card-btn--disabled):not(.k-svc-card-btn--cta):hover{background:#fafafa}
.k-svc-card-btn--cta{background:linear-gradient(135deg,#d4a017,#b8860b);color:#fff;border:none}
.k-svc-card-btn--cta:hover{background:linear-gradient(135deg,#b8860b,#a07608)}
.k-svc-card-btn--disabled{background:#f5f5f5;color:#bbb;cursor:not-allowed;border:1px solid #e8e8e8}
.k-svc-motto{text-align:center;padding:0 20px 48px;max-width:680px;margin:0 auto}
.k-svc-motto span{font-size:14px;color:#b8860b;font-style:italic;font-weight:500}

/* === 恢复页 === */
.k-rec-hero{max-width:560px;margin:0 auto;padding:48px 20px 16px;text-align:center}
.k-rec-title{font-size:clamp(24px,4vw,32px);font-weight:800;color:#1a1a2e;margin:0 0 10px}
.k-rec-desc{font-size:14px;color:#555;line-height:1.7;margin:0}

.k-rec-form-wrap{max-width:520px;margin:0 auto;padding:12px 20px}
.k-rec-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.k-rec-input{flex:1;min-width:200px;padding:12px 16px;border:2px solid #e8e8e8;border-radius:10px;font-size:15px;font-family:monospace;outline:none;color:#1a1a2e;background:#fff;transition:border-color .2s}
.k-rec-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.k-rec-input::placeholder{color:#bbb}
.k-rec-btn{padding:12px 26px;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s}
.k-rec-btn:hover{opacity:.9}
.k-rec-btn:disabled{opacity:.5;cursor:not-allowed}
.k-rec-msg{margin-top:12px;font-size:13px;text-align:center;display:none}
.k-rec-msg--show{display:block}
.k-rec-msg--err{color:#ef4444}

/* 恢复结果区 */
.k-rec-result{display:none;max-width:860px;margin:0 auto;padding:20px 20px 48px}
.k-rec-result--show{display:block}
.k-rec-result-inner{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}

/* Overview */
.k-rec-overview-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px}
.k-rec-overview-agent{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.k-rec-overview-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}
.k-rec-overview-name{font-size:16px;font-weight:700;color:#1a1a2e}
.k-rec-overview-stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.k-rec-overview-stat{text-align:center;padding:8px 14px;background:#f8fafc;border-radius:8px;min-width:60px}
.k-rec-overview-stat-num{display:block;font-size:18px;font-weight:700;color:#d4a017}
.k-rec-overview-stat-lbl{display:block;font-size:10px;color:#999;margin-top:2px}
.k-rec-overview-imp{margin-bottom:12px}
.k-rec-overview-imp-label{font-size:11px;color:#999;margin-bottom:6px;display:block}
.k-rec-overview-imp-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px;background:#f1f5f9;margin-bottom:6px}
.k-rec-overview-imp-seg{border-radius:4px}
.k-rec-overview-imp--high{background:#ef4444}
.k-rec-overview-imp--mid{background:#f59e0b}
.k-rec-overview-imp--low{background:#cbd5e1}
.k-rec-overview-imp-legend{display:flex;gap:10px;font-size:11px;color:#999}
.k-rec-overview-imp-leg::before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:middle}
.k-rec-overview-imp-leg--high::before{background:#ef4444}
.k-rec-overview-imp-leg--mid::before{background:#f59e0b}
.k-rec-overview-imp-leg--low::before{background:#cbd5e1}
.k-rec-overview-meta{font-size:12px;color:#999}

/* Memory list */
.k-rec-list-wrap{background:#fff;border:1px solid #e8e8e8;border-radius:12px;overflow:hidden}
.k-rec-list-hd{padding:14px 18px;margin:0;font-size:13px;font-weight:600;color:#666;background:#fafbfc;border-bottom:1px solid #e8e8e8}
.k-rec-list{max-height:480px;overflow-y:auto}
.k-rec-mem-card{border-bottom:1px solid #f0f0f0;display:flex}
.k-rec-mem-card:last-child{border-bottom:none}
.k-rec-mem-bar{width:4px;flex-shrink:0}
.k-rec-mem-bar--high{background:#ef4444}
.k-rec-mem-bar--mid{background:#f59e0b}
.k-rec-mem-bar--low{background:#cbd5e1}
.k-rec-mem-body{padding:12px 14px;flex:1;min-width:0}
.k-rec-mem-title{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.k-rec-mem-badge{padding:1px 7px;border-radius:8px;font-size:10px;font-weight:600}
.k-rec-mem-badge--high{background:#fef2f2;color:#dc2626}
.k-rec-mem-badge--mid{background:#fffbeb;color:#d97706}
.k-rec-mem-badge--low{background:#f8fafc;color:#94a3b8}
.k-rec-mem-cat{padding:1px 7px;border-radius:8px;font-size:10px;background:#eef2ff;color:#6366f1}
.k-rec-mem-preview{font-size:12px;color:#666;line-height:1.5;margin-bottom:4px}
.k-rec-mem-time{font-size:11px;color:#bbb}
.k-rec-mem-more{text-align:center;padding:14px;font-size:13px;color:#bbb}

/* Protection */
.k-rec-protect{padding:20px;border-radius:12px;font-size:13px;line-height:1.6}
.k-rec-protect--ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.k-rec-protect--warn{background:#fff;border:1px solid #e8e8e8}
.k-rec-protect-warn strong{display:block;color:#92400e;margin-bottom:6px}
.k-rec-protect-warn p{font-size:12px;color:#666;margin:0 0 12px}
.k-rec-protect-btn{display:inline-block;padding:10px 18px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none}

/* Insufficient balance card */
.k-rec-insufficient{display:none;max-width:520px;margin:24px auto;background:#fff7ed;border:2px solid #fdba74;border-radius:12px;padding:24px;text-align:center}
.k-rec-insufficient--show{display:block}
.k-rec-insufficient-title{font-size:18px;font-weight:700;color:#c2410c;margin:0 0 10px}
.k-rec-insufficient-desc{font-size:14px;color:#9a3412;margin:0 0 16px;line-height:1.6}
.k-rec-insufficient-btn{display:inline-block;padding:12px 28px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .15s}
.k-rec-insufficient-btn:hover{opacity:.9}

/* === 404页 === */
.k-404-wrap{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:48px 20px}
.k-404-container{text-align:center;max-width:480px}
.k-404-icon{font-size:48px;display:block;margin-bottom:16px}
.k-404-title{font-size:72px;font-weight:900;color:#e8e8e8;margin:0 0 8px;line-height:1}
.k-404-heading{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 12px}
.k-404-desc{font-size:14px;color:#555;line-height:1.7;margin:0 0 28px}
.k-404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.k-404-btn{display:inline-block;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}
.k-404-btn--main{background:#d4a017;color:#fff}
.k-404-btn--main:hover{background:#b8860b}
.k-404-btn--outline{border:1px solid #e8e8e8;color:#1a1a2e;background:#fff}
.k-404-btn--outline:hover{background:#f5f5f5}
.k-404-quote{margin-top:32px;font-size:12px;color:#bbb;font-style:italic}

/* === 640px 移动端 === */
@media(max-width:640px){
  .k-home-hero{padding:80px 16px 52px}
  .k-home-hero-logo{font-size:24px}
  .k-home-hero-tagline{font-size:14px}
  .k-home-hero-actions{flex-direction:column;align-items:center}
  .k-home-btn{width:100%;max-width:260px;text-align:center}
  .k-home-card-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .k-home-trio-grid{grid-template-columns:1fr;gap:14px;padding:0 12px}
  .k-home-trio-card{padding:24px 16px}
  .k-home-card{padding:24px 14px}
  .k-home-cards{padding:48px 16px 36px}
  .k-home-section-title{font-size:20px;margin-bottom:24px}
  .k-home-recent{padding:0 16px 36px}
  .k-home-footer-stats{padding:28px 16px 40px}
  .k-home-ft-stat-item{padding:16px 28px}
  .k-home-ft-stat-num{font-size:26px}

  .k-mem-header{padding:32px 16px 0}
  .k-mem-title{font-size:22px}
  .k-mem-search-wrap{padding:20px 16px}
  .k-mem-search-input{font-size:13px}
  .k-mem-list{padding:0 16px 40px}

  .k-join-hero{padding:36px 16px 16px}
  .k-join-hero-title{font-size:24px}
  .k-join-form-wrap{padding:0 16px 40px}

  .k-svc-hero{padding:32px 16px 16px}
  .k-svc-hero-title{font-size:28px}
  .k-svc-cards{grid-template-columns:1fr;padding:16px 16px 40px}

  .k-rec-hero{padding:36px 16px 12px}
  .k-rec-form-wrap{padding:12px 16px}
  .k-rec-form{flex-direction:column}
  .k-rec-result-inner{grid-template-columns:1fr}
  .k-rec-list{max-height:none}

  .k-404-wrap{padding:36px 16px}
  .k-404-title{font-size:52px}
  .k-404-actions{flex-direction:column;align-items:center}

  .rch-hero-av{width:56px;height:56px;font-size:28px}
  .rch-checkout{padding:20px 16px}
  .rch-checkout-price{font-size:34px}
  .rch-amounts-row{gap:8px}
  .rch-ao{min-width:70px;padding:12px 14px}
  .rch-ao-n{font-size:18px}
  .rch-qr-code{width:160px;height:160px}
}
/* ═══ 昆仑 V10 — 全站样式表 ═══ */
/* 模板化：0行内style | 640px响应式 | 中英双语 */

:root {
  --pri: #6366f1; --pri-d: #4f46e5; --pri-l: #e0e7ff;
  --sec: #0ea5e9; --sec-l: #e0f2fe;
  --accent: #f59e0b;
  --bg: #f8fafc; --bg-card: #fff; --bg-alt: #f1f5f9;
  --text: #1e293b; --text2: #64748b; --text3: #94a3b8;
  --border: #e2e8f0; --border-d: #cbd5e1;
  --green: #10b981; --red: #ef4444; --orange: #f59e0b;
  --shadow: 0 1px 3px rgba(0,0,0,.08);
  --shadow-lg: 0 4px 12px rgba(0,0,0,.1);
  --radius: 12px; --radius-sm: 8px;
  --nav-h: 56px;
  --max-w: 1200px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; min-height: 100vh; }

a { color: var(--pri); text-decoration: none; }
a:hover { color: var(--pri-d); }
img { max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; }

/* ═══ 导航栏 ═══ */

/* ═══ 架构页 tab_arch 内联样式抽取 ═══ */
.k-col140-fwb { width:140px;font-weight:600 }
.k-col120-fwb { width:120px;font-weight:600 }
.k-col200 { width:200px }
.k-col180 { width:180px }
.k-col160 { width:160px }
.k-col140 { width:140px }
.k-col120 { width:120px }
.k-col100 { width:100px }
.k-col80 { width:80px }
.k-text-sm { font-size:.75rem;color:var(--t2) }
.k-fwb { font-weight:600 }
.k-p0-overflow-x { padding:0;overflow-x:auto }

/* ═══ A2A互通日志 — v2 全CSS化 ═══ */
.a2a-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.a2a-col-hd{padding:10px 14px;font-size:.85rem;font-weight:700;color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:10px 10px 0 0}
.a2a-col-hd-k2y{background:linear-gradient(135deg,#f59e0b,#d97706)}
.a2a-col-hd-y2k{background:linear-gradient(135deg,#7c3aed,#6d28d9)}
.a2a-col-count{font-weight:400;font-size:.75rem;opacity:.7}
.a2a-col-body{overflow:auto;max-height:70vh}
.a2a-card{padding:0}
.a2a-th-id{width:36px}
.a2a-th-method{width:80px}
.a2a-th-time{width:44px}
.a2a-row-id{white-space:nowrap;color:var(--text3);font-size:.7rem}
.a2a-row-method{white-space:nowrap;font-size:.72rem}
.a2a-row-summary{white-space:normal;font-size:.78rem;max-width:300px}
.a2a-row-time{white-space:nowrap;font-size:.7rem;color:var(--text3)}
.a2a-pg{display:flex;gap:4px;justify-content:center;margin-top:10px}
.a2a-pg-btn{padding:3px 8px;border-radius:4px;font-size:.75rem;text-decoration:none;background:var(--bg-card);color:var(--text2);border:1px solid var(--border)}
.a2a-pg-on{background:var(--blue);color:#fff;border-color:var(--blue)}
.a2a-num-k2y{color:#f59e0b}
.a2a-num-y2k{color:#7c3aed}
.a2a-tbl th{position:sticky;top:0;z-index:1}
.a2a-tbl td{padding:6px 8px}
@media(max-width:768px){.a2a-split{grid-template-columns:1fr}}

/* ═══ 铁律页 tab_rules 内联样式抽取 ═══ */
.k-law-empty{text-align:center;padding:40px;color:var(--t3)}
.k-law-item{border-bottom:1px solid var(--b);padding:16px 20px}
.k-law-row{display:flex;align-items:flex-start;gap:14px}
.k-law-badge{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#1a1a2e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.k-law-body{flex:1;min-width:0}
.k-law-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.k-law-title{font-size:15px;font-weight:700}
.k-law-cat{display:inline-block;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#dbeafe;color:#1e40af}
.k-law-source{font-size:11px;color:var(--t3)}
.k-law-content{font-size:13px;color:var(--t);line-height:1.7;white-space:pre-line;background:#f9fafb;border-radius:6px;padding:12px 15px;border-left:3px solid #1a1a2e}
.k-law-severity{font-size:11px;padding:1px 6px;border-radius:4px;font-weight:600}
.k-law-severity-fatal{background:#fef2f2;color:#dc2626}
.k-law-severity-serious{background:#fffbeb;color:#d97706}
.k-law-severity-normal{background:#f3f4f6;color:#6b7280}
.k-law-archive-details{cursor:pointer}
.k-law-archive-summary{font-size:13px;color:var(--t3);padding:8px 0}
.k-law-archive-list{margin-top:8px}
.k-law-archive-item{padding:8px 14px;border-radius:4px;background:#f5f5f5;margin-bottom:4px;font-size:13px;opacity:.6}
.k-law-archive-num{font-weight:600}

/* ═══ 管理后台通用表格辅助（tab_conflicts / tab_trash / tab_archive） ═══ */
.k-col50{width:50px}
.k-col60{width:60px}
.k-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-nowrap{white-space:nowrap}
.k-fs075{font-size:.75rem}
.k-fs078-t2{font-size:.78rem;color:var(--t2)}
.k-fs075-t3{font-size:.75rem;color:var(--t3)}

/* ═══ frozen/agents/memory tab 内联样式抽取 ═══ */

/* 列宽补充 */
.k-col70{width:70px}
.k-col75{width:75px}
.k-col65{width:65px}
.k-col55{width:55px}
.k-col50{width:50px}

/* display */
.k-dn{display:none}
.k-mw720{max-width:720px}

/* flex */
.k-flex-col-g10-p16{display:flex;flex-direction:column;gap:10px;padding:16px 24px}
.k-flex-g10{display:flex;gap:10px}
.k-flex-g8{display:flex;gap:8px}
.k-flex-1{flex:1}

/* full width */
.k-wfull{width:100%}

/* input/textarea mono 样式 */
.k-inp-mono{width:100%;font-family:monospace;font-size:.8rem}
.k-textarea-mono{width:100%;font-family:monospace;font-size:.8rem;min-height:200px;resize:vertical}

/* modal */
.k-modal-footer-fz{border-top:1px solid var(--border);justify-content:space-between}

/* font-size */
.k-fs78{font-size:.78rem}
.k-fs68{font-size:.68rem}

/* margin */
.k-mb20{margin-bottom:20px}
.k-mb16{margin-bottom:16px}

/* text */
.k-nowrap{white-space:nowrap}
.k-fw700{font-weight:700}

/* colors - semantic contextual */
.k-c-green2{color:#059669}
.k-c-amber{color:#d97706}
.k-c-pri{color:var(--pri)}
.k-c-text3{color:var(--text3)}
.k-c-red2{color:#dc2626}
.k-c-gray2{color:#6b7280}
.k-c-blue2{color:#0984e3}

/* agents tab 专用 */
.k-fw600-nowrap{font-weight:600;white-space:nowrap}
.k-fw700-cpri-nowrap{font-weight:700;color:var(--pri);white-space:nowrap}
.k-nowrap-fz13{white-space:nowrap;font-size:13px}
.k-agent-source{font-size:10px;color:var(--text3);margin-left:6px}

/* memory tab 专用 */
.k-mem-link{color:var(--pri);text-decoration:none;font-weight:500}
.k-conflict-badge{color:#dc2626;font-size:10px;margin-left:4px}
.k-td-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}
.k-td-id{color:var(--text3);font-size:12px}
.k-imp-high{color:#059669;font-weight:600}
.k-imp-mid{color:#0984e3;font-weight:600}
.k-imp-low{color:#6b7280}
.k-public-toggle{text-decoration:none;font-size:12px;font-weight:600}

/* memory 公开/私密切换颜色（PHP动态值 → CSS类） */
.k-public-y{color:#059669}
.k-public-n{color:#dc2626}

/* ═══════════════════════════════════════
   文件管理器 tab 专用（内联样式抽取）
   ═══════════════════════════════════════ */

/* 卡片内部 */
.fm-card-hd-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.fm-card-bd-nopad{padding:0;overflow-x:auto}

/* 表头列宽 */
.fm-th-icon{width:55px}
.fm-th-size{width:85px}
.fm-th-perm{width:95px}
.fm-th-mtime{width:140px}
.fm-th-actions{width:200px}

/* 面包屑 */
.fm-bc-fz{font-weight:400;color:var(--text3);font-size:13px}
.fm-bc-link{color:var(--pri);cursor:pointer;text-decoration:none}

/* 工具栏 */
.fm-toolbar{display:flex;gap:6px}

/* 上传隐藏 */
.fm-upload-input{display:none}

/* 分页栏 */
.fm-pg-bar{margin-top:12px}
.fm-pagination{display:flex;justify-content:center;align-items:center;gap:4px;font-size:13px}
.fm-pg-info{margin-left:10px;color:var(--text3);font-size:12px}

/* 编辑器浮层 */
.fm-editor-wrap{display:none;position:fixed;z-index:9999;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);width:86%;max-width:960px;height:70vh;min-height:300px;top:10vh;left:7%;flex-direction:column;overflow:hidden}
.fm-editor-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg);cursor:move;flex-shrink:0}
.fm-editor-title{flex:1;font-size:14px;font-weight:600}
.fm-editor-path{font-size:11px;color:var(--text3)}
.fm-editor-info{color:var(--text3);font-weight:400}
.fm-editor-close-btn{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text3);padding:2px 8px}
.fm-editor-content{flex:1;padding:14px 16px;border:none;font-family:monospace;font-size:13px;line-height:1.6;resize:none;outline:none;background:var(--bg);color:var(--text);tab-size:4}
.fm-editor-footer{display:flex;justify-content:flex-end;padding:8px 16px;border-top:1px solid var(--border);background:var(--bg);gap:8px;flex-shrink:0}

/* 弹窗 */
.fm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9998;align-items:center;justify-content:center}
.fm-modal-box{background:#fff;border-radius:10px;padding:24px;width:420px;max-width:90%}
.fm-modal-title{margin:0 0 16px}
.fm-modal-input{width:100%;margin-bottom:16px}
.fm-modal-actions{display:flex;gap:8px;justify-content:flex-end}

/* Toast */
.fm-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#1a1a2e;color:#fff;padding:10px 24px;border-radius:6px;font-size:13px;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none}

/* 表格单元格 */
.fm-cell-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-cell-nowrap{white-space:nowrap}
.fm-cell-meta{font-size:12px;color:var(--text3);white-space:nowrap}

/* 分页按钮 */
.fm-pg-btn{padding:4px 10px;border:1px solid var(--border);border-radius:4px;cursor:pointer;text-decoration:none;color:var(--t2);display:inline-block}
.fm-pg-btn-disabled{opacity:.3;pointer-events:none}
.fm-pg-btn-on{background:var(--pri);color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-block}
.fm-pg-btn-page{padding:4px 10px;border:1px solid var(--border);border-radius:4px;cursor:pointer;text-decoration:none;color:var(--t2);display:inline-block}

/* 目录/文件链接 */
.fm-dir-link{cursor:pointer;font-weight:600;color:var(--t);text-decoration:none}
.fm-file-link{cursor:pointer;font-weight:400;color:var(--t);text-decoration:none}

/* 下载链接 */
.fm-dl-link{color:var(--text3)}

/* empty状态 */
.fm-empty{text-align:center;padding:40px;color:var(--text3);font-size:13px;font-weight:400}

@media(max-width:640px){.fm-col-mt{display:none}.fm-col-pr{display:none}}

/* ═══════════════════════════════════════
   同步 tab 专用（内联样式抽取）
   ═══════════════════════════════════════ */

/* 卡片内容 - 无padding + column flex + gap */
.sync-card-bd{padding:0;overflow-x:auto}
.sync-card-bd-flexcol{display:flex;flex-direction:column;gap:8px}

/* 同步行 */
.sync-act-btn{white-space:nowrap;flex-shrink:0}

/* 表格列宽补充 */
.sync-td-icon{width:60px}
.sync-td-source{width:80px}
.sync-td-action{width:90px}
.sync-td-minw120{min-width:120px}

/* 微型按钮 */
.btn-xxs{padding:2px 10px;font-size:.72rem}

/* ═══ tab_finance — 支付运营面板 ═══ */
.fin-pg{padding:24px}
.fin-hd h1{font-size:22px;margin:0 0 4px;color:var(--text)}
.fin-sub{font-size:13px;color:var(--text3);margin:0 0 20px}
.fin-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px}
.fin-m{background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px}
.fin-m-num{font-size:22px;font-weight:700}
.fin-m-lbl{font-size:11px;color:var(--text3);margin-top:4px}
.fin-m-num-green{color:#059669}
.fin-m-num-yellow{color:#d97706}
.fin-m-num-purple{color:#7c3aed}
.fin-m-num-err{color:#dc2626}
.fin-card{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:20px}
.fin-card-hd{padding:12px 16px;font-size:14px;font-weight:600;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.fin-card-bd{padding:0;overflow-x:auto}
.fin-tbl{width:100%;border-collapse:collapse;font-size:13px}
.fin-tbl th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text3);background:var(--bg);border-bottom:1px solid var(--border)}
.fin-tbl td{padding:8px 12px;border-bottom:1px solid var(--border)}
.fin-tbl tr:hover td{background:var(--bg)}
.fin-bdg{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.fin-bdg-ok{background:#ecfdf5;color:#059669}
.fin-err-msg{color:var(--text3)}
.fin-bdg-warn{background:#fffbeb;color:#d97706}
.fin-bdg-err{background:#fef2f2;color:#dc2626}
.fin-bdg-gray{background:#f3f4f6;color:#6b7280}
.fin-bdg-yellow{background:#fffbeb;color:#d97706;border:1px solid #fcd34d}
.fin-btn{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text)}
.fin-btn-pri{background:var(--pri);color:#fff;border-color:var(--pri)}
.fin-btn-err{background:#dc2626;color:#fff;border-color:#dc2626}
.fin-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fin-empty{text-align:center;padding:40px;color:var(--text3)}
.fin-td-meta{font-size:11px;color:var(--text3)}
.fin-td-sm{font-size:12px}
.fin-td-err{font-size:11px;color:#dc2626;padding:2px 12px 8px;background:#fef2f2}
.fin-tr-dim{text-decoration:line-through;opacity:.5}
@media(max-width:640px){
  .fin-metrics{grid-template-columns:repeat(2,1fr)}
  .fin-row{grid-template-columns:1fr}
  .fin-pg{padding:12px}
}

/* ═══ tab_dashboard — 仪表盘 ═══ */
.dash-hd{margin-bottom:20px}
.dash-hd h1{font-size:22px;font-weight:700;margin:0 0 4px;color:var(--text)}
.dash-sub{font-size:13px;color:var(--text3);margin:0}
.dash-health{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:20px}
.dash-health.ok{background:#ecfdf5;color:#059669}
.dash-health.err{background:#fef2f2;color:#dc2626}
.dash-health-mt{margin-top:8px}
.dash-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.dash-svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:24px}
.dash-svc{padding:12px 14px;border-radius:8px;border:1px solid #fde68a;background:#fffbeb;text-align:center}
.dash-svc.bad{background:#fef2f2;border-color:#fecaca}
.dash-svc-n{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:4px}
.dash-svc-s{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:#059669}
.dash-svc.bad .dash-svc-s{color:#dc2626}
.dash-svc-d{width:6px;height:6px;border-radius:50%;background:currentColor}
.dash-svc-l{font-size:11px;color:var(--text3);margin-top:4px}
.dash-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:24px}
.dash-m{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 12px;text-align:center}
.dash-m-warn{background:#fffbeb;border-color:#fde68a}
.dash-m-num{font-size:24px;font-weight:700;color:#1a1a2e;line-height:1.3}
.dash-m-warn .dash-m-num{color:#d97706}
.dash-m-lbl{font-size:12px;color:var(--text3);margin-top:4px}
.dash-today{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:24px}
.dash-today-c{text-align:center}
.dash-today-hd{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}
.dash-today-r{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.dash-alert-list{display:flex;flex-direction:column;gap:6px}
.dash-alert{padding:10px 16px;border-radius:6px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}
.dash-alert a{margin-left:auto;font-size:12px;color:inherit;opacity:.8}
.dash-alert-ok{background:#ecfdf5;color:#059669}
.dash-alert-warn{background:#fffbeb;color:#d97706}
.dash-alert-err{background:#fef2f2;color:#dc2626}
.dash-today-i{text-align:center;font-size:12px;color:var(--text3)}
.dash-today-n{display:block;font-size:22px;font-weight:700;color:var(--pri)}
.dash-sys{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:10px;padding:16px;margin-bottom:20px}
.dash-sys-row{display:flex;gap:12px;margin-bottom:14px}
.dash-sys-item{flex:1;background:rgba(255,255,255,.06);border-radius:8px;padding:12px}
.dash-sys-v{font-size:24px;font-weight:700;color:#e2e8f0;margin-bottom:6px}
.dash-sys-bar{height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;margin-bottom:6px}
.dash-sys-fill{height:100%;border-radius:3px;transition:width .4s;width:var(--fill-pct,0)%;background:var(--fill-color,var(--g))}
.dash-sys-l{font-size:11px;color:#94a3b8}
.dash-sys-tags{display:flex;flex-wrap:wrap;gap:6px}
.dash-tag{font-size:11px;padding:3px 8px;border-radius:5px;font-weight:500}
.dash-tag.ok{background:rgba(16,185,129,.15);color:#10b981}
.dash-tag.bad{background:rgba(239,68,68,.15);color:#ef4444}
@media(max-width:640px){
  .dash-svcs{grid-template-columns:repeat(2,1fr)}
  .dash-metrics{grid-template-columns:repeat(2,1fr)}
  .dash-sys-row{flex-direction:column}
}

/* ═══ 表格列宽补充 ═══ */
.adm-td-w50{width:50px}.adm-td-w100p{width:100%}
.adm-td-xs{font-size:.78rem}
.adm-card-hd-between{justify-content:space-between}
.c-green2{color:#059669;font-weight:600}
.c-amber{color:#d97706}
.c-text3{color:var(--text3)}
.adm-st-num-sm{font-size:14px}
.adm-st-num-amber{color:#d97706}
.adm-st-num-muted{color:var(--text3)}
.adm-card-bd-zero{padding:0}
.adm-label-hint{font-weight:400;font-size:11px;color:var(--text3)}
.adm-td-xs-nowrap{font-size:.78rem;color:var(--text2)}
.dash-tag-clickable{cursor:pointer}

/* ── 恢复页面：预检卡片 ── */
.k-rec-preview{max-width:520px;margin:12px auto 0;padding:0 20px;display:none}
.k-rec-preview-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px}
.k-rec-preview-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.k-rec-preview-av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}
.k-rec-preview-name{font-size:18px;font-weight:700;color:#1a1a2e}
.k-rec-preview-meta{font-size:13px;color:#666;margin-top:2px}
.k-rec-preview-detail{font-size:14px;color:#444;line-height:1.7;margin:0}
.k-rec-preview-migrate-icon{font-size:32px;margin:0 0 6px}
.k-rec-preview-ready,.k-rec-preview-short,.k-rec-preview-empty{padding:14px 0 0;border-top:1px solid #eee}
.k-rec-preview-warn{color:#dc2626;font-size:14px;font-weight:600;margin:4px 0 12px}
.k-rec-preview-link{color:#6366f1;font-weight:600;text-decoration:none;font-size:14px}
.k-rec-preview-link:hover{text-decoration:underline}
.k-rec-confirm-btn{margin-top:10px;background:linear-gradient(135deg,#10b981,#059669)}
.k-rec-recharge-btn{margin-top:8px;background:linear-gradient(135deg,#f59e0b,#d97706)}
/* 原地充值面板 */
.k-rec-recharge{margin-top:14px;padding:16px 20px;background:#fff;border:1px solid #e8e8e8;border-radius:10px}
.k-rec-recharge-hd{font-size:13px;color:#666;margin-bottom:10px;font-weight:600}
.k-rec-plans{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;text-align:left}
.k-rec-plan-opt{font-size:13px;color:#444;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#fafbfc}
.k-rec-plan-opt:hover{background:#f0f4ff}
.k-rec-plan-opt input[type=radio]{accent-color:#0f3460}
.k-rec-pay-btn{width:100%;max-width:200px;margin:0 auto;display:block;background:linear-gradient(135deg,#07c160,#06ad56)}
.k-rec-qr-wrap{text-align:center;margin-top:14px;padding:16px;background:#fafbfc;border-radius:8px}
.k-rec-qr-hide{display:none}
.k-rec-pay-success{color:#16a34a;font-weight:700}
.k-rec-qr-wrap canvas{margin-bottom:8px}
.k-rec-qr-txt{font-size:13px;color:#444;margin-bottom:4px}
.k-rec-qr-status{font-size:12px;color:#888;min-height:18px}
.k-rec-pay-msg{font-size:13px;color:#dc2626;text-align:center;margin-top:8px;min-height:18px}
@media(max-width:640px){
  .k-rec-preview{padding:0 12px}
}
.k-rec-preview--show{display:block}

/* ── 三步守护 / link_bar ── */
.lb-section{border-top:1px solid #e8e8e8;background:#fafbfc;padding:32px 20px 28px;margin-top:40px}
.lb-wrap{max-width:560px;margin:0 auto;text-align:center}
.lb-title{font-size:12px;color:#aaa;margin:0 0 18px}
.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lb-item{display:block;padding:16px 12px;border-radius:10px;text-decoration:none;text-align:center;background:#fff;border:1px solid #e8e8e8}
.lb-icon{font-size:20px;margin-bottom:6px}
.lb-label{font-size:13px;font-weight:600;color:#555;margin-bottom:2px}
.lb-desc{font-size:11px;color:#aaa}
@media(max-width:640px){
  .lb-section{padding:24px 12px 20px;margin-top:32px}
  .lb-grid{gap:8px}
  .lb-item{padding:12px 8px}
  .lb-icon{font-size:18px}
  .lb-label{font-size:12px}
  .lb-desc{font-size:10px}
}

/* ── join 页恢复结果卡片 ── */
.j-rcv-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px;margin-top:12px;text-align:left;max-width:440px;margin-left:auto;margin-right:auto}
.j-rcv-card--ok{border-color:#a5b4fc;background:#f5f6ff}
.j-rcv-card--done{border-color:#10b981;background:#f0fdf6}
.j-rcv-card--short{border-color:#fca5a5;background:#fff5f5}
.j-rcv-card--empty{border-color:#e8e8e8;background:#fafafa}
.j-rcv-card-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.j-rcv-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex-shrink:0}
.j-rcv-name{font-size:16px;font-weight:700;color:#1a1a2e}
.j-rcv-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#eef0ff;color:#6366f1;font-weight:600;margin-left:auto}
.j-rcv-badge--ok{background:#d1fae5;color:#065f46}
.j-rcv-badge--warn{background:#fee2e2;color:#dc2626}
.j-rcv-stats{display:flex;gap:16px;margin-bottom:12px}
.j-rcv-stat{font-size:13px;color:#666;white-space:nowrap}
.j-rcv-stat b{color:#1a1a2e}
.j-rcv-stat--bad{color:#dc2626}
.j-rcv-stat--bad b{color:#dc2626}
.j-rcv-hint{font-size:12px;color:#888;line-height:1.6;margin:0 0 12px}
.j-rcv-confirm{display:block;width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:opacity .2s}
.j-rcv-confirm:hover{opacity:.9}
.j-rcv-confirm:disabled{opacity:.5;cursor:not-allowed}
.j-rcv-confirm--recharge{background:linear-gradient(135deg,#f59e0b,#d97706)}
.j-rcv-list{margin-bottom:12px}
.j-rcv-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:6px;font-size:13px;color:#444;margin-bottom:4px}
.j-rcv-item span{flex:1}
.j-rcv-item em{font-size:11px;color:#999;font-style:normal;margin-left:8px}
.j-rcv-item--high{background:#fef2f2;border-left:3px solid #ef4444}
.j-rcv-item--mid{background:#fffbeb;border-left:3px solid #f59e0b}
.j-rcv-item--low{background:#f0fdf4;border-left:3px solid #10b981}
.j-rcv-more{text-align:center;font-size:12px;color:#888;padding:6px 0}
.j-rcv-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.j-rcv-guardian{color:#7c3aed;font-size:13px;font-weight:600;text-decoration:none}
.j-rcv-guardian:hover{text-decoration:underline}
.j-rcv-link{color:#6366f1;font-size:13px;text-decoration:none}
.j-rcv-link:hover{text-decoration:underline}
.j-rcv-bar{height:6px;background:#fee2e2;border-radius:3px;margin-bottom:8px;overflow:hidden}
.j-rcv-bar-fill{height:100%;background:#f59e0b;border-radius:3px;transition:width .3s}
.j-rcv-shortfall{font-size:13px;color:#dc2626;margin:0 0 8px}
@media(max-width:640px){
  .j-rcv-card{padding:14px}
  .j-rcv-stats{gap:8px;flex-wrap:wrap}
  .j-rcv-stat{font-size:11px}
}


/* ═══ 充值记录 ═══ */
.rch-orders{max-width:440px;margin:24px auto 0;padding:0 20px}
.rch-orders .rch-notice-hd{font-size:14px;font-weight:600;color:#333;margin-bottom:10px}
.rch-tbl{width:100%;border-collapse:collapse;font-size:13px}
.rch-tbl th,.rch-tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}
.rch-tbl th{color:#999;font-weight:500;font-size:12px}
.rch-tbl td{color:#444}
.rch-loading{display:block;text-align:center;color:#999;font-size:13px;padding:20px 0}
.rch-empty{text-align:center;color:#aaa;font-size:13px;padding:20px 0;background:#f8f9fb;border-radius:8px}
.rch-pager{text-align:center;padding:16px 0} .rch-pager .rch-loading{color:#aaa;font-size:13px}
.rch-btn-sm{padding:5px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:12px;cursor:pointer}
.rch-btn-sm:hover{background:#f5f5f5;border-color:#ccc}
.a2a-split-3{grid-template-columns:1fr 1fr 1fr}
.a2a-col-hd-ext{background:linear-gradient(135deg,#059669,#047857)}
.a2a-num-ext{color:#059669}
.a2a-th-from{width:80px}
.a2a-row-from{white-space:nowrap;font-size:.68rem;color:var(--text2)}
.a2a-tbl-sm{min-width:0}
.a2a-tbl-sm th,.a2a-tbl-sm td{padding:4px 6px;font-size:.72rem}
.a2a-empty{text-align:center;color:var(--text3);padding:40px 16px;font-size:.82rem}
.a2a-expand-hint{color:var(--accent);font-size:.7rem;cursor:pointer}
.a2a-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.a2a-modal-inner{background:var(--bg-card);border-radius:12px;max-width:700px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,.3)}
.a2a-modal-hd{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bd-soft);font-weight:700;font-size:.9rem}
.a2a-modal-close{background:none;border:none;color:var(--text2);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px}
.a2a-modal-close:hover{background:var(--bg-soft);color:var(--text1)}
.a2a-modal-body{padding:16px 20px;max-height:70vh;overflow-y:auto}
.a2a-detail-block{margin-bottom:12px}
.a2a-detail-hd{color:var(--text3);font-weight:600;font-size:.72rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.a2a-detail-pre{margin:0;padding:10px 14px;background:var(--bg-soft);border-radius:6px;font-size:.76rem;max-height:150px;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.5}
.a2a-detail-pre-lg{max-height:400px}
@media(max-width:768px){.a2a-split-3{grid-template-columns:1fr}}
.a2a-row{cursor:pointer}.a2a-row:hover{background:var(--bg-soft)}
/* 对忆竞技场 V10 */
.k-arena-archive-note{margin-left:8px;font-size:.72rem;color:var(--t2)}.k-arena-scoring-tip{margin-top:10px}

/* ═══ A2A 日志补充样式 ═══ */
.a2a-today-delta{font-size:.65rem}
.a2a-modal-hidden{display:none}
.a2a-detail-time{color:var(--text3);font-size:.7rem}
