:root{
  --ink:#0B1220; --ink2:#111c30; --panel:#16233c; --line:#22304d;
  --cyan:#1FB8D6; --cyan-d:#1594ad; --gold:#D4A437; --text:#e6edf6;
  --muted:#9fb0c8; --h2-inset:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--ink); color:var(--text);
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.75; overflow-x:hidden;
}
a{color:var(--cyan); text-decoration:none}
a:hover{color:var(--gold)}
img{max-width:100%}

/* ── 顶部导航 ── */
.cab-header{position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(11,18,32,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.cab-header-inner{max-width:1200px; margin:0 auto; height:62px;
  display:flex; align-items:center; gap:18px; padding:0 20px}
.cab-logo{font-weight:800; font-size:18px; color:var(--text); white-space:nowrap}
.cab-logo:hover{color:var(--text)}
.cab-nav{display:flex; align-items:center; gap:6px; margin-left:auto; flex-wrap:wrap}
.cab-nav>a,.cab-nav-item>a{display:inline-block; padding:10px 12px; color:var(--muted); font-size:15px; border-radius:6px}
.cab-nav>a:hover,.cab-nav-item>a:hover{color:var(--text); background:var(--panel)}
.cab-nav-item{position:relative}
.cab-nav-sub{position:absolute; top:100%; left:0; min-width:180px;
  background:var(--ink2); border:1px solid var(--line); border-radius:8px;
  padding:6px; display:none; z-index:60}
.cab-nav-item:hover .cab-nav-sub{display:block}
.cab-nav-sub ul{list-style:none; margin:0; padding:0}
.cab-nav-sub a{display:block; padding:8px 10px; color:var(--muted); border-radius:6px}
.cab-nav-sub a:hover{background:var(--panel); color:var(--text)}
.cab-nav-toggle{display:none; background:none; border:1px solid var(--line);
  color:var(--text); font-size:20px; border-radius:6px; padding:4px 10px; cursor:pointer}

/* ── 主体 ── */
.cab-main{max-width:1200px; margin:0 auto; padding:84px 24px 48px}
.cab-hero{margin:-20px -24px 8px; padding:64px 24px;
  background:radial-gradient(1200px 400px at 20% -10%, rgba(31,184,214,.18), transparent),
            linear-gradient(180deg,var(--ink2),var(--ink)); border-bottom:1px solid var(--line)}
.cab-hero-inner{max-width:1000px; margin:0 auto}
.cab-hero-title{font-size:38px; margin:0 0 14px; color:#fff; letter-spacing:.5px}
.cab-hero-sub{font-size:18px; color:var(--muted); max-width:760px; margin:0 0 22px}
.cab-hero-cta{display:flex; gap:14px; flex-wrap:wrap}
.cab-btn{display:inline-block; padding:11px 22px; border-radius:8px; font-weight:700;
  background:var(--cyan); color:#04121a}
.cab-btn:hover{background:var(--cyan-d); color:#04121a}
.cab-btn-ghost{background:transparent; border:1px solid var(--cyan); color:var(--cyan)}
.cab-btn-ghost:hover{background:rgba(31,184,214,.12); color:var(--cyan)}

.cab-section{max-width:1000px; margin:36px auto; padding:0 24px}
.cab-sec-title{font-size:24px; color:#fff; border-left:4px solid var(--cyan); padding-left:12px; margin:0 0 18px}
.cab-prod-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px}
.cab-prod{display:block; background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:18px}
.cab-prod:hover{border-color:var(--cyan)}
.cab-prod-name{font-size:17px; font-weight:700; color:var(--text); margin-bottom:8px}
.cab-prod-desc{font-size:14px; color:var(--muted)}
.cab-kw-cloud{display:flex; flex-wrap:wrap; gap:10px}
.cab-kw{background:var(--panel); border:1px solid var(--line); border-radius:999px; padding:6px 14px; font-size:14px; color:var(--text)}
.cab-baseline{list-style:none; padding:0; margin:0; display:grid; gap:12px}
.cab-baseline li{background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:14px 16px}
.cab-baseline strong{color:var(--gold)}
.cab-scene{display:flex; flex-wrap:wrap; gap:10px}
.cab-scene span{background:rgba(31,184,214,.10); border:1px solid rgba(31,184,214,.4); color:var(--cyan); border-radius:8px; padding:8px 14px; font-size:14px}

/* ── 面包屑 ── */
.cab-crumb{font-size:14px; color:var(--muted); margin:0 0 16px; padding-left:var(--h2-inset)}
.cab-crumb-inner{display:flex; flex-wrap:wrap; align-items:center; gap:6px}
.cab-crumb a{color:var(--muted)}
.cab-crumb a:hover{color:var(--cyan)}
.cab-crumb-sep{color:var(--line)}
.cab-crumb span{color:var(--text)}

/* ── 详情布局 ── */
.cab-layout{display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:32px; align-items:start}
.cab-content-main{min-width:0}
.cab-content-main h1{font-size:30px; color:#fff; margin:0 0 18px}
.cab-content-main h2{font-size:23px; color:#fff; margin:30px 0 12px; padding-left:var(--h2-inset);
  border-left:4px solid var(--cyan)}
.cab-content-main h3{font-size:19px; color:var(--cyan); margin:22px 0 10px}
.cab-content-main p{margin:0 0 14px; color:var(--text)}
.cab-content-main ul,.cab-content-main ol{margin:0 0 14px; padding-left:22px}
.cab-content-main li{margin:6px 0}
.cab-content-main blockquote{margin:14px 0; padding:12px 16px; background:var(--ink2);
  border-left:4px solid var(--gold); border-radius:8px; color:var(--muted)}
.cab-content-main code{background:var(--panel); padding:2px 6px; border-radius:4px; font-size:14px; color:var(--gold)}
.cab-update{font-size:13px; color:var(--muted); margin:0 0 16px}
.cab-update time{color:var(--cyan)}

/* 表格（M26 强制边框） */
.cab-content-main table,table.cab-spec{border-collapse:collapse; width:100%; margin:14px 0; font-size:15px}
.cab-content-main table th,.cab-content-main table td,table.cab-spec th,table.cab-spec td{
  border:1px solid var(--line); padding:9px 12px; text-align:left}
.cab-content-main table th,table.cab-spec th{background:var(--panel); color:var(--text); font-weight:700}
.cab-content-main table td,table.cab-spec td{color:var(--muted)}

/* TOC 面板（原生 details，桌面 open） */
.cab-toc-aside{position:sticky; top:84px}
.cab-toc-panel{background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:12px 14px}
.cab-toc-panel summary{cursor:pointer; font-weight:700; color:var(--cyan); margin-bottom:8px}
.cab-toc-nav ol{margin:0; padding-left:20px}
.cab-toc-nav li{margin:6px 0}
.cab-toc-nav a{color:var(--muted); font-size:14px}
.cab-toc-nav a:hover{color:var(--cyan)}

/* ── FAQ ── */
.cab-faq-wrap{max-width:1000px; margin:32px auto 0; padding:0 24px}
.cab-faq-title{font-size:24px; color:#fff; border-left:4px solid var(--gold); padding-left:12px; margin:0 0 16px}
.cab-faq{display:grid; gap:10px}
.cab-faq details{background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:12px 16px}
.cab-faq details summary{cursor:pointer; font-weight:600; color:var(--text)}
.cab-faq details .cab-faq-a{padding-top:10px; color:var(--muted)}

/* ── 列表页 ── */
.cab-list-layout{display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start}
.cab-cat-side{position:sticky; top:84px}
.cab-cat-panel{background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:12px 14px}
.cab-cat-panel summary{cursor:pointer; font-weight:700; color:var(--cyan); margin-bottom:8px}
.cab-category-list{list-style:none; margin:0; padding:0}
.cab-category-list li{margin:4px 0}
.cab-category-list a{display:block; padding:8px 10px; color:var(--muted); border-radius:6px}
.cab-category-list a:hover{background:var(--panel); color:var(--text)}
.cab-category-list li.active a{background:var(--panel); color:var(--cyan); font-weight:700}
.cab-list-h1{font-size:28px; color:#fff; margin:0 0 18px}
.cab-card-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px}
.cab-card{display:block; background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:18px; min-height:120px}
.cab-card:hover{border-color:var(--cyan); transform:translateY(-2px); transition:.15s}
.cab-card-title{font-size:16px; font-weight:700; color:var(--text); margin-bottom:8px}
.cab-card-desc{font-size:14px; color:var(--muted); line-height:1.6}

/* ── 归档 ── */
.cab-arch{max-width:1000px; margin:0 auto}
.cab-arch-sec{margin-bottom:28px}
.cab-arch-sec h2{font-size:22px; color:var(--cyan); border-left:4px solid var(--cyan); padding-left:12px}
.cab-arch-list{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.cab-arch-list a{color:var(--muted)}
.cab-arch-list a:hover{color:var(--cyan)}
.cab-404{text-align:center; padding:80px 20px}
.cab-404 h1{font-size:64px; color:var(--cyan); margin:0 0 10px}

/* ── 悬浮胶囊 ── */
.cab-float{position:fixed; right:18px; top:50%; transform:translateY(-50%); z-index:80;
  display:flex; flex-direction:column; gap:10px}
.cab-float-btn{width:46px; height:46px; border-radius:999px; border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--cyan),var(--cyan-d)); color:#04121a; font-size:20px;
  box-shadow:0 4px 14px rgba(31,184,214,.45); display:flex; align-items:center; justify-content:center}
.cab-float-btn:hover{background:linear-gradient(135deg,var(--gold),#b8891f); color:#1a1304}
.cab-card-pop{position:fixed; right:74px; top:50%; transform:translateY(-50%); z-index:90;
  width:264px; border:2px solid var(--cyan); border-radius:10px; overflow:hidden; background:#04121a}
.cab-card-head{display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  padding:10px 12px; border-bottom:1px solid var(--line); background:var(--ink2)}
.cab-card-brand{font-weight:700; color:var(--cyan); font-size:14px; white-space:nowrap}
.cab-card-sub{color:var(--muted); font-size:12px; white-space:nowrap}
.cab-card-pop img{display:block; width:240px; height:auto; margin:10px auto 0; border-radius:6px}
.cab-card-meta{padding:10px 12px 12px; color:var(--muted); font-size:12px; line-height:1.7}
.cab-card-meta p{margin:0 0 4px}
.cab-card-mail a{color:var(--cyan)}
.cab-card-note{color:var(--muted); opacity:.85}

/* ── 页脚 ── */
.cab-footer{border-top:1px solid var(--line); margin-top:40px; background:var(--ink2)}
.cab-footer-inner{max-width:1200px; margin:0 auto; padding:22px 24px; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:10px}
.cab-foot-brand{font-weight:700; color:var(--cyan)}
.cab-foot-meta{color:var(--muted); font-size:14px}

/* ── 响应式（≤1024 折叠） ── */
@media (max-width:1024px){
  .cab-nav{display:none; position:absolute; top:62px; left:0; right:0; flex-direction:column;
    background:var(--ink2); border-bottom:1px solid var(--line); padding:10px}
  .cab-nav.open{display:flex}
  .cab-nav-item .cab-nav-sub{position:static; display:block; border:none; background:none; padding-left:14px}
  .cab-nav-toggle{display:block; margin-left:auto}
  .cab-layout{grid-template-columns:1fr}
  .cab-toc-aside{position:static; margin-top:18px}
  .cab-list-layout{grid-template-columns:1fr}
  .cab-cat-side{position:static; margin-bottom:18px}
  .cab-hero-title{font-size:30px}
}
