/* 流星农跨境法税 · 沉浸式阅读器
 * 左栏（目录 / 标注 / 形态）+ 右栏正文同步切换；微信读书式阅读设置。
 * 在其之上加强：法条卡片、观点与批注层、同一内容的多种形态入口。 */

.rd {
  --rd-paper:#fff; --rd-ink:#1c1f24; --rd-ink-soft:#454b54; --rd-ink-faint:#8b939d;
  --rd-rule:#e6e8ec; --rd-rule-soft:#f0f2f5; --rd-accent:#8a5a2b; --rd-accent-soft:#f6efe4;
  --rd-panel:#f7f8fa; --rd-opinion:#fbf7f0; --rd-note:#f4f6f8;
  --rd-measure:40rem; --rd-leading:1.95; --rd-size:17.5px;
}
html[data-rd-theme="sepia"] .rd { --rd-paper:#f6f1e7; --rd-ink:#3b3327; --rd-ink-soft:#5b5140;
  --rd-ink-faint:#9c9081; --rd-rule:#e3dac9; --rd-rule-soft:#ece4d6; --rd-accent:#8a5a2b;
  --rd-accent-soft:#efe4d2; --rd-panel:#f1ebdf; --rd-opinion:#f2ebdd; --rd-note:#efe8db; }
html[data-rd-theme="green"] .rd { --rd-paper:#e9f0e9; --rd-ink:#26332b; --rd-ink-soft:#45564b;
  --rd-ink-faint:#7d8f83; --rd-rule:#d3ded4; --rd-rule-soft:#dde6de; --rd-accent:#3f6b4d;
  --rd-accent-soft:#dce9de; --rd-panel:#e2ebe3; --rd-opinion:#dfeade; --rd-note:#dfe7e0; }
html[data-rd-theme="night"] .rd { --rd-paper:#16181b; --rd-ink:#c9ced6; --rd-ink-soft:#9ba3ad;
  --rd-ink-faint:#767e88; --rd-rule:#2a2e34; --rd-rule-soft:#22262b; --rd-accent:#d3a06a;
  --rd-accent-soft:#2a2318; --rd-panel:#1b1e22; --rd-opinion:#1f1c16; --rd-note:#1d2126; }
html[data-rd-size="s"] .rd { --rd-size:16px; }
html[data-rd-size="l"] .rd { --rd-size:19px; }
html[data-rd-size="xl"] .rd { --rd-size:21px; }
html[data-rd-leading="tight"] .rd { --rd-leading:1.7; }
html[data-rd-leading="loose"] .rd { --rd-leading:2.15; }
html[data-rd-width="wide"] .rd { --rd-measure:46rem; }
html[data-rd-width="full"] .rd { --rd-measure:56rem; }

body.rd-body .site-footer { display:none; }
body.rd-body { background:#fff; }
.rd *, .rd *::before, .rd *::after { box-sizing:border-box; }
.rd-main, .rd-layout, .rd-article, .rd-content { min-width:0; max-width:100%; }
.rd { display:flex; flex-direction:column; min-height:calc(100vh - 60px); background:var(--rd-paper);
  color:var(--rd-ink); font-family:var(--bk-font-sans,sans-serif); }
.rd a { text-underline-offset:3px; }

/* 顶栏 */
.rd-bar { position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:10px; height:48px;
  padding:0 14px; background:var(--rd-paper); border-bottom:1px solid var(--rd-rule); }
.rd-bar-btn, .rd-bar-tools button, .rd-bar-tools a { display:inline-flex; align-items:center; height:32px;
  padding:0 10px; border:1px solid var(--rd-rule); border-radius:6px; background:transparent;
  color:var(--rd-ink-soft); font:inherit; font-size:13px; text-decoration:none; cursor:pointer; }
.rd-bar-btn:hover, .rd-bar-tools button:hover, .rd-bar-tools a:hover { border-color:var(--rd-accent); color:var(--rd-accent); }
.rd-bar-mid { flex:1; min-width:0; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--rd-ink-faint); }
.rd-bar-book, .rd-bar-chapter { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rd-bar-chapter { color:var(--rd-ink); font-weight:600; }
.rd-bar-tools { display:flex; gap:8px; }
.rd-bar-progress { position:absolute; left:0; right:0; bottom:-1px; height:2px; }
.rd-bar-progress span { display:block; height:100%; width:0; background:var(--rd-accent); }

/* 布局 */
.rd-layout { flex:1; display:flex; align-items:stretch; min-height:0; }
.rd-panel { flex:0 0 306px; border-right:1px solid var(--rd-rule); background:var(--rd-panel);
  display:flex; flex-direction:column; position:sticky; top:49px; height:calc(100vh - 49px); overflow:hidden; }
.rd[data-panel="closed"] .rd-panel { display:none; }
.rd-tabs { display:flex; border-bottom:1px solid var(--rd-rule); }
.rd-tabs button { flex:1; height:40px; border:0; background:transparent; cursor:pointer; font:inherit;
  font-size:13px; color:var(--rd-ink-faint); border-bottom:2px solid transparent; }
.rd-tabs button[aria-selected="true"] { color:var(--rd-ink); font-weight:650; border-bottom-color:var(--rd-accent); }
.rd-tabs b { font-weight:500; opacity:.7; }
.rd-panel-search { padding:10px 12px; border-bottom:1px solid var(--rd-rule-soft); }
.rd-panel-search input { width:100%; height:32px; padding:0 10px; font:inherit; font-size:13px;
  border:1px solid var(--rd-rule); border-radius:6px; background:var(--rd-paper); color:var(--rd-ink); }
.rd-tabpanel { flex:1; overflow-y:auto; padding:8px 6px 24px; }
.rd-tabpanel[hidden] { display:none; }

/* 目录（复用 _toc.html 结构） */
.rd .bk-toc ol { list-style:none; margin:0; padding:0; }
.rd .bk-toc ol ol { margin-left:10px; border-left:1px solid var(--rd-rule); padding-left:10px; }
.rd .bk-toc a { display:block; padding:7px 8px; border-radius:5px; font-size:13.5px;
  color:var(--rd-ink-soft); text-decoration:none; line-height:1.45; }
.rd .bk-toc a:hover { background:var(--rd-rule-soft); color:var(--rd-ink); }
.rd .bk-toc a[aria-current="page"] { background:var(--rd-accent-soft); color:var(--rd-accent); font-weight:650; }
.rd .bk-toc-num { color:var(--rd-ink-faint); margin-right:6px; font-size:12px; }
.rd .bk-toc-kind { font-size:11px; color:var(--rd-ink-faint); margin-left:6px; }
.rd .bk-toc-toggle { width:20px; height:20px; border:1px solid var(--rd-rule); border-radius:4px;
  background:transparent; color:var(--rd-ink-faint); font-size:10px; line-height:1; cursor:pointer; padding:0; }
.rd .bk-toc-row { display:flex; align-items:flex-start; gap:6px; }
.rd .bk-toc-row > a { flex:1; }
.rd .bk-toc-spacer { visibility:hidden; border:0; }
.rd .bk-toc-branch[hidden] { display:none; }

/* 标注 / 形态面板 */
.rd-mark { display:flex; gap:8px; padding:9px 10px; border-radius:6px; text-decoration:none; color:inherit; }
.rd-mark:hover { background:var(--rd-rule-soft); }
.rd-mark-kind { flex:none; min-width:34px; text-align:center; font-size:11px; padding:2px 5px;
  border-radius:4px; background:var(--rd-accent-soft); color:var(--rd-accent); }
.rd-mark-kind[data-kind="opinion"] { background:#eef3e8; color:#4a6b3a; }
.rd-mark-kind[data-kind="annotation"] { background:var(--rd-note); color:var(--rd-ink-soft); }
.rd-mark-kind[data-kind="case"] { background:#eef0f6; color:#45507a; }
.rd-mark-title { display:block; font-size:13px; line-height:1.45; }
.rd-mark-excerpt { display:block; font-size:12px; color:var(--rd-ink-faint); margin-top:2px; }
.rd-mark-locked { font-size:12px; color:var(--rd-ink-faint); }
.rd-form-group { padding:10px; }
.rd-form-group h4 { margin:0 0 6px; font-size:12px; color:var(--rd-ink-faint); letter-spacing:.04em; }
.rd-form-item { display:block; padding:7px 8px; border-radius:6px; text-decoration:none;
  color:var(--rd-ink-soft); font-size:13px; }
.rd-form-item:hover { background:var(--rd-rule-soft); color:var(--rd-ink); }
.rd-form-count { float:right; color:var(--rd-ink-faint); font-size:12px; }

/* 正文 */
.rd-main { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; }
.rd-article { width:100%; max-width:var(--rd-measure); padding:40px 28px 24px; }
.rd-head { padding-bottom:22px; border-bottom:1px solid var(--rd-rule); margin-bottom:26px; }
.rd-kicker { margin:0 0 8px; font-size:12px; color:var(--rd-ink-faint); letter-spacing:.05em; }
.rd-article h1 { margin:0 0 10px; font-size:28px; line-height:1.35; letter-spacing:-.01em; }
.rd-lead { margin:0 0 12px; font-size:15.5px; line-height:1.8; color:var(--rd-ink-soft); }
.rd-meta { margin:0; font-size:12px; color:var(--rd-ink-faint); display:flex; flex-wrap:wrap; gap:4px 14px; }
.rd-content { font-size:var(--rd-size); line-height:var(--rd-leading); }
.rd-content p { margin:0 0 1.15em; }
.rd-content h2 { margin:2em 0 .7em; padding-top:.6em; border-top:1px solid var(--rd-rule-soft); font-size:1.28em; }
.rd-content h3 { margin:1.6em 0 .5em; font-size:1.12em; }
.rd-content blockquote { margin:1.4em 0; padding:.6em 1.1em; border-left:3px solid var(--rd-accent);
  background:var(--rd-rule-soft); color:var(--rd-ink-soft); }
.rd-content table { width:100%; border-collapse:collapse; margin:1.5em 0; font-size:.92em; }
.rd-content th, .rd-content td { border:1px solid var(--rd-rule); padding:9px 11px; text-align:left; vertical-align:top; }
.rd-content th { background:var(--rd-panel); font-weight:650; }
.rd-content img, .rd-content video { max-width:100%; height:auto; }
.rd .ra-block { margin:1.9em 0; }
.rd .ra-block-title { font-size:12px; color:var(--rd-ink-faint); margin-bottom:8px; }

/* 法条卡片 */
.rd .bk-statute { border:1px solid var(--rd-rule); border-left:4px solid var(--rd-accent);
  border-radius:8px; background:var(--rd-opinion); overflow:hidden; }
.rd .bk-statute-head { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; padding:10px 14px;
  background:var(--rd-rule-soft); border-bottom:1px solid var(--rd-rule); }
.rd .bk-statute-law { font-weight:700; font-size:13.5px; }
.rd .bk-statute-article { font-size:13px; color:var(--rd-accent); font-weight:650; }
.rd .bk-statute-body { padding:14px; font-family:var(--bk-font-serif,serif); font-size:16px; line-height:1.9; }
.rd .bk-statute-body p { margin:0 0 .6em; }
.rd .bk-statute-foot { padding:0 14px 10px; margin:0; font-size:11.5px; color:var(--rd-ink-faint); }

/* 观点卡与批注 */
.rd-opinion { border:1px solid var(--rd-rule); border-left:4px solid #6f8f57; border-radius:8px;
  background:var(--rd-opinion); padding:14px 16px; }
.rd-opinion-label { margin:0 0 8px; font-size:12px; font-weight:700; color:#4a6b3a; }
.rd-opinion-text { line-height:1.85; }
.rd-opinion-against { margin:12px 0 0; padding:10px 12px; border-radius:6px; background:var(--rd-note);
  font-size:.92em; line-height:1.75; color:var(--rd-ink-soft); }
.rd-opinion-against b { display:block; margin-bottom:4px; font-size:11.5px; color:var(--rd-ink-faint); }
.rd-opinion-meta { margin:10px 0 0; font-size:11.5px; color:var(--rd-ink-faint); }
.rd-opinion-trap { border-left-color:#b4552f; }
.rd-opinion-trap .rd-opinion-label { color:#b4552f; }
.rd-opinion-boundary { border-left-color:#a8862f; }
.rd-opinion-boundary .rd-opinion-label { color:#a8862f; }
.rd-annotation { margin:1.5em 0; padding:10px 14px; border-left:3px dotted var(--rd-ink-faint);
  background:var(--rd-note); font-size:.93em; line-height:1.8; color:var(--rd-ink-soft); }
.rd-annotation-anchor { display:block; margin-bottom:6px; font-size:.88em; color:var(--rd-ink-faint); }
.rd-annotation-anchor::before { content:"「"; }
.rd-annotation-anchor::after { content:"」"; }
.rd-annotation-label { display:inline-block; margin-right:6px; padding:1px 6px; border-radius:4px;
  background:var(--rd-rule); font-size:11px; }

/* 附件 */
.rd .bk-downloads { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rd .bk-download { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--rd-rule);
  border-radius:7px; text-decoration:none; color:var(--rd-ink); font-size:13.5px; }
.rd .bk-download:hover { border-color:var(--rd-accent); }
.rd .bk-download-locked { border-style:dashed; color:var(--rd-ink-faint); }
.rd .bk-download-kind, .rd .bk-download-size { font-size:11.5px; color:var(--rd-ink-faint); }
.rd .bk-download-size { margin-left:auto; }

/* 节尾导航与来源 */
.rd-nav { width:100%; max-width:var(--rd-measure); display:flex; gap:12px; padding:0 28px 16px; }
.rd-nav a { flex:1; padding:12px 14px; border:1px solid var(--rd-rule); border-radius:8px;
  text-decoration:none; color:var(--rd-ink-soft); font-size:13.5px; }
.rd-nav a:hover { border-color:var(--rd-accent); color:var(--rd-accent); }
.rd-nav a small { display:block; font-size:11.5px; color:var(--rd-ink-faint); margin-bottom:3px; }
.rd-nav-next { text-align:right; }
.rd-nav a[hidden] { display:none; }
.rd-sources { width:100%; max-width:var(--rd-measure); padding:8px 28px 72px; font-size:12.5px; color:var(--rd-ink-faint); }
.rd-sources h2 { font-size:13px; color:var(--rd-ink-soft); margin:0 0 8px; }
.rd-locked { width:100%; max-width:var(--rd-measure); padding:0 28px 40px; }
.rd-locked-inner { padding:26px; text-align:center; border:1px dashed var(--rd-rule); border-radius:10px;
  background:var(--rd-panel); }
.rd-locked-inner h2 { margin:0 0 8px; font-size:17px; }
.rd-locked-inner p { margin:0 0 16px; font-size:13.5px; color:var(--rd-ink-soft); }
.rd-cta { display:inline-flex; align-items:center; height:38px; padding:0 18px; margin:0 5px; border-radius:7px;
  background:var(--rd-accent); color:#fff; text-decoration:none; font-size:13.5px; }
.rd-cta-ghost { background:transparent; border:1px solid var(--rd-rule); color:var(--rd-ink-soft); }

/* 底栏与设置 */
.rd-foot { position:sticky; bottom:0; z-index:25; display:flex; align-items:center; gap:12px; height:38px;
  padding:0 14px; border-top:1px solid var(--rd-rule); background:var(--rd-paper);
  font-size:12px; color:var(--rd-ink-faint); }
.rd-foot-track { flex:1; height:3px; border-radius:2px; background:var(--rd-rule); overflow:hidden; }
.rd-foot-track span { display:block; height:100%; width:0; background:var(--rd-accent); }
.rd-foot button { border:1px solid var(--rd-rule); background:transparent; color:var(--rd-ink-faint);
  height:26px; padding:0 9px; border-radius:5px; font:inherit; font-size:12px; cursor:pointer; }
.rd-settings { position:fixed; right:16px; top:108px; z-index:40; width:268px; padding:16px;
  border:1px solid var(--rd-rule); border-radius:10px; background:var(--rd-paper);
  box-shadow:0 12px 32px rgba(0,0,0,.14); }
.rd-settings[hidden] { display:none; }
.rd-settings h3 { margin:0 0 12px; font-size:13px; color:var(--rd-ink-soft); }
.rd-settings-row { margin-bottom:14px; }
.rd-settings-row > span { display:block; margin-bottom:6px; font-size:12px; color:var(--rd-ink-faint); }
.rd-settings-opts { display:flex; gap:6px; flex-wrap:wrap; }
.rd-settings-opts button { flex:1 0 auto; min-width:40px; height:30px; padding:0 8px; border:1px solid var(--rd-rule);
  border-radius:6px; background:transparent; color:var(--rd-ink-soft); font:inherit; font-size:12px; cursor:pointer; }
.rd-settings-opts button[aria-pressed="true"] { border-color:var(--rd-accent); background:var(--rd-accent-soft);
  color:var(--rd-accent); font-weight:650; }

.rd-backdrop { display:none; }
/* 沉浸式：窄屏隐藏站点页头与页脚，避免导航不换行造成的横向溢出 */
body.rd-body { overflow-x:hidden; }
.rd { overflow-x:hidden; }
.rd-bar { max-width:100vw; }
@media (max-width:1000px) {
  body.rd-body .site-header, body.rd-body .site-nav, body.rd-body .site-footer { display:none !important; }
  body.rd-body .rd { min-height:100vh; }
  body.rd-body .rd-bar { position:sticky; top:0; }
  .rd-panel { position:fixed; z-index:45; top:0; left:0; height:100vh; width:86vw; max-width:340px;
    transform:translateX(-102%); transition:transform .2s ease; }
  .rd[data-panel="open"] .rd-panel { transform:none; display:flex; }
  .rd[data-panel="closed"] .rd-panel { display:flex; }
  .rd-backdrop { display:block; position:fixed; inset:0; z-index:44; background:rgba(0,0,0,.32); }
  .rd-backdrop[hidden] { display:none; }
  .rd-article, .rd-nav, .rd-sources, .rd-locked { padding-left:18px; padding-right:18px; }
  .rd-article h1 { font-size:23px; }
  .rd-bar-book { display:none; }
  .rd-bar-tools a { display:none; }
  .rd-bar-tools button { padding:0 8px; font-size:12px; }
  .rd-bar-chapter { max-width:36vw; }
  .rd-bar-btn { padding:0 8px; font-size:12px; }
  .rd-article, .rd-nav, .rd-sources, .rd-locked { width:100%; max-width:100%; }
  .rd-content { overflow-wrap:break-word; word-break:break-word; }
  .rd-locked-inner { padding:20px 16px; }
  .rd-cta { display:flex; width:100%; margin:6px 0; justify-content:center; }
  .rd-nav { flex-direction:column; }
  .rd-settings-row { margin-bottom:12px; }
  html, body.rd-body { max-width:100vw; overflow-x:hidden; }
  .rd, .rd-bar, .rd-layout, .rd-main, .rd-article, .rd-nav, .rd-sources,
  .rd-locked, .rd-foot, .rd-content { width:100%; max-width:100vw; }
  .rd-content > *, .rd .ra-block, .rd .bk-statute { max-width:100%; }
  .rd-settings { right:10px; left:10px; width:auto; top:auto; bottom:52px; }
  .rd-main, .rd-layout { max-width:100vw !important; overflow-x:hidden; }
}
@media print {
  .rd-bar, .rd-foot, .rd-panel, .rd-nav, .rd-settings, .rd-backdrop, .rd-locked { display:none !important; }
  .rd-article { max-width:none; padding:0; }
}

/* ≥1100px：左目录常驻（grid 两栏），不再依赖 data-panel 抽屉；
 * <1100px 不命中本段，移动端抽屉行为保持原样。 */
@media (min-width:1100px) {
  .rd-layout { display:grid; grid-template-columns:306px minmax(0,1fr); align-items:start; }
  .rd[data-panel="closed"] .rd-panel[data-rd-panel-persistent] { display:flex; }
  .rd-main { grid-column:2; }
  .rd-bar-btn[data-rd-toggle-panel] { display:none; }
  /* overflow-x:clip 不建立滚动容器（与 hidden 不同），左栏 position:sticky 才能真正生效；
     桌面内容不超出视口（实测 scrollWidth < innerWidth），横向仍被裁切保护。 */
  body.rd-body, .rd { overflow-x:clip; }
}
