/* Extracted long-form publication stylesheet for the medical AI guide. */
/* =====================================================================
   中国法域人工智能法律与合规指南 — 视觉系统
   现代科技法律风格 · 白底 · 钴蓝主调 · 思源黑体标题 / 思源宋体正文
   ===================================================================== */

:root{
  /* 纸张与墨色（冷调中性） */
  --paper:#FFFFFF;
  --paper2:#F3F6FC;      /* 提示卡 / 斑马纹底 */
  --ink:#15171E;         /* 正文墨色 */
  --ink2:#5B6273;        /* 次级文字 */
  --ink3:#8A91A2;        /* 三级 / 注释 */
  --rule:#DBE2EF;        /* 细线 */
  --rule2:#EAEFF8;

  /* 品牌主色（可由配色切换器覆盖） */
  --brand:#1F3FAE;       /* 钴蓝（签名色） */
  --brand2:#2F6BF0;      /* 亮蓝（强调） */
  --brandwash:#EEF3FE;   /* 极淡蓝铺底 */
  --accent:#1F3FAE;      /* 链接 / 装饰，跟随主色 */

  --maxw:840px;
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --sans:"Noto Sans SC","Source Han Sans SC","PingFang SC",sans-serif;
}

/* ---- 配色切换器：三版 ---- */
html[data-palette="slate"]{--brand:#1C3A5E;--brand2:#2B7FB0;--brandwash:#EEF4F8;--accent:#1C3A5E;}
html[data-palette="warm"]{--brand:#1F3FAE;--brand2:#DC7A2C;--accent:#DC7A2C;}
html[data-palette="med"]{--brand:#0E5A82;--brand2:#C9762E;--brandwash:#EEF8F9;--accent:#C9762E;}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:16.5px;line-height:1.86;
  letter-spacing:.01em;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}

/* =====================================================================
   封面
   ===================================================================== */
.cover{
  position:relative;min-height:100vh;display:grid;
  grid-template-columns:1.06fr .94fr;align-items:stretch;
  background:var(--paper);color:var(--ink);overflow:hidden;
}
/* 左侧文字区 */
.cover-l{display:flex;flex-direction:column;justify-content:flex-start;
  padding:84px 4vw 48px 7vw;position:relative;z-index:2;min-height:100vh}
.cover-top{display:flex;align-items:center;gap:14px;font-family:var(--sans);
  font-size:.72rem;letter-spacing:.3em;color:var(--ink3);text-transform:uppercase;
  margin-bottom:34px;white-space:nowrap}
.cover-top .dot{width:7px;height:7px;background:var(--brand2);transform:rotate(45deg);flex:none}
.cover .tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px;
  font-family:var(--sans);font-size:.7rem;letter-spacing:.22em}
.cover .tags span{border:1px solid var(--rule);color:var(--ink2);
  padding:5px 12px;border-radius:2px;background:#fff;white-space:nowrap}
.cover .tags span.k{border-color:var(--brand2);color:var(--brand2);font-weight:700}
.cover h1{font-family:var(--sans);font-weight:800;
  font-size:clamp(2.6rem,5.4vw,4.5rem);line-height:1.12;
  letter-spacing:.02em;margin:0 0 18px}
.cover h1 b{color:var(--brand);font-weight:800}
.cover h1 .stroke{position:relative}
.cover .en{font-family:var(--sans);font-size:.76rem;font-weight:600;
  letter-spacing:.26em;color:var(--ink3);margin:0 0 30px;max-width:30em;line-height:1.9}
.cover .lead{font-size:1.02rem;line-height:2.05;max-width:30em;color:var(--ink);
  padding-left:20px;border-left:3px solid var(--brand);margin:0 0 8px}
.cover-foot{display:flex;margin-top:auto;padding-top:44px;
  justify-content:space-between;align-items:flex-end;gap:24px;
  font-family:var(--sans);font-size:.78rem;letter-spacing:.04em;color:var(--ink2);z-index:2}
.cover-foot .firm b{display:block;color:var(--ink);font-size:.96rem;
  font-weight:800;letter-spacing:.06em;margin-bottom:3px}
.cover-foot .firm{line-height:1.7;max-width:18em}
.cover-foot .v{text-align:right;line-height:1.7;color:var(--ink3)}
/* 右侧主视觉区 */
.cover-r{position:relative;background:
  linear-gradient(160deg,var(--brandwash) 0%,#fff 64%);
  border-left:1px solid var(--rule);overflow:hidden;display:flex;
  align-items:center;justify-content:center}
.cover-r::before{content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--rule2) 1px,transparent 1px),
    linear-gradient(90deg,var(--rule2) 1px,transparent 1px);
  background-size:40px 40px;mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 78%);opacity:.9}
