
/* ============================================================
   蒜投・智能创投服务平台 首页
   设计方向：SaaS 高级极简风（对标店策智库蓝金体系）
   核心密码：极度留白、bento 模块化、突出工具与数据属性
   ============================================================ */
:root{
  --primary:#1E5EFF;
  --primary-dark:#123ea8;
  --primary-light:#eaf0ff;
  --ink:#0a1730;
  --ink-2:#0d1f42;
  --gold:#c8a45e;
  --gold-light:#f7f0e2;
  --bg:#f6f7fb;
  --white:#ffffff;
  --line:#e8ecf5;
  --text-mid:#4c586b;
  --text-light:#8993a8;
  --r-lg:24px;
  --r-md:16px;
  --font-ui:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --font-mono:"SF Mono","JetBrains Mono",Consolas,monospace;
  --shadow-sm:0 1px 2px rgba(10,23,48,0.04), 0 1px 1px rgba(10,23,48,0.03);
  --shadow-md:0 2px 6px rgba(10,23,48,0.05), 0 14px 34px rgba(10,23,48,0.07);
  --shadow-lift:0 4px 12px rgba(10,23,48,0.06), 0 20px 44px rgba(30,94,255,0.12);
  --up:#e04b4b; --down:#1fa97c; /* 行情红涨绿跌（中国股市配色） */
}

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font-ui); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1000px 480px at 22% -100px, rgba(124,92,255,0.09), transparent 65%),
    radial-gradient(900px 420px at 78% -60px, rgba(30,94,255,0.08), transparent 70%),
    var(--bg);
}

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

button{font-family:inherit; cursor:pointer;}

ul{list-style:none;}

.wrap{max-width:1280px; margin:0 auto; padding:0 24px;}
@media(max-width:720px){.wrap{padding:0 18px;}}


.eyebrow{font-size:12px; font-weight:800; color:var(--primary); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:8px;}

.eyebrow::before{content:""; width:16px; height:2px; background:var(--gold); display:inline-block;}

.sec-title{font-size:28px; font-weight:800; color:var(--ink); letter-spacing:-.5px; margin-bottom:10px;}

.sec-sub{font-size:14px; color:var(--text-mid); max-width:560px;}

.section{padding:42px 0;}
@media(max-width:720px){.section{padding:29px 0;} .sec-title{font-size:22px;}}

.section-alt{
  background:
    radial-gradient(900px 360px at 12% 0%, rgba(30,94,255,.04), transparent 55%),
    radial-gradient(800px 320px at 88% 100%, rgba(124,92,255,.035), transparent 55%),
    #fff;
}

.section-dark{
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 420px at 18% 0%, rgba(30,94,255,.18), transparent 58%),
    radial-gradient(800px 380px at 82% 100%, rgba(124,92,255,.14), transparent 60%),
    linear-gradient(180deg, #071228 0%, #0a1c3e 48%, #071228 100%);
  color:#fff;
}

.section-dark::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:56px 56px;}

.section-dark::after{content:""; position:absolute; left:24px; right:24px; top:16px; bottom:16px; pointer-events:none;
  border:1px solid rgba(200,164,94,.32); border-radius:24px;
  box-shadow:0 0 0 1px rgba(200,164,94,.05), inset 0 0 50px rgba(200,164,94,.045);}
@media(max-width:720px){.section-dark::after{left:12px; right:12px; top:12px; bottom:12px; border-radius:16px;}}

.section-dark .eyebrow{color:#fff;}

.section-dark .eyebrow::before{background:var(--gold);}

.section-dark .sec-title{color:#fff;}

.section-dark .sec-sub{color:#a8bcdd;}

.section-dark .rank-more{color:#ffd98a;}

.section-dark .rank-card{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); box-shadow:0 10px 30px rgba(0,0,0,.22);}

.section-dark .rank-card .rc-head{background:rgba(255,255,255,.08) !important;}

.section-dark .rc-title{color:#fff;}

.section-dark .rc-meta{color:#8ea5c9;}

.section-dark .rc-name{color:#fff;}

.section-dark .rc-item:hover{background:rgba(255,255,255,.08);}

.section-dark .rc-sub{color:#a8bcdd;}

.section-dark .rc-desc{color:#8ea5c9;}

.section-dark .ev-article{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12);}

.section-dark .ev-article .art-title{color:#fff;}

.section-dark .ev-article .art-desc{color:#a8bcdd;}

.section-dark .ev-article:hover .art-title{color:#ffd98a;}

.section-dark .ev-article .art-ico::after{border-color:rgba(10,23,48,.6);}

.section-dark .ev-side{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12);}

.section-dark .ev-side-head{color:#fff;}

.section-dark .ev-st-num{color:#fff;}

.section-dark .ev-st-sub{color:#a8bcdd;}

.section-dark .ev-side-item{color:#a8bcdd; border-color:rgba(255,255,255,.12);}

.section-dark .ev-side-item:hover{color:#fff;}

.section-dark .esi-name{color:#fff;}

.section-dark .esi-bar{background:rgba(255,255,255,.12);}

.section-dark .ev-al-title{color:#fff;}

.section-dark .ev-al-badge{box-shadow:0 4px 12px rgba(0,0,0,.35);}

.section-dark .ev-list-title h3{color:#fff;}

.section-dark .cap-card{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); box-shadow:0 12px 34px rgba(0,0,0,.22);}

.section-dark .cap-card::before{opacity:.6;}

.section-dark .cap-title{color:#fff;}

.section-dark .cap-desc{color:#a8bcdd;}

.section-dark .cap-en{color:#8ea5c9;}

.section-dark .cap-link{color:#fff;}

.section-dark .cap-link::before{background:rgba(255,255,255,.14);}

.section-dark .cap-no{color:var(--c); opacity:.14;}

.section-dark .tool-card{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); box-shadow:0 10px 28px rgba(0,0,0,.2);}

.section-dark .tool-card::after{opacity:.4;}

.section-dark .tc-title{color:#fff;}

.section-dark .tc-desc{color:#a8bcdd;}

.section-dark .tc-foot{border-color:rgba(255,255,255,.14);}

.section-dark .industry-card{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); box-shadow:0 10px 28px rgba(0,0,0,.2);}

.section-dark .industry-card:hover{border-color:rgba(255,255,255,.25); box-shadow:0 14px 34px rgba(0,0,0,.28);}

.section-dark .ic-name{color:#fff;}

.section-dark .ic-count{color:#8ea5c9;}

.section-dark .industry-card:hover .ic-name{color:#fff;}

.section-dark .cap-tag{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.18); color:#fff;}

.section-dark .tc-point{background:rgba(255,255,255,.12); color:#fff;}

.section-dark .rc-ind{background:rgba(30,94,255,.22); color:#cfe0ff;}

.section-dark .rc-ind2{background:rgba(255,255,255,.1); color:#e0e8f7;}

.section-dark .rc-ind2.green{background:rgba(31,169,124,.18); color:#8de8c3;}

.section-dark .rc-ind2.gold{background:rgba(200,164,94,.18); color:#f7dfa8;}

.section-dark .rc-ind2.orange{background:rgba(255,95,54,.18); color:#ffc4b0;}

.section-dark .rc-ind2.blue{background:rgba(30,94,255,.22); color:#cfe0ff;}

.section-dark .ev-article .art-tag{background:rgba(30,94,255,.22); color:#cfe0ff;}

.section-dark .ev-article .art-tag.gold{background:rgba(200,164,94,.18); color:#f7dfa8;}

.section-dark .ev-article .art-tag.green{background:rgba(31,169,124,.18); color:#8de8c3;}

.section-dark .ev-article .art-date{color:#8ea5c9;}
@media(max-width:720px){.section-dark{padding:32px 0;}}


/* ---------- 顶部导航（透明压 Hero） ---------- */
.nav{
  position:sticky; top:0; z-index:900; height:68px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(246,247,251,0.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .25s, border-color .25s, color .25s;
}

.nav.on-hero{background:transparent; border-bottom-color:transparent; backdrop-filter:none;}

.nav.on-hero .btn-gradient{box-shadow:inset 0 1px 0 rgba(255,255,255,0.28), 0 6px 18px rgba(0,0,0,0.35);}

.nav.on-hero .brand{color:#fff;}

.nav.on-hero .nav-links a, .nav.on-hero .login-link{color:rgba(255,255,255,0.78);}

.nav.on-hero .nav-links a:hover, .nav.on-hero .login-link:hover{color:#fff;}

.nav.on-hero .brand .mark{background:rgba(255,255,255,0.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3);}

.nav .wrap{display:flex; align-items:center; justify-content:space-between; width:100%;}

.brand{display:flex; align-items:center; gap:10px; font-size:15px; font-weight:800; color:var(--ink);}

.brand .mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(140deg, #3a74ff, var(--primary) 60%, var(--primary-dark)); display:flex; align-items:center; justify-content:center; font-size:13px; color:#fff; font-weight:800; box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 4px 10px rgba(30,94,255,0.3);}

.brand em{font-style:normal; color:var(--gold);}

.nav-links{display:flex; align-items:center; gap:34px;}
@media(max-width:1240px){.nav-links{gap:26px;}}
@media(max-width:1100px){.nav-links{gap:16px;} .nav-links a{font-size:12.5px;}}
@media(max-width:1040px){.nav-links{gap:12px;} .nav-links a{font-size:12px;}}

.nav-links a{font-size:13.5px; font-weight:600; color:var(--text-mid); transition:color .15s;}

.nav-links a:hover{color:var(--ink);}

.nav-more{position:relative;}

.nav-more .more-btn{font-size:13.5px; font-weight:600; color:var(--text-mid); cursor:pointer;}

.more-drop{
  position:absolute; top:calc(100% + 12px); right:0; min-width:190px; background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:var(--shadow-md); padding:8px; display:none; z-index:950;
}

.nav-more.open .more-drop{display:block;}

.more-drop a{display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:9px; font-size:13px; font-weight:600; color:var(--text-mid); cursor:pointer;}

.more-drop a:hover{background:var(--primary-light); color:var(--primary-dark);}
@media(max-width:860px){.nav-links{display:none;}}

.nav-actions{display:flex; align-items:center; gap:16px;}

.nav-actions .login-link{font-size:13.5px; font-weight:600; color:var(--text-mid);}
@media(max-width:600px){.nav-actions .login-link{display:none;}}

.btn-gradient{
  background:linear-gradient(120deg, var(--primary), #4c86ff); color:#fff; font-size:13px; font-weight:700;
  padding:10px 20px; border-radius:9px; border:none; box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 6px 16px rgba(30,94,255,0.32);
  transition:transform .15s, box-shadow .15s; white-space:nowrap;
}

.btn-gradient:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 8px 20px rgba(30,94,255,0.4);}


/* ---------- Hero（深色大气首屏 · 搜索驱动） ---------- */
.hero{
  position:relative; overflow:hidden; padding:172px 0 92px; margin-top:-68px; text-align:center; color:#fff;
  background:
    radial-gradient(900px 520px at 50% -140px, rgba(70,132,255,0.42), transparent 62%),
    radial-gradient(700px 420px at 12% 105%, rgba(124,92,255,0.30), transparent 66%),
    radial-gradient(680px 400px at 90% 0%, rgba(30,94,255,0.34), transparent 64%),
    linear-gradient(168deg, #071228 0%, #0a1c3e 46%, #05101f 100%);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 44px), 50% 100%, 0 calc(100% - 44px));
  margin-bottom:-26px;
}
@media(max-width:720px){.hero{padding:142px 0 76px; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 26px), 50% 100%, 0 calc(100% - 26px));}}

.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(760px 420px at 50% 32%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(760px 420px at 50% 32%, #000 20%, transparent 78%);
}

.hero::after{
  content:""; position:absolute; left:50%; top:-180px; width:1180px; height:520px; transform:translateX(-50%);
  background:radial-gradient(closest-side, rgba(88,146,255,0.30), transparent 70%); filter:blur(6px); pointer-events:none;
}

.hero-content{position:relative; z-index:2;}

.hero-badge{
  display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; letter-spacing:.3px;
  color:#cfe0ff; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
  padding:7px 15px 7px 11px; border-radius:100px; margin-bottom:26px; backdrop-filter:blur(6px);
}

.hero-badge .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,164,94,0.22);}

.hero h1{
  font-size:56px; font-weight:900; line-height:1.14; letter-spacing:-2px; margin-bottom:18px;
  text-shadow:0 12px 40px rgba(0,0,0,0.35);
}

.hero h1 .hl{
  background:linear-gradient(100deg, #ffe6ac 0%, var(--gold) 42%, #ffd98a 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@media(max-width:900px){.hero h1{font-size:40px; letter-spacing:-1.2px;}}
@media(max-width:560px){.hero h1{font-size:29px; letter-spacing:-.6px;} .hero-badge{font-size:11.5px; margin-bottom:20px;}}

.hero-lead{font-size:15px; color:#a8bcdd; margin-bottom:34px; letter-spacing:.2px;}

.hero-lead b{font-family:var(--font-mono); font-size:17px; font-weight:700; color:#fff; margin:0 3px;}
@media(max-width:560px){.hero-lead{font-size:13px; line-height:2;} .hero-lead b{font-size:15px;}}


.hero-metrics{
  display:grid; grid-template-columns:repeat(4,1fr); max-width:820px; margin:44px auto 0;
  border-top:1px solid rgba(255,255,255,0.12); padding-top:26px;
}

.hero-metric{position:relative;}

.hero-metric + .hero-metric::before{content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:rgba(255,255,255,0.1);}

.hm-num{font-family:var(--font-mono); font-size:27px; font-weight:800; color:#fff; letter-spacing:-.5px;}

.hm-num i{font-style:normal; font-size:14px; color:var(--gold); margin-left:2px;}

.hm-label{font-size:12px; color:#8ea5c9; margin-top:5px;}
@media(max-width:640px){
  .hero-metrics{grid-template-columns:1fr 1fr; gap:20px 0; max-width:340px; margin-top:34px;}
  .hero-metric:nth-child(3)::before,.hero-metric:nth-child(odd)::before{display:none;}
  .hm-num{font-size:21px;} .hm-label{font-size:11px;}
}


/* ---------- 快捷分类色块 ---------- */
.quickcat{display:grid; grid-template-columns:repeat(6,1fr); gap:12px;}
@media(max-width:980px){.quickcat{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.quickcat{grid-template-columns:repeat(2,1fr); gap:10px;}}

.qc-item{
  display:block; border-radius:14px; padding:16px 14px 14px; color:#fff; position:relative; overflow:hidden;
  box-shadow:0 6px 18px rgba(10,23,48,0.14); transition:transform .18s, box-shadow .18s; cursor:pointer;
}

.qc-item:hover{transform:translateY(-3px); box-shadow:0 12px 26px rgba(10,23,48,0.2);}

.qc-item::after{content:""; position:absolute; right:-16px; bottom:-22px; width:64px; height:64px; border-radius:18px; background:rgba(255,255,255,0.14); transform:rotate(24deg);}

.qc-cn{font-size:14.5px; font-weight:800; letter-spacing:.4px; position:relative; z-index:1;}

.qc-en{font-size:9.5px; font-weight:700; letter-spacing:1.4px; opacity:.72; margin-top:4px; text-transform:uppercase; position:relative; z-index:1;}


/* ---------- 排行榜 ---------- */
.rank-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:22px;}

.rank-more{font-size:13px; font-weight:700; color:var(--primary); white-space:nowrap; cursor:pointer;}

.rank-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:900px){.rank-grid{grid-template-columns:1fr;}}

.rank-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow .2s, transform .2s;}

.rank-card:hover{box-shadow:var(--shadow-md); transform:translateY(-2px);}

.rank-card.day .rc-head{background:linear-gradient(120deg, #e8f0ff, #f4f8ff);}

.rank-card.week .rc-head{background:linear-gradient(120deg, #fff2df, #fffaf1);}

.rank-card.month .rc-head{background:linear-gradient(120deg, #efeaff, #f8f6ff);}

.rc-head{padding:16px 20px 14px; display:flex; align-items:center; justify-content:space-between;}

.rc-title{font-size:17px; font-weight:900; color:var(--ink); letter-spacing:.5px;}

.rc-meta{font-size:11.5px; color:var(--text-light);}

.rc-list{padding:6px 8px 12px;}

.rc-item{display:flex; align-items:flex-start; gap:11px; padding:11px 12px; border-radius:10px; transition:background .15s; cursor:pointer;}

.rc-item:hover{background:#f7f9ff;}

.rc-no{
  flex-shrink:0; width:19px; height:19px; border-radius:6px; font-family:var(--font-mono); font-size:11px; font-weight:800;
  display:flex; align-items:center; justify-content:center; background:#eef1f7; color:#8c97ab; margin-top:2px;
}

.rc-item.top1 .rc-no{background:linear-gradient(140deg,#ff8a4c,#ff5f36); color:#fff;}

.rc-item.top2 .rc-no{background:linear-gradient(140deg,#7fb0ff,#3d79ff); color:#fff;}

.rc-item.top3 .rc-no{background:linear-gradient(140deg,#ffd489,#e5a53c); color:#fff;}

.rc-body{min-width:0; flex:1; display:block;}

.rc-name{display:block; font-size:13.5px; font-weight:700; color:var(--ink-2); line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.rc-item:hover .rc-name{color:var(--primary-dark);}

.rc-sub{display:flex; align-items:center; gap:8px; margin-top:5px; font-size:11.5px; color:var(--text-light); flex-wrap:wrap;}

.rc-ind{color:var(--primary); background:var(--primary-light); padding:1px 7px; border-radius:5px; font-weight:600;}

.rc-ind2{font-size:10.5px; font-weight:600; padding:1px 7px; border-radius:5px; color:#7A5DC7; background:#F0EBFA;}

.rc-ind2.green{color:#0f7a4f; background:#e6f6ef;}

.rc-ind2.gold{color:#a87f2e; background:#fdf3e0;}

.rc-ind2.orange{color:#cc5a1a; background:#fff0e6;}

.rc-ind2.blue{color:var(--primary-dark); background:var(--primary-light);}

.rc-desc{
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
  font-size:11px; color:var(--text-light); line-height:1.6; margin-top:4px;
}

.rc-use{font-family:var(--font-mono);}


/* ---------- 文章洞察 ---------- */
.article-layout{display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:20px; align-items:stretch;}
@media(max-width:980px){.article-layout{grid-template-columns:1fr;}}

.article-col, .hot-panel{
  display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-md); padding:0 18px 14px; box-shadow:var(--shadow-sm);
}

.panel-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 0 12px; border-bottom:1px solid var(--line);
}

.panel-head h4{font-size:15.5px; font-weight:900; color:var(--ink); display:flex; align-items:center; gap:8px; letter-spacing:-.2px;}

.panel-head h4::before{content:""; width:3px; height:15px; border-radius:2px; background:linear-gradient(180deg,var(--primary),#7c5cff);}

.ph-meta{font-size:11.5px; color:var(--text-light);}

/* 融资动态：每条加左侧分类彩色图标块 */
.art-item{display:flex; align-items:flex-start; gap:12px; padding:12px 8px; border-bottom:1px dashed var(--line); cursor:pointer; transition:background .15s; border-radius:8px; margin:0 -8px;}

.art-item:last-of-type{border-bottom:none;}

.art-item:hover{background:#f6f9ff;}

.art-ico{
  width:44px; height:44px; border-radius:12px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:13px; font-weight:900; letter-spacing:.5px;
  box-shadow:0 4px 10px rgba(10,23,48,0.12); position:relative;
}

.art-ico::after{content:""; position:absolute; right:-4px; bottom:-4px; width:14px; height:14px; border-radius:50%; border:2px solid var(--white); background:#17a97a;}

.art-body{flex:1; min-width:0;}

.art-title{
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
  font-size:14.5px; font-weight:800; color:var(--ink); line-height:1.5; transition:color .15s;
}

.art-item:hover .art-title{color:var(--primary);}

.art-desc{
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
  font-size:12.5px; color:var(--text-mid); line-height:1.7; margin-top:4px;
}

.art-foot{display:flex; align-items:center; gap:6px; margin-top:8px; flex-wrap:nowrap;}

.art-tag{font-size:11px; color:var(--primary-dark); background:var(--primary-light); padding:2px 8px; border-radius:5px; font-weight:600; white-space:nowrap;}

.art-tag.gold{color:#8a6a20; background:var(--gold-light);}

.art-tag.green{color:#0f7a4f; background:#e6f6ef;}

.art-date{font-size:11.5px; color:var(--text-light); margin-left:auto; font-family:var(--font-mono); white-space:nowrap;}

/* 热门文章：紧凑 + 彩色排名加大 */
.hot-item{display:flex; align-items:flex-start; gap:12px; padding:12px 8px; border-bottom:1px solid var(--line); cursor:pointer; transition:background .15s; border-radius:8px; margin:0 -8px;}

.hot-item:last-of-type{border-bottom:none;}

.hot-item:hover{background:#f6f9ff;}

.hot-rank{
  width:26px; height:26px; border-radius:8px; flex-shrink:0; font-family:var(--font-mono); font-size:13px; font-weight:800;
  display:flex; align-items:center; justify-content:center; margin-top:1px; background:#eef1f7; color:#8c97ab;
}

.hot-rank.r1{background:linear-gradient(140deg,#ff8a4c,#ff5f36); color:#fff;}

.hot-rank.r2{background:linear-gradient(140deg,#7fb0ff,#3d79ff); color:#fff;}

.hot-rank.r3{background:linear-gradient(140deg,#ffd489,#e5a53c); color:#fff;}

.hot-body{flex:1; min-width:0;}

.hot-name{
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
  font-size:13.5px; font-weight:700; color:var(--ink-2); line-height:1.5; transition:color .15s;
}

.hot-item:hover .hot-name{color:var(--primary);}

.hot-desc{
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
  font-size:11.5px; color:var(--text-light); line-height:1.6; margin-top:3px;
}

.hot-tags{display:flex; gap:6px; margin-top:6px; flex-wrap:nowrap; align-items:center;}

.hot-tags span{font-size:11px; color:var(--text-mid); background:#f2f5fb; padding:2px 8px; border-radius:5px; white-space:nowrap;}

.hot-tags .hot-date{font-size:11px; color:var(--text-light); background:none; padding:0; margin-left:auto; font-family:var(--font-mono);}

.panel-more{
  display:flex; align-items:center; justify-content:center; gap:6px; margin-top:auto;
  padding-top:14px; border-top:1px solid var(--line);
  font-size:12.5px; font-weight:700; color:var(--text-mid); transition:color .15s, gap .15s; cursor:pointer;
}

.panel-more::after{content:"›››"; font-weight:900; letter-spacing:-1px; color:var(--primary); opacity:.6;}

.panel-more:hover{color:var(--primary-dark); gap:11px;}


/* ---------- 机构 LOGO 墙 ---------- */
.partner-head{text-align:center; margin-bottom:28px;}

.partner-head .eyebrow{justify-content:center;}

.partner-head .sec-sub{margin-left:auto; margin-right:auto;}

.marquee{
  overflow:hidden; position:relative; padding:6px 0;
  mask-image:linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

.mq-track{display:flex; gap:14px; width:max-content; animation:mq-left 46s linear infinite;}

.mq-track.rev{animation:mq-right 52s linear infinite;}

.marquee:hover .mq-track{animation-play-state:paused;}

@keyframes mq-left{from{transform:translateX(0);} to{transform:translateX(-50%);}}

@keyframes mq-right{from{transform:translateX(-50%);} to{transform:translateX(0);}}

.mq-cell{
  flex:0 0 auto; width:186px; height:78px; background:var(--white); border:1px solid var(--line);
  border-radius:14px; display:flex; align-items:center; gap:11px; padding:0 16px;
  box-shadow:var(--shadow-sm); transition:box-shadow .2s, transform .2s, border-color .2s; cursor:pointer;
}

.mq-cell:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.mq-mark{
  width:36px; height:36px; border-radius:10px; flex-shrink:0; color:#fff; font-size:15px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
}

.mq-name{font-size:14px; font-weight:800; color:var(--ink); letter-spacing:.3px;}

.mq-cat{font-size:11px; color:var(--text-light); margin-top:3px;}


/* ========== 平台核心能力 V3（高定能力卡） ========== */
.cap-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch;}
@media(max-width:820px){.cap-grid{grid-template-columns:1fr;}}

.cap-card{
  --c:#1E5EFF; --c2:#4c86ff; --glow:rgba(30,94,255,.10);
  position:relative; overflow:hidden; display:flex; flex-direction:column;
  background:linear-gradient(172deg,#ffffff 0%,#fafcff 58%,#f2f6ff 100%);
  border:1px solid var(--line); border-radius:22px; padding:26px 28px 22px;
  box-shadow:var(--shadow-sm);
  transition:transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease);
  cursor:pointer;
}

.cap-card::before{content:""; position:absolute; left:28px; right:28px; top:0; height:3px; border-radius:0 0 4px 4px;
  background:linear-gradient(90deg, var(--c) 0%, var(--c2) 60%, rgba(10,23,48,.06) 140%);}

.cap-card::after{content:""; position:absolute; right:-54px; top:-54px; width:180px; height:180px; border-radius:50%;
  background:var(--glow); opacity:.6; transition:transform .35s var(--ease), opacity .35s var(--ease);}

.cap-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--c);}

.cap-card:hover::after{transform:scale(1.18); opacity:1;}

.cap-no{position:absolute; right:24px; top:18px; font-family:var(--font-mono); font-size:56px; font-weight:900;
  line-height:1; color:var(--c); opacity:.08; letter-spacing:2px; user-select:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);}

.cap-card:hover .cap-no{opacity:.16; transform:translateY(-4px);}

.cap-head{display:flex; align-items:center; gap:16px; margin-bottom:15px; position:relative; z-index:1;}

.cap-icon{width:52px; height:52px; border-radius:16px; flex-shrink:0; position:relative;
  background:linear-gradient(145deg, var(--c), var(--c2));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 24px var(--glow), inset 0 1px 0 rgba(255,255,255,.4);}

.cap-icon svg{width:25px; height:25px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.cap-icon::after{content:""; position:absolute; inset:-7px; border-radius:21px; border:1px solid var(--glow);
  transition:inset .25s var(--ease), opacity .25s var(--ease);}

.cap-card:hover .cap-icon::after{inset:-11px;}

.cap-title{font-size:18.5px; font-weight:800; color:var(--ink); letter-spacing:-.2px;}

.cap-en{font-size:9.5px; font-weight:800; color:var(--text-light); letter-spacing:2.4px; text-transform:uppercase;
  margin-top:6px; font-family:var(--font-mono);}

.cap-desc{font-size:13px; color:var(--text-mid); line-height:1.95; position:relative; z-index:1;}

.cap-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; position:relative; z-index:1;}

.cap-tag{font-size:11px; font-weight:700; color:var(--c); background:var(--glow);
  border:1px solid var(--glow); border-radius:20px; padding:5px 12px; letter-spacing:.3px;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);}

.cap-card:hover .cap-tag{transform:translateY(-2px); box-shadow:0 5px 12px var(--glow);}

.cap-link{display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:800; color:var(--c);
  margin-top:auto; padding-top:16px; position:relative; z-index:1; transition:gap .2s var(--ease);}

.cap-link::before{content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--line);}

.cap-link i{font-style:normal; transition:transform .2s var(--ease);}

.cap-card:hover .cap-link{gap:12px;}

.cap-card:hover .cap-link i{transform:translateX(4px);}


/* ========== 智能工具中心 V2（四大 AI 工具） ========== */
.tool-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:1060px){.tool-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.tool-grid{grid-template-columns:1fr;}}

.tool-card{
  --c:#1E5EFF; --c2:#4c86ff; --glow:rgba(30,94,255,.10);
  position:relative; overflow:hidden; display:flex; flex-direction:column;
  background:linear-gradient(175deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid var(--line); border-radius:20px; padding:22px 22px 20px;
  box-shadow:var(--shadow-sm);
  transition:transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease);
  cursor:pointer;
}

.tool-card::after{content:""; position:absolute; right:-42px; top:-42px; width:150px; height:150px; border-radius:50%;
  background:var(--glow); opacity:.55; transition:transform .35s var(--ease), opacity .35s var(--ease);}

.tool-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:var(--c);}

.tool-card:hover::after{transform:scale(1.2); opacity:1;}

.tc-top{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px; position:relative; z-index:1;}

.tc-icon{width:46px; height:46px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(145deg, var(--c), var(--c2));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 9px 20px var(--glow), inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .25s var(--ease);}

.tool-card:hover .tc-icon{transform:translateY(-2px) rotate(-4deg);}

.tc-icon svg{width:22px; height:22px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.tc-ai{font-size:9.5px; font-weight:900; letter-spacing:1px; color:#fff; padding:4px 9px; border-radius:6px;
  background:linear-gradient(120deg,#7c5cff,#1E5EFF); box-shadow:0 5px 12px rgba(124,92,255,.35);}

.tc-title{font-size:15.5px; font-weight:800; color:var(--ink); letter-spacing:-.2px; position:relative; z-index:1;}

.tc-desc{font-size:12px; color:var(--text-mid); line-height:1.85; margin-top:9px; position:relative; z-index:1; flex:1;}

.tc-foot{display:flex; flex-direction:column; gap:12px; margin-top:16px; padding-top:14px;
  border-top:1px dashed var(--line); position:relative; z-index:1;}

.tc-points{display:flex; gap:6px; flex-wrap:wrap;}

.tc-point{font-size:10.5px; font-weight:700; color:var(--c); background:var(--glow); border-radius:6px; padding:3px 9px;}

.tc-btn{font-size:12.5px; font-weight:800; color:#fff; padding:9px 0; border-radius:10px; text-align:center;
  background:linear-gradient(120deg, var(--c), var(--c2)); box-shadow:0 7px 16px var(--glow);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);}

.tool-card:hover .tc-btn{transform:translateY(-2px); box-shadow:0 11px 20px var(--glow);}



/* ---------- 赛道库 ---------- */
.industry-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
@media(max-width:920px){.industry-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.industry-grid{grid-template-columns:repeat(2,1fr); gap:11px;}}

.industry-card{
  display:block; position:relative; overflow:hidden; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-md); padding:20px 18px 18px;
  transition:box-shadow .2s, transform .2s, border-color .2s; cursor:pointer;
}

.industry-card::after{
  content:""; position:absolute; right:-30px; top:-30px; width:88px; height:88px; border-radius:26px;
  background:currentColor; opacity:.05; transform:rotate(22deg); transition:opacity .2s, transform .2s;
}

.industry-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.industry-card:hover::after{opacity:.1; transform:rotate(22deg) scale(1.1);}

.ic-icon{
  width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:currentColor; margin-bottom:14px; position:relative; z-index:1; font-size:19px;
}

.ic-name{font-size:14.5px; font-weight:800; color:var(--ink); position:relative; z-index:1;}

.ic-count{font-size:11.5px; color:var(--text-light); margin-top:5px; font-family:var(--font-mono); position:relative; z-index:1;}

.industry-card:hover .ic-name{color:var(--primary-dark);}



/* ---------- 投资人库 ---------- */
.ilib-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:1100px){.ilib-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.ilib-grid{grid-template-columns:1fr;}}

.ilib-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-md);
  padding:24px 20px 18px; box-shadow:var(--shadow-sm); text-align:center; cursor:pointer;
  transition:box-shadow .2s, transform .2s, border-color .2s; display:flex; flex-direction:column;
}

.ilib-card:hover{box-shadow:var(--shadow-md); transform:translateY(-4px); border-color:#c7d7fb;}

.ilib-ava{
  width:62px; height:62px; border-radius:50%; margin:0 auto 12px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:22px; font-weight:800; border:3px solid #f0e8d2; box-shadow:0 8px 18px rgba(10,23,48,0.14);
}

.ilib-name{font-size:15px; font-weight:800; color:var(--ink); display:flex; align-items:center; justify-content:center; gap:6px;}

.ilib-name .cert{font-size:10px; font-weight:700; color:#0f7a4f; background:#e6f6ef; padding:1px 7px; border-radius:5px; white-space:nowrap;}

.ilib-meta{font-size:11.5px; color:var(--text-light); margin:4px 0 14px; letter-spacing:.3px;}

.ilib-data{display:flex; border-top:1px solid var(--line); padding-top:14px; margin-bottom:14px;}

.ilib-data div{flex:1; position:relative;}

.ilib-data div+div::before{content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px; background:var(--line);}

.ilib-data b{display:block; font-family:var(--font-mono); font-size:16px; font-weight:800; color:var(--ink);}

.ilib-data span{font-size:10px; color:var(--text-light); letter-spacing:1px;}

.ilib-btn{
  margin-top:auto; padding:9px 0; border-radius:9px; font-size:13px; font-weight:700; color:var(--primary);
  background:var(--primary-light); border:1px solid #d8e4ff; transition:.15s; cursor:pointer;
}

.ilib-btn:hover{background:var(--primary); color:#fff; border-color:var(--primary);}

@keyframes invIn{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}


/* ---------- 投资事件库 / 榜单 KPI ---------- */
.ev-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px;}
@media(max-width:900px){.ev-stats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.ev-stats{grid-template-columns:1fr;}}

.ev-stat{
  position:relative; overflow:hidden;
  background:linear-gradient(145deg, #0d1f42 0%, #0a1730 100%);
  border:1px solid rgba(124,148,190,.16); border-radius:18px;
  padding:22px 22px 20px; color:#fff;
  box-shadow:0 6px 18px rgba(10,23,48,.18), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}

.ev-stat::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg, var(--primary) 0%, #4c86ff 100%);
}

.ev-stat.gold::before{background:linear-gradient(180deg, #e0b878 0%, var(--gold) 100%);}

.ev-stat:hover{transform:translateY(-4px); box-shadow:0 14px 34px rgba(10,23,48,.28), inset 0 1px 0 rgba(255,255,255,.08); border-color:rgba(124,148,190,.28);}

.ev-stat::after{
  content:""; position:absolute; right:-28px; top:-28px; width:96px; height:96px; border-radius:50%;
  background:radial-gradient(circle, rgba(76,134,255,.18), transparent 70%);
}

.ev-stat.gold::after{background:radial-gradient(circle, rgba(200,164,94,.16), transparent 70%);}

.kpi-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; position:relative; z-index:1;}

.kpi-icon{
  width:32px; height:32px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:15px; background:rgba(255,255,255,.10); box-shadow:0 4px 10px rgba(0,0,0,.2);
}

.kpi-icon.blue{background:linear-gradient(140deg, rgba(30,94,255,.25), rgba(76,134,255,.12));}

.kpi-icon.gold{background:linear-gradient(140deg, rgba(224,184,120,.25), rgba(200,164,94,.12));}

.kpi-trend{
  font-size:11px; font-weight:800; letter-spacing:.3px; display:inline-flex; align-items:center; gap:4px;
  padding:4px 10px; border-radius:20px; background:rgba(31,169,124,.14); color:#5ee0a8;
}

.kpi-trend.down{background:rgba(229,75,75,.14); color:#ff8f8f;}

.ev-n{
  font-size:40px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.5px;
  line-height:1.05; position:relative; z-index:1;
  background:linear-gradient(135deg, #fff 0%, #d8e4f7 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

.ev-stat.gold .ev-n{background:linear-gradient(135deg, #fff 0%, #f7e8c8 100%); -webkit-background-clip:text; background-clip:text;}

.ev-n i{font-style:normal; font-size:15px; margin-left:4px; font-weight:600; color:#95a3bc; -webkit-text-fill-color:#95a3bc;}

.ev-stat.gold .ev-n i{color:#c8a45e; -webkit-text-fill-color:#c8a45e;}

.ev-l{font-size:12px; color:#95a3bc; letter-spacing:1px; font-weight:700; text-transform:uppercase; margin-top:10px; position:relative; z-index:1;}

.ev-t{display:none;}

.ev-list-title{display:flex; justify-content:space-between; align-items:center; margin:28px 0 16px;}

.ev-list-title h3{font-size:18px; font-weight:800; color:var(--ink-2); letter-spacing:.5px;}

.ev-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:980px){.ev-grid{grid-template-columns:repeat(2,1fr);}}

.ev-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:20px 20px 16px; box-shadow:var(--shadow-sm); transition:.25s; cursor:pointer; display:flex; gap:14px;}

.ev-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.ev-date{font-family:var(--font-mono); font-size:11px; color:var(--text-light); letter-spacing:1px; padding-top:3px; flex-shrink:0; min-width:36px;}

.ev-body{flex:1; min-width:0;}

.ev-name{font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.4;}

.ev-sub{font-size:11.5px; color:var(--text-mid); margin-top:5px; line-height:1.6;}

.ev-foot{display:flex; align-items:center; justify-content:space-between; border-top:1px dashed var(--line); padding-top:10px; margin-top:12px;}

.ev-amt{font-family:var(--font-mono); font-size:16px; font-weight:800; color:#a87f2e;}

.ev-trend{font-size:12px; font-weight:700; font-variant-numeric:tabular-nums;}

.ev-trend.up{color:var(--up)}
 .ev-trend.down{color:var(--down)}


/* 投资事件库 · 文章流 + 侧边栏 */
.ev-layout{display:grid; grid-template-columns:1fr 320px; gap:20px; align-items:start;}
@media(max-width:980px){.ev-layout{grid-template-columns:1fr;}}

.ev-articles{display:flex; flex-direction:column; gap:14px;}

.ev-article{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:20px 22px; box-shadow:var(--shadow-sm); display:flex; gap:13px; transition:.2s; cursor:pointer;}

.ev-article:hover{box-shadow:var(--shadow-md); transform:translateY(-2px); border-color:#c7d7fb;}

.ev-article .art-ico{width:44px; height:44px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px; font-weight:900; letter-spacing:.5px; box-shadow:0 4px 10px rgba(10,23,48,.12); position:relative;}

.ev-article .art-ico::after{content:""; position:absolute; right:-4px; bottom:-4px; width:14px; height:14px; border-radius:50%; border:2px solid var(--white); background:#17a97a;}

.ev-article .art-body{flex:1; min-width:0;}

.ev-article .art-title{font-size:15px; font-weight:800; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5;}

.ev-article:hover .art-title{color:var(--primary);}

.ev-article .art-desc{font-size:12.5px; color:var(--text-mid); margin-top:6px; line-height:1.75; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

.ev-article .art-foot{display:flex; align-items:center; gap:6px; margin-top:10px; flex-wrap:nowrap;}

.ev-article .art-foot .art-date{margin-left:auto;}

.ev-side{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:22px; box-shadow:var(--shadow-sm); position:sticky; top:88px;}

.ev-side-head{font-size:15px; font-weight:800; color:var(--navy-2); margin-bottom:14px; letter-spacing:.5px;}

.ev-side-total{background:linear-gradient(135deg,#EDF3FB,#F5F8FD); border-radius:10px; padding:14px; margin-bottom:14px; text-align:center;}

.ev-st-num{font-family:var(--font-mono); font-size:24px; font-weight:800; color:var(--navy-2); letter-spacing:.5px;}

.ev-st-num i{font-style:normal; font-size:14px; color:var(--text-light); margin-left:3px; font-weight:600;}

.ev-st-sub{font-size:12px; color:var(--ink-2); margin-top:4px;}

.ev-side-list{display:flex; flex-direction:column;}

.ev-side-item{display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px dashed var(--line-soft, var(--line)); font-size:12.5px; cursor:pointer; transition:.15s;}

.ev-side-item:last-child{border-bottom:none;}

.ev-side-item:hover{color:var(--primary);}

.esi-dot{width:6px; height:6px; border-radius:50%; background:var(--blue); flex-shrink:0;}

.esi-name{flex:1; min-width:0; color:var(--ink); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.esi-time{font-family:var(--font-mono); font-size:11px; color:var(--text-light); flex-shrink:0;}

/* 榜单内融合事件库 · 补充样式 */
.rank-stats{margin-bottom:22px;}

.ev-side-item{flex-wrap:wrap;}

.esi-num{font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--ink-2); flex-shrink:0;}

.esi-bar{width:100%; height:5px; border-radius:3px; background:#eef1f7; overflow:hidden; margin-top:5px;}

.esi-bar i{display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,var(--blue),#7c5cff);}

.ev-side-head2{margin-top:20px; padding-top:16px; border-top:1px dashed var(--line-soft, var(--line));}

.ev-side-note{font-size:10.5px; color:var(--text-light); margin-top:14px; text-align:center; letter-spacing:.3px;}

.ev-articles-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:4px;}

.ev-al-title{display:flex; align-items:center; gap:8px; font-size:16px; font-weight:900; color:var(--navy-2); letter-spacing:.5px;}

.ev-al-badge{width:26px; height:26px; border-radius:8px; background:linear-gradient(140deg,var(--navy-3),#4c86ff); color:#fff; font-size:13px; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(10,23,48,.16);}


/* ---------- 创投知识库 / 商学院 ---------- */
.know-section{background:var(--bg);}

.know-header{background:radial-gradient(900px 420px at 50% 0%,rgba(43,108,184,.32),transparent 60%), linear-gradient(180deg,#0A2540 0%,var(--navy) 100%); color:#fff; padding:60px 0 36px;}

.know-eyebrow{color:#F0DCA8; letter-spacing:3px; font-size:12px; font-weight:600;}

.know-header h2{color:#fff; font-size:30px; font-weight:800; margin:10px 0 10px; letter-spacing:2px;}

.know-header p{color:#A8BCD9; max-width:680px; line-height:1.8; font-weight:300;}

.know-search{display:flex; align-items:center; gap:10px; max-width:680px; margin:22px auto 0; background:rgba(255,255,255,.97); border-radius:14px; padding:8px 8px 8px 18px; box-shadow:0 12px 30px rgba(0,0,0,.25);}

.know-search .ks-icon{font-size:16px; color:var(--text-light);}

.know-search input{flex:1; border:none; outline:none; background:transparent; font-size:14.5px; color:var(--ink); padding:14px 4px;}

.know-search button{border:none; border-radius:10px; padding:13px 28px; font-size:14.5px; font-weight:800; color:#fff; background:linear-gradient(120deg,var(--primary),#4c86ff); cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 4px 12px rgba(30,94,255,.35);}

.know-tabs{display:flex; gap:8px; margin:26px auto 0; max-width:680px; flex-wrap:wrap; justify-content:center;}

.ktab{display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#C8D8F0; padding:8px 18px; border-radius:100px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); cursor:pointer; transition:.15s; font-weight:600;}

.ktab:hover{background:rgba(255,255,255,.18); color:#fff;}

.ktab.active{background:var(--gold); border-color:var(--gold); color:#fff;}

.know-section-head{display:flex; justify-content:space-between; align-items:center; padding:32px 0 16px;}

.know-section-head h3{font-size:20px; font-weight:800; color:var(--navy-2); display:flex; align-items:center; gap:8px; letter-spacing:.5px;}

.know-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:980px){.know-grid{grid-template-columns:repeat(2,1fr);}}

.know-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:24px 22px 22px; box-shadow:var(--shadow-sm); transition:.25s; cursor:pointer; position:relative; overflow:hidden;}

.know-card::before{content:""; position:absolute; left:0; top:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold-l),var(--gold-deep)); transform:scaleX(0); transform-origin:left; transition:.4s;}

.know-card:hover::before{transform:scaleX(1);}

.know-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}

.kc-en{font-size:10.5px; font-weight:800; color:var(--gold-deep); letter-spacing:2px;}

.know-card h4{font-size:16px; font-weight:800; color:var(--navy-2); margin:8px 0 10px; letter-spacing:.5px;}

.know-card p{font-size:12.5px; color:var(--text-mid); line-height:1.85; font-weight:300;}

.path-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative;}
@media(max-width:980px){.path-grid{grid-template-columns:repeat(2,1fr);}}

.path-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:28px 22px 24px; text-align:center; box-shadow:var(--shadow-sm); transition:.25s; cursor:pointer; position:relative;}

.path-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}

.path-no{width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--navy-3),var(--blue)); color:#fff; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; box-shadow:0 6px 14px rgba(10,23,48,.16);}

.path-card h5{font-size:15px; font-weight:800; color:var(--navy-2); margin-bottom:6px;}

.path-card p{font-size:12px; color:var(--text-light); font-weight:300;}
@media(min-width:981px){
  .path-grid .path-card:not(:last-child)::after{content:"→"; position:absolute; right:-13px; top:50%; transform:translateY(-50%); color:var(--text-light); font-size:18px; font-weight:700;}
}


/* ---------- 精选案例 ---------- */
.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:980px){.case-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.case-grid{grid-template-columns:1fr;}}

.case-card{
  display:block; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md);
  padding:20px 20px 0; overflow:hidden; box-shadow:var(--shadow-sm);
  transition:box-shadow .2s, transform .2s, border-color .2s; cursor:pointer;
}

.case-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.cc-top{display:flex; align-items:center; gap:11px; margin-bottom:15px;}

.cc-avatar{
  width:40px; height:40px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:16px; font-weight:900;
}

.cc-store{font-size:14.5px; font-weight:800; color:var(--ink); line-height:1.4;}

.cc-where{font-size:11.5px; color:var(--text-light); margin-top:3px;}

.cc-plan{font-size:11.5px; color:var(--primary-dark); background:var(--primary-light); border-radius:6px; padding:4px 9px; display:inline-block; margin-bottom:14px; font-weight:600;}

.cc-quote{font-size:13px; color:var(--text-mid); line-height:1.8; padding-left:12px; border-left:2px solid var(--gold); margin-bottom:16px;}

.cc-metrics{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); margin:0 -20px; border-top:1px solid var(--line);}

.cc-metric{background:#fbfcfe; padding:13px 20px 14px;}

.cc-num{font-family:var(--font-mono); font-size:19px; font-weight:800; color:var(--primary-dark); letter-spacing:-.4px;}

.cc-num.up{color:#1a8f5e;}

.cc-label{font-size:11px; color:var(--text-light); margin-top:4px;}

.case-note{font-size:12px; color:var(--text-light); text-align:center; margin-top:20px;}


/* ---------- CTA + Footer ---------- */
.cta-band{
  color:#fff; position:relative;
}

.cta-band .cta-risk{font-size:11.5px; color:#6f83a6; margin-top:16px; position:relative; z-index:1; grid-column:1 / -1; text-align:center;}


/* 表单版 CTA */
.cta-form-band{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; text-align:left; padding:46px 6px;}

.cta-copy{position:relative; z-index:1;}

.cta-copy h2{font-size:32px; font-weight:900; letter-spacing:-.6px; line-height:1.3; margin-bottom:22px;}

.cta-copy h2 .hl{background:linear-gradient(100deg,#ffe6ac,var(--gold),#ffd98a); -webkit-background-clip:text; background-clip:text; color:transparent;}

.cta-quote{margin:0; padding:0; border-left:0; color:#a8bcdd;}

.cta-quote p{font-size:14px; line-height:1.95; margin:0 0 10px; color:#a8bcdd; position:relative; z-index:1;}

.cta-quote p::before{content:"›"; color:var(--gold); margin-right:10px; font-weight:800;}

.cta-quote .quote-end{font-size:15px; font-weight:800; color:#fff; margin-top:18px;}

.cta-quote .quote-end::before{content:""; margin-right:0;}

.cta-form-card{
  position:relative; z-index:1;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:20px; padding:32px;
  backdrop-filter:blur(14px);
  box-shadow:0 24px 60px rgba(0,0,0,.32);
}

.cf-title{font-size:20px; font-weight:900; color:#fff; letter-spacing:.2px;}

.cf-sub{font-size:13px; color:#9bb3da; margin:6px 0 22px;}

.cf-form{display:flex; flex-direction:column; gap:16px;}

.cf-field{display:flex; flex-direction:column; gap:7px;}

.cf-field span{font-size:12.5px; font-weight:700; color:#cfe0ff; letter-spacing:.4px;}

.cf-field input{
  width:100%; box-sizing:border-box;
  background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,0.12); border-radius:12px;
  padding:13px 15px; font-size:14px; color:#fff; outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
}

.cf-field input::placeholder{color:#6f83a6;}

.cf-field input:hover{border-color:rgba(255,255,255,0.22); background:rgba(0,0,0,.28);}

.cf-field input:focus{border-color:var(--gold); box-shadow:0 0 0 4px rgba(200,164,94,.18); background:rgba(0,0,0,.32);}

.cf-submit{
  width:100%; margin-top:6px; padding:15px 20px; border:none; border-radius:12px; cursor:pointer;
  background:linear-gradient(100deg,var(--gold),#d4a945 55%,#c8a45e); color:#0d1f42;
  font-size:15px; font-weight:900; letter-spacing:.5px;
  box-shadow:0 10px 26px rgba(200,164,94,.38), inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .2s, box-shadow .2s;
}

.cf-submit:hover{transform:translateY(-2px); box-shadow:0 14px 32px rgba(200,164,94,.48), inset 0 1px 0 rgba(255,255,255,.5);}

.cf-submit:active{transform:translateY(0);}
@media(max-width:900px){.cta-form-band{grid-template-columns:1fr; gap:34px; padding:30px 2px; text-align:center;} .cta-form-card{max-width:420px; margin:0 auto; width:100%;} .cta-quote p::before{display:none;}}

.footer{border-top:1px solid var(--line); padding:34px 0 30px; margin-top:42px;}

.footer .f-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:26px; margin-bottom:26px;}
@media(max-width:760px){.footer .f-grid{grid-template-columns:1fr 1fr;}}

.f-brand{display:flex; align-items:center; gap:10px; font-size:15px; font-weight:800; margin-bottom:12px;}

.f-brand .mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(140deg,#3a74ff,var(--primary),var(--primary-dark)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800;}

.f-desc{font-size:12.5px; color:var(--text-light); line-height:1.9; max-width:280px;}

.f-col h5{font-size:13px; font-weight:800; color:var(--ink); margin-bottom:12px;}

.f-col ul li{font-size:12.5px; color:var(--text-mid); padding:5px 0; cursor:pointer; transition:color .15s;}

.f-col ul li:hover{color:var(--primary);}

.f-col ul li a{color:inherit; text-decoration:none;}

.f-col ul li a:hover{color:var(--primary);}

.f-copy{border-top:1px solid var(--line); padding-top:18px; font-size:11.5px; color:var(--text-light); text-align:center; line-height:1.9;}

.toast{position:fixed; top:80px; left:50%; transform:translateX(-50%) translateY(-14px); background:var(--ink); color:#fff; padding:11px 22px; border-radius:10px; font-size:13px; opacity:0; pointer-events:none; transition:.3s; z-index:99999; box-shadow:var(--shadow-md);}

.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}


/* ---------- 实时行情快讯（金融基因注入） ---------- */
.ticker{
  display:flex; align-items:center; gap:14px;
  background:linear-gradient(90deg,#0d1f42,#123a7a);
  border:1px solid rgba(200,164,94,.35); border-radius:14px;
  padding:11px 14px 11px 16px; overflow:hidden; position:relative;
  box-shadow:0 10px 26px rgba(10,23,48,.16);
}

.ticker .tk-live{flex-shrink:0; display:flex; align-items:center; gap:7px; font-size:12px; font-weight:800; color:#ffd98a; letter-spacing:.5px; white-space:nowrap;}

.ticker .tk-live .live-dot{width:7px; height:7px; border-radius:50%; background:#ff5f5f; box-shadow:0 0 0 4px rgba(255,95,95,.2); animation:tk-blink 1.4s infinite;}

@keyframes tk-blink{0%,100%{opacity:1}50%{opacity:.35}}

.tk-track{display:flex; width:max-content; animation:tk-scroll 42s linear infinite; flex:1; overflow:hidden;}

.ticker:hover .tk-track{animation-play-state:paused;}

@keyframes tk-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.tk-item{display:flex; align-items:center; gap:7px; padding:0 20px; white-space:nowrap; font-size:12.5px; color:#cfe0ff; border-right:1px solid rgba(255,255,255,.1);}

.tk-item b{color:#fff; font-weight:700;}

.tk-item .tk-amt{font-family:var(--font-mono); font-weight:800;}

.tk-item .tk-up{color:#ff7b7b;}

.tk-item .tk-down{color:#3ecb9a;}

.tk-go{flex-shrink:0; font-size:12px; font-weight:800; color:#ffd98a; cursor:pointer; border-left:1px solid rgba(255,255,255,.14); padding-left:14px;}
@media(max-width:640px){.ticker{gap:8px; padding:10px 12px;} .tk-go{display:none;}}


/* 排行涨跌趋势（红涨绿跌） */
.tr{font-family:var(--font-mono); font-size:11px; font-weight:800; margin-left:auto; white-space:nowrap;}

.tr-up{color:var(--up);}

.tr-down{color:var(--down);}


/* 金色 CTA 按钮（品牌价值点贯穿） */
.btn-gold{
  background:linear-gradient(120deg,#e0b878,#c8a45e 55%,#d9b878); color:#0d1f42; font-size:13px; font-weight:800;
  padding:10px 20px; border-radius:9px; border:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 8px 20px rgba(200,164,94,.35);
  transition:transform .15s, box-shadow .15s; white-space:nowrap; margin-left:10px;
}

.btn-gold:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 10px 26px rgba(200,164,94,.5);}

.cta-btns{display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; position:relative; z-index:1;}
@media(max-width:560px){.btn-gold{margin-left:0;}}


/* ============================================================
   投资人库内页（天使 + 个人投资人统一检索）
   ============================================================ */
.lib-page{position:fixed; inset:0; z-index:1150; overflow-y:auto; display:none;
  background:radial-gradient(1000px 480px at 22% -100px, rgba(124,92,255,.07), transparent 65%),
    radial-gradient(900px 420px at 78% -60px, rgba(30,94,255,.06), transparent 70%),
    var(--bg);}

.lib-page.show{display:block; animation:invIn .3s ease-out;}

.lib-top{position:sticky; top:0; z-index:60; height:68px; display:flex; align-items:center;
  background:rgba(246,247,251,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}

.lib-top .wrap{display:flex; align-items:center; justify-content:space-between; width:100%;}

.lib-back{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--text-mid); cursor:pointer; transition:color .15s; background:none; border:none; font-family:inherit; padding:0;}

.lib-back::before{content:"‹"; font-size:20px; line-height:1; color:var(--primary); font-weight:800;}

.lib-back:hover{color:var(--primary);}

.lib-top-crumb{font-size:13px; color:var(--text-light);}

.lib-top-crumb b{color:var(--ink);}

.lib-hero{position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(720px 320px at 82% -50px, rgba(70,132,255,.42), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(200,164,94,.18), transparent 60%),
    linear-gradient(162deg,#0a1c3e 0%,#071228 100%);}

.lib-hero::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:56px 56px;}

.lib-hero .wrap{position:relative; z-index:1; padding:34px 24px 36px;}

.lib-head{display:flex; justify-content:space-between; gap:36px; align-items:flex-end;}

.lib-head-left{flex:1; min-width:0;}

.lib-head-left .eyebrow{color:#fff;}

.lib-head-left .eyebrow::before{background:var(--gold);}

.lib-head h1{font-size:32px; font-weight:900; letter-spacing:-.5px; line-height:1.2;}

.lib-head .lib-sub{font-size:13.5px; color:#a8bcdd; margin-top:10px; max-width:520px; line-height:1.85;}

/* 用户 2026-10-11：三个库头部的搜索框整体去掉（照原型 PC三库-去搜索-Demo.html）——
   .lib-search / .ls-icon 的规则随之删除，避免留下没有对应的死样式。 */

.lib-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; flex-shrink:0; min-width:560px;}

/* 数值行的目标高度 `--stat-value-h` = 23px × 1.2 = 27.6px。
   为什么要有这个变量：机构库第二格是**文字**（「早期 / 成长期」，15px），
   照 15px 的自然行高只有 19.5px，比数字行矮 8px —— 于是它下面那行标签
   （「主力阶段」）也跟着上移 8px，四格里只有它没对齐（实测 span.top 270.8 vs 278.9）。
   文字格靠 `min-height:var(--stat-value-h)` 占位来对齐。

   ⚠️ 数字行的 `line-height` **必须保持无单位数 1.2**，不能写成 `var(--stat-value-h)`：
   无单位数是**每级元素各自算**（`<i>家</i>` 是 12px → 14.4px），行盒正好 27.6px；
   一旦写成带单位的 27.6px，那个 12px 的 unit 也继承 27.6px 行高 —— 它的半行距更大，
   把行盒顶到 **31.6px**（实测 +4px，四格立刻不等高，卡片从 83 长到 87）。 */
.lib-stat{--stat-value-h:27.6px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:16px 18px; transition:border-color .2s, transform .2s;}

.lib-stat:hover{border-color:rgba(200,164,94,.4); transform:translateY(-2px);}

.lib-stat b{display:block; font-family:var(--font-mono); font-size:23px; font-weight:800; color:#fff; line-height:1.2;}

.lib-stat b i{font-style:normal; font-size:12px; color:var(--gold); margin-left:2px;}

/* ── 描述性文字的格子（机构库那格「主力阶段：早期 / 成长期」）──────────────────
   原型这几格都是**数字**（`¥4.5万亿` + 金色「万亿」），所以 `b` 是数字排版：
   等宽字体 + 23px/800。我们把它换成「主力阶段」这种文字之后，中文套在这套字号下
   又重又挤 —— 实测「早期 / 成长期」占掉 193px 格子的 80%。
   改法：文字走 `.txt` —— 正文字体 + 15px 的**纯文字**
   （用户 2026-09-23：「把边框和胶囊都去掉啊」）：不加底色、不加描边、不加圆角，
   只把阶段之间的那个斜杠做成淡金色当分隔，其余就是一行普通文字。
   高度上按 `--stat-value-h` 占位并垂直居中，这样它下面那行标签与另外三格齐平
   （用户 2026-09-23：「为啥不和另外三个卡片里的字对齐啊」）。 */
.lib-stat b.txt{display:flex; align-items:center; flex-wrap:wrap; min-height:var(--stat-value-h); font-family:inherit; font-size:15px; font-weight:700; letter-spacing:.2px; line-height:1.3; color:#fff;}
.lib-stat b.txt em{font-style:normal;}
.lib-stat b.txt i.sep{font-style:normal; margin:0 5px; color:rgba(200,164,94,.75); font-weight:600;}
/* 窄屏（.lib-stats 变两列）时再收一点，别把格子撑开 */
@media(max-width:640px){.lib-stat b.txt{font-size:13px;}}

.lib-stat span{font-size:11px; color:#8ea5c9; letter-spacing:.4px; display:block; margin-top:4px;}
@media(max-width:1080px){.lib-head{flex-direction:column; align-items:flex-start; gap:26px;} .lib-stats{min-width:0; width:100%;}}
@media(max-width:640px){.lib-stats{grid-template-columns:repeat(2,1fr);} .lib-head h1{font-size:26px;}}

.lib-body{padding:26px 0 90px;}

.lib-bar{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-sm); padding:16px 20px 14px; margin-bottom:22px; position:sticky; top:68px; z-index:55;}

.lib-tabs{display:flex; gap:8px; border-bottom:1px solid var(--line); padding-bottom:13px; flex-wrap:wrap;}

.lib-tab{font-size:13px; font-weight:700; color:var(--text-mid); padding:7px 16px; border-radius:100px; cursor:pointer; border:1px solid transparent; transition:.15s; background:transparent;}

.lib-tab:hover{color:var(--primary); background:var(--primary-light);}

.lib-tab.active{color:var(--primary-dark); background:var(--primary-light); border-color:#d8e4ff; box-shadow:inset 0 0 0 1px rgba(30,94,255,.08);}

.lib-tab .cnt{font-size:10.5px; font-weight:800; color:var(--text-light); background:#eef1f8; border-radius:8px; padding:1px 7px; margin-left:6px; font-family:var(--font-mono);}

.lib-tab.active .cnt{background:var(--primary); color:#fff;}

.lib-filters{display:flex; flex-direction:column; gap:8px; padding:13px 0 10px;}

.lib-frow{display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap;}

.lib-frow .lf-label{font-size:11px; font-weight:800; color:var(--text-light); letter-spacing:1px; padding-top:7px; flex-shrink:0; width:38px;}

.lib-chips{display:flex; gap:6px; flex-wrap:wrap;}

.lib-chip{font-size:12px; font-weight:600; color:var(--text-mid); padding:5px 13px; border-radius:100px; cursor:pointer; border:1px solid var(--line); background:#fafbfe; transition:.15s;}

.lib-chip:hover{border-color:#c7d7fb; color:var(--primary-dark);}

.lib-chip.active{color:var(--primary-dark); background:var(--primary-light); border-color:#d8e4ff; font-weight:700;}

/* ── 机构库三档筛选（全部 / 热门 / 精品推荐，用户 2026-09-23）──────────────────
   原来用通用 `.lib-frow` + `.lf-label`「筛选」占一整行，字号 11px，下面计数行再占一行；
   排序删掉后右边全空，整条 bar 显得又高又空。改成一行：胶囊靠左 + 计数靠右，
   并把「精品推荐」用金色强调（与 .tl-badge / .ac-badge 同一套观感）。
   注意 `.lib-chip` 是通用件（资讯标签等也在用），所以只在自己的 .inst-picks 作用域里改。 */
.inst-picks{gap:8px; align-items:center;}
.inst-picks .lib-chip{display:inline-flex; align-items:center; gap:6px; padding:7px 15px; font-size:12.5px; background:#fff; letter-spacing:.2px;}
.inst-picks .lib-chip .cnt{font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--text-light);}
.inst-picks .lib-chip.active:not(.gold){background:linear-gradient(120deg,var(--primary),#4c86ff); border-color:transparent; color:#fff; box-shadow:0 4px 12px rgba(30,94,255,.22);}
.inst-picks .lib-chip.active:not(.gold) .cnt{color:rgba(255,255,255,.82);}
.inst-picks .lib-chip.gold{border-color:rgba(200,164,94,.4); background:rgba(200,164,94,.07); color:var(--gold-deep);}
.inst-picks .lib-chip.gold .cnt{color:rgba(168,132,63,.75);}
.inst-picks .lib-chip.gold:hover{border-color:rgba(200,164,94,.7);}
.inst-picks .lib-chip.gold.active{background:linear-gradient(120deg,var(--gold),#e0b878); border-color:transparent; color:#3c2c08; box-shadow:0 4px 12px rgba(200,164,94,.28);}
.inst-picks .lib-chip.gold.active .cnt{color:rgba(60,44,8,.66);}

.lib-bar-foot{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;}

.lib-count{font-size:12.5px; color:var(--text-light);}

.lib-count b{color:var(--primary-dark); font-family:var(--font-mono); font-size:14px;}

.lib-sort{display:flex; align-items:center; gap:8px;}

.lib-sort span{font-size:12px; color:var(--text-light);}

.lib-sort select{font-family:inherit; font-size:12.5px; font-weight:600; color:var(--ink); border:1px solid var(--line); border-radius:9px; padding:7px 28px 7px 12px; background:#fff; cursor:pointer; outline:none; appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--text-light) 50%),linear-gradient(135deg,var(--text-light) 50%,transparent 50%); background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%; background-size:5px 5px; background-repeat:no-repeat;}

.lib-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; min-width:0;}
@media(max-width:1080px){.lib-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.lib-grid{grid-template-columns:1fr;} .lib-bar{position:static;}}

.lib-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:20px 20px 16px; box-shadow:var(--shadow-sm); cursor:pointer; display:flex; flex-direction:column; min-width:0; overflow:hidden; transition:box-shadow .2s, transform .2s, border-color .2s;}

.lib-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.lc-top{display:flex; align-items:center; gap:12px;}

.lc-ava{width:50px; height:50px; border-radius:15px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:19px; font-weight:900; box-shadow:0 6px 14px rgba(10,23,48,.16), inset 0 1px 0 rgba(255,255,255,.3);}

.lc-main{flex:1; min-width:0;}

.lc-name{font-size:15.5px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:7px; white-space:nowrap; overflow:hidden;}

.lc-name .cert{font-size:10px; font-weight:700; color:#0f7a4f; background:#e6f6ef; padding:1px 7px; border-radius:5px; flex-shrink:0;}

.lc-en{font-size:10.5px; color:var(--text-light); font-family:var(--font-mono); letter-spacing:.6px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.lc-type{flex-shrink:0; font-size:10.5px; font-weight:800; color:#8a6a20; background:var(--gold-light); border:1px solid #f0e0bd; padding:3px 10px; border-radius:100px; white-space:nowrap;}

.lc-type.blue{color:var(--primary-dark); background:var(--primary-light); border-color:#d8e4ff;}

.lc-type.green{color:#0f7a4f; background:#e6f6ef; border-color:#c9ecdd;}

.lc-type.purple{color:#5b3fd6; background:#f0edff; border-color:#ddd6fb;}

.lc-type.red{color:#b3472f; background:#fff0ec; border-color:#f6d9cf;}

.lc-meta{font-size:12px; color:var(--text-light); margin-top:10px; letter-spacing:.3px; overflow-wrap:anywhere; word-break:break-word;}

.lc-desc{overflow-wrap:anywhere; word-break:break-word;}

.lc-chips{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; min-height:24px;}

.lc-chip{font-size:11px; font-weight:600; color:var(--text-mid); background:#f4f6fb; border:1px solid var(--line); padding:3px 10px; border-radius:7px;}

.lc-stats{display:flex; border-top:1px solid var(--line); margin-top:14px; padding-top:13px;}

.lc-stats div{flex:1; text-align:center; position:relative;}

.lc-stats div+div::before{content:""; position:absolute; left:0; top:3px; bottom:3px; width:1px; background:var(--line);}

.lc-stats b{display:block; font-family:var(--font-mono); font-size:15px; font-weight:800; color:var(--ink); line-height:1.3;}

.lc-stats b.match{color:var(--primary);}

.lc-stats span{font-size:10px; color:var(--text-light); letter-spacing:.6px;}

.lc-foot{display:flex; gap:9px; margin-top:14px;}

/* 自 2026-09-21 起公开站的卡片统一用 `.ilib-card`（首页预览与库内页同一份），
   `.lc-btn` 已无人生成（工作台那套 `.lc-*` 用的是 `.fav-btn` / `.btn`），
   所以这几条连同 P2-1 补的 `.on` 一起删掉。 */

.lib-more{display:flex; justify-content:center; margin-top:26px;}

.lib-more button{padding:12px 46px; border-radius:11px; border:1px solid #d8e4ff; background:var(--primary-light); color:var(--primary-dark); font-size:13.5px; font-weight:800; cursor:pointer; transition:.15s;}

.lib-more button:hover{background:var(--primary); color:#fff; border-color:var(--primary); transform:translateY(-1px); box-shadow:0 8px 20px rgba(30,94,255,.3);}

.lib-empty{display:none; text-align:center; padding:60px 20px; color:var(--text-light);}

.lib-empty .le-ico{font-size:34px; margin-bottom:10px;}

.lib-empty b{color:var(--ink); font-size:15px; display:block; margin-bottom:6px;}

.lib-foot-cta{position:relative; margin-top:40px; border-radius:20px; overflow:hidden; color:#fff; padding:34px 40px;
  background:radial-gradient(600px 240px at 82% -40px, rgba(70,132,255,.45), transparent 60%), linear-gradient(150deg,#0a1c3e 0%,#071228 100%);}

.lib-foot-cta::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px;}

.lib-foot-cta .wrap-in{position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:22px; flex-wrap:wrap;}

.lib-foot-cta h3{font-size:20px; font-weight:900;}

.lib-foot-cta p{font-size:12.5px; color:#a8bcdd; margin-top:8px; max-width:520px; line-height:1.8;}

.lib-foot-cta button{background:linear-gradient(120deg,var(--gold),#e0b878); color:#0a1730; border:none; padding:13px 34px; border-radius:11px; font-size:13.5px; font-weight:800; cursor:pointer; box-shadow:0 8px 22px rgba(200,164,94,.4); transition:transform .15s;}

.lib-foot-cta button:hover{transform:translateY(-2px);}
@media(max-width:640px){.lib-foot-cta{padding:26px 22px;}}

/* ===== 内页 Hero 变体 ===== */
.lib-hero.pj-hero{background:radial-gradient(720px 320px at 82% -50px, rgba(124,92,255,.4), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(30,94,255,.18), transparent 60%),
    linear-gradient(162deg,#101a3c 0%,#0a1028 100%);}

.lib-hero.news-hero{background:radial-gradient(720px 320px at 82% -50px, rgba(15,122,79,.4), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(30,94,255,.16), transparent 60%),
    linear-gradient(162deg,#0a2a24 0%,#07171c 100%);}

.lib-hero.rank-hero{background:radial-gradient(720px 320px at 82% -50px, rgba(200,164,94,.35), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(124,92,255,.16), transparent 60%),
    linear-gradient(162deg,#231c0e 0%,#100c06 100%);}

.lib-hero.deal-hero{background:radial-gradient(720px 320px at 82% -50px, rgba(255,95,54,.38), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(30,94,255,.16), transparent 60%),
    linear-gradient(162deg,#2a1410 0%,#120a08 100%);}

.lib-hero.tool-hero{background:radial-gradient(720px 320px at 82% -50px, rgba(124,92,255,.4), transparent 62%),
    radial-gradient(520px 280px at 4% 112%, rgba(200,164,94,.18), transparent 60%),
    linear-gradient(162deg,#171233 0%,#0b0918 100%);}

/* ===== 项目详情 ===== */
.pj-desc-cover{display:flex; align-items:center; gap:16px; margin:18px 0 4px;}

.pj-desc-ava{width:64px; height:64px; border-radius:18px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; font-weight:900; box-shadow:0 8px 18px rgba(10,23,48,.18), inset 0 1px 0 rgba(255,255,255,.3);}

.pj-desc-name{font-size:21px; font-weight:900; color:var(--ink);}

.pj-desc-sub{font-size:12.5px; color:var(--text-light); margin-top:5px;}

.pj-progress{height:8px; border-radius:99px; background:#eef1f8; overflow:hidden; margin-top:14px;}

.pj-progress i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--primary),#4c86ff);}

.pj-prog-meta{display:flex; justify-content:space-between; font-size:11px; color:var(--text-light); margin-top:7px;}

.pj-prog-meta b{color:var(--primary-dark); font-family:var(--font-mono);}

/* ===== 文章阅读 ===== */
.news-cover{padding:0 0 26px; border-bottom:1px solid var(--line); margin-bottom:26px;}

.news-cover h2{font-size:25px; line-height:1.5;}

.news-body p{font-size:14px; color:var(--text-mid); line-height:2.05; margin-bottom:16px; text-align:justify;}

.news-body h4{font-size:15px; font-weight:800; color:var(--ink); margin:24px 0 10px; display:flex; align-items:center; gap:8px;}

.news-body h4::before{content:""; width:4px; height:13px; border-radius:2px; background:linear-gradient(180deg,var(--gold),#e0b878);}

.news-qa{background:#f7f9fe; border:1px solid var(--line); border-radius:12px; padding:14px 18px; font-size:13px; color:var(--text-mid); line-height:1.9;}

/* ===== 榜单大列表 ===== */
.rank-list{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-sm); overflow:hidden;}

.rl-item{display:flex; align-items:center; gap:16px; padding:15px 22px; border-bottom:1px solid #f0f3f9; cursor:pointer; transition:background .15s;}

.rl-item:last-child{border-bottom:none;}

.rl-item:hover{background:#f6f9ff;}

.rl-no{width:30px; height:30px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:13px; font-weight:800; background:#f1f4fa; color:var(--text-mid);}

.rl-item.top1 .rl-no{background:linear-gradient(140deg,#ff8a4c,#ff5f36); color:#fff; box-shadow:0 4px 10px rgba(255,95,54,.35);}

.rl-item.top2 .rl-no{background:linear-gradient(140deg,#c8a45e,#e0b878); color:#fff;}

.rl-item.top3 .rl-no{background:linear-gradient(140deg,#8ea5c9,#a9bcd8); color:#fff;}

.rl-main{flex:1; min-width:0;}

.rl-name{font-size:14.5px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:8px; flex-wrap:wrap;}

.rl-name .rl-tag{font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:100px; background:var(--primary-light); color:var(--primary-dark); border:1px solid #d8e4ff;}

.rl-name .rl-tag.gold{background:var(--gold-light); color:#8a6a20; border-color:#f0e0bd;}

.rl-name .rl-tag.green{background:#e6f6ef; color:#0f7a4f; border-color:#c9ecdd;}

.rl-sub{font-size:12px; color:var(--text-light); margin-top:4px; display:flex; gap:10px; flex-wrap:wrap;}

.rl-sub b{color:var(--ink); font-weight:700;}

.rl-right{text-align:right; flex-shrink:0;}

.rl-amt{font-family:var(--font-mono); font-size:15px; font-weight:800; color:var(--ink);}

.rl-amt i{font-style:normal; font-size:11px; color:var(--text-light);}

.rl-tr{font-size:11px; font-weight:700; margin-top:3px;}

.rl-tr.up{color:#d64545;}

.rl-tr.down{color:#0f7a4f;}

.rl-meta{font-size:11px; color:var(--text-light); margin-top:3px; font-family:var(--font-mono);}
@media(max-width:640px){.rl-item{padding:13px 14px; gap:12px;} .rl-right{display:none;}}

/* ===== 合作库卡片 ===== */
.deal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:1080px){.deal-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.deal-grid{grid-template-columns:1fr;}}

.deal-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:20px; box-shadow:var(--shadow-sm); cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s, border-color .2s;}

.deal-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.dc-top{display:flex; align-items:center; gap:12px;}

.dc-ava{width:46px; height:46px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; font-weight:900; box-shadow:0 6px 14px rgba(10,23,48,.15), inset 0 1px 0 rgba(255,255,255,.3);}

.dc-main{flex:1; min-width:0;}

.dc-name{font-size:14.5px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.dc-sub{font-size:11.5px; color:var(--text-light); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.dc-type{flex-shrink:0; font-size:10.5px; font-weight:800; color:#8a6a20; background:var(--gold-light); border:1px solid #f0e0bd; padding:3px 10px; border-radius:100px;}

.dc-type.blue{color:var(--primary-dark); background:var(--primary-light); border-color:#d8e4ff;}

.dc-type.green{color:#0f7a4f; background:#e6f6ef; border-color:#c9ecdd;}

.dc-type.purple{color:#5b3fd6; background:#f0edff; border-color:#ddd6fb;}

.dc-type.red{color:#b3472f; background:#fff0ec; border-color:#f6d9cf;}

.dc-quote{font-size:12.5px; color:var(--text-mid); line-height:1.85; margin-top:13px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}

.dc-metrics{display:flex; gap:8px; margin-top:14px; flex-wrap:wrap;}

.dc-metric{flex:1; min-width:70px; background:#f7f9fe; border:1px solid var(--line); border-radius:10px; padding:9px 10px; text-align:center;}

.dc-metric b{display:block; font-family:var(--font-mono); font-size:14px; font-weight:800; color:var(--ink);}

.dc-metric b.up{color:var(--primary);}

.dc-metric span{font-size:10px; color:var(--text-light); margin-top:3px; display:block;}

.dc-tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:13px;}

.dc-tag{font-size:11px; font-weight:600; color:var(--text-mid); background:#f4f6fb; border:1px solid var(--line); padding:3px 9px; border-radius:7px;}

.dc-foot{display:flex; gap:9px; margin-top:15px; border-top:1px dashed var(--line); padding-top:14px;}

.dc-btn{flex:1; padding:9px 0; border-radius:9px; font-size:12.5px; font-weight:700; cursor:pointer; transition:.15s; border:1px solid var(--line); background:#fff; color:var(--text-mid);}

.dc-btn:hover{border-color:#c7d7fb; color:var(--primary-dark); background:var(--primary-light);}

.dc-btn.solid{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff; border-color:transparent; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 5px 12px rgba(30,94,255,.25);}

.dc-btn.solid:hover{transform:translateY(-1px);}

/* ===== 智能工具大卡 ===== */
.tool-grid-lg{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:1080px){.tool-grid-lg{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.tool-grid-lg{grid-template-columns:1fr;}}

.tool-lg{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:22px; box-shadow:var(--shadow-sm); cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s, border-color .2s; position:relative; overflow:hidden;}

.tool-lg::after{content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%; background:var(--glow, rgba(30,94,255,.07)); pointer-events:none;}

.tool-lg:hover{box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#c7d7fb;}

.tl-top{display:flex; align-items:center; gap:12px;}

.tl-icon{width:48px; height:48px; border-radius:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; box-shadow:0 6px 14px rgba(10,23,48,.15), inset 0 1px 0 rgba(255,255,255,.3);}

.tl-icon svg{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.tl-name{font-size:15.5px; font-weight:800; color:var(--ink);}

.tl-en{font-size:10.5px; color:var(--text-light); font-family:var(--font-mono); letter-spacing:.5px; margin-top:3px;}

.tl-badge{margin-left:auto; flex-shrink:0; font-size:10px; font-weight:800; padding:3px 10px; border-radius:100px; background:linear-gradient(120deg,var(--gold),#e0b878); color:#0a1730;}

.tl-badge.pro{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff;}

.tl-desc{font-size:12.5px; color:var(--text-mid); line-height:1.85; margin-top:13px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}

.tl-points{display:flex; gap:6px; flex-wrap:wrap; margin-top:13px;}

.tl-point{font-size:11px; font-weight:600; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:3px 10px; border-radius:100px;}

.tl-point.green{color:#0f7a4f; background:#e6f6ef; border-color:#c9ecdd;}

.tl-point.gold{color:#8a6a20; background:var(--gold-light); border-color:#f0e0bd;}

.tl-point.purple{color:#5b3fd6; background:#f0edff; border-color:#ddd6fb;}

.tl-foot{display:flex; justify-content:space-between; align-items:center; margin-top:16px; border-top:1px dashed var(--line); padding-top:14px;}

.tl-uses{font-size:11px; color:var(--text-light);}

.tl-uses b{color:var(--ink); font-family:var(--font-mono);}

.tl-go{font-size:12.5px; font-weight:800; color:var(--primary); cursor:pointer; transition:.15s;}

.tl-go:hover{color:var(--primary-dark);}

.tool-intro{display:flex; gap:12px; margin:18px 0 26px; flex-wrap:wrap;}

.tool-intro .ti{flex:1; min-width:150px; background:#f7f9fe; border:1px solid var(--line); border-radius:12px; padding:13px 16px; display:flex; align-items:center; gap:11px;}

.ti-ico{width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:17px; background:var(--primary-light); flex-shrink:0;}

.ti b{font-size:13.5px; font-weight:800; color:var(--ink); display:block;}

.ti span{font-size:11px; color:var(--text-light); margin-top:2px; display:block;}


/* ===== 登录 / 注册弹窗 ===== */
.auth-modal-mask{position:fixed;inset:0;z-index:9999;background:rgba(13,25,48,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease;}

.auth-modal-mask.show{opacity:1;pointer-events:auto;}

.auth-modal{width:100%;max-width:380px;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(13,25,48,.28);padding:28px 28px 24px;position:relative;transform:translateY(10px);transition:transform .18s ease;}

.auth-modal-mask.show .auth-modal{transform:translateY(0);}

.am-close{position:absolute;top:14px;right:16px;border:none;background:none;font-size:20px;color:#9aa7bd;cursor:pointer;line-height:1;padding:4px;}

.am-close:hover{color:#1E5EFF;}

.am-tabs{display:flex;gap:18px;margin-bottom:20px;border-bottom:1px solid #eef1f6;padding-bottom:12px;}

.am-tab{font-size:16px;font-weight:700;color:#9aa7bd;cursor:pointer;position:relative;padding-bottom:12px;margin-bottom:-12px;}

.am-tab.active{color:#0d1f42;}

.am-tab.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1E5EFF;border-radius:2px;}

.auth-modal form input,.auth-modal form select{width:100%;box-sizing:border-box;height:44px;border:1px solid #e3e8f0;border-radius:10px;padding:0 14px;font-size:14px;color:#0d1f42;background:#fafbfd;margin-bottom:12px;outline:none;font-family:inherit;}

.auth-modal form input:focus,.auth-modal form select:focus{border-color:#1E5EFF;background:#fff;}

/* C11 发布项目弹窗：带标签的字段与多行输入 */
.auth-modal .am-field{margin-bottom:12px;text-align:left;}

.auth-modal .am-field label{display:block;font-size:12px;font-weight:700;color:#4c586b;margin-bottom:6px;}

.auth-modal .am-field input{margin-bottom:0;}

.auth-modal form textarea{width:100%;box-sizing:border-box;border:1px solid #e3e8f0;border-radius:10px;padding:11px 14px;font-size:14px;line-height:1.7;color:#0d1f42;background:#fafbfd;outline:none;font-family:inherit;resize:vertical;}

.auth-modal form textarea:focus{border-color:#1E5EFF;background:#fff;}

.am-code-row{display:flex;gap:8px;}

.am-code-row input{flex:1;}

.am-code-btn{flex-shrink:0;height:44px;padding:0 14px;border:1px solid #1E5EFF;color:#1E5EFF;background:#fff;border-radius:10px;font-size:13px;cursor:pointer;white-space:nowrap;}

.am-code-btn:disabled{opacity:.55;cursor:not-allowed;}

.am-submit{width:100%;height:44px;border:none;border-radius:10px;background:linear-gradient(140deg,#1E5EFF,#3a74ff);color:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;}

.am-submit:disabled{opacity:.6;cursor:not-allowed;}

.am-alt{font-size:12.5px;color:#9aa7bd;text-align:center;margin-top:14px;}

.am-alt a{color:#1E5EFF;text-decoration:none;margin:0 4px;}



/* ============================================================
   公开站样式 · 从原型 01-PC端.html 对齐
   原型 pc.css 前段（首页 + 投资人库内页）逐条比对后补齐；
   本节为追加覆盖：同优先级下后出现者生效。
   ============================================================ */
:root{--primary:#1E5EFF;--primary-dark:#123ea8;--primary-light:#eaf0ff;--ink:#0a1730;--ink-2:#0d1f42;--gold:#c8a45e;--gold-deep:#a8843f;--gold-light:#f7f0e2;--bg:#f6f7fb;--white:#ffffff;--line:#e8ecf5;--text-mid:#4c586b;--text-light:#8993a8;--r-lg:24px;--r-md:16px;--r-sm:10px;--font-ui:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","JetBrains Mono",Consolas,monospace;--shadow-sm:0 1px 2px rgba(10,23,48,0.04), 0 1px 1px rgba(10,23,48,0.03);--shadow-md:0 2px 6px rgba(10,23,48,0.05), 0 14px 34px rgba(10,23,48,0.07);--shadow-lift:0 4px 12px rgba(10,23,48,0.06), 0 20px 44px rgba(30,94,255,0.12);--up:#e04b4b; --down:#1fa97c;}

.nav.on-hero .brand .mark{background:#fff; box-shadow:inset 0 0 0 1px rgba(30,94,255,.18);}

.brand .mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(140deg,#eaf1ff,#d8e6ff); display:flex; align-items:center; justify-content:center; font-size:14px; color:#1E5EFF; font-weight:900; box-shadow:inset 0 0 0 1px rgba(30,94,255,.15), 0 3px 8px rgba(30,94,255,.12);}

.plib-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:1100px){.plib-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.plib-grid{grid-template-columns:1fr;}}

.plib-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-md);padding:24px 24px 20px; box-shadow:var(--shadow-sm); cursor:pointer;transition:box-shadow .2s, transform .2s, border-color .2s; display:flex; flex-direction:column;position:relative;}

.pin-tag{position:absolute; top:14px; right:14px; font-size:10px; font-weight:800; color:#8a6a20; background:linear-gradient(120deg,#f7e6bd,#f2d68a); border:1px solid #e8cf94; padding:2px 8px; border-radius:6px; letter-spacing:1px; z-index:1;}

.pin-tag.top{background:linear-gradient(120deg,#c8a45e,#e0b878); color:#fff; border-color:#c8a45e;}

.plib-top{display:flex; align-items:center; gap:14px; margin-bottom:15px;}

.plib-logo{width:54px; height:54px; border-radius:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center;color:#fff; font-size:22px; font-weight:800; box-shadow:0 6px 14px rgba(10,23,48,0.16);}

.plib-name{font-size:17px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:6px; line-height:1.4;}

.plib-meta{font-size:12.5px; color:var(--text-light); margin-top:4px; letter-spacing:.3px;}

.plib-desc{font-size:13px; color:var(--text-mid); line-height:1.7; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px;}

.plib-tags{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}

.plib-tags span{font-size:12px; color:var(--primary-dark); background:var(--primary-light); padding:3px 10px; border-radius:6px; font-weight:600;}

.plib-foot{display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; border-top:1px solid var(--line); padding-top:15px; margin-top:auto; gap:12px;}

.plib-foot > div{display:flex; flex-direction:column; gap:4px; min-width:0;}

.plbl{font-size:11px; color:var(--text-light); letter-spacing:.5px; font-weight:500;}

.plbv{font-family:var(--font-mono); font-size:16px; font-weight:800; white-space:nowrap; color:var(--ink);}

.plbv.gold{color:#a87a25; font-size:17px;}

.plib-badges{position:absolute; top:18px; right:18px; display:flex; gap:6px; z-index:2;}

.plib-badge-top{font-size:10px; font-weight:800; color:#fff; background:linear-gradient(120deg,#c8a45e,#e0b878); padding:2px 8px; border-radius:5px; letter-spacing:.5px;}

.plib-badge-bp{font-size:10px; font-weight:800; color:#5b3a8e; background:#ece5ff; border:1px solid #d8caff; padding:2px 8px; border-radius:5px;}

.plib-badge-rnd{font-size:10px; font-weight:700; color:var(--primary-dark); background:var(--primary-light); padding:2px 8px; border-radius:5px;}

.plib-actions{display:flex; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line);}

.plib-btn{flex:1; padding:9px 0; border-radius:9px; font-size:13px; font-weight:700; cursor:pointer; transition:.15s; font-family:inherit; letter-spacing:.3px;}

.plib-btn-ghost{color:var(--primary-dark); background:var(--white); border:1px solid var(--line);}

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

.plib-btn-ghost.on{color:#c0392b; border-color:#f3c8c0; background:#fef2f0;}

.plib-btn-solid{color:#fff; background:linear-gradient(120deg,var(--primary),#4c86ff); border:1px solid transparent; box-shadow:inset 0 1px 0 rgba(255,255,255,.22);}

.plib-btn-solid:hover{background:var(--primary-dark);}

/* ============================================================
   项目卡片/详情新版（用户 2026-09-21，照原型 index(14).html + 项目卡片详情-Demo(2).html 定稿）
   · 卡片只留 6 个可采集字段，底部三格「融资金额 / 出让股权 / 热度」去掉，
     换成一行「地区 + 成立」+ 两个按钮（♡ 收藏 / 查看档案）；
   · 详情只留 6 个字段 + BP 三态，**联系方式整块取消**（Demo(2)：「只展现 6 个可采集字段」）。
   规则逐字取自原型，别自行发挥。
   ============================================================ */
.pj-card-meta{display:flex; gap:16px; font-size:12px; color:var(--text-light); padding-top:13px; border-top:1px dashed var(--line); margin-bottom:14px;}
.pj-card-meta .mi{display:inline-flex; align-items:center; gap:5px;}
.pj-card-meta .mi svg{width:13px; height:13px; flex-shrink:0;}
.pj-card-meta b{color:var(--ink); font-weight:700; margin-right:0;}
.pj-card-actions{display:flex; gap:6px; margin-top:auto;}
.pj-fav-btn{flex:1; display:flex; align-items:center; justify-content:center; padding:9px 0; border-radius:9px; font-size:12.5px; font-weight:700; color:var(--primary-dark); background:var(--white); border:1px solid var(--line); cursor:pointer; transition:.15s; font-family:inherit; letter-spacing:.3px; white-space:nowrap;}
.pj-fav-btn:hover{border-color:var(--primary); background:var(--primary-light);}
.pj-fav-btn.on{color:#c0392b; border-color:#f3c8c0; background:#fef2f0;}
.pj-view-btn{flex:1; display:flex; align-items:center; justify-content:center; padding:9px 0; border-radius:9px; font-size:12.5px; font-weight:700; color:#fff; background:var(--primary); border:1px solid var(--primary); cursor:pointer; transition:.15s; font-family:inherit; letter-spacing:.3px;}
.pj-view-btn:hover{background:var(--primary-dark); border-color:var(--primary-dark);}

/* 项目详情：头部 + 6 字段 */
.pd-head{padding-bottom:20px; border-bottom:1px solid var(--line);}
.pd-head-row{display:flex; gap:18px; align-items:flex-start;}
.pd-ava{width:60px; height:60px; border-radius:15px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:25px; font-weight:900; box-shadow:0 8px 18px rgba(10,23,48,.18);}
.pd-head-main{flex:1; min-width:0;}
.pd-head-top{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.pd-name{font-size:21px; font-weight:900; letter-spacing:-.3px; color:var(--ink);}
.pd-stage{flex-shrink:0; font-size:11.5px; font-weight:700; color:#a8843f; background:var(--gold-light); border:1px solid #f0e0bd; padding:3px 12px; border-radius:12px;}
.pd-slogan{font-size:13px; color:var(--text-mid); line-height:1.7; margin-top:8px;}
.pd-tags{display:flex; gap:7px; margin-top:12px; flex-wrap:wrap;}
.pd-tag{font-size:11.5px; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:2px 10px; border-radius:6px;}
.pd-sec{margin-top:22px;}
.pd-sec-title{display:flex; align-items:center; gap:9px; margin-bottom:14px;}
.pd-sec-title .ico{width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#fdf3d9,#fbe4b1); color:#8a6a20; flex-shrink:0;}
.pd-sec-title .ico svg{width:13px; height:13px; stroke-width:1.8;}
.pd-sec-title span{font-size:14.5px; font-weight:900; letter-spacing:-.1px; color:var(--ink);}
.pd-kv{display:flex; align-items:flex-start; padding:11px 0; border-bottom:1px dashed var(--line);}
.pd-kv:last-child{border-bottom:none;}
.pd-kv .lab{font-size:12px; color:var(--text-light); flex-shrink:0; width:96px; line-height:1.9; letter-spacing:.5px;}
.pd-kv .val{font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.7; flex:1; min-width:0;}
.pd-kv .val .chip{display:inline-block; font-size:11.5px; font-weight:700; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:2px 10px; border-radius:6px; margin:0 6px 6px 0;}
.pd-kv .val .stage{display:inline-block; font-size:12px; font-weight:700; color:#a8843f; background:var(--gold-light); border:1px solid #f0e0bd; padding:2px 12px; border-radius:10px;}

/* BP 三态（未登录 / 免费 / 会员） */
.bp-empty{display:flex; align-items:center; gap:12px; padding:16px 18px; border:1.5px dashed #d9dfeb; border-radius:12px; color:var(--text-light); font-size:13px; background:#fbfcfe;}
.bp-empty svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}
.bp-file{display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fafbfe;}
.bf-ico{width:42px; height:48px; border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; font-size:9px; font-weight:800; letter-spacing:.5px; flex-shrink:0; background:linear-gradient(160deg,#e0554e,#c0392b); box-shadow:0 4px 10px rgba(192,57,43,.22);}
.bf-ico::after{content:"PDF"; font-size:8px; opacity:.9; margin-top:2px;}
.bf-main{flex:1; min-width:0;}
.bf-main b{display:block; font-size:13.5px; font-weight:800; color:var(--ink); word-break:break-all;}
.bf-main span{font-size:11.5px; color:var(--text-light);}
.bp-dl{flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:800; padding:9px 16px; border-radius:8px; border:none; cursor:pointer; transition:.15s; font-family:inherit; background:linear-gradient(120deg,#c8a45e,#e0b878); color:#fff; box-shadow:0 4px 12px rgba(200,164,94,.28);}
.bp-dl svg{width:14px; height:14px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.bp-dl.locked{background:#f1f3f6; color:var(--text-mid); box-shadow:none; border:1px solid var(--line);}
.bp-dl.locked svg{stroke:#a8843f;}

.pj-bp{display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fafbfe; cursor:pointer; transition:.15s;}

.pj-bp:hover{border-color:#c7d7fb; background:var(--primary-light);}

.pj-bp .bp-ico{width:42px; height:42px; border-radius:10px; background:linear-gradient(135deg,#eaf1ff,#d3e1ff); color:var(--primary-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.pj-bp .bp-ico svg{width:20px; height:20px; stroke-width:1.8;}

.pj-bp .bp-info{flex:1; min-width:0;}

.pj-bp .bp-info b{display:block; font-size:13.5px; font-weight:800; color:var(--ink); margin-bottom:3px;}

.pj-bp .bp-info span{font-size:11.5px; color:var(--text-light);}

.pj-bp .bp-arrow{font-size:20px; color:var(--text-light); font-weight:800;}

.ilib-meta{font-size:11.5px; color:var(--text-light); margin:4px 0 12px; letter-spacing:.3px;}

/* 机构卡片统计格：照原型 index(13).html:539 是两列（地区 / 成立时间）；
   原型的「管理规模」格已于 2026-09-20 按用户口径去掉 */
.ilib-data{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px dashed var(--line); padding-top:12px; margin-bottom:14px;}

.ilib-data > div{position:relative; padding:0 8px; text-align:left;}

.ilib-data > div + div::before{content:""; position:absolute; left:0; top:3px; bottom:3px; width:2px; border-radius:2px; background:linear-gradient(180deg,var(--primary),transparent);}

.ilib-data b{display:block; font-family:var(--font-mono); font-size:13px; font-weight:600; color:var(--ink); line-height:1.3; white-space:nowrap; letter-spacing:0;}

.ilib-data b i{font-style:normal; font-size:10px; color:#a87a25; font-weight:600; margin-left:2px; letter-spacing:0;}

.ilib-data span{display:block; font-size:10px; color:var(--text-light); margin-top:3px; letter-spacing:.5px;}

.ilib-badge{font-size:10px; font-weight:700; color:#8a6a20; background:#f7e6bd; border:1px solid #e8cf94; padding:1px 7px; border-radius:5px; white-space:nowrap;}

.ilib-badge.blue{color:var(--primary-dark); background:var(--primary-light); border-color:#d8e4ff;}

.ilib-role{font-size:11.5px; color:var(--text-mid); margin:4px 0 10px; letter-spacing:.2px; line-height:1.5;}

.ilib-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:5px; margin-bottom:10px;}

.ilib-chip{font-size:10.5px; color:var(--primary-dark); background:var(--primary-light); padding:2px 8px; border-radius:5px; font-weight:600;}

.ilib-region{display:flex; align-items:center; justify-content:center; gap:5px; font-size:11px; color:var(--text-mid); margin-bottom:12px; letter-spacing:.2px;}

.ilib-region svg{width:13px; height:13px; flex:0 0 auto; fill:none; stroke:var(--primary); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; opacity:.85;}

.ilib-region span{font-size:11px; color:var(--text-mid);}

.ilib-region i{flex:0 0 auto; color:#c5cad6; font-style:normal; margin:0 1px; font-size:10px;}

.ilib-data i{font-style:normal; font-family:var(--font-mono); font-size:10px; color:#a87a25; margin-left:1px; font-weight:600;}

.ilib-foot{display:flex; gap:6px; margin-top:auto;}

.ilib-btn-ghost{flex:1; padding:9px 0; border-radius:9px; font-size:12.5px; font-weight:700; color:var(--primary-dark); background:var(--white); border:1px solid var(--line); cursor:pointer; transition:.15s;}

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

.ilib-btn-ghost.on{color:#c0392b; border-color:#f3c8c0; background:#fef2f0;}

.ilib-btn-solid{flex:1.4; padding:9px 0; border-radius:9px; font-size:12.5px; font-weight:700; color:#fff; background:var(--primary); border:1px solid var(--primary); cursor:pointer; transition:.15s;}

.ilib-btn-solid:hover{background:var(--primary-dark); border-color:var(--primary-dark);}

.ilib-person{text-align:left;}

.ilib-person .ilib-head{display:flex; align-items:center; gap:13px; margin-bottom:15px;}

.ilib-person .ilib-head .ilib-ava{margin:0; flex:0 0 auto; width:56px; height:56px; font-size:20px;}

.ilib-person .ilib-head-main{min-width:0; flex:1;}

.ilib-person .ilib-name{font-size:17px; justify-content:flex-start; flex-wrap:wrap; row-gap:4px; line-height:1.2; white-space:nowrap;}

.ilib-person .ilib-name .ilib-badge{font-size:11px; padding:2px 8px;}

/* 真实档案的「头衔/简介」比原型 demo 长得多：限 2 行 + 省略号，
   否则会像以前那样按字符数在半句处硬截断（水合层 slice(34) 的效果很毛糙） */
.ilib-person .ilib-role{font-size:13px; color:var(--text-mid); margin:6px 0 0; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

.ilib-person .ilib-chips{justify-content:flex-start; gap:6px; margin-bottom:13px;}

.ilib-person .ilib-chip{font-size:12px; padding:3px 10px;}

.ilib-person .ilib-region{justify-content:flex-start; font-size:12.5px; margin-bottom:15px;}

.ilib-person .ilib-region span{font-size:12.5px;}

.ilib-person .ilib-region svg{width:14px; height:14px;}

.ilib-person .ilib-data b{font-size:14px;}

.ilib-person .ilib-data span{font-size:11px;}

.kpi-icon.blue{background:linear-gradient(140deg, rgba(30,94,255,.25), rgba(76,134,255,.12)); color:#8fb8ff;}

.kpi-icon.gold{background:linear-gradient(140deg, rgba(224,184,120,.25), rgba(200,164,94,.12)); color:#e6c384;}

.ev-side-item{display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px dashed var(--line-soft, var(--line)); font-size:12.5px; cursor:pointer; transition:.15s;}

.f-brand .mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(140deg,#eaf1ff,#d8e6ff); display:flex; align-items:center; justify-content:center; color:#1E5EFF; font-weight:900;}

.ticker .tk-live{position:absolute; left:14px; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:7px; font-size:12px; font-weight:800; color:#ffd98a; letter-spacing:.5px; white-space:nowrap; z-index:10; background:#0d1f42; padding:6px 16px; border-radius:8px; box-shadow:0 2px 10px rgba(10,23,48,.35);}

.tk-track{display:flex; width:max-content; animation:tk-scroll 42s linear infinite; flex:1; min-width:0; padding-left:150px; overflow:hidden;}

.lib-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}

.lib-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:20px 20px 16px; box-shadow:var(--shadow-sm); cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s, border-color .2s;}

.lc-meta{font-size:12px; color:var(--text-light); margin-top:10px; letter-spacing:.3px;}

.lc-meta-row{display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; min-height:24px;}

.lc-region{display:flex; align-items:center; gap:7px; margin-top:11px; font-size:12.5px; color:var(--text-mid);}

.lc-region svg{width:14px; height:14px; flex:0 0 auto; fill:none; stroke:var(--primary); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.lc-region i{flex:0 0 auto; color:var(--text-light); font-style:normal; font-size:11px;}

.news-body p.lead{font-size:15.5px; color:var(--ink); font-weight:500; line-height:2.0; margin-bottom:20px; padding:13px 16px; border-left:3px solid var(--gold); background:linear-gradient(90deg,#faf6ec,transparent); border-radius:0 10px 10px 0;}

.login-mask{position:fixed; inset:0; z-index:1500; background:rgba(7,14,30,.55); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:24px;}

.login-mask.open,.login-mask.show{display:flex;}

.login-card{background:#fff; border-radius:22px; width:400px; max-width:100%; padding:28px 26px; box-shadow:0 20px 60px rgba(10,23,48,.25); animation:invIn .25s ease-out;}

.login-card .lg-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;}

.login-card .lg-title{font-size:20px; font-weight:800; color:var(--ink);}

.login-card .lg-close{width:32px; height:32px; border-radius:9px; border:1px solid var(--line); background:#fff; color:var(--text-light); cursor:pointer; font-size:14px;}

.login-card .lg-hint{font-size:12.5px; color:var(--text-light); margin-bottom:18px; line-height:1.6;}

.login-card .lg-field{margin-bottom:12px;}

.login-card .lg-field input{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px; font-size:14px; outline:none; transition:.15s; box-sizing:border-box;}

.login-card .lg-field input:focus{border-color:var(--primary); box-shadow:0 0 0 3px rgba(30,94,255,.12);}

.login-card .lg-code{display:flex; gap:8px;}

.login-card .lg-code input{flex:1;}

.login-card .lg-code button{white-space:nowrap; padding:0 14px; border-radius:12px; border:1px solid var(--primary); background:#fff; color:var(--primary); font-size:13px; cursor:pointer;}

.login-card .lg-submit{width:100%; padding:13px; border:none; border-radius:12px; background:linear-gradient(135deg,#1E5EFF,#4c86ff); color:#fff; font-size:15px; font-weight:700; cursor:pointer; margin-top:6px;}

.login-card .lg-submit:hover{filter:brightness(1.05);}

.login-card .lg-tip{font-size:11.5px; color:var(--text-light); text-align:center; margin-top:14px; line-height:1.6;}

/* 登录身份切换（逐字取自 原型/01-PC端.html 的「登录身份切换」段） */
/* 身份只对「新手机号建号」生效（用户 2026-10-11）：这句要挨着选择器、在它上方。
   原来只有表单底部一句「身份以账号为准」，用户选完才看到，等于没提醒 */
.login-card .lg-role-note{font-size:12px; color:var(--text-light); margin-bottom:8px; line-height:1.6;}
.login-card .lg-role-note strong{color:var(--text-mid); font-weight:700;}
.login-card .lg-role{display:flex; gap:8px; background:#f2f5fb; border:1px solid var(--line); border-radius:11px; padding:4px; margin-bottom:16px;}
.login-card .lr-tab{flex:1; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:700; color:var(--text-mid); cursor:pointer; transition:all .15s; user-select:none;}
.login-card .lr-tab:hover{color:var(--primary);}
.login-card .lr-tab.on{background:#fff; color:var(--primary-dark); box-shadow:0 2px 8px rgba(10,23,48,.08);}
.login-card .lr-tab .ico{width:16px; height:16px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;}
/* 已锁定（该手机号已注册）：身份选择器降饱和，点另一个身份不会生效并给出提示 */
.login-card .lg-role.locked{opacity:.62;}
.login-card .lg-role.locked .lr-tab{cursor:not-allowed;}
.login-card .lg-role.locked .lr-tab[aria-disabled="true"]{color:var(--text-light);}
.login-card .lg-role.locked .lr-tab[aria-disabled="true"]:hover{color:var(--text-light);}
/* 图形验证码（用户 2026-10-11）：输入框 + 可点刷新的图，同一行 */
.login-card .lg-captcha{display:flex; gap:10px; align-items:stretch;}
.login-card .lg-captcha input{flex:1; min-width:0;}
/* 图不写死尺寸、也不加 object-fit：服务端出的是 132×40，写死宽度或 cover 会裁掉末位字符
   （实测踩到：末位 Z 只露一半）。边框改用 box-shadow —— 它不占盒模型，
   而 border 会把图片盒撑大 2px，导致 132×40 被拉伸成 134×42、字发虚。 */
.login-card .lg-captcha img{flex-shrink:0; box-shadow:0 0 0 1px var(--line); border-radius:9px; background:#f0f3fa; cursor:pointer; align-self:center; image-rendering:auto;}
.login-card .lg-captcha img:hover{box-shadow:0 0 0 1px var(--primary);}
/* 预检结果：账号已存在时的说明（发码成功后才出现） */
.login-card .lg-account-note{margin:-4px 0 12px; padding:9px 12px; border:1px solid #d8e4ff; border-radius:10px; background:linear-gradient(120deg,#f2f6ff,#eaf0ff); color:var(--text-mid); font-size:12.5px; line-height:1.6;}
.login-card .lg-account-note b{color:var(--primary-dark); font-weight:800;}

.modal-mask{position:fixed; inset:0; z-index:1500; background:rgba(7,14,30,.55); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:24px;}

.modal-mask.open{display:flex;}

/* 服务包弹窗（会员门禁「开通会员查看」落点）：三档并排要宽一点，`.show` 也认（与工作台/H5 的类名习惯一致） */
.modal-mask.show{display:flex;}
.modal.wide{width:1040px;}
.pc-service-reason{background:var(--primary-light,rgba(30,94,255,.08)); border:1px solid rgba(30,94,255,.18); color:var(--primary-dark,#123a9e); border-radius:12px; padding:12px 16px; font-size:13px; line-height:1.7; margin-bottom:16px;}
@media (max-width:1080px){.modal.wide{width:720px;}.svc-packages{grid-template-columns:1fr;}}

.modal{background:#fff; border-radius:22px; width:720px; max-width:100%; max-height:90vh; overflow:auto; padding:0; box-shadow:0 20px 60px rgba(10,23,48,.25); animation:invIn .25s ease-out;}

.modal-head{display:flex; align-items:center; justify-content:space-between; padding:22px 26px 14px; border-bottom:1px solid var(--line);}

.modal-title{font-size:18px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:8px;}

.modal-close{width:32px; height:32px; border-radius:9px; border:1px solid var(--line); background:#fff; color:var(--text-light); cursor:pointer; font-size:14px;}

.modal-body{padding:18px 26px 24px;}

.modal .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-top:6px;}

.modal .field{display:flex; flex-direction:column;}

.modal .field.full{grid-column:1 / -1;}

.modal .field label{font-size:12px; color:var(--text-mid); margin-bottom:6px; font-weight:600;}

.modal .field input, .modal .field select, .modal .field textarea{width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:10px; font-size:13px; outline:none; transition:.15s; box-sizing:border-box; background:#fff; font-family:inherit; color:var(--ink);}

.modal .field input:focus, .modal .field select:focus, .modal .field textarea:focus{border-color:var(--primary); box-shadow:0 0 0 3px rgba(30,94,255,.12);}

.modal .field textarea{resize:vertical; min-height:80px; line-height:1.55;}

.modal .field input[type="file"]{padding:8px;}

/* 复选框不能被上面那条 `width:100%` 撑满（同一个坑，见 founder.css / admin.css / investor.css 的同名规则） */
.modal .field .check-inline input,
.modal .field .switch-row input,
.modal .field input[type="checkbox"],
.modal .field input[type="radio"]{width:auto; flex:0 0 auto; padding:0; margin:0;}

.modal .check-inline{display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--text-mid); cursor:pointer; user-select:none;}

/* 发布项目弹窗（照原型 index(8) 的 #pubProjModal：金色提示块 + 右对齐按钮 + 底部小字）；
   前三行的取值逐字取自原型那段 inline style */
.modal .pub-tip{background:linear-gradient(180deg, rgba(200,164,94,.08), rgba(200,164,94,.02)); border:1px solid rgba(200,164,94,.25); border-radius:10px; padding:10px 14px; margin-bottom:18px; color:var(--text-mid); font-size:12px; line-height:1.7;}
.modal .pub-foot{display:flex; justify-content:flex-end; gap:10px; margin-top:20px;}
.modal .pub-alt{margin:12px 0 0; color:var(--text-light); font-size:12px; text-align:right;}
.modal .pub-alt a{color:var(--primary); font-weight:600; text-decoration:none;}
/* 选填标注 + BP 那一行（照原型 #pubProjModal 的 inline style：label 里灰色小字、file 与文件名并排） */
.modal .hint-inline{font-weight:400; color:var(--text-light);}
.modal .pub-bp{display:flex; align-items:center; gap:8px; margin-top:6px;}
.modal .pub-bp input[type="file"]{flex:1; font-size:12px;}
.modal .pub-bp-name{font-size:11px; color:var(--text-light);}
.modal .check-inline a{color:var(--primary); font-weight:600; text-decoration:none;}

/* 外壳按原型**实际渲染值**收齐（原型文件里 .modal 有两份定义：720px/圆角 22 在前、480px/圆角 18 在后，
   靠后的那份生效 → 浏览器里看到的就是 480px + 深色渐变头）。
   只作用于 #publishModal，不动首页其它弹窗（服务包 .modal.wide / 申请查看 .modal.wb-modal）。 */
#publishModal .modal{width:480px; max-width:calc(100vw - 40px); max-height:84vh; border-radius:18px; overflow:hidden; box-shadow:0 24px 70px rgba(10,23,48,.35); display:flex; flex-direction:column;}
#publishModal .modal-head{padding:20px 22px; gap:13px; background:linear-gradient(135deg,#0F1E3A,#16305c); border-bottom:0;}
/* 有意偏离：原型这个弹窗的标题继承 .modal-title 的深藏青色，压在深色渐变头上几乎看不清；
   按原型其它弹窗（.mh-name b）的口径改成白色。 */
#publishModal .modal-title{color:#fff;}
#publishModal .modal-close{border:0; background:none; color:rgba(255,255,255,.75);}
#publishModal .modal-close:hover{background:rgba(255,255,255,.12); color:#fff;}#publishModal .modal-body{padding:20px 22px; min-height:0; overflow-y:auto;}

.modal .req{color:#d64545; font-weight:700;}

.modal .btn{padding:8px 16px; border-radius:9px; font-size:13.5px; font-weight:600; cursor:pointer; border:1px solid transparent; transition:.15s;}

.modal .btn-ghost{background:#fff; color:var(--text-mid); border-color:var(--line);}

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

.modal .btn-primary{background:linear-gradient(135deg,#1E5EFF,#4c86ff); color:#fff; box-shadow:0 6px 18px rgba(30,94,255,.25);}

.modal .btn-primary:hover{filter:brightness(1.05);}

.rs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}

.rs-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; cursor:pointer; transition:.18s;}

.rs-card:hover{border-color:#d5e0fb; box-shadow:var(--shadow-md); transform:translateY(-3px);}

.rs-top{display:flex; align-items:center; gap:10px; margin-bottom:12px;}

.rs-ico{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0; color:#fff;}

.rs-name{font-size:15px; font-weight:800; color:var(--ink); line-height:1.35;}

.rs-meta{display:flex; gap:12px; flex-wrap:wrap; margin:10px 0 12px; font-size:12px; color:var(--text-light);}

.rs-foot{display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid #f0f3f9;}

.rs-status{font-size:12px; font-weight:700;}

.rs-btn{font-size:12.5px; font-weight:800; color:var(--primary); cursor:pointer;}

.rs-btn:hover{color:var(--primary-dark);}

.ipo-steps{display:flex; gap:10px; margin:20px 0 26px; flex-wrap:wrap;}

.ipo-step{flex:1; min-width:120px; background:#f7f9fe; border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center;}

.ipo-step .is-n{width:26px; height:26px; border-radius:8px; background:var(--gold-light); color:#8a6a1d; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; margin:0 auto 8px;}

.ipo-step b{font-size:13px; font-weight:800; color:var(--ink); display:block;}

.ipo-step span{font-size:11px; color:var(--text-light); margin-top:3px; display:block; line-height:1.5;}

.kb-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}

.kb-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; cursor:pointer; transition:.18s;}

.kb-card:hover{border-color:#d5e0fb; box-shadow:var(--shadow-md); transform:translateY(-3px);}

.kb-ico{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:12px;}

.kb-name{font-size:15px; font-weight:800; color:var(--ink);}

.kb-desc{font-size:12px; color:var(--text-light); line-height:1.6; margin:8px 0 12px;}

.kb-count{font-size:11.5px; color:var(--gold); font-weight:700;}

.cm-item{display:flex; gap:14px; padding:18px 0; border-bottom:1px solid #f0f3f9;}

.cm-item:last-child{border-bottom:none;}

.cm-ava{width:44px; height:44px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:16px; color:#fff; font-weight:700;}

.cm-body{flex:1; min-width:0;}

.cm-user{font-size:14px; font-weight:700; color:var(--ink);}

.cm-user .cm-tag{font-size:11px; font-weight:600; color:var(--gold); margin-left:6px;}

.cm-text{font-size:13.5px; color:var(--text-mid); line-height:1.7; margin:6px 0 8px;}

.cm-meta{font-size:11.5px; color:var(--text-light); display:flex; gap:14px;}

.cm-act{color:var(--text-light); cursor:pointer;}

.cm-act:hover{color:var(--primary);}
@media(max-width:900px){
.rs-grid{grid-template-columns:1fr 1fr;}
.kb-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:1100px){
}
@media(max-width:560px){
}
@media(max-width:1280px){
}
@media(max-width:680px){
}
@media(max-width:1200px){
}
@media(max-width:600px){
.rs-grid{grid-template-columns:1fr;}
.kb-grid{grid-template-columns:1fr;}
}



/* ============================================================
   公开站内页样式 · 从原型 01-PC端.html 对齐
   覆盖：智能工具内页 / 机构库与投资人库卡片 / 投资人详情弹层 / 通用详情弹层
   ============================================================ */
.tool-group{margin-bottom:22px;}

.tg-head{display:flex; align-items:center; gap:11px; margin-bottom:13px;}

.tg-ico{width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.tg-ico svg{width:20px; height:20px;}

.tg-info b{font-size:15px; font-weight:800; color:var(--ink); display:block;}

.tg-info span{font-size:12px; color:var(--text-light);}

.tg-count{margin-left:auto; font-size:11.5px; color:var(--gold-deep); background:rgba(200,164,94,.12); padding:3px 10px; border-radius:20px; font-weight:700;}

.tool-card{background:var(--white); border:1px solid var(--line); border-radius:14px; padding:16px; cursor:pointer; transition:box-shadow .18s,transform .18s; position:relative; overflow:hidden;}

.tool-card:hover{box-shadow:var(--shadow-md); transform:translateY(-2px);}

.tool-card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--gold),transparent); opacity:.7;}

.tool-card .tc-ico{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:11px;}

.tool-card .tc-ico svg{width:21px; height:21px;}

.tool-card .tc-title{font-size:14.5px; font-weight:800; color:var(--ink); margin-bottom:6px; display:block;}

.tool-card .tc-desc{font-size:12.5px; color:var(--text-mid); line-height:1.6; min-height:38px; margin-top:0;}

.tool-card .tc-meta{font-size:12px; color:var(--primary); font-weight:700; margin-top:11px;}

.tool-corner{position:absolute; top:12px; right:12px; font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:20px;}

.tool-corner.free{background:rgba(30,94,255,.08); color:var(--primary);}

.tool-corner.pro{background:rgba(200,164,94,.15); color:var(--gold-deep);}

.tool-work{padding:2px;}

.tw-head{display:flex; align-items:center; gap:12px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line);}

.tw-ico{width:46px; height:46px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}

.tw-ico svg{width:24px; height:24px;}

.tw-head b{font-size:15.5px; font-weight:800; color:var(--ink); display:block;}

.tw-head span{font-size:12px; color:var(--text-light);}

.tw-badge{margin-left:auto; font-size:10.5px; font-weight:700; padding:3px 10px; border-radius:20px; background:rgba(200,164,94,.15); color:var(--gold-deep); flex-shrink:0;}

.tw-badge.free{background:rgba(30,94,255,.08); color:var(--primary);}

.tform{display:flex; flex-direction:column; gap:13px;}

.trow{display:flex; flex-direction:column; gap:6px;}

.trow label{font-size:12.5px; font-weight:700; color:var(--ink);}

.trow .req{color:#d43c3c;}

.tinput,.tselect,.ttextarea{width:100%; border:1px solid var(--line); border-radius:10px; padding:10px 13px; font-size:13.5px; color:var(--ink); background:var(--white); outline:none; font-family:inherit; transition:border .15s, box-shadow .15s; box-sizing:border-box;}

.tinput:focus,.tselect:focus,.ttextarea:focus{border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,164,94,.12);}

.ttextarea{resize:vertical; min-height:80px; line-height:1.6;}

.trow-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}

.trow-grid3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}

.tbtn{width:100%; height:44px; border:none; border-radius:11px; background:linear-gradient(135deg,var(--gold),#a8853a); color:#fff; font-size:14px; font-weight:800; cursor:pointer; box-shadow:0 6px 16px -4px rgba(168,133,58,.5); transition:opacity .15s; font-family:inherit;}

.tbtn:hover{opacity:.92;}

.tbtn-ghost{height:40px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); font-size:13px; font-weight:700; cursor:pointer; font-family:inherit;}

.tbtn-sm{height:36px; padding:0 14px; border:none; border-radius:9px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit;}

.tresult{margin-top:16px; padding-top:16px; border-top:1px dashed var(--line);}

.tresult-title{font-size:13px; font-weight:800; color:var(--ink); margin-bottom:10px; display:flex; align-items:center; gap:7px;}

.tresult-card{background:#f8fafd; border:1px solid var(--line); border-radius:11px; padding:15px 16px;}

.tresult-card pre{white-space:pre-wrap; word-break:break-word; font-family:inherit; font-size:13px; color:var(--ink); line-height:1.8; margin:0;}

.tstat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px;}

.tstat{background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px 10px; text-align:center;}

.tstat b{font-size:18px; font-weight:800; color:var(--gold-deep); display:block;}

.tstat span{font-size:11px; color:var(--text-light);}

.tmeter{height:8px; background:#f0f2f7; border-radius:20px; overflow:hidden; margin:6px 0;}

.tmeter i{display:block; height:100%; border-radius:20px; background:linear-gradient(90deg,var(--gold),#a8853a);}

.tbar-row{display:flex; align-items:center; gap:10px; margin-bottom:10px;}

.tbar-row .tb-label{flex:0 0 90px; font-size:12px; color:var(--text-mid); font-weight:600;}

.tbar-row .tb-bar{flex:1; height:14px; background:#f0f2f7; border-radius:20px; overflow:hidden;}

.tbar-row .tb-bar i{display:block; height:100%; border-radius:20px;}

.tbar-row .tb-val{flex:0 0 52px; font-size:12.5px; font-weight:800; color:var(--ink); text-align:right;}

.ttbl{width:100%; border-collapse:collapse; font-size:12.5px;}

.ttbl th{background:#f8fafd; text-align:left; padding:9px 11px; color:var(--text-mid); font-weight:700; border-bottom:1px solid var(--line);}

.ttbl td{padding:9px 11px; border-bottom:1px solid var(--line); color:var(--ink);}

.ttbl tr:last-child td{border-bottom:none;}

.tag-pick{display:flex; flex-wrap:wrap; gap:8px;}

.tag-pick .tp{font-size:12.5px; padding:7px 14px; border-radius:20px; border:1px solid var(--line); background:var(--white); color:var(--text-mid); cursor:pointer; transition:all .15s; font-weight:600;}

.tag-pick .tp.on{background:var(--ink); color:var(--gold); border-color:var(--ink); font-weight:700;}

.mgr-list{display:flex; flex-direction:column; gap:9px; margin-top:12px;}

.mgr-item{display:flex; align-items:center; gap:11px; background:#f8fafd; border:1px solid var(--line); border-radius:10px; padding:11px 13px;}

.mgr-item .mi-main{flex:1; min-width:0;}

.mgr-item .mi-title{font-size:13.5px; font-weight:700; color:var(--ink);}

.mgr-item .mi-sub{font-size:11.5px; color:var(--text-light); margin-top:2px;}

.mgr-item .mi-del{color:#d43c3c; font-size:12px; cursor:pointer; font-weight:700;}

.tip-note{font-size:12px; line-height:1.6; padding:11px 13px; border-radius:10px; background:rgba(30,94,255,.07); color:#28508f; display:flex; gap:8px; align-items:flex-start; margin-top:14px;}

.tip-note .ico{flex-shrink:0; margin-top:1px;}

.fav-btn{width:34px; height:34px; border-radius:10px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--text-light); background:#fff; transition:all .15s; cursor:pointer; flex-shrink:0;}

.fav-btn:hover{border-color:#f0c4c4; color:#e04b4b;}

.fav-btn.on{background:#fdecec; border-color:#f3b6b6; color:#e04b4b;}

.fav-btn svg{width:17px; height:17px;}

.lib-tabs{display:inline-flex; gap:6px; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:5px; margin-bottom:16px;}

.lib-tab{display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:9px; font-size:13px; font-weight:700; color:var(--text-mid); cursor:pointer; transition:all .15s; white-space:nowrap; font-family:inherit;}

.lib-tab span{min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:#eef1f7; color:var(--text-light); font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center;}

.lib-tab:hover{color:var(--primary);}

.lib-tab.on{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff; box-shadow:0 4px 12px rgba(30,94,255,.25);}

.lib-tab.on span{background:rgba(255,255,255,.25); color:#fff;}

.lib-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:16px 18px; cursor:pointer; transition:box-shadow .18s,transform .18s,border-color .18s; display:flex; flex-direction:column; gap:13px;}

.lib-card:hover{box-shadow:var(--shadow-md); transform:translateY(-2px); border-color:#dbe4f5;}

.lc-top{display:flex; align-items:flex-start; gap:12px;}

.lc-ava{width:48px; height:48px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}

.lc-name{font-size:15px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:7px; flex-wrap:wrap; line-height:1.3;}

.lc-name .tag{flex-shrink:0;}

.lc-role{font-size:12px; color:var(--text-mid); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.lc-en{font-size:10.5px; color:var(--text-light); font-family:var(--font-mono); letter-spacing:.5px; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.lc-type{flex-shrink:0; font-size:10.5px; font-weight:800; color:#8a6a20; background:var(--gold-light); border:1px solid #f0e0bd; padding:3px 10px; border-radius:100px; white-space:nowrap; line-height:1.4;}

.lc-chips{display:flex; flex-wrap:wrap; gap:6px;}

.lc-chip{font-size:11px; font-weight:600; padding:3px 9px; border-radius:7px; background:var(--primary-light); color:var(--primary-dark); line-height:1.5;}

.lc-meta{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-light);}

.lc-meta .ico{color:var(--gold-deep);}

.lc-stats{display:flex; gap:0; border-top:1px solid var(--line); padding-top:12px;}

.lc-stats .st{flex:1;}

.lc-stats .st b{display:block; font-size:14px; font-weight:800; color:var(--ink); letter-spacing:-.2px;}

.lc-stats .st b i{font-style:normal; font-size:11px; color:var(--text-light); font-weight:600; margin-left:1px;}

.lc-stats .st span{font-size:11px; color:var(--text-light);}

.lc-foot{display:flex; gap:8px; margin-top:auto;}

.lc-foot .btn{flex:1; justify-content:center;}

.lc-foot .fav-btn{flex:0 0 34px; width:34px; height:34px;}

.modal-overlay{position:fixed; inset:0; background:rgba(10,23,48,.55); display:none; align-items:center; justify-content:center; z-index:1700; backdrop-filter:blur(3px); padding:24px;}

.modal-overlay.show{display:flex;}

.mh-ava{width:48px; height:48px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}

.mh-main{flex:1; min-width:0;}

.mh-name{display:flex; align-items:center; gap:8px;}

.mh-name b{font-size:16px; font-weight:800; color:#fff;}

.mh-role{display:block; font-size:12px; color:rgba(255,255,255,.66); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

.modal-close{width:32px; height:32px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.75); transition:background .15s; cursor:pointer; background:none; border:none;}

.modal-close:hover{background:rgba(255,255,255,.12); color:#fff;}

/* 上面两条是给**深色弹层头**（#publishModal / .wb-modal 那套 .mh-main）用的白字 ✕，
   但它没带作用域、写在文件后半段，于是把**白底弹层**（pc-lead 的预约对接/入驻申请、
   首页的邮箱弹层与站内信弹层 —— 头是 .modal-title 的白底）的关闭按钮也刷成了白色 → ✕ 看不见。
   这里把这几个白底弹层改回深灰 + 描边，与 home.css:2058 的通用样式一致。 */
#pcLeadModal .modal-close, #investorEmailSheet .modal-close, #siteMsgSheet .modal-close{color:var(--text-light); border:1px solid var(--line); background:#fff;}
#pcLeadModal .modal-close:hover, #investorEmailSheet .modal-close:hover, #siteMsgSheet .modal-close:hover{background:#f0f2f7; color:var(--ink);}

.modal-close svg{stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round;}

.modal-foot{display:flex; gap:10px; padding:16px 22px; border-top:1px solid var(--line);}

.modal-foot .btn{flex:1; justify-content:center;}

/* ============================================================
   PC「预约对接 / 入驻申请」弹层（用户 2026-09-21：「预约对接弹窗美化一下啊 现在太扁了」）
   ------------------------------------------------------------------
   原来是光秃秃一个白盒子（标题 + 两行输入 + 两个按钮），照 H5 那套 `.home-h5-lead-*` 的语言重做：
   金色图标 + tag + 标题/副标 → 高亮的目标卡 → 结构化的字段（focus 蓝光圈）→ 三步说明 → 盾牌备注。
   ============================================================ */
.pc-lead{width:560px;}

.pc-lead-head{display:flex; align-items:flex-start; gap:14px; padding:24px 26px 20px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fbfcff,#fff);}

.pc-lead-ico{width:46px; height:46px; border-radius:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#fdf3d9,#f5dca0); color:#a8843f; box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 6px 16px rgba(200,164,94,.22);}

.pc-lead-ico svg{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.pc-lead-headmain{flex:1; min-width:0;}

.pc-lead-tag{display:inline-block; margin-bottom:8px; padding:3px 11px; border:1px solid rgba(200,164,94,.4); border-radius:100px; background:linear-gradient(180deg,rgba(200,164,94,.1),transparent); color:#a9863f; font-family:var(--font-mono); font-size:10.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase;}

.pc-lead .modal-title{font-size:19px; font-weight:900; letter-spacing:-.2px; line-height:1.35;}

.pc-lead-sub{margin-top:6px; color:var(--text-light); font-size:12.5px;}

/* 高亮的目标卡（把「你要对接谁」摊在最上面，不再埋在标题的引号里） */
.pc-lead-target{display:flex; align-items:center; gap:13px; padding:14px 16px; margin-bottom:18px; border:1px solid #f0e0bd; border-radius:14px; background:linear-gradient(135deg,#fffaf0,#fff5e0);}

.pc-lead-target .t-ico{width:40px; height:40px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #f0e0bd; color:#a8843f; font-size:15px; font-weight:900;}

.pc-lead-target .t-main{flex:1; min-width:0;}

.pc-lead-target .t-main b{display:block; font-size:15px; font-weight:800; color:var(--ink); letter-spacing:-.2px;}

.pc-lead-target .t-main em{display:block; margin-top:3px; font-style:normal; font-size:11.5px; color:var(--text-light); line-height:1.55;}

.pc-lead-target .t-tag{flex-shrink:0; padding:4px 11px; border-radius:100px; background:linear-gradient(120deg,var(--gold),#e0b878); color:#fff; font-size:11px; font-weight:800; letter-spacing:.3px;}

/* 字段：照 H5 的 48px / radius 12 / focus 蓝光圈 */
.pc-lead-field{display:block; margin-bottom:14px;}

.pc-lead-field > .lab{display:block; margin-bottom:7px; color:#34415a; font-size:13px; font-weight:700;}

.pc-lead-field input{width:100%; height:46px; padding:0 14px; border:1px solid rgba(20,36,61,.16); border-radius:12px; background:#fff; color:var(--ink); font-size:14.5px; font-family:inherit; outline:none; box-sizing:border-box; transition:border-color .2s, box-shadow .2s;}

.pc-lead-field input:focus{border-color:var(--primary); box-shadow:0 0 0 3px rgba(30,94,255,.12);}

.pc-lead-code{display:flex; gap:9px;}

.pc-lead-code input{flex:1; min-width:0;}

.pc-lead-code button{flex:0 0 116px; height:46px; border:1px solid rgba(30,94,255,.34); border-radius:12px; background:#fff; color:var(--primary); font-size:13px; font-weight:800; font-family:inherit; cursor:pointer; transition:.15s;}

.pc-lead-code button:hover:not(:disabled){background:var(--primary-light);}

.pc-lead-code button:disabled{opacity:.55; cursor:default;}

/* 三步说明：让「平台协助转达」这条链路一眼看懂（原来只有一句灰字） */
.pc-lead-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:4px 0 16px;}

.pc-lead-steps .st{padding:12px 13px; border:1px solid var(--line); border-radius:12px; background:#fafbfe;}

.pc-lead-steps .st i{display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; margin-bottom:8px; border-radius:50%; background:linear-gradient(135deg,var(--gold),#e6c573); color:#fff; font-family:var(--font-mono); font-size:10.5px; font-weight:900; font-style:normal;}

.pc-lead-steps .st b{display:block; font-size:12.5px; font-weight:800; color:var(--ink);}

.pc-lead-steps .st em{display:block; margin-top:4px; font-style:normal; font-size:11px; color:var(--text-light); line-height:1.5;}

.pc-lead-agree{display:flex; align-items:flex-start; gap:7px; padding:10px 13px; border-radius:10px; background:#f7f9fd; color:var(--text-light); font-size:11.5px; line-height:1.7;}

.pc-lead-agree svg{width:14px; height:14px; flex-shrink:0; margin-top:2px; stroke:#a8843f; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

.pc-lead .modal-foot{padding:16px 26px 20px;}

.pc-lead .modal-foot .btn{height:46px; border-radius:12px; font-size:14px; font-weight:800;}

/* 提交成功态 */
.pc-lead .wb-done{padding:26px 10px 18px; text-align:center;}

.pc-lead .wb-done .wd-check{width:56px; height:56px; margin:0 auto 14px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#e8f7f0,#d3f0e2); color:#1a9f66;}

.pc-lead .wb-done b{display:block; font-size:17px; font-weight:900; color:var(--ink);}

.pc-lead .wb-done p{margin:8px 0 0; font-size:13px; color:var(--text-mid); line-height:1.8;}

.fav-btn{width:34px; height:34px; border-radius:10px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .15s; flex-shrink:0; background:#fff;}

.fav-btn .ico{width:17px; height:17px;}
/* ===== 投资人/机构详情整页与各详情弹层（.inv-* / .ov-*）：单一来源，取自原型 01-PC端.html ===== */

@keyframes invIn{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}


/* ---------- 投资人详情内页 ---------- */
.inv-page{position:fixed; inset:0; z-index:1200; overflow-y:auto; display:none;
  background:radial-gradient(1000px 480px at 22% -100px, rgba(124,92,255,.08), transparent 65%),
    radial-gradient(900px 420px at 78% -60px, rgba(30,94,255,.07), transparent 70%),
    #f6f7fb;}

.inv-page.show{display:block; animation:invIn .3s ease-out;}

.inv-top{position:sticky; top:0; z-index:50; height:62px; background:rgba(255,255,255,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}

.inv-top .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; height:100%; width:100%;}

.inv-back{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--text-mid); cursor:pointer; transition:color .15s; background:none; border:none; font-family:inherit; padding:0;}

.inv-back::before{content:"‹"; font-size:20px; line-height:1; color:var(--primary); font-weight:800;}

.inv-back:hover{color:var(--primary);}

.inv-top-name{font-size:14px; font-weight:800; color:var(--ink);}

.inv-top-btn{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff; border:none; padding:8px 18px; border-radius:9px;
  font-size:12.5px; font-weight:800; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 6px 16px rgba(30,94,255,.3); transition:transform .15s, box-shadow .15s;}

.inv-top-btn:hover{transform:translateY(-1px);}

.inv-hero{position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(700px 300px at 80% -40px, rgba(70,132,255,.38), transparent 62%),
    radial-gradient(500px 260px at 8% 110%, rgba(200,164,94,.16), transparent 60%),
    linear-gradient(160deg,#0a1c3e 0%,#071228 100%);}

.inv-hero::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:56px 56px;}

.inv-hero .wrap{position:relative; z-index:1; padding:44px 24px 40px; display:flex; gap:34px; align-items:center;}

.inv-h-ava{width:92px; height:92px; border-radius:24px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:34px; font-weight:900; border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.35);}

.inv-h-main{flex:1; min-width:0;}

.inv-h-title{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}

.inv-h-title h1{font-size:30px; font-weight:900; letter-spacing:-.5px;}

.inv-h-title .en{font-size:12px; font-weight:700; color:#8ea5c9; letter-spacing:2px; text-transform:uppercase; font-family:var(--font-mono);}

.inv-h-tags{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}

.inv-h-tag{font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:100px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#dbe6fb;}

.inv-h-tag.gold{background:rgba(200,164,94,.16); border-color:rgba(200,164,94,.4); color:#f7dfa8;}

.inv-h-desc{font-size:13.5px; color:#a8bcdd; line-height:1.9; margin-top:14px; max-width:640px;}

.inv-h-note{font-size:11px; color:#7f93b6; margin-top:12px; letter-spacing:.3px;}

.inv-h-kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; flex-shrink:0; min-width:520px;}

.inv-h-kpi{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:16px 18px;}

.inv-h-kpi b{display:block; font-family:var(--font-mono); font-size:21px; font-weight:800; color:#fff;}

.inv-h-kpi b i{font-style:normal; font-size:12px; color:var(--gold); margin-left:2px;}

.inv-h-kpi span{font-size:11px; color:#8ea5c9; letter-spacing:.5px;}

.inv-body{padding:34px 0 90px;}

.inv-grid{display:grid; grid-template-columns:380px minmax(0,1fr); gap:20px; align-items:start;}

.inv-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-sm); padding:24px 26px;}

.inv-card + .inv-card{margin-top:20px;}

.inv-card h3{font-size:15px; font-weight:900; color:var(--ink); display:flex; align-items:center; gap:9px; margin-bottom:18px; letter-spacing:-.2px;}

.inv-card h3::before{content:""; width:3px; height:15px; border-radius:2px; background:linear-gradient(180deg,var(--primary),#7c5cff);}

.inv-about{font-size:13px; color:var(--text-mid); line-height:1.9;}

.inv-kv{display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px dashed var(--line); font-size:13px;}

.inv-kv:last-child{border-bottom:none;}

.inv-kv span{color:var(--text-light); flex-shrink:0;}

.inv-kv b{color:var(--ink); font-weight:700; text-align:right;}

.inv-chip{display:inline-block; font-size:12px; font-weight:600; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:5px 12px; border-radius:20px; margin:0 8px 8px 0;}

.inv-chip.gold{color:#8a6a20; background:var(--gold-light); border-color:#f0e0bd;}

.inv-chip.green{color:#0f7a4f; background:#e6f6ef; border-color:#c9ecdd;}

.inv-case{display:flex; align-items:center; gap:14px; padding:12px 4px; border-bottom:1px dashed var(--line);}

.inv-case:last-child{border-bottom:none;}

.inv-case .ic-logo{width:40px; height:40px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:14px;}

.inv-case .ic-main{flex:1; min-width:0;}

.inv-case .ic-name{font-size:14px; font-weight:800; color:var(--ink);}

.inv-case .ic-sub{font-size:12px; color:var(--text-light); margin-top:3px;}

.inv-case .ic-tag{flex-shrink:0; font-size:11px; font-weight:600; color:#8a6a20; background:var(--gold-light); padding:2px 9px; border-radius:6px;}

.inv-logic{padding:0 4px;}

.inv-logic li{position:relative; padding:0 0 18px 26px; font-size:13px; color:var(--text-mid); line-height:1.9;}

.inv-logic li:last-child{padding-bottom:4px;}

.inv-logic li::before{content:""; position:absolute; left:5px; top:7px; width:9px; height:9px; border-radius:50%; background:linear-gradient(140deg,var(--primary),#7c5cff);}

.inv-logic li::after{content:""; position:absolute; left:9px; top:20px; bottom:-2px; width:1px; background:var(--line);}

.inv-logic li:last-child::after{display:none;}


/* ===== 投资人详情 · PC 化分栏 ===== */
.inv-grid-pc{display:grid; grid-template-columns: 360px minmax(0,1fr); gap:22px; align-items:start;}

.inv-col{display:flex; flex-direction:column;}

.inv-col > .inv-section + .inv-section{margin-top:18px;}


.inv-section{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-sm); padding:24px 26px; position:relative;}

.inv-section h3{font-size:14.5px; font-weight:900; color:var(--ink); letter-spacing:-.1px; display:flex; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid var(--line);}

.inv-section h3 .ico{width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#fdf3d9,#fbe4b1); color:#8a6a20; flex-shrink:0;}

.inv-section h3 .ico svg{width:14px; height:14px; stroke-width:1.8;}

.inv-section h3 .tag{font-size:10.5px; font-weight:600; color:var(--gold-deep); padding:3px 9px; border-radius:20px; background:var(--gold-light); border:1px solid #f0e0bd; margin-left:auto; letter-spacing:.4px;}

.inv-section h3 .sub{font-size:11px; font-weight:500; color:var(--text-light); margin-left:auto;}


/* 字段两列紧凑网格 */
.inv-field{display:grid; grid-template-columns:1fr 1fr; gap:0 22px;}

.inv-field .ik{display:flex; align-items:flex-start; gap:11px; padding:11px 0; border-bottom:1px dashed var(--line);}

.inv-field .ik:nth-last-child(-n+2){border-bottom:none;}

.inv-field .ik.full{grid-column:1 / -1;}

.inv-field .ik .lab{font-size:11px; color:var(--text-light); flex-shrink:0; width:60px; line-height:1.95; letter-spacing:.6px;}

.inv-field .ik .val{font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.55; flex:1; min-width:0;}


/* 单列字段：用于「个人简介 + 投资逻辑」上下结构 */
.inv-stack{display:flex; flex-direction:column; gap:18px;}


/* 投资偏好 chip */
.inv-chips{display:flex; flex-wrap:wrap; gap:8px 8px; padding-top:14px;}

.inv-chip{display:inline-flex; align-items:center; font-size:12.5px; font-weight:600; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:6px 13px; border-radius:20px;}


/* 投资逻辑 3 列子卡 */
.inv-logic-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}

.inv-logic-grid .lg{background:#f8fafe; border:1px solid var(--line); border-radius:12px; padding:14px 16px 13px; min-height:84px;}

.inv-logic-grid .lg b{display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--gold-deep); font-weight:800; margin-bottom:8px; letter-spacing:.5px;}

.inv-logic-grid .lg b span{width:20px; height:20px; border-radius:50%; background:linear-gradient(135deg,var(--gold),#e6c573); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:10.5px; font-weight:900;}

.inv-logic-grid .lg p{font-size:12.5px; line-height:1.7; color:var(--text-mid);}


/* 联系方式子卡 */
.inv-contact{display:flex; flex-direction:column; gap:11px;}

.inv-contact .ct-row{display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fafbfe;}

.inv-contact .ct-row .ic-ico{width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#eaf1ff,#d3e1ff); color:var(--primary-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.inv-contact .ct-row .ic-ico svg{width:16px; height:16px; stroke-width:1.8;}

.inv-contact .ct-row.gold .ic-ico{background:linear-gradient(135deg,#fdf3d9,#f5dca0); color:var(--gold-deep);}

.inv-contact .ct-row .ic-body{flex:1; min-width:0;}

.inv-contact .ct-row .ic-body b{display:block; font-size:13px; font-weight:800; color:var(--ink); margin-bottom:3px;}

.inv-contact .ct-row .ic-body em{font-size:12.5px; color:var(--text-mid); font-style:normal; line-height:1.55;}

.inv-contact .ct-row .ic-body em.mono{font-family:var(--font-mono); font-size:14px; color:var(--primary-dark); font-weight:800;}

.inv-contact .ct-row .ic-action{flex-shrink:0; font-size:12.5px; color:var(--primary); font-weight:700; padding:8px 14px; border-radius:8px; border:1px solid #c8dbff; background:#fff; cursor:pointer; transition:all .15s; font-family:inherit;}

.inv-contact .ct-row .ic-action:hover{background:var(--primary); color:#fff; border-color:var(--primary);}

/* 「立即投递」当天已投过 → 「已投递」（用户 2026-09-22）：浅金底、不再抢眼；
   仍然可点（换一个项目投同一家是放行的），所以不给 cursor:not-allowed。 */
.inv-contact .ct-row .ic-action.is-delivered{color:var(--gold-deep); border-color:rgba(200,164,94,.45); background:linear-gradient(180deg, rgba(200,164,94,.12), rgba(200,164,94,.05));}
.inv-contact .ct-row .ic-action.is-delivered:hover{background:linear-gradient(180deg, rgba(200,164,94,.18), rgba(200,164,94,.08)); color:var(--gold-deep); border-color:rgba(200,164,94,.45);}

.inv-contact .ct-tip{font-size:11.5px; color:var(--text-light); line-height:1.8; padding:10px 14px; background:#fff8e7; border-left:3px solid var(--gold); border-radius:0 8px 8px 0;}


/* ---------- 项目详情的「项目详情」折叠（用户 2026-10-12，照 原型/项目详情页-私信联系-Demo.html） ----------
   原型用的是 .pd-about + .mask + .about-toggle 这一套（**不是**投资人简介那套 .inv-about.clamp）：
     · .pd-about          行高 2、overflow hidden、max-height 过渡
     · .pd-about.collapsed max-height:132px（约 4 行正文）
     · .mask              底部 56px 白色渐变遮罩，只在折叠时显示
   第一版我复用了 .inv-about.clamp（-webkit-line-clamp:4）—— 功能一样但视觉不同：
   行数钳制是按**行**切，原型是按**高度**切，且原型有独立遮罩元素、过渡更自然。
   既然原型把 .pd-about 写出来了，就照它的口径来。 */
.pd-about{position:relative; font-size:13.5px; color:var(--text-mid); line-height:2; overflow:hidden; transition:max-height .32s ease;}
.pd-about p{margin:0; text-align:justify;}
.pd-about.collapsed{max-height:132px;}
.pd-about .mask{position:absolute; left:0; right:0; bottom:0; height:56px; background:linear-gradient(180deg, rgba(255,255,255,0), #fff); pointer-events:none; display:none;}
.pd-about.collapsed .mask{display:block;}
.about-toggle{display:flex; align-items:center; gap:4px; margin:12px auto 0; font-size:12.5px; font-weight:700; color:var(--primary); cursor:pointer; background:none; border:none; font-family:inherit; padding:0; transition:color .15s;}
.about-toggle:hover{color:var(--primary-dark);}
.about-toggle svg{width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s;}

/* 简介文段 */
.inv-about{font-size:13.5px; color:var(--text-mid); line-height:2;}

/* 个人/机构简介**超 90 字折叠 4 行 + 「展开全文」**（用户 2026-09-21：照 原型/投资人详情-Demo.html 的 bioBlock）。
   实证：线上有 1000+ 字的投资人简介，不折的话这一屏全被它吃掉。 */
.inv-about.clamp{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; position:relative;}

.inv-about.clamp::after{content:''; position:absolute; left:0; right:0; bottom:0; height:56px; background:linear-gradient(180deg, rgba(255,255,255,0), #fff 90%); pointer-events:none;}

.inv-about.open{-webkit-line-clamp:unset; overflow:visible;}

.inv-about.open::after{display:none;}

.inv-about-more{display:inline-flex; align-items:center; gap:5px; margin-top:12px; font-size:12.5px; font-weight:700; color:var(--gold-deep); background:none; border:none; cursor:pointer; font-family:inherit; padding:0; transition:color .15s;}

.inv-about-more:hover{color:var(--gold);}

.inv-about-more svg{width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s;}

.inv-about-more.open svg{transform:rotate(180deg);}

/* ---------- 私信联系弹层（用户 2026-10-12，照 原型/项目详情页-私信联系-Demo.html） ---------- */
/* 快捷语：一行可换行的胶囊，点了直接填进正文（原型 `.quick span` 那一排） */
.pc-contact-quick{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.pc-cq{border:1px solid var(--line); border-radius:100px; padding:7px 13px; background:#f7f9fd; color:var(--text-mid); font-size:12.5px; font-family:inherit; cursor:pointer; text-align:left; transition:all .15s;}
.pc-cq:hover{border-color:var(--primary); color:var(--primary-dark); background:#eef3ff;}


/* 双子卡横排（简介 + 投资逻辑） */
.inv-duo{display:grid; grid-template-columns:1fr 1.15fr; gap:18px;}


/* 联系方式双列（大屏）/ 单列（中屏） */
.inv-contact-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}


/* 副标题（机构 hero 用，灰色大写 mono） */
.inv-h-title .sub{font-size:11.5px; font-weight:700; color:#8ea5c9; letter-spacing:1.6px; text-transform:uppercase; font-family:var(--font-mono); padding:3px 10px; border:1px solid rgba(255,255,255,.16); border-radius:6px; background:rgba(255,255,255,.04);}


/* 机构投资逻辑引用块（大字箴言样式） */
.inv-quote{position:relative; padding:24px 28px 22px 34px; background:linear-gradient(135deg,#fffaf0 0%, #fff5e0 100%); border-radius:12px; border:1px solid #f0e0bd;}

.inv-quote::before{content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:0 3px 3px 0; background:linear-gradient(180deg,var(--gold),#e6c573);}

.inv-quote .q-mark{position:absolute; left:14px; top:8px; font-family:Georgia,serif; font-size:48px; line-height:1; color:var(--gold); opacity:.5; font-weight:900;}

.inv-quote .q-body{font-size:14.5px; font-weight:600; color:var(--ink); line-height:2; letter-spacing:.2px; text-align:justify;}

.inv-quote .q-meta{margin-top:14px; padding-top:12px; border-top:1px dashed #ead9a8; display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--gold-deep); font-weight:700; letter-spacing:.5px;}


/* 机构档案/偏好 5 项 dense 网格 */
.inv-field.dense{grid-template-columns:1fr 1fr;}

.inv-field.dense .ik.full{grid-column:1 / -1;}


/* 机构档案副字段（轻量信息行） */
.inv-meta-row{display:flex; flex-wrap:wrap; gap:8px 10px; margin-top:14px;}

.inv-meta-row .mr{font-size:11.5px; color:var(--text-mid); padding:4px 10px; border:1px solid var(--line); border-radius:6px; background:#fafbfe; font-weight:600;}

.inv-meta-row .mr b{color:var(--ink); font-weight:800; margin-right:2px;}


/* 案例 grid */
.inv-case-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px;}

.inv-news{display:flex; flex-direction:column; gap:14px;}

.inv-news .inv-news-item{display:flex; gap:14px; padding:14px 16px; background:#fafbfe; border-radius:11px; border:1px solid var(--line);}

.inv-news .inv-news-item .n-date{flex-shrink:0; width:70px; font-family:var(--font-mono); font-size:11.5px; color:var(--gold-deep); font-weight:800; padding-top:2px; letter-spacing:.3px;}

.inv-news .inv-news-item .n-main{flex:1; min-width:0;}

.inv-news .inv-news-item .n-main .n-title{font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.5;}

.inv-news .inv-news-item .n-main .n-sub{font-size:12px; color:var(--text-light); margin-top:4px; line-height:1.6;}

.inv-news{position:relative; padding-left:22px;}

.inv-news::before{content:""; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background:var(--line);}

.inv-news-item{position:relative; padding:0 0 20px 14px;}

.inv-news-item:last-child{padding-bottom:4px;}

.inv-news-item::before{content:""; position:absolute; left:-19px; top:7px; width:9px; height:9px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,164,94,.15);}

.inv-news-item .n-date{font-size:11px; color:var(--text-light); font-family:var(--font-mono);}

.inv-news-item .n-title{font-size:13.5px; font-weight:700; color:var(--ink); margin-top:3px;}

.inv-news-item .n-sub{font-size:12px; color:var(--text-light); margin-top:3px; line-height:1.7;}

.inv-contact{display:flex; flex-direction:column; gap:12px;}

.inv-contact .ct-line{display:flex; align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; background:#fafbfe; font-size:13px;}

.inv-contact .ct-line b{color:var(--ink); flex-shrink:0; width:56px;}

.inv-contact .ct-line span{font-family:var(--font-mono); color:var(--primary-dark); word-break:break-all;}

.inv-contact .ct-tip{font-size:11px; color:var(--text-light); line-height:1.7;}

.inv-cta{position:fixed; left:0; right:0; bottom:0; z-index:40; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); border-top:1px solid var(--line);}

.inv-cta .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 24px; width:100%;}

.inv-cta .ic-msg{font-size:13px; color:var(--text-mid);}

.inv-cta .ic-msg b{color:var(--ink);}

.inv-cta-btn{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff; border:none; padding:12px 30px; border-radius:11px;
  font-size:14px; font-weight:800; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 8px 20px rgba(30,94,255,.35);
  transition:transform .15s, box-shadow .15s; white-space:nowrap;}

.inv-cta-btn:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 10px 26px rgba(30,94,255,.45);}

/* ===== 通用详情弹层（内页之上） ===== */
.ov-page{position:fixed; inset:0; z-index:1200; overflow-y:auto; display:none;
  background:radial-gradient(1000px 480px at 22% -100px, rgba(124,92,255,.07), transparent 65%),
    radial-gradient(900px 420px at 78% -60px, rgba(30,94,255,.06), transparent 70%),
    var(--bg);}

.ov-page.show{display:block; animation:invIn .3s ease-out;}

.ov-top{position:sticky; top:0; z-index:60; height:56px; display:flex; align-items:center;
  background:rgba(246,247,251,.88); backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}

.ov-top .wrap{display:flex; align-items:center; justify-content:space-between; width:100%;}

.ov-body{padding:28px 0 90px;}

.ov-wrap{max-width:860px; margin:0 auto;}

.ov-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-sm); padding:30px 34px;}

.ov-card h2{font-size:24px; font-weight:900; color:var(--ink); letter-spacing:-.3px; line-height:1.35;}

.ov-meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:14px 0 0;}

.ov-tag{font-size:11px; font-weight:700; color:var(--primary-dark); background:var(--primary-light); border:1px solid #d8e4ff; padding:3px 10px; border-radius:100px;}

.ov-tag.gold{color:#8a6a20; background:var(--gold-light); border-color:#f0e0bd;}

.ov-tag.green{color:#0f7a4f; background:#e6f6ef; border-color:#c9ecdd;}

.ov-tag.purple{color:#5b3fd6; background:#f0edff; border-color:#ddd6fb;}

.ov-tag.red{color:#b3472f; background:#fff0ec; border-color:#f6d9cf;}

.ov-tag.gray{color:var(--text-mid); background:#f4f6fb; border-color:var(--line);}

.ov-date{font-size:12px; color:var(--text-light); font-family:var(--font-mono); margin-left:auto;}

.ov-kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:22px 0;}

.ov-kpi{background:#f7f9fe; border:1px solid var(--line); border-radius:14px; padding:15px 16px; text-align:center;}

.ov-kpi b{display:block; font-family:var(--font-mono); font-size:20px; font-weight:800; color:var(--ink);}

.ov-kpi b i{font-style:normal; font-size:11px; color:var(--primary);}

.ov-kpi span{font-size:11px; color:var(--text-light); margin-top:4px; display:block; letter-spacing:.4px;}

.ov-sec{margin-top:26px;}

.ov-sec h3{font-size:15px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:8px; padding-bottom:10px; border-bottom:1px dashed var(--line); margin-bottom:14px;}

.ov-sec h3::before{content:""; width:4px; height:14px; border-radius:2px; background:linear-gradient(180deg,var(--primary),#4c86ff);}

.ov-kv{display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid #f3f5fa; font-size:13px;}

.ov-kv span{color:var(--text-light); flex-shrink:0;}

.ov-kv b{color:var(--ink); text-align:right; font-weight:600;}

.ov-para{font-size:13.5px; color:var(--text-mid); line-height:2; margin-bottom:14px;}

.ov-list{list-style:none;}

.ov-list li{position:relative; padding:7px 0 7px 22px; font-size:13.5px; color:var(--text-mid); line-height:1.8;}

.ov-list li::before{content:""; position:absolute; left:2px; top:15px; width:7px; height:7px; border-radius:2px; background:var(--primary); opacity:.75;}

.ov-cta{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap;}

.ov-cta button{flex:1; min-width:180px; padding:13px 0; border-radius:11px; font-size:13.5px; font-weight:800; cursor:pointer; transition:.15s;}

.ov-cta .o-primary{background:linear-gradient(120deg,var(--primary),#4c86ff); color:#fff; border:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 6px 16px rgba(30,94,255,.3);}

.ov-cta .o-primary:hover{transform:translateY(-1px);}

.ov-cta .o-ghost{border:1px solid var(--line); background:#fff; color:var(--text-mid);}

/* 项目详情底部的主按钮：原型 Demo(2) 里那个 `.o-primary` 是**金色渐变**
   （`linear-gradient(120deg,var(--gold),#e0b878)`）。我们这份 `.o-primary` 是蓝的，
   合作库 / 资讯 / 工具三处都在用、不能动，所以给项目单开一个金色变体（用户 2026-09-21：收藏按钮样式不对）。 */
.ov-cta .o-gold{background:linear-gradient(120deg,var(--gold),#e0b878); color:#fff; border:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 6px 16px rgba(200,164,94,.3);}

.ov-cta .o-gold:hover{transform:translateY(-1px);}

.ov-cta .o-ghost:hover{border-color:#c7d7fb; color:var(--primary-dark); background:var(--primary-light);}

/* ============================================================
   「已收藏」的统一样子（用户 2026-09-21 P2-1：「收藏后心心不变红」）
   ------------------------------------------------------------
   公开站一共有四类收藏按钮，之前只有 .ilib-btn-ghost / .pj-fav-btn 有 .on，
   另外三个（.lc-btn / .dc-btn / .ov-cta 里的两个）**连类都没定义** ——
   挂上 .on 也没有任何视觉变化，光靠文字从「♡ 收藏」变「♥ 已收藏」不够显眼。
   取值与已有的那两个保持一致（#c0392b 红字 + 粉底）。
   ============================================================ */
.dc-btn.on{color:#c0392b; border-color:#f3c8c0; background:#fef2f0;}

.dc-btn.on:hover{border-color:#e9a79c; background:#fdeae6;}

.ov-cta .o-ghost.on{border-color:#f3c8c0; color:#c0392b; background:#fef2f0;}

.ov-cta .o-ghost.on:hover{border-color:#e9a79c; background:#fdeae6; color:#c0392b;}

/* 「收藏文章」是实心主按钮，所以用红渐变（与蓝底 .o-primary 区分） */
.ov-cta .o-primary.on{background:linear-gradient(120deg,#e0736a,#c0392b); box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 6px 16px rgba(192,57,43,.3);}

.ov-note{font-size:11.5px; color:var(--text-light); margin-top:14px; line-height:1.7;}

.news-cover .ov-ico{width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px; font-weight:900; margin-bottom:16px; box-shadow:0 8px 18px rgba(10,23,48,.16);}


/* 投资人库：类别 Tab + 卡片 */
.inv-list{display:grid; gap:14px;}

.inv-card{display:flex; gap:14px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); padding:16px 18px; transition:box-shadow .18s; align-items:flex-start;}

.inv-card:hover{box-shadow:var(--shadow-md);}

.inv-ava{width:48px; height:48px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; color:#fff; background:var(--ava-c,linear-gradient(135deg,#4c86ff,#1E5EFF)); box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}

.inv-main{flex:1; min-width:0;}

.inv-main .im-name{font-size:14.5px; font-weight:800; color:var(--ink);}

.inv-main .im-name .tag{margin-left:6px; vertical-align:2px;}

.inv-main .im-role{font-size:12px; color:var(--text-mid); margin-top:2px;}

.inv-main .im-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:9px;}

.inv-main .im-meta{font-size:11.5px; color:var(--text-light); margin-top:8px;}

.inv-side{display:flex; flex-direction:column; gap:8px; align-items:flex-end; flex-shrink:0;}

.inv-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px;}
@media(max-width:1080px){.inv-h-kpis{min-width:0;}}
@media(max-width:900px){.inv-hero .wrap{flex-direction:column; align-items:flex-start; gap:24px; padding:34px 18px 30px;} .inv-h-kpis{width:100%; grid-template-columns:repeat(2,1fr);}}
@media(max-width:980px){.inv-grid{grid-template-columns:1fr;}}
@media(max-width:1100px){.inv-grid-pc{grid-template-columns:1fr;}}
@media(max-width:560px){.inv-field{grid-template-columns:1fr;} .inv-field .ik{border-bottom:1px dashed var(--line)!important;} .inv-field .ik:last-child{border-bottom:none!important;}}
@media(max-width:1280px){.inv-logic-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.inv-logic-grid{grid-template-columns:1fr;}}
@media(max-width:1200px){.inv-duo{grid-template-columns:1fr;}}
@media(max-width:1200px){.inv-contact-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.inv-top-name{display:none;} .inv-h-title h1{font-size:23px;} .inv-h-ava{width:72px; height:72px; font-size:26px; border-radius:19px;} .inv-card{padding:20px 18px;} .inv-cta .ic-msg{display:none;} .inv-cta .wrap{justify-content:center;} .inv-hero .wrap{padding-left:18px; padding-right:18px;}}
@media(max-width:640px){.ov-card{padding:22px 18px;} .ov-kpis{grid-template-columns:repeat(2,1fr);} .ov-wrap{max-width:100%;}}

/* ===== 通用面板（4 内页：创投动态等） ===== */
.panel{background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;}

/* 资讯标签区的计数角标（原型 newsTags 里的 .cnt，行内样式改为类） */
.lib-chip .cnt{font-size:10px; color:var(--text-light); margin-left:4px;}


/* ===== 长文本兜底（用户 2026-09-20：机构简介最长 751 字，出现「一字一行」）=====
   没有空格的长串会把 min-content 撑到极大 → 同一行的另一列被挤到一两字符宽。
   min-width:0 让网格子项能收缩；overflow-wrap:anywhere 让长串就地折行。 */
.inv-grid-pc > *{min-width:0;}
.inv-grid-pc > * > *{min-width:0;}
.inv-grid-pc .inv-sec,
.inv-grid-pc .inv-sec *,
.inv-grid-pc .inv-field,
.inv-grid-pc .inv-field *,
.inv-page .inv-field,
.inv-page .inv-field *{overflow-wrap:anywhere;word-break:break-word;}

/* ===== 机构详情 hero 列被挤成 0 宽的修复（用户 2026-09-20 报「一字一行」）=====
   实测：.inv-hero .wrap 是 flex + nowrap，.inv-h-kpis 是 flex-shrink:0 + min-width:520px，
   而 .inv-h-main 是 flex:1（basis 0）→ KPI 块被长文本（如「资产管理规模约480亿美元」）撑到 1191px 后
   把主列压成 **0 宽**，简介因此一字一行（桌面宽度下也复现）。 */
.inv-hero .wrap{flex-wrap:wrap;}
.inv-h-main{flex:1 1 320px; min-width:0;}
.inv-h-kpis{flex:0 1 520px; min-width:0; grid-template-columns:repeat(4,minmax(0,1fr));}
.inv-h-desc{max-width:640px;}

/* ===== 首页「一键邮箱直投」弹层样式（作用域 #bidModal，不动首页其它弹层）=====
   首页不加载 founder.css，所以把 .wb-* 表单样式在这里补一份（与工作台同一套观感） */
#bidModal .modal{width:520px;max-width:100%;border-radius:20px;}
#bidModal .wb-form{display:flex;flex-direction:column;gap:14px;}
#bidModal .wb-field{display:flex;flex-direction:column;gap:6px;}
#bidModal .wb-field label{font-size:12px;color:var(--text-mid,#4c586b);font-weight:600;}
#bidModal .wb-input,#bidModal .wb-select,#bidModal .wb-textarea{box-sizing:border-box;width:100%;padding:11px 14px;border:1px solid #e3e8f0;border-radius:11px;font-size:13px;background:#fff;font-family:inherit;}
#bidModal .wb-input:focus,#bidModal .wb-select:focus,#bidModal .wb-textarea:focus{outline:none;border-color:#c8a45e;box-shadow:0 0 0 3px rgba(200,164,94,.16);}
#bidModal .wb-textarea{min-height:118px;resize:vertical;line-height:1.6;}
#bidModal .wb-recipient{display:flex;align-items:center;gap:12px;background:#f6f8fc;border:1px solid #e8edf6;border-radius:12px;padding:12px 14px;}
#bidModal .wr-ava{width:40px;height:40px;border-radius:11px;background:linear-gradient(140deg,#1E5EFF,#3a74ff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;}
#bidModal .wr-main b{display:block;font-size:14px;color:#0a1730;}
#bidModal .wr-main span{font-size:12px;color:#8a94a6;}
#bidModal .hint{font-size:12px;color:#8a94a6;line-height:1.6;}
#bidModal .wb-msg-wrap{position:relative;}
#bidModal .wb-char{position:absolute;right:10px;bottom:8px;font-size:11px;color:#8a94a6;}
#bidModal .wb-bp{display:flex;align-items:center;gap:8px;background:#f6f8fc;border:1px solid #e8edf6;border-radius:11px;padding:10px 12px;font-size:12.5px;color:#4c586b;}
#bidModal .tip-note{display:flex;gap:8px;font-size:12px;color:#4c586b;background:#f4f7fd;border:1px solid #e8edf6;border-radius:10px;padding:10px 12px;line-height:1.65;}


/* ===== 首页：#bidModal / #investorEmailSheet 的 wb 表单样式 + 按钮（首页不加载 founder.css）===== */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 16px; border-radius:9px; font-size:13.5px; font-weight:600; cursor:pointer; border:1px solid transparent; transition:.15s; font-family:inherit;}
.btn-primary{background:linear-gradient(120deg,#1E5EFF,#4c86ff); color:#fff; border-color:transparent; box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 6px 16px rgba(30,94,255,.28);}
.btn-gold{background:linear-gradient(120deg,#f3dcae,#c8a45e); color:#3a2c10; border-color:transparent; box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 6px 16px rgba(200,164,94,.3);}
.btn-ghost{background:#fff; color:#4c586b; border-color:#e8ecf5;}
.btn-block{width:100%; justify-content:center;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal.wb-modal{width:640px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-head{background:linear-gradient(135deg,#0F1E3A,#16305c); border-bottom:0; padding:20px 22px; gap:13px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .mh-main{flex:1; min-width:0;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .mh-name b{font-size:16px; font-weight:800; color:#fff;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .mh-role{display:block; font-size:12px; color:rgba(255,255,255,.66); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-close{color:rgba(255,255,255,.75);}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-close:hover{background:rgba(255,255,255,.12); color:#fff;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-close > svg{fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-body{padding:20px 22px; overflow-y:auto; max-height:62vh;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-foot{display:flex; gap:10px; padding:16px 22px; border-top:1px solid var(--line);}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .modal-foot .btn{flex:1; justify-content:center;}
/* 表单 */
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-form{padding:2px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-field{margin-bottom:14px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-field > label{display:block; font-size:12.5px; font-weight:700; color:var(--ink-2,var(--text-mid)); margin-bottom:7px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-field > label .req{color:#e04b4b; margin-left:2px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-field .hint{font-size:11.5px; color:var(--text-light); margin-top:5px; line-height:1.5;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-select,
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-textarea{width:100%; border:1px solid var(--line); border-radius:11px; padding:11px 14px; font-size:13.5px; color:var(--ink); background:#fbfcfe; outline:none; font-family:inherit; transition:border .15s, box-shadow .15s, background .15s; box-sizing:border-box;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-select:focus,
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-textarea:focus{border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,164,94,.14); background:#fff;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-select{appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238993a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-textarea{resize:vertical; min-height:96px; line-height:1.65;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-msg-wrap{position:relative;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-msg-wrap .wb-textarea{min-height:140px; padding-bottom:34px;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-char{position:absolute; right:12px; bottom:10px; font-size:11px; color:var(--text-light);}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-char.over{color:#e04b4b; font-weight:700;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-recipient{display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:11px; background:linear-gradient(120deg,#f7f0e2,#fbf6ec); border:1px solid #e7d9b8;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-recipient .wr-ava{width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; flex-shrink:0;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-recipient .wr-main b{display:block; font-size:13.5px; color:var(--ink); font-weight:800;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .wb-recipient .wr-main span{font-size:11.5px; color:var(--gold-deep);}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .tip-note{font-size:12px; line-height:1.6; padding:11px 13px; border-radius:10px; background:rgba(30,94,255,.07); color:#28508f; display:flex; gap:8px; align-items:flex-start; margin-top:0;}
:is(#bidModal, #investorEmailSheet, #investorMessageModal) .tip-note svg{flex-shrink:0; margin-top:1px; fill:none; stroke:#28508f; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
C:\Users\Administrator

/* 「机构邮箱」弹层：照原型 #contentModal —— 宽 680px，金框与文案（原型实测值） */
#investorEmailSheet .modal.wb-modal{width:680px;}
#investorEmailSheet .modal-body{padding:20px 22px;}
#investorEmailSheet .email-gold{background:#f7f0e2; border:1px solid #e7d9b8; border-radius:12px; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
#investorEmailSheet .eg-label{font-size:11px; color:var(--gold-deep,#8a6a20); font-weight:700; margin-bottom:4px;}
#investorEmailSheet .eg-value{font-size:16px; font-weight:800; color:var(--ink,#0a1730); letter-spacing:.3px; word-break:break-all;}

/* ===== 多邮箱分行展示（用户 2026-09-28）=====
   一个机构可能存多个 BP 邮箱（"a@x.com, b@y.com"，后端 parseEmails 逐地址发信）。
   原来是单行一长串，这里把每个地址渲染成独立的 .mail-line，逐行显示、行间留 2px。 */
.mail-lines{display:block;}
.mail-lines .mail-line{display:block; line-height:1.6;}
.mail-lines .mail-line + .mail-line{margin-top:2px;}
/* ===== 无权限时的邮箱打码预览（用户 2026-09-28：「公开展示一部分」）=====
   一律「露域名 + 遮前缀」：b***@apluscap.com。用偏灰的字色 + 稍宽的字距，
   与已解锁时的高对比真值区分开，避免被当成"这就是完整邮箱"。 */
.is-masked{color:#7d8797 !important; font-weight:700 !important; letter-spacing:.4px;}


/* ===== 对齐原型实测值（原型：modal 680/640 宽 + radius 18；btn pad 8px16px/radius 9/weight 600）=====
   加这段是因为 founder.css 里另有 .modal / .btn 规则把值盖掉了（实测 627 / 10px 18px / radius 10 / weight 700） */
:is(#bidModal, #investorEmailSheet) .modal.wb-modal{border-radius:18px;}
#investorEmailSheet .modal.wb-modal{width:680px;}
#bidModal .modal.wb-modal{width:640px;}
:is(#bidModal, #investorEmailSheet) .modal-body{padding:20px 22px;}
:is(#bidModal, #investorEmailSheet) .modal-foot{display:flex; gap:10px; padding:16px 22px; border-top:1px solid var(--line,#e8ecf5);}
:is(#bidModal, #investorEmailSheet) .modal-foot .btn{flex:1; justify-content:center;}
:is(#bidModal, #investorEmailSheet) .btn{padding:8px 16px; border-radius:9px; font-size:13.5px; font-weight:600;}
:is(#bidModal, #investorEmailSheet) .btn-block{width:100%; justify-content:center;}
:is(#bidModal, #investorEmailSheet) .modal-head{background:linear-gradient(135deg,#0F1E3A,#16305c); border-bottom:0; padding:20px 22px; gap:13px;}
:is(#bidModal, #investorEmailSheet) .mh-name b{font-size:16px; font-weight:800; color:#fff;}
:is(#bidModal, #investorEmailSheet) .mh-role{display:block; font-size:12px; color:rgba(255,255,255,.66); margin-top:3px;}
:is(#bidModal, #investorEmailSheet) .modal-close{color:rgba(255,255,255,.75); background:none; border:0;}
