/* 全球数据库产业态势与动态 - 深色科技风样式（本地化，适配 velocity 服务端渲染结构） */
:root{--bg:#0a0f1e;--bg2:#0e1528;--card:#111a30;--line:#1d2a4a;--cy:#00eaff;--gr:#31d17c;--ye:#ffd97a;--pu:#a78bfa;--tx:#dbe6ff;--tx2:#8fa2c8}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font:15px/1.7 "Microsoft YaHei","PingFang SC",Arial,sans-serif}
a{color:var(--cy);text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* 顶部导航（sticky 吸顶，不遮挡内容，锚点自动留白） */
nav.nav{position:sticky;top:0;z-index:99;background:rgba(10,15,30,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:24px;height:56px}
.logo{font-size:16px;font-weight:bold;color:#fff;white-space:nowrap}
.nav-links{display:flex;gap:4px;margin-left:auto;flex-wrap:nowrap}
.nav-links a{color:var(--tx2);font-size:13.5px;padding:4px 10px;border-radius:6px;transition:.2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.on{color:var(--cy);background:rgba(0,234,255,.08)}

/* Hero + KPI */
.hero{padding:84px 0 60px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#12203e 0%,var(--bg) 65%)}
.hero h1{font-size:38px;letter-spacing:4px;color:#fff;margin-bottom:12px}
.hero .sub{color:var(--tx2);max-width:820px;margin:0 auto 30px;font-size:14px}
.kpis{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.kpi{border:1px solid var(--line);background:var(--bg2);border-radius:10px;padding:16px 28px;min-width:170px}
.kpi b{display:block;font-size:28px;line-height:1.25;color:var(--gr);font-family:Consolas,monospace}
.kpi span{display:block;font-size:12px;color:var(--tx2);margin-top:4px}

/* 区块通用 */
main section{padding:56px 0;border-top:1px solid var(--line);scroll-margin-top:64px}
main h2{font-size:26px;color:#fff;letter-spacing:2px}
main h2::after{content:"";display:block;width:52px;height:3px;margin:10px 0 8px;background:linear-gradient(90deg,var(--cy),var(--gr))}
.desc{color:var(--tx2);font-size:13px;margin-bottom:18px}

/* 筛选 chips */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 20px}
.chip{border:1px solid var(--line);background:var(--bg2);color:var(--tx2);font-size:13px;padding:5px 14px;border-radius:16px;transition:.2s}
.chip i{font-style:normal;color:#6f83ad}
.chip.on,.chip:hover{border-color:var(--cy);color:var(--cy)}

/* 厂商卡片 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:18px;transition:.25s}
.card:hover{border-color:var(--cy);box-shadow:0 0 16px rgba(0,234,255,.12);transform:translateY(-3px)}
.card-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.card-h b{color:#fff;font-size:15.5px}
.card-h span{color:var(--tx2);font-size:12px;font-family:Consolas,monospace}
.tag{font-size:11px;padding:1px 9px;border-radius:10px;border:1px solid var(--tx2);color:var(--tx2);white-space:nowrap;margin-left:auto}
.tag.oss{border-color:var(--gr);color:var(--gr)}
.tag.hot{border-color:#ff7a7a;color:#ff7a7a}
.meta{font-family:Consolas,monospace;font-size:12.5px;color:var(--cy);margin-bottom:4px}
.eng{font-size:13px;color:var(--tx);margin-bottom:6px}
.eng em{font-style:normal;color:var(--ye);font-size:12px}
.note{color:var(--tx2);font-size:12.5px;margin-bottom:8px}
.card .foot{font-size:12px;color:#6f83ad}
.card .foot a{margin-left:10px}

/* 面板与条形 */
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.panel h3{color:#fff;font-size:15px;margin-bottom:14px}
.panel h3 small{color:var(--tx2);font-size:12px;font-weight:normal;margin-left:8px}
.panel h3 .chip{margin-left:12px;padding:2px 12px;font-size:12px;vertical-align:middle}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.brow{display:flex;align-items:center;gap:10px;margin-bottom:11px;font-size:13px}
.bl{width:150px;text-align:right;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
.btrack{flex:1;height:14px;background:#0b1226;border-radius:7px;overflow:hidden}
.bfill{height:100%;border-radius:7px;background:linear-gradient(90deg,#0a6cff,var(--cy));transition:width .8s ease}
.bfill.osf{background:linear-gradient(90deg,#0f9d58,var(--gr))}
.bfill.rf{background:linear-gradient(90deg,#0a6cff,var(--gr))}
.bfill.cf{background:linear-gradient(90deg,#b45bff,var(--pu))}
.bv{width:96px;font-family:Consolas,monospace;color:var(--gr);font-size:12.5px;white-space:nowrap;flex:none}
.up{font-style:normal;color:var(--ye);font-size:11px}

/* 许可证分布行：可点击态（开源生态板块） */
a.brow{cursor:pointer;border-radius:8px;padding:5px 8px;margin-bottom:5px;border:1px solid transparent;transition:.2s}
a.brow:hover{background:rgba(0,234,255,.06);border-color:var(--line)}
a.brow.on{background:rgba(0,234,255,.09);border-color:var(--cy)}
a.brow.on .bl{color:var(--cy)}
a.brow .bv em{font-style:normal;margin-left:5px;color:var(--cy)}
#eco-prods{margin-top:18px}
#eco-prods .cards{margin-top:4px}

/* 表格 */
.tb{width:100%;border-collapse:collapse;font-size:13px}
.tb th{color:var(--tx2);text-align:left;font-weight:normal;border-bottom:1px solid var(--line);padding:6px 8px}
.tb td{padding:7px 8px;border-bottom:1px dashed var(--line)}
.tb .src{color:#6f83ad;font-size:12px}
.panel .note{margin-top:10px;font-size:12.5px;color:var(--tx2)}

/* 开源事件（生态板块备注） */
.lic-notes{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:6px 18px}
.lic-notes .ln{padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;color:var(--tx2)}
.lic-notes .ln:last-child{border-bottom:none}
.lic-notes .ln b{color:var(--ye);font-family:Consolas,monospace;margin-right:8px;font-weight:normal}

/* 技术趋势 */
.trends{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;transition:.25s}
.tcard:hover{border-color:var(--gr);box-shadow:0 0 14px rgba(49,209,124,.1)}
.tcard b{color:#fff;font-size:15.5px}
.tcard p{color:var(--tx2);font-size:13px;margin-top:6px}

/* 产业动态时间线 */
.timeline{border-left:2px solid var(--line);margin-left:8px;padding-left:0}
.tl-item{display:flex;gap:14px;padding:14px 6px;border-bottom:1px dashed var(--line);border-radius:8px}
.tl-item.hot{background:linear-gradient(90deg,rgba(255,122,122,.06),transparent)}
.tl-date{font-family:Consolas,monospace;color:var(--ye);font-size:12.5px;white-space:nowrap;padding-top:2px;width:78px;flex:none}
.tl-body{flex:1;min-width:0}
.tl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.tl-head b{color:#fff;font-size:14.5px}
.tl-head b a{color:#fff}
.tl-head b a:hover{color:var(--cy)}
.tl-head .tag{margin-left:0}
.tl-body p{color:var(--tx2);font-size:13px}
.tl-meta{font-size:12px;color:#6f83ad;margin-top:4px}

/* 页脚/返回顶部 */
footer.foot{border-top:1px solid var(--line);padding:26px 0 44px;text-align:center;color:#5a6c95;font-size:12.5px}
footer.foot p{margin:4px 0}
footer.foot a{color:var(--cy)}
#backtop{position:fixed;right:24px;bottom:30px;width:44px;height:44px;border-radius:50%;background:rgba(0,234,255,.12);border:1px solid var(--cy);color:var(--cy);font-size:18px;cursor:pointer;display:none;z-index:98}
#backtop:hover{background:rgba(0,234,255,.3)}

@media(max-width:900px){
 .hero h1{font-size:26px;letter-spacing:2px}
 .grid2{grid-template-columns:1fr}
 .nav-in{gap:10px}
 .nav-links{gap:0}
 .nav-links a{padding:4px 6px;font-size:12px}
 .logo{font-size:14px}
 .bl{width:96px;font-size:12px}
 .tl-date{width:64px}
 .kpi{padding:12px 18px;min-width:132px}
 .kpi b{font-size:22px}
}