/* 矩阵管家 法律文档统一样式 —— 与官网同一套 token */
:root{
  --brand:#4f46e5; --brand-deep:#4338ca; --layer-2:#7c76ec; --layer-1:#a5a1f2;
  --ink:#12141b; --ink-2:#3f4456; --muted:#6b7085;
  --paper:#fcfcfe; --surface:#ffffff; --sunk:#f4f4fa; --line:#e7e7f2;
  --r:14px;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{ --brand:#8d87f0; --brand-deep:#6d65ea; --layer-2:#6a63e0; --layer-1:#4a44a8;
    --ink:#e9eaf3; --ink-2:#c2c6d6; --muted:#8b90a6;
    --paper:#0b0d13; --surface:#151822; --sunk:#101320; --line:#262b3a; }
}
:root[data-theme="dark"]{ --brand:#8d87f0; --brand-deep:#6d65ea; --layer-2:#6a63e0; --layer-1:#4a44a8;
  --ink:#e9eaf3; --ink-2:#c2c6d6; --muted:#8b90a6;
  --paper:#0b0d13; --surface:#151822; --sunk:#101320; --line:#262b3a; }
:root[data-theme="light"]{ --brand:#4f46e5; --brand-deep:#4338ca; --layer-2:#7c76ec; --layer-1:#a5a1f2;
  --ink:#12141b; --ink-2:#3f4456; --muted:#6b7085;
  --paper:#fcfcfe; --surface:#ffffff; --sunk:#f4f4fa; --line:#e7e7f2; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
      font-size:16px; line-height:1.85; -webkit-font-smoothing:antialiased; }
a{ color:var(--brand); }
:focus-visible{ outline:2px solid var(--brand); outline-offset:3px; border-radius:6px; }

.shell{ width:100%; max-width:800px; margin:0 auto; padding:0 24px; }

.topbar{ border-bottom:1px solid var(--line); background:var(--surface); }
.topbar .shell{ display:flex; align-items:center; height:62px; gap:12px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:750; font-size:16px;
        letter-spacing:-.02em; text-decoration:none; color:var(--ink); }
.brand svg{ width:27px; height:27px; display:block; }
.topbar .back{ margin-left:auto; font-size:14px; text-decoration:none; color:var(--ink-2); }
.topbar .back:hover{ color:var(--brand); }

.doc{ padding:52px 0 76px; }
.doc h1{ font-size:clamp(26px,4vw,36px); font-weight:800; letter-spacing:-.03em;
         line-height:1.25; margin:0 0 14px; text-wrap:balance; }
.stamp{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px; color:var(--muted);
        padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:30px; }

.intro{ background:var(--sunk); border-left:3px solid var(--brand);
        border-radius:0 var(--r) var(--r) 0; padding:18px 22px; margin:0 0 34px;
        font-size:15px; color:var(--ink-2); }
.intro b{ color:var(--ink); }

.toc{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
      padding:20px 24px; margin-bottom:38px; }
.toc h2{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--brand);
         font-weight:700; margin:0 0 12px; }
.toc ol{ margin:0; padding-left:20px; display:grid; grid-template-columns:1fr 1fr;
         gap:2px 26px; font-size:14px; }
.toc a{ color:var(--ink-2); text-decoration:none; }
.toc a:hover{ color:var(--brand); text-decoration:underline; }

section{ margin-bottom:38px; scroll-margin-top:20px; }
section > h2{ font-size:20px; font-weight:750; letter-spacing:-.02em; margin:0 0 12px;
              display:flex; gap:11px; align-items:baseline; }
section > h2 .n{ font-size:13px; font-weight:700; color:var(--brand);
                 font-variant-numeric:tabular-nums; flex-shrink:0; }
h3{ font-size:16px; font-weight:700; margin:22px 0 8px; }
p{ margin:0 0 12px; color:var(--ink-2); }
ul,ol.body{ margin:0 0 12px; padding-left:22px; color:var(--ink-2); }
li{ margin-bottom:7px; }
strong{ color:var(--ink); font-weight:650; }

.callout{ background:color-mix(in srgb,var(--brand) 7%,transparent);
          border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);
          border-radius:var(--r); padding:16px 20px; margin:16px 0; font-size:15px; }
.callout p:last-child{ margin-bottom:0; }

.tbl-wrap{ overflow-x:auto; margin:14px 0 16px; border:1px solid var(--line);
           border-radius:var(--r); }
table{ border-collapse:collapse; width:100%; min-width:520px; font-size:14px; }
th,td{ text-align:left; padding:11px 15px; border-bottom:1px solid var(--line);
       vertical-align:top; color:var(--ink-2); }
th{ background:var(--sunk); color:var(--ink); font-weight:650; white-space:nowrap; }
tr:last-child td{ border-bottom:none; }

footer{ border-top:1px solid var(--line); padding:28px 0 44px; }
.foot{ font-size:13px; color:var(--muted); display:flex; gap:8px 18px; flex-wrap:wrap; }
.foot a{ color:var(--muted); }

@media (max-width:640px){
  .toc ol{ grid-template-columns:1fr; }
  .doc{ padding:34px 0 54px; }
}
