/* ============================================================
   有据科技 · 信任与合规（档案层）
   这是官网的第二层：官网上它是一份合规页，实际上它是档案。
   双层语言在此全开：公开口径 ⇄ 内部口径。
   ============================================================ */

:root{
  --bg:#0a0b0c; --ink:#e7ebe8; --sub:#8b9691; --dim:#5f6a66;
  --line:rgba(231,235,232,.14); --line-2:rgba(231,235,232,.08);
  --sans:"Inter","PingFang SC","Microsoft YaHei UI","Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,"Cascadia Mono","SFMono-Regular",Consolas,"Courier New",monospace;
}
*{ box-sizing:border-box; margin:0; }
body{ background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
.mono{ font-family:var(--mono); }

/* 顶栏 */
.topbar{ position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:15px clamp(20px,5vw,56px); border-bottom:1px solid var(--line-2);
  background:color-mix(in oklab, var(--bg) 84%, transparent); backdrop-filter:blur(14px); }
.topbar .brand{ font-weight:700; letter-spacing:.16em; font-size:14px; }
.topbar .brand small{ font-family:var(--mono); font-weight:500; font-size:9px; letter-spacing:.3em; color:var(--sub); margin-left:8px; }
.topbar .brand .mark{ display:inline-block; width:21px; height:21px; vertical-align:-4.5px; margin-right:8px; }
.topbar nav{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--sub); }
.topbar nav a:hover{ color:var(--ink); }

.doc{ max-width:940px; margin:0 auto; padding:clamp(56px,10vh,120px) clamp(20px,5vw,56px) 120px; }
.eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--sub); margin-bottom:24px; }
h1{ font-size:clamp(30px,5vw,58px); line-height:1.06; letter-spacing:-.035em; font-weight:640; }
h2{ font-size:clamp(20px,2.6vw,30px); letter-spacing:-.02em; font-weight:620; margin-bottom:10px; }
.lede{ font-size:16px; line-height:1.8; color:var(--sub); max-width:64ch; }
section{ margin-top:clamp(56px,8vh,96px); }
.sec-tag{ font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; color:var(--dim); margin-bottom:26px; }

/* 逐句：公开口径 ⇄ 内部口径 */
.row{ border-top:1px solid var(--line); padding:24px 0; display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(18px,3vw,44px); align-items:start; }
.row .pub{ font-size:clamp(16px,1.7vw,20px); letter-spacing:-.01em; }
.row .int{ font-family:var(--mono); font-size:12px; line-height:1.75; color:var(--sub);
  opacity:0; transform:translateY(4px); transition:opacity .35s ease, transform .35s ease; }
.row:hover .int, .row.tap .int{ opacity:1; transform:none; }
.row:hover .pub{ color:#fff; }
@media (hover:none){ .row .int{ opacity:1; transform:none; } }
@media (max-width:720px){ .row{ grid-template-columns:1fr; gap:12px; } }

/* 数据流表 */
table{ width:100%; border-collapse:collapse; font-size:13px; margin-top:8px; }
th,td{ text-align:left; padding:15px 14px 15px 0; border-top:1px solid var(--line); vertical-align:top; }
th{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--sub); font-weight:500; }
td:first-child{ color:var(--ink); }
td{ color:var(--sub); }
td .no{ font-family:var(--mono); font-size:11px; }

/* 撤回三代 */
.gens{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px; }
.gen{ background:var(--bg); padding:24px; }
.gen .v{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--sub); }
.gen h3{ font-size:17px; margin:12px 0 10px; font-weight:620; }
.gen p{ font-size:12.5px; color:var(--sub); line-height:1.7; }
@media (max-width:720px){ .gens{ grid-template-columns:1fr; } }

/* 承诺回收（机制 C） */
.promise{ border-top:1px solid var(--line); padding-top:46px; }
.quote{ font-size:clamp(28px,4.4vw,58px); line-height:1.2; letter-spacing:-.03em; font-weight:600; max-width:20ch; margin-top:6px; }
.quote .mk{ background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat;
  background-position:0 100%; background-size:0% 1px; padding-bottom:.05em; transition:background-size 1.1s cubic-bezier(.2,.7,.2,1); }
.promise.open .quote .mk{ background-size:100% 1px; }
.promise.open .quote .mk:nth-of-type(1){ transition-delay:.15s; }
.promise.open .quote .mk:nth-of-type(2){ transition-delay:.55s; }
.promise.open .quote .mk:nth-of-type(3){ transition-delay:.95s; }
.cmt{ margin-top:16px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--sub); }
.unfold{ opacity:0; max-height:0; overflow:hidden; transition:opacity .8s ease, max-height 1s ease; }
.promise.open .unfold{ opacity:1; max-height:520px; }
.redefs{ list-style:none; margin-top:38px; }
.redefs li{ display:grid; grid-template-columns:130px 1fr; gap:20px; align-items:baseline; padding:15px 0; border-top:1px solid var(--line); font-size:13px; }
.redefs .k{ font-family:var(--mono); letter-spacing:.06em; }
.redefs .d{ color:var(--sub); }
.coda{ margin-top:26px; font-size:13px; line-height:1.8; color:var(--sub); }
@media (max-width:560px){ .redefs li{ grid-template-columns:1fr; gap:6px; } }

