/* EPR Rates — style.css · 依据 x仓 doc/产品/06_美术spec_v0.1.md（token 附录B；组件 §5；拍板 8-1A/8-2A/8-3A）
   + 工单 44 交互反馈层（43 号评审 M1-M23；:target/hover/sticky 表头/移动端修复；
   动效上限 ≤200ms、prefers-reduced-motion 豁免——user 2026-08-27 C2 拍板） */
:root{
  --ink:#10131a;--ink-muted:#4a5160;--link:#14508c;--link-visited:#4c2d8c;
  --paper:#ffffff;--paper-alt:#f6f7f9;--rule:#ccd2da;--rule-strong:#10131a;
  --malus:#8f2d21;--bonus:#145c3e;--caution:#7a5300;--focus:#ffdd00;
  --target-bg:#fff8dc;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --fs-xl:30px;--lh-xl:36px;--fs-l:24px;--lh-l:30px;--fs-m:19px;--lh-m:26px;
  --fs-body:16px;--lh-body:25px;--fs-s:14px;--lh-s:20px;--fs-xs:13px;--lh-xs:18px;
  --measure:68ch;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  --rule-w:1px;--rule-w-strong:2px;--bar-w:4px;--radius:2px;
  --w-prose:720px;--w-wide:1140px;--gutter:16px;
}
@media (min-width:640px){
  :root{--fs-xl:40px;--lh-xl:46px;--fs-l:28px;--lh-l:34px;--fs-m:21px;--lh-m:28px;
        --fs-body:17px;--lh-body:26px;--fs-s:15px;--lh-s:21px;--gutter:24px;}
}
@media (min-width:1024px){:root{--gutter:32px;}}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);
  color:var(--ink);background:var(--paper)}
a{color:var(--link);transition:color .15s,text-decoration-thickness .15s}
a:visited{color:var(--link-visited)}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:0;
  box-shadow:0 2px 0 var(--ink);background:var(--focus);color:var(--ink)}
[id]{scroll-margin-top:var(--sp-7)}
.skip-link{position:absolute;left:-999em;top:0;z-index:10;background:var(--paper);
  padding:var(--sp-2) var(--sp-3)}
.skip-link:focus{left:0}
h1{font-size:var(--fs-xl);line-height:var(--lh-xl);margin:var(--sp-5) 0 var(--sp-2)}
h2{font-size:var(--fs-l);line-height:var(--lh-l);margin:var(--sp-7) 0 var(--sp-4)}
h3{font-size:var(--fs-m);line-height:var(--lh-m);margin:var(--sp-5) 0 var(--sp-3)}
p,ul,ol{margin:0 0 var(--sp-4)}
.wrap{max-width:var(--w-prose);margin:0 auto;padding:0 var(--gutter)}
.wrap-wide{max-width:var(--w-wide);margin:0 auto;padding:0 var(--gutter)}
.prose{max-width:var(--measure)}

/* 页头 */
.site-head{border-bottom:var(--rule-w-strong) solid var(--rule-strong)}
.site-head .wrap-wide{display:flex;flex-wrap:wrap;align-items:baseline;
  justify-content:space-between;padding-top:var(--sp-3);padding-bottom:var(--sp-3)}
.site-head .brand{font-weight:700;font-size:var(--fs-m);color:var(--ink);text-decoration:none}
.site-head nav a{margin-left:var(--sp-4);font-size:var(--fs-s);padding:var(--sp-3) 0;
  display:inline-block}
.breadcrumb{font-size:var(--fs-s);color:var(--ink-muted);margin-top:var(--sp-4)}
.breadcrumb a{color:var(--link)}

/* meta 行（§5.4）：H1 正下方 */
.meta-line{font-size:var(--fs-s);line-height:var(--lh-s);color:var(--ink-muted);
  margin-bottom:var(--sp-5)}

/* 结论句块（§5.7）：无引号无斜体，4px 左竖条 */
.quotable{font-size:var(--fs-m);line-height:var(--lh-m);border-left:var(--bar-w) solid var(--rule-strong);
  padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);margin:0 0 var(--sp-5);max-width:var(--measure)}
.quotable .basis{display:block;font-size:var(--fs-xs);line-height:var(--lh-xs);
  color:var(--ink-muted);margin-top:var(--sp-1)}

/* 费率表（§5.1）：border-collapse separate + inset box-shadow 行线（sticky 兼容） */
.table-scroll{overflow-x:auto;background:
  linear-gradient(to right,var(--paper) 30%,rgba(255,255,255,0)),
  linear-gradient(to right,rgba(255,255,255,0),var(--paper) 70%) 100% 0,
  linear-gradient(to right,rgba(16,19,26,.14),rgba(255,255,255,0) 16px),
  linear-gradient(to left,rgba(16,19,26,.14),rgba(255,255,255,0) 16px) 100% 0;
  background-repeat:no-repeat;background-size:40px 100%,40px 100%,16px 100%,16px 100%;
  background-attachment:local,local,scroll,scroll}
.rate-table{width:100%;border-collapse:separate;border-spacing:0;
  font-size:var(--fs-s);line-height:var(--lh-s)}
.rate-table caption{caption-side:top;text-align:left;color:var(--ink-muted);
  font-size:var(--fs-s);padding-bottom:var(--sp-3)}
.rate-table th,.rate-table td{padding:var(--sp-3) var(--sp-4) var(--sp-3) 0;
  vertical-align:top;text-align:left;background:var(--paper);
  box-shadow:inset 0 calc(-1 * var(--rule-w)) 0 var(--rule);
  transition:background-color .15s}