.cover-r svg{position:relative;width:86%;height:auto;color:var(--brand)}

/* =====================================================================
   通用版心节奏
   ===================================================================== */
.section-rule{height:3px;width:46px;background:var(--brand)}
.toc .rule,.cred .rule{height:3px;width:46px;background:var(--brand);margin:16px 0 28px}

/* ---- 目录 ---- */
.toc{padding:96px 0 30px}
.toc .kick{font-family:var(--sans);font-size:.74rem;letter-spacing:.32em;
  color:var(--brand2);font-weight:700;text-transform:uppercase;margin-bottom:10px}
.toc h2{font-family:var(--sans);font-size:1.7rem;font-weight:800;letter-spacing:.16em;margin:0}
.toc .section-rule{margin:16px 0 30px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:none}
.toc li{border-top:1px solid var(--rule)}
.toc li:last-child{border-bottom:1px solid var(--rule)}
.toc a{display:grid;grid-template-columns:96px 1fr auto;gap:2px 18px;align-items:baseline;
  padding:16px 6px;text-decoration:none;color:var(--ink);transition:.18s;position:relative}
.toc a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--c,var(--brand));transition:.18s;opacity:.06}
.toc a:hover::before{width:100%}
.toc a:hover{padding-left:14px}
.tn{grid-row:span 2;font-family:var(--sans);font-weight:800;font-size:1rem;
  letter-spacing:.06em;color:var(--c,var(--brand));align-self:center}
.tt{font-family:var(--sans);font-size:1.12rem;font-weight:700;letter-spacing:.02em}
.ts{font-family:var(--sans);font-size:.82rem;color:var(--ink2);grid-column:2;line-height:1.55}
.tpage{font-family:var(--sans);font-size:.84rem;color:var(--ink3);grid-row:span 2;align-self:center}

/* ---- 出品团队 ---- */
.cred{padding:34px 0 8px}
.cred .kick{font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;
  color:var(--brand2);font-weight:700;margin-bottom:10px}
.cred .section-rule{margin:0 0 16px}
.cred .nm{font-family:var(--sans);font-size:1.05rem;color:var(--ink);
  letter-spacing:.14em;font-weight:700;margin:0 0 6px}
.cred p{font-family:var(--sans);margin:4px 0;color:var(--ink2);font-size:.9rem}

/* =====================================================================
   章节
   ===================================================================== */
.chapter{padding:0 0 36px}
.chapter+.chapter{border-top:none}
.ch{position:relative;padding:64px 0 0}
.ch .tag{font-family:var(--sans);font-size:.76rem;letter-spacing:.34em;
  color:var(--c);font-weight:700;text-transform:uppercase}
.ch .big{position:absolute;right:-6px;top:30px;font-family:var(--sans);
  font-size:7rem;line-height:1;color:var(--c);opacity:.08;font-weight:800;
  letter-spacing:0;pointer-events:none;user-select:none}
.ch h1{font-family:var(--sans);font-size:clamp(2.1rem,4.6vw,3.1rem);
  font-weight:800;letter-spacing:.04em;margin:.3em 0 0}
.ch h1::after{content:"";display:block;width:56px;height:4px;background:var(--c);margin-top:18px}
.ch .sub{font-family:var(--sans);font-size:1rem;color:var(--ink2);
  margin:18px 0 0;max-width:34em;line-height:1.7}
.ch .by{display:flex;align-items:center;gap:10px;font-family:var(--sans);
  font-size:.78rem;letter-spacing:.05em;color:var(--c);margin-top:18px;opacity:.92}
.ch .by::before{content:"";width:18px;height:1px;background:currentColor;opacity:.6}