/* 分层 */
.layers{ list-style:none; margin-top:10px; }
.layers li{ display:grid; grid-template-columns:auto 1fr; gap:22px; padding:26px 0; border-top:1px solid var(--line); }
.layers .idx{ font-family:var(--mono); font-size:12px; color:var(--dim); padding-top:3px; }
.layers h3{ font-size:clamp(17px,1.9vw,22px); font-weight:620; margin-bottom:9px; letter-spacing:-.01em; }
.layers h3 em{ font-style:normal; color:var(--dim); }
.layers p{ font-size:13.5px; color:var(--sub); line-height:1.82; max-width:62ch; }
.layers p b{ color:var(--ink); font-weight:500; }
@media (max-width:560px){ .layers li{ grid-template-columns:1fr; gap:8px; } }

/* 分层条目里的「内部口径」小注 */
.layers .mech{ margin-top:10px; font-family:var(--mono); font-size:11.5px; line-height:1.75;
  color:var(--dim); padding-left:12px; border-left:1px solid var(--line-2); }
.layers .mech span{ display:inline-block; margin-right:8px; padding:1px 6px;
  border:1px solid var(--line); border-radius:2px; letter-spacing:.1em; color:var(--sub); }
.layers .mech b{ color:var(--sub); font-weight:500; }

/* —— §03 分级与筛选 —— */
/* 顶栏是 sticky 的，锚点落下来时别被压在栏底下 */
#band, #promise{ scroll-margin-top:78px; }
.sub-h{ font-size:15px; font-weight:600; letter-spacing:-.01em; margin:44px 0 4px;
  padding-top:18px; border-top:1px solid var(--line-2); }
.sub-h + .small{ margin-top:10px; }
.note{ font-size:12.5px; line-height:1.85; color:var(--sub); max-width:66ch; margin:16px 0 0; }
.note b{ color:var(--ink); font-weight:500; }
.note.warn{ border-left:1px solid var(--line); padding-left:14px; }

table.inputs{ font-size:12.5px; margin-top:14px; }
@media (max-width:760px){
  /* 四列表在窄屏上改成立起卡片：每格前面挂自己的列名 */
  .inputs--wide thead{ display:none; }
  .inputs--wide, .inputs--wide tbody, .inputs--wide tr, .inputs--wide td{ display:block; width:auto; }
  .inputs--wide tr{ border-top:1px solid var(--line); padding:16px 0; }
  .inputs--wide tr:first-child{ border-top:none; }
  .inputs--wide td{ border:none; padding:3px 0; }
  .inputs--wide td::before{ content:attr(data-l) '　'; font-family:var(--mono);
    font-size:10px; letter-spacing:.12em; color:var(--dim); }
  .inputs--wide td:first-child::before{ display:none; }
  .inputs--wide td:first-child{ font-size:14px; margin-bottom:6px; }
  /* 两列表维持原样，只加一点行距 */
  .inputs:not(.inputs--wide) td{ padding:9px 12px 9px 0; }
}
table.inputs td:first-child{ color:var(--ink); }
table.inputs td .no{ font-family:var(--mono); font-size:10.5px; color:var(--dim); }
table.inputs tr.is-zero td{ color:var(--dim); }
table.inputs tr.is-zero td:first-child{ color:var(--sub); }
table.inputs tr.is-zero b{ color:var(--sub); font-weight:500; }

/* 四维 */
.dims{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); margin-top:14px; }
.dim{ background:var(--bg); padding:18px 20px; display:grid; gap:6px; }
.dim .n{ font-size:10.5px; color:var(--dim); }
.dim b{ font-size:15px; font-weight:620; letter-spacing:-.01em; }
.dim .d{ font-size:12px; color:var(--sub); }
.dim .lag{ font-family:var(--mono); font-size:10.5px; color:var(--dim); }
@media (max-width:640px){ .dims{ grid-template-columns:1fr; } }

/* 两个池 */
.pools{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); margin-top:14px; }
.pool{ background:var(--bg); padding:20px; }
.pool .pt{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--sub); }
.pool p{ font-size:12.5px; line-height:1.8; color:var(--sub); margin-top:10px; }
.pool b{ color:var(--ink); font-weight:500; }
.pool .how{ font-family:var(--mono); font-size:11px; color:var(--dim); }
@media (max-width:640px){ .pools{ grid-template-columns:1fr; } }

/* 筛选六步 */
.steps2{ list-style:none; margin-top:14px; }
.steps2 li{ display:grid; grid-template-columns:auto 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--line-2); }
.steps2 .n{ font-family:var(--mono); font-size:11px; color:var(--dim); padding-top:3px; }
.steps2 b{ display:block; font-size:14px; font-weight:600; margin-bottom:6px; }
.steps2 p{ font-size:12.5px; line-height:1.8; color:var(--sub); max-width:64ch; }
.steps2 p b{ display:inline; color:var(--ink); font-weight:500; }

/* 顶栏的「分级与筛选」快捷入口 */
.topbar nav a.toband{ margin-right:18px; color:var(--ink); opacity:.8; }
.topbar nav a.toband:hover{ opacity:1; }

/* 收束 */
.closing{ margin-top:26px; font-size:clamp(15px,1.7vw,19px); color:var(--ink); letter-spacing:-.01em; }

footer.doc-foot{ max-width:940px; margin:0 auto; padding:32px clamp(20px,5vw,56px) 60px;
  display:flex; flex-wrap:wrap; gap:12px 28px; border-top:1px solid var(--line-2);
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--dim); }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