/* 行追踪（M6/C1 拍板：hover 整行浅底，不加斑马纹）与锚点落点反馈（M1/P1） */
.rate-table tbody tr:hover th,.rate-table tbody tr:hover td{background:var(--paper-alt)}
.rate-table tr:target th,.rate-table tr:target td{background:var(--target-bg)}
/* 长表粘性表头（M2/C3，06 §5.1 预授权方案；构建层对 >60 行的表注 .table-tall） */
.table-tall{max-height:85vh;overflow-y:auto}
.table-tall thead th{position:sticky;top:0;z-index:2}
.table-tall thead th:first-child{left:0;z-index:3}
/* 阶梯组行区分（M9）：行头区间记号 + 值格斜体 */
.row-band th[scope=row]::before{content:"▤ ";color:var(--ink-muted)}
.row-band .num{font-style:italic}
/* 行锚一键复制（L1-a/C5）：默认 hidden，JS 开启后仅 hover/focus 可见 */
.copy-anchor{font:inherit;font-size:var(--fs-xs);border:0;background:none;
  color:var(--link);cursor:pointer;padding:0 var(--sp-1);visibility:hidden}
tr:hover .copy-anchor,tr:focus-within .copy-anchor,.copy-anchor:focus{visibility:visible}
.rate-table th:last-child,.rate-table td:last-child{padding-right:0}
.rate-table thead th{font-weight:700;
  box-shadow:inset 0 calc(-1 * var(--rule-w-strong)) 0 var(--rule-strong)}
.rate-table th[scope=row]{position:sticky;left:0;z-index:1;font-weight:400;
  box-shadow:inset calc(-1 * var(--rule-w)) 0 0 var(--rule),
             inset 0 calc(-1 * var(--rule-w)) 0 var(--rule)}
.rate-table .num{text-align:right;font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;white-space:nowrap}
.rate-table .orig{display:block;font-size:var(--fs-xs);line-height:var(--lh-xs);
  color:var(--ink-muted);font-weight:400}
.rate-table .malus{color:var(--malus)}
.rate-table .bonus{color:var(--bonus)}
.rate-table .caution{color:var(--caution)}
.rate-table .cell-note{display:block;font-size:var(--fs-xs);line-height:var(--lh-xs);
  color:var(--ink-muted)}
.rate-table sup{font-size:11px;line-height:0}
.src-cell{font-size:var(--fs-xs);line-height:var(--lh-xs)}
.src-cell .conf{color:var(--ink-muted)}
.src-cell .conf.caution{color:var(--caution)}
.legend{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--ink-muted);
  margin:var(--sp-3) 0 var(--sp-5)}
ul.legend{list-style:none;padding:0}
ul.legend li{padding:var(--sp-1) 0}

/* 来源块（§5.2 L1 脚注引用制 / Provenance） */
.sources-block{font-size:var(--fs-s);line-height:var(--lh-s)}
.sources-block a{overflow-wrap:anywhere}
.sources-block li{list-style:none;padding:var(--sp-2) 0;
  border-bottom:var(--rule-w) solid var(--rule)}
.sources-block .conf{color:var(--ink-muted)}
.sources-block .conf.caution{color:var(--caution)}
.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}

/* 区块底（§5.3 cite / §5.6 alerts / §5.8 download） */
.panel{background:var(--paper-alt);border-left:var(--bar-w) solid var(--rule-strong);
  border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);margin:var(--sp-5) 0;
  max-width:var(--measure)}
.panel h2,.panel h3{margin-top:0}
.panel pre{font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-xs);
  white-space:pre-wrap;word-break:break-word;background:var(--paper);
  padding:var(--sp-3);margin:var(--sp-3) 0;border:var(--rule-w) solid var(--rule)}
.panel .third-party{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--ink-muted)}
button[data-copy]{font:inherit;font-size:var(--fs-s);padding:var(--sp-1) var(--sp-3);
  border:var(--rule-w) solid var(--ink);background:var(--paper);color:var(--ink);
  border-radius:var(--radius);cursor:pointer}

/* 页脚（§5.5） */
.site-footer{border-top:var(--rule-w-strong) solid var(--rule-strong);
  margin-top:var(--sp-8);padding:var(--sp-6) 0;font-size:var(--fs-s);line-height:var(--lh-s)}
.site-footer .cols{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-bottom:var(--sp-5)}
.site-footer .col{min-width:140px}
.site-footer .col b{display:block;margin-bottom:var(--sp-2)}
.site-footer .col a{display:block;padding:var(--sp-1) 0}
.site-footer .col-list{columns:2;column-gap:var(--sp-5)}
.back-top{margin:var(--sp-6) 0 0;font-size:var(--fs-s)}
.site-footer .legal{color:var(--ink-muted);border-top:var(--rule-w) solid var(--rule);
  padding-top:var(--sp-4)}

/* pricing 表复用 rate-table；勾叉列居中 */
.rate-table .ctr{text-align:center}

@media (max-width:639px){
  .rate-table{font-size:var(--fs-xs);line-height:var(--lh-xs)}
  .rate-table th,.rate-table td{padding:var(--sp-2) var(--sp-3) var(--sp-2) 0}
  .site-head nav a{margin-left:0;margin-right:var(--sp-4)}
}

/* C2 拍板同步条款：reduced-motion 下无 transition（41 §D7） */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important}
}

@media print{ /* §7.6 */
  .site-head nav,.panel button,.alerts-cta,.download-row,.copy-anchor,.back-top,.skip-link{display:none}
  .table-scroll{overflow:visible;background:none}
  .table-tall{max-height:none;overflow:visible}
  .table-tall thead th{position:static}
  .src-cell a::after{content:none !important}
  .rate-table th[scope=row]{position:static}
  .rate-table thead{display:table-header-group}
  .rate-table tr{break-inside:avoid}
  .rate-table{font-size:10pt}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:var(--ink-muted)}
}
