
:root{
  --bg:#f7f9fc; --paper:#fff; --ink:#06152d; --text:#33445c; --muted:#6b7d93;
  --line:#e4ebf3; --line-strong:#cbd7e6; --brand:#3042df; --brand-2:#1d6ee8; --cyan:#15a8c7;
  --deep:#07152d; --deep-2:#0b2147; --soft:#eef5ff; --green:#18a875; --orange:#f27835;
  --shadow:0 24px 70px rgba(16,42,80,.12),0 8px 24px rgba(16,42,80,.08);
  --ring:0 0 0 1px rgba(7,21,45,.08),0 2px 2px rgba(7,21,45,.04),0 12px 24px -18px rgba(7,21,45,.25);
  --max:1180px; --r:14px; --r2:24px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:'Geist','Noto Sans SC','Microsoft YaHei',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased} a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.shell{max-width:var(--max);margin:0 auto;padding:0 28px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,235,245,.78)}.nav{height:74px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:700;color:var(--ink)}.brand-logo{width:38px;height:38px;object-fit:cover;border-radius:10px;box-shadow:var(--ring)}.brand-text{font-size:18px;letter-spacing:-.03em}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{font-size:14px;font-weight:500;color:#38506b;padding:9px 12px;border-radius:9px}.nav-links a:hover,.nav-links a.active{background:#eef4ff;color:var(--brand)}.nav-cta{margin-left:8px;background:var(--ink);color:#fff;border-radius:9px;padding:10px 14px;font-size:14px;font-weight:600}.nav-toggle{display:none;margin-left:auto;border:0;background:#eef4ff;border-radius:9px;width:42px;height:42px;font-size:20px;color:var(--ink)}
h1,h2,h3,p{margin-top:0} h1,h2,h3{color:var(--ink);letter-spacing:-.052em;line-height:1.05}h1{font-size:clamp(46px,6.6vw,82px);font-weight:650}h2{font-size:clamp(32px,4.2vw,56px);font-weight:640}h3{font-size:22px;font-weight:620;letter-spacing:-.035em}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--brand);margin-bottom:16px}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.eyebrow.light{color:#83d8ff}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:10px;font-size:15px;font-weight:650;transition:.2s ease}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:white;box-shadow:0 12px 28px rgba(48,66,223,.24)}.btn.ghost{background:#fff;color:var(--ink);box-shadow:var(--ring)}.btn.inverse{background:#fff;color:var(--ink)}.btn:hover{transform:translateY(-1px)}
.hero{padding:94px 0 54px;background:radial-gradient(circle at 75% 10%,rgba(48,66,223,.14),transparent 34%),linear-gradient(180deg,#fff 0%,#f7f9fc 86%)}.hero-grid,.sub-hero-grid,.two-col{display:grid;grid-template-columns:1.02fr .98fr;gap:62px;align-items:center}.hero-lead,.sub-hero p,.section-head p,.section-intro p{font-size:20px;line-height:1.65;color:#51647d}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.trust-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.trust-strip span{font-size:13px;color:#38506b;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px}.hero-system{height:520px;position:relative;border-radius:32px;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:var(--shadow);overflow:hidden;border:1px solid #e6edf6}.orbit{position:absolute;border:1px solid rgba(48,66,223,.16);border-radius:50%;inset:72px}.orbit-b{inset:126px;border-style:dashed}.core-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:28px;background:linear-gradient(135deg,var(--deep),#163a7a);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 28px 80px rgba(7,21,45,.28)}.core-card span{font-family:'Geist Mono';font-size:12px;color:#9ce4ff}.core-card strong{font-size:30px;letter-spacing:-.05em}.core-card small{color:#b9c8de}.float-card{position:absolute;width:170px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--ring)}.float-card b{display:block;color:var(--ink);font-size:18px}.float-card span{font-size:13px;color:var(--muted)}.fc1{left:40px;top:70px}.fc2{right:34px;top:110px}.fc3{left:48px;bottom:88px}.fc4{right:52px;bottom:64px}
.section{padding:94px 0}.section.compact{padding:62px 0}.section-head{max-width:820px;margin-bottom:36px}.section-head.narrow{max-width:720px}.align-start{align-items:start}.sticky-note{position:sticky;top:110px}.metric-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--ring);overflow:hidden}.metric-panel div{padding:26px;border-right:1px solid var(--line)}.metric-panel div:last-child{border-right:0}.metric-panel strong{display:block;color:var(--ink);font-size:28px;letter-spacing:-.05em}.metric-panel span{color:var(--muted);font-size:14px}.decision-list{display:grid;gap:14px}.decision-card{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:var(--ring)}.decision-card:hover{border-color:#b8c8ff;transform:translateY(-1px)}.decision-card span{font-family:'Geist Mono';color:var(--brand);font-weight:700}.decision-card p{margin:0;color:var(--muted)}
.ink-section{background:linear-gradient(135deg,var(--deep),#102852);color:#c8d6e6}.ink-section h2,.ink-section h3{color:white}.ink-section p{color:#b9c8de}.compare-box{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden}.compare-box div{padding:28px}.compare-box div:first-child{border-right:1px solid rgba(255,255,255,.12)}.compare-box ul,.check-panel ul{padding-left:18px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px;background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:var(--ring);min-height:320px;display:flex;flex-direction:column}.service-card.featured{background:linear-gradient(180deg,#fff,#f0f6ff);border-color:#b9c9ff}.service-index{font-family:'Geist Mono';font-weight:700;color:var(--brand);margin-bottom:24px}.service-card p{color:var(--muted)}.service-card a{margin-top:auto;color:var(--brand);font-weight:700}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--ring)}.timeline div{padding:24px;border-right:1px solid var(--line)}.timeline div:last-child{border-right:0}.timeline b{font-family:'Geist Mono';color:var(--brand);font-size:13px}.timeline p{color:var(--muted);margin-bottom:0}.advantage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.advantage-grid div,.policy-cards div,.value-list div,.check-panel,.asset-card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--ring)}.advantage-grid p,.policy-cards p,.value-list span{color:var(--muted);margin-bottom:0}.final-cta{padding-top:40px}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:30px;padding:44px;background:linear-gradient(135deg,var(--brand),#102a62);color:#d8e7ff;box-shadow:var(--shadow)}.cta-panel h2{color:white;max-width:820px}.cta-panel p{max-width:720px;margin-bottom:0;color:#d8e7ff}
.sub-hero{padding:86px 0 70px;background:linear-gradient(180deg,#fff,#f4f8ff)}.sub-hero h1{font-size:clamp(44px,5.4vw,72px)}.product-window,.asset-card,.matrix-visual,.case-proof{min-height:360px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.window-top{height:48px;background:#f2f6fb;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 18px}.window-top span{width:10px;height:10px;border-radius:50%;background:#c6d3e2}.window-top b{margin-left:auto;font-family:'Geist Mono';font-size:12px;color:var(--muted)}.window-body{padding:28px}.data-map{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.data-map span,.outputs span{padding:14px;background:#f6f9fd;border:1px solid var(--line);border-radius:12px;text-align:center;color:var(--ink);font-weight:600}.fabric-layer{margin:24px 0;padding:24px;border-radius:18px;background:linear-gradient(135deg,var(--deep),#1b47a0);color:white;text-align:center;font-weight:700}.outputs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.layer-stack{display:grid;gap:12px}.layer-stack div{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:22px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--ring)}.layer-stack b{color:var(--brand)}.layer-stack p{margin:0;color:var(--muted)}.dark-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.dark-grid.three{grid-template-columns:repeat(3,1fr)}.dark-grid article{padding:24px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.value-list{display:grid;gap:14px}.value-list div{display:grid;grid-template-columns:120px 1fr;gap:18px}.value-list strong{color:var(--ink)}
.asset-card{display:flex;flex-direction:column;justify-content:center;padding:42px;background:radial-gradient(circle at 80% 10%,rgba(48,66,223,.12),transparent 38%),#fff}.asset-card span{font-family:'Geist Mono';color:var(--brand);font-weight:700}.asset-card strong{font-size:38px;line-height:1.08;color:var(--ink);letter-spacing:-.05em;margin:16px 0}.policy-cards,.process-grid,.product-grid{display:grid;gap:16px}.process-grid{grid-template-columns:repeat(5,1fr)}.process-grid article,.product-grid article{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--ring)}.process-grid b{font-family:'Geist Mono';color:var(--brand)}.process-grid p,.product-grid p{color:var(--muted);margin:0}.check-panel p{font-size:18px;color:#40556f}.matrix-visual{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:32px;background:linear-gradient(145deg,#fff,#eef5ff)}.matrix-visual span{display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:28px;font-weight:700;color:var(--brand);box-shadow:var(--ring)}.product-grid{grid-template-columns:repeat(3,1fr)}.ops-list,.finance-path{display:grid;gap:14px}.ops-list div,.finance-path div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px}.ops-list b,.finance-path b{display:block;color:#83d8ff}.ops-list span,.finance-path p{color:#c8d6e6;margin:0}.finance-path div{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--ring)}.finance-path p{color:var(--muted)}.finance-path b{color:var(--brand)}
.case-proof{display:flex;flex-direction:column;justify-content:center;padding:38px;background:linear-gradient(135deg,var(--deep),#173b7d);color:white}.case-proof strong{font-size:44px;letter-spacing:-.06em}.case-proof span{border-top:1px solid rgba(255,255,255,.16);padding:16px 0;color:#cfe0f6}.case-list{display:grid;gap:22px}.case-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--ring)}.case-label{font-family:'Geist Mono';font-size:12px;color:var(--brand);font-weight:700;letter-spacing:.08em}.case-detail p{font-size:18px;color:#52657f}.case-result{display:grid;grid-template-columns:1fr;gap:8px;background:#f7faff;border-radius:20px;padding:24px}.case-result b{color:var(--ink);font-size:24px}.case-result span{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:12px}.case-result span:last-child{border-bottom:0}.site-footer{background:#06152d;color:#b8c7db;padding:64px 0}.footer-grid{display:grid;grid-template-columns:1.8fr 1.1fr 1fr;gap:38px}.footer-brand{display:flex;align-items:center;gap:12px;color:white;font-weight:700;font-size:18px}.footer-brand img{width:38px;height:38px;object-fit:cover;border-radius:10px}.site-footer h4{color:white;margin:0 0 12px}.site-footer a{display:block;color:#b8c7db;margin:8px 0}.site-footer a:hover{color:white}.contact-line a{display:inline;color:white}
@media(max-width:1020px){.hero-grid,.sub-hero-grid,.two-col{grid-template-columns:1fr}.service-grid,.metric-panel,.timeline,.process-grid,.dark-grid{grid-template-columns:1fr 1fr}.product-grid,.dark-grid.three{grid-template-columns:1fr 1fr}.hero-system{height:460px}.sticky-note{position:static}.footer-grid{grid-template-columns:1fr 1fr}.nav-links,.nav-cta{display:none}.nav-toggle{display:block}.nav.open{height:auto;align-items:flex-start;flex-wrap:wrap;padding:14px 28px}.nav.open .nav-links{display:flex;flex-direction:column;width:100%;margin-left:0}.nav.open .nav-cta{display:inline-flex}.site-header .shell.nav.open{max-width:none}}
@media(max-width:640px){.shell{padding:0 18px}.section{padding:62px 0}.hero{padding:62px 0 36px}.metric-panel,.timeline,.service-grid,.advantage-grid,.process-grid,.product-grid,.dark-grid,.dark-grid.three,.footer-grid,.case-detail{grid-template-columns:1fr}.metric-panel div,.timeline div{border-right:0;border-bottom:1px solid var(--line)}.metric-panel div:last-child,.timeline div:last-child{border-bottom:0}.compare-box{grid-template-columns:1fr}.compare-box div:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.hero-system{height:420px}.float-card{width:142px;padding:12px}.core-card{width:155px;height:155px}.core-card strong{font-size:24px}.fc1{left:14px}.fc2{right:14px}.fc3{left:16px}.fc4{right:16px}.layer-stack div,.value-list div{grid-template-columns:1fr}.outputs,.data-map,.matrix-visual{grid-template-columns:1fr 1fr}.cta-panel{flex-direction:column;align-items:flex-start;padding:30px}.case-proof strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* targeted color enhancement v2 */
:root{
  --aqua:#00b4d8;
  --mint:#18c29c;
  --rose:#e84a8a;
  --amber:#f4a62a;
  --aqua-soft:#e7fbff;
  --mint-soft:#e9fff7;
  --rose-soft:#fff0f6;
  --amber-soft:#fff7e8;
}
.hero-system,.product-window,.asset-card,.matrix-visual,.case-proof{
  position:relative;
}
.hero-system:before,.product-window:before,.asset-card:before,.matrix-visual:before,.case-proof:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--brand),var(--aqua),var(--mint),var(--rose));
  opacity:.95;
  z-index:1;
}
.metric-panel div:nth-child(1) strong,.decision-card:nth-child(1) span,.service-card:nth-child(1) .service-index,.timeline div:nth-child(1) b,.process-grid article:nth-child(1) b{color:var(--brand)}
.metric-panel div:nth-child(2) strong,.decision-card:nth-child(2) span,.service-card:nth-child(2) .service-index,.timeline div:nth-child(2) b,.process-grid article:nth-child(2) b{color:var(--aqua)}
.metric-panel div:nth-child(3) strong,.decision-card:nth-child(3) span,.service-card:nth-child(3) .service-index,.timeline div:nth-child(3) b,.process-grid article:nth-child(3) b{color:var(--mint)}
.metric-panel div:nth-child(4) strong,.decision-card:nth-child(4) span,.service-card:nth-child(4) .service-index,.timeline div:nth-child(4) b,.process-grid article:nth-child(4) b{color:var(--rose)}
.timeline div:nth-child(5) b,.process-grid article:nth-child(5) b{color:var(--amber)}
.decision-card:nth-child(2):hover{border-color:rgba(0,180,216,.38);box-shadow:0 0 0 1px rgba(0,180,216,.14),0 16px 34px rgba(0,180,216,.09)}
.decision-card:nth-child(3):hover{border-color:rgba(24,194,156,.38);box-shadow:0 0 0 1px rgba(24,194,156,.14),0 16px 34px rgba(24,194,156,.09)}
.decision-card:nth-child(4):hover{border-color:rgba(232,74,138,.34);box-shadow:0 0 0 1px rgba(232,74,138,.12),0 16px 34px rgba(232,74,138,.08)}
.service-card{position:relative;overflow:hidden}
.service-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--brand)}
.service-card:nth-child(2):before{background:linear-gradient(90deg,var(--brand),var(--aqua))}
.service-card:nth-child(3):before{background:linear-gradient(90deg,var(--aqua),var(--mint))}
.service-card:nth-child(4):before{background:linear-gradient(90deg,var(--rose),var(--amber))}
.service-card.featured{background:radial-gradient(circle at 90% 0%,rgba(0,180,216,.14),transparent 36%),linear-gradient(180deg,#fff,#f0f8ff);border-color:rgba(0,180,216,.28)}
.fabric-layer,.cta-panel{background:linear-gradient(135deg,var(--brand),#12316e 48%,var(--aqua))}
.core-card{background:linear-gradient(135deg,var(--deep),#163a7a 54%,var(--aqua))}
.dark-grid article:nth-child(2n),.ops-list div:nth-child(2n){border-color:rgba(0,180,216,.28);background:rgba(0,180,216,.08)}
.dark-grid article:nth-child(3n),.ops-list div:nth-child(3n){border-color:rgba(24,194,156,.25);background:rgba(24,194,156,.08)}
.value-list div:nth-child(2),.policy-cards div:nth-child(2),.product-grid article:nth-child(2),.finance-path div:nth-child(2){background:linear-gradient(180deg,#fff,var(--aqua-soft));border-color:rgba(0,180,216,.25)}
.value-list div:nth-child(3),.policy-cards div:nth-child(3),.product-grid article:nth-child(3),.finance-path div:nth-child(3){background:linear-gradient(180deg,#fff,var(--mint-soft));border-color:rgba(24,194,156,.25)}
.value-list div:nth-child(4),.product-grid article:nth-child(4),.finance-path div:nth-child(4){background:linear-gradient(180deg,#fff,var(--rose-soft));border-color:rgba(232,74,138,.22)}
.matrix-visual span:nth-child(2),.matrix-visual span:nth-child(6){color:var(--aqua);background:var(--aqua-soft)}
.matrix-visual span:nth-child(3),.matrix-visual span:nth-child(7){color:var(--mint);background:var(--mint-soft)}
.matrix-visual span:nth-child(4),.matrix-visual span:nth-child(8){color:var(--rose);background:var(--rose-soft)}
.case-label{color:var(--aqua)}
.case-detail:nth-child(2n) .case-label{color:var(--mint)}
.case-detail:nth-child(3n) .case-label{color:var(--rose)}
.case-result b:nth-of-type(2){color:var(--aqua)}
.case-result b:nth-of-type(3){color:var(--mint)}
.check-panel{background:linear-gradient(145deg,#fff,var(--aqua-soft));border-color:rgba(0,180,216,.24)}
.asset-card strong{background:linear-gradient(90deg,var(--ink),var(--brand),var(--aqua));-webkit-background-clip:text;background-clip:text;color:transparent}


/* title wrapping refinement v1 */
h1,h2{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hanging-punctuation:none;
}
.title-tail{white-space:nowrap}
.title-compact{font-size:clamp(36px,4.8vw,64px)!important;letter-spacing:-.045em!important;line-height:1.08!important}
.title-tighter{font-size:clamp(31px,4.2vw,54px)!important;letter-spacing:-.035em!important;line-height:1.12!important}
.section-head h2,.section-intro h2,.cta-panel h2{max-width:860px}
@media(max-width:640px){
  h1{font-size:clamp(34px,10vw,44px)}
  h2{font-size:clamp(27px,8vw,36px)}
  .sub-hero h1{font-size:clamp(34px,9.2vw,42px)}
  .title-compact{font-size:clamp(30px,8.6vw,38px)!important}
  .title-tighter{font-size:clamp(27px,7.8vw,34px)!important}
}


/* ===== 数据目录 & 接口详情页 v2 ===== */
[hidden]{display:none!important}
/* -- 目录页头 -- */
.cat-hero{padding:64px 0 48px;background:linear-gradient(180deg,#fff,#eef5ff);text-align:center}
.cat-hero h1{font-size:clamp(32px,4.4vw,44px);margin:8px 0 0}
.cat-lead{color:#51647d;font-size:16px;margin:12px 0 0}
.cat-chips{display:flex;justify-content:center;gap:8px;margin-top:22px;flex-wrap:wrap}
.cat-chips span{font-size:12.5px;color:#38506b;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.cat-chips span b{color:var(--brand);font-family:'Geist Mono',monospace;font-weight:600}
/* -- 目录页主布局 -- */
.cat-main{padding:34px 0 72px}
.cat-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:24px;align-items:start}
.cat-side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--ring);position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.cat-side-head{padding:12px;font-weight:600;color:var(--ink);font-size:15px}
.cat-side-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;font:inherit;font-size:14px;color:#38506b;padding:11px 12px;border-radius:10px;cursor:pointer;transition:.15s ease}
.cat-side-item:hover{background:#f4f8ff;color:var(--brand)}
.cat-side-item.active{background:#eef2ff;color:var(--brand);font-weight:500}
.cat-side-no{font-family:'Geist Mono',monospace;font-size:11.5px;color:#9aa9bd;width:24px;flex:none}
.cat-side-item.active .cat-side-no{color:var(--brand)}
.cat-side-count{margin-left:auto;font-family:'Geist Mono',monospace;font-size:11.5px;color:#9aa9bd}
.cat-content{min-width:0}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.cat-toolbar h2{font-size:18px;margin:0}
.cat-toolbar p{margin:4px 0 0;font-size:13px;color:var(--muted)}
/* -- 产品列表（表格行式） -- */
.cat-list{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--ring);overflow:hidden}
.cat-row{display:grid;grid-template-columns:80px minmax(0,1fr) 110px 84px;gap:14px;align-items:center;padding:15px 20px;border-top:1px solid var(--line);transition:.15s ease;text-decoration:none}
.cat-row:hover{background:#f6f9fd}
.cat-row-head{background:#f6f9fd;border-top:0;padding:12px 20px;font-size:12.5px;color:var(--muted);font-weight:600;display:grid;grid-template-columns:80px minmax(0,1fr) 110px 84px;gap:14px}
.cat-row-id{font-family:'Geist Mono',monospace;font-size:12.5px;color:#9aa9bd}
.cat-row-name{font-size:14.5px;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-row:hover .cat-row-name{color:var(--brand)}
.cat-row-count{font-size:12.5px;color:var(--muted)}
.cat-row-link{font-size:13px;font-weight:500;color:var(--brand);text-align:right;white-space:nowrap}
.cat-empty{background:#fff;border:1px dashed var(--line-strong);border-radius:16px;padding:48px 24px;text-align:center;display:grid;gap:10px;justify-items:center}
.cat-empty b{color:var(--ink);font-size:17px}
.cat-empty span{color:var(--muted);font-size:14px}
/* -- 接口详情页 -- */
.api-breadcrumb{padding:24px 28px 0;font-size:13px;color:var(--muted)}
.api-breadcrumb a:hover{color:var(--brand)}
.api-wrap{padding-bottom:20px}
.api-head{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--ring);margin-top:14px}
.api-head-tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--brand);background:#eef2ff;border-radius:999px;padding:6px 14px;margin-bottom:14px}
.api-head-tag em{font-style:normal;font-family:'Geist Mono',monospace;font-size:11.5px;color:#6b7d93}
.api-head h1{font-size:clamp(22px,2.6vw,28px);margin:0}
.api-desc{font-size:14px;line-height:1.8;color:#51647d;margin:12px 0 0;max-width:900px}
.api-price{display:inline-block;background:#eef2ff;color:var(--brand);font-weight:600;border-radius:12px;padding:12px 18px;margin-top:16px}
.api-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 28px;margin:16px 0 0;max-width:900px}
.api-meta div{display:flex;gap:14px;font-size:13px}
.api-meta span{color:var(--muted);flex:none;width:64px}
.api-meta b{color:var(--text);font-weight:500}
.api-meta b code{font-family:'Geist Mono',monospace;font-weight:500}
.api-actions{display:flex;gap:14px;margin-top:20px}
.api-actions .btn{min-width:150px}
.api-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;margin:22px 0;flex-wrap:wrap}
.api-tabs button{border:0;background:none;font:inherit;font-size:14px;color:var(--muted);padding:10px 16px;border-radius:9px;cursor:pointer;transition:.15s ease}
.api-tabs button:hover{color:var(--brand)}
.api-tabs button.active{background:#eef2ff;color:var(--brand);font-weight:500}
.api-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--ring)}
.api-card h2{font-size:18px;display:flex;align-items:center;gap:10px;margin:0 0 14px}
.api-card h2:before{content:"";width:4px;height:18px;border-radius:2px;background:var(--brand)}
.api-para{color:#51647d;font-size:14px;line-height:1.8;margin:0}
.api-io{display:grid;gap:12px;margin-top:16px}
.api-io>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fbfdff}
.api-io b{display:block;font-size:13px;color:var(--ink);margin-bottom:6px}
.api-io span{font-size:13.5px;color:#51647d;line-height:1.7;white-space:pre-line}
.api-io code{font-family:'Geist Mono',monospace;font-size:12.5px;color:var(--brand);word-break:break-all}
.api-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;margin-top:16px}
.api-table-wrap table{border-collapse:collapse;width:100%;font-size:13px;min-width:480px}
.api-table-wrap th{background:#f6f9fd;text-align:left;padding:13px 14px;font-weight:600;color:#33445c;white-space:nowrap}
.api-table-wrap td{padding:12px 14px;border-top:1px solid var(--line);color:#51647d;vertical-align:top;line-height:1.6}
.api-table-wrap td code{font-family:'Geist Mono',monospace;color:var(--brand);font-weight:500}
.api-table-wrap .idx{font-family:'Geist Mono',monospace;color:#9aa9bd;width:64px}
.api-qual{display:grid;gap:14px}
.api-qual>div{border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.api-qual b{display:block;color:var(--ink);font-size:15px;margin-bottom:6px}
.api-qual span{color:var(--muted);font-size:13px;line-height:1.7}
@media(max-width:1020px){
  .cat-layout{grid-template-columns:1fr}
  .cat-side{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px}
  .cat-side-head{grid-column:1/-1}
  .cat-side-count{display:none}
}
@media(max-width:640px){
  .cat-hero{padding:48px 0 36px}
  .cat-side{grid-template-columns:1fr 1fr}
  .cat-row,.cat-row-head{grid-template-columns:minmax(0,1fr) 72px;gap:10px;padding:13px 16px}
  .cat-row-id,.cat-row-count,.cat-row-head .hd-id,.cat-row-head .hd-count{display:none}
  .cat-toolbar h2{font-size:16px}
  .api-card{padding:20px}
  .api-actions{flex-direction:column}
  .api-tabs{overflow-x:auto;flex-wrap:nowrap}
  .api-tabs button{white-space:nowrap}
}
/* ===== 产品详情文档页签 v4 ===== */
.api-doc{display:grid;gap:20px}
.api-doc-sec{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--ring);overflow:hidden}
.doc-sec-head{display:flex;align-items:center;gap:10px;padding:18px 24px 0}
.doc-sec-head h2{font-size:16.5px;display:flex;align-items:center;gap:10px;margin:0}
.doc-sec-head h2:before{content:"";width:4px;height:17px;border-radius:2px;background:var(--brand)}
.doc-sec-head .doc-sub{font-size:12.5px;color:#9aa9bd;font-family:'Geist Mono',monospace}
/* 接口地址栏 */
.doc-endpoint{display:flex;align-items:center;gap:12px;margin:14px 24px 22px;background:#0b1b33;border-radius:12px;padding:14px 16px;flex-wrap:wrap}
.doc-endpoint .doc-method{background:var(--green);color:#fff;font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;border-radius:6px;padding:4px 10px;flex:none}
.doc-endpoint code{flex:1;min-width:200px;font-family:'Geist Mono',monospace;font-size:13.5px;color:#9ce4ff;word-break:break-all}
.doc-endpoint .doc-valid{font-size:12px;color:#8fa3bc;background:rgba(255,255,255,.08);border-radius:999px;padding:4px 12px;flex:none}
.doc-copy{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#cfe3ff;font-size:12.5px;border-radius:8px;padding:6px 14px;cursor:pointer;transition:.15s ease;flex:none}
.doc-copy:hover{background:rgba(255,255,255,.14)}
.doc-copy.done{border-color:var(--green);color:#7dedc3}
.doc-copy[hidden]{display:none!important}
/* 参数表 */
.doc-table-wrap{overflow:auto;margin:14px 24px 24px;border:1px solid var(--line);border-radius:12px}
.doc-table-wrap table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}
.doc-table-wrap th{background:#f6f9fd;text-align:left;padding:12px 16px;font-weight:600;color:#33445c;white-space:nowrap}
.doc-table-wrap td{padding:11px 16px;border-top:1px solid var(--line);color:#51647d;vertical-align:top;line-height:1.65}
.doc-table-wrap td code{font-family:'Geist Mono',monospace;color:var(--brand);font-weight:500;font-size:12.5px}
.doc-table-wrap .t-type{font-family:'Geist Mono',monospace;color:#0b8fa8;white-space:nowrap}
.doc-table-wrap .t-req{display:inline-block;font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 9px;white-space:nowrap}
.doc-table-wrap .t-req.yes{background:#ffecec;color:#c0392b}
.doc-table-wrap .t-req.no{background:#f1f4f9;color:#7d8da3}
.doc-table-wrap .t-group td{background:#fbfdff;font-weight:600;color:var(--ink);font-size:12.5px;padding:9px 16px}
.doc-table-wrap .t-group td .t-sub{font-weight:400;color:#9aa9bd;font-family:'Geist Mono',monospace;font-size:11.5px;margin-left:8px}
.doc-note{margin:0 24px 24px;color:var(--muted);font-size:13px;line-height:1.7;background:#fbfdff;border:1px dashed var(--line-strong);border-radius:12px;padding:16px 18px}
/* 代码示例块 */
.doc-code{margin:14px 24px 24px;background:#0b1b33;border-radius:12px;overflow:hidden}
.doc-code-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.doc-code-head .dot{display:inline-flex;gap:5px}
.doc-code-head .dot i{width:9px;height:9px;border-radius:50%;background:#2c3e5c}
.doc-code-head .doc-code-title{font-family:'Geist Mono',monospace;font-size:12px;color:#8fa3bc;flex:1}
.doc-code-head .doc-copy{margin-left:auto}
.doc-code pre{margin:0;padding:18px 20px;font-family:'Geist Mono',monospace;font-size:12.5px;line-height:1.8;color:#9ce4ff;overflow:auto;max-height:420px;white-space:pre}