/* ---- 章首插画 ---- */
.hero{margin:34px 0 6px;color:var(--c);position:relative;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 5%,#fff),#fff);
  border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(color-mix(in srgb,var(--c) 16%,transparent) .8px,transparent .8px);
  background-size:22px 22px;opacity:.35;mask-image:linear-gradient(90deg,#000,transparent 60%);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 60%)}
.hero svg{display:block;width:100%;height:auto;position:relative}
.hero .cap{position:absolute;left:22px;bottom:16px;font-family:var(--sans);
  font-size:.72rem;letter-spacing:.18em;color:var(--c);opacity:.7;z-index:2}

/* =====================================================================
   正文排版
   ===================================================================== */
.body{font-size:16.5px;line-height:1.92}
.body h2{font-family:var(--sans);font-size:1.5rem;font-weight:800;
  letter-spacing:.04em;margin:1.9em 0 .7em;color:var(--ink)}
.body h3{font-family:var(--sans);font-size:1.28rem;font-weight:700;
  margin:2em 0 .7em;padding-left:16px;border-left:5px solid var(--c);letter-spacing:.02em}
.body h4{font-family:var(--sans);font-size:1.06rem;font-weight:700;
  margin:1.6em 0 .5em;color:var(--c);letter-spacing:.02em}
.body p{margin:1em 0;text-align:justify;text-wrap:pretty}
.body strong{color:var(--c);font-weight:700}
.body ul,.body ol{padding-left:1.4em;margin:.85em 0}
.body li{margin:.45em 0}
.body li::marker{color:var(--c)}
.body a{color:var(--brand);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}
.body hr{border:0;border-top:1px solid var(--rule);margin:2.2em 0}

/* 提示 / 引用卡 */
.body blockquote{margin:1.5em 0;padding:18px 22px;
  background:var(--brandwash);border-left:4px solid var(--c);
  border-radius:0 6px 6px 0;font-size:.96rem;color:var(--ink2)}
.body blockquote p{margin:.4em 0;text-align:left}
.body blockquote strong{color:var(--c)}

/* 表格 */
.body table{width:100%;border-collapse:collapse;margin:1.5em 0;
  font-family:var(--sans);font-size:.86rem;line-height:1.6;
  border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.body thead th{background:var(--c);color:#fff;padding:11px 13px;text-align:left;
  font-weight:700;letter-spacing:.02em;vertical-align:top}
.body td{padding:10px 13px;border-bottom:1px solid var(--rule);
  vertical-align:top;line-height:1.62}
.body tbody tr:nth-child(even) td{background:var(--paper2)}
.body tbody tr:last-child td{border-bottom:0}
.body td strong{color:var(--ink)}
.body code{font-family:"SFMono-Regular",ui-monospace,monospace;
  background:var(--paper2);padding:1px 6px;border-radius:3px;font-size:.86em;color:var(--brand)}

/* =====================================================================
   信息图（SVG）
   ===================================================================== */
.figure{margin:2em 0;border:1px solid var(--rule);border-radius:8px;
  background:#fff;overflow:hidden;color:var(--brand)}
.figure .fig-head{display:flex;align-items:baseline;gap:12px;
  padding:16px 22px 0;font-family:var(--sans)}
.figure .fig-no{font-size:.72rem;letter-spacing:.2em;font-weight:700;color:var(--brand2)}
.figure .fig-title{font-size:1rem;font-weight:700;color:var(--ink);letter-spacing:.02em}
.figure .fig-body{padding:8px 22px 18px}
.figure svg{display:block;width:100%;height:auto}
.figure .fig-note{font-family:var(--sans);font-size:.74rem;color:var(--ink3);
  padding:0 22px 16px;line-height:1.6}

/* =====================================================================
   版权页 / colophon
   ===================================================================== */
.colophon{margin-top:70px;background:var(--paper2);border-top:1px solid var(--rule)}
.colophon .inner{max-width:var(--maxw);margin:0 auto;padding:64px 32px 72px;
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start}
.colophon .brand{display:flex;flex-direction:column;align-items:center;gap:14px;
  text-align:center}
.colophon .brand img{width:128px;height:auto;border-radius:8px;
  border:1px solid var(--rule);background:#fff}
.colophon .brand .firm{font-family:var(--sans);font-size:.8rem;font-weight:700;
  color:var(--ink);letter-spacing:.06em;line-height:1.7}
.colophon .brand .firm span{display:block;font-weight:400;color:var(--ink2);font-size:.74rem}
.colophon .meta{font-family:var(--sans);font-size:.84rem;color:var(--ink2);line-height:1.95}
.colophon .meta h3{font-family:var(--sans);font-size:.78rem;letter-spacing:.26em;
  color:var(--brand2);font-weight:700;margin:0 0 12px;text-transform:uppercase}
.colophon .meta .row{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--rule)}
.colophon .meta .row b{min-width:84px;color:var(--ink);font-weight:700}
.colophon .copyright{margin-top:22px;padding-top:18px;font-size:.82rem;color:var(--ink2);line-height:1.9}
.colophon .copyright .c{font-family:var(--sans);font-weight:700;color:var(--ink);letter-spacing:.02em}
.colophon .copyright .en{color:var(--ink3);font-size:.76rem;letter-spacing:.02em}
.colophon .disc{margin-top:14px;font-size:.76rem;color:var(--ink3);line-height:1.75;max-width:52em}

/* =====================================================================
   配色切换器（屏幕，打印隐藏）
   ===================================================================== */
.pal{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;gap:8px;
  align-items:center;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);
  border:1px solid var(--rule);border-radius:999px;padding:7px 12px;
  box-shadow:0 6px 24px rgba(20,30,60,.12);font-family:var(--sans)}
.pal .lab{font-size:.68rem;letter-spacing:.16em;color:var(--ink3);margin-right:2px}
.pal button{width:22px;height:22px;border-radius:50%;border:2px solid #fff;
  cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--rule);transition:.15s}
.pal button:hover{transform:scale(1.12)}
.pal button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink)}
.pal .p1{background:#1F3FAE}.pal .p2{background:#1C3A5E}.pal .p3{background:linear-gradient(135deg,#1F3FAE 60%,#DC7A2C 60%)}

/* =====================================================================
   响应式
   ===================================================================== */
@media(max-width:820px){
  .cover{grid-template-columns:1fr;min-height:auto}
  .cover-r{min-height:42vh;border-left:0;border-top:1px solid var(--rule);order:-1}
  .cover-l{padding:14vh 8vw 8vh}
  .cover-top{position:static;margin-bottom:24px;padding:0}
  .cover-foot{position:static;margin-top:40px;flex-direction:column;align-items:flex-start;gap:14px}
  .wrap{padding:0 22px}
  .colophon .inner{grid-template-columns:1fr;gap:28px}
  .colophon .brand{align-items:flex-start;flex-direction:row}
}

/* =====================================================================
   打印 / PDF
   ===================================================================== */
@page{size:A4;margin:18mm 16mm 20mm}
@page{@bottom-center{content:counter(page);font-family:var(--sans);font-size:9pt;color:#9aa2b4}}
@media print{
  body{font-size:10.6pt;line-height:1.72;background:#fff}
  .wrap{max-width:none;padding:0}
  .pal{display:none!important}
  /* 封面：打印时保持双栏，主视觉垂直居中缩放适配、完整不裁切 */
  .cover{display:grid;grid-template-columns:1.04fr .96fr;min-height:auto;height:255mm;padding:0;page-break-after:always}
  .cover-r{order:0;min-height:auto;border:0;border-left:1px solid var(--rule);
    display:flex;align-items:center;justify-content:center;overflow:hidden}
  .cover-r::before{opacity:.4}
  .cover-r svg{width:88%;height:auto;max-height:150mm}
  .cover-l{min-height:auto;justify-content:center;padding:28mm 8mm 18mm 14mm}
  .cover-top{position:static;margin-bottom:18px}
  .cover-foot{position:static;margin-top:auto;padding-top:10mm}
  .toc{page-break-after:always;padding-top:8mm}
  .chapter{page-break-before:always;padding-top:0}
  .ch{padding-top:0}
  .hero{page-break-inside:avoid}
  .body h2,.body h3,.body h4{page-break-after:avoid}
  .body p:has(+ table){break-after:avoid;page-break-after:avoid}
  .body p:has(+ .figure){break-after:avoid;page-break-after:avoid}
  .body table,.body blockquote,.figure{page-break-inside:avoid}
  .colophon{page-break-before:always}
  a{color:inherit}
  .body a{border-bottom:0}
}
