
:root{
  --bg:#f7f8fa; --card:#ffffff; --ink:#111827; --mut:#6b7280; --faint:#9ca3af;
  --line:#e5e7eb; --line2:#d1d5db; --green:#2e9e6b; --green-t:46,158,107; --brand:#41B883;
  --navy:#35495e; --navy-t:53,73,94;
  --gold:#b45309;
  --acc:46,158,107;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Segoe UI","Microsoft YaHei",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{display:flex;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
::selection{background:rgba(46,158,107,.18)}

/* ── 左栏 数据表导航（Bitable 左栏同构：学阶=数据表） ── */
.rail{width:224px;flex:none;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--line)}
.rhead{display:flex;align-items:center;gap:8px;padding:14px 14px 10px}
.rhead .mk{width:22px;height:22px;border-radius:6px;display:block;flex:none}   /* E203-⑨：徽标位换站标 logo（/favicon.svg 站点图标，全站已缓存） */
.rhead b{font-size:13.5px;letter-spacing:.04em}
.rhead span{font-size:10px;color:var(--faint);margin-left:auto;letter-spacing:.14em}
.rsec{font-size:10.5px;color:var(--faint);letter-spacing:.2em;padding:10px 14px 6px}
.rlist{flex:1;overflow:auto;padding:0 8px}
.tbtn{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 9px;border-radius:7px;font-size:12.5px;color:var(--mut);transition:.15s;text-align:left}
.tbtn svg{width:13px;height:13px;opacity:.55;flex:none}
.tbtn span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbtn i{font-style:normal;font-size:10.5px;color:var(--faint);border:1px solid var(--line);border-radius:99px;padding:0 6px;line-height:1.6}
.tbtn:hover{background:var(--bg);color:var(--ink)}
.tbtn.on{background:rgba(var(--green-t),.08);color:var(--green);font-weight:600}
.tbtn.on svg{opacity:1}
.tbtn.on i{color:var(--green);border-color:rgba(var(--green-t),.3);background:rgba(var(--green-t),.06)}
.rfoot{padding:8px}
.radd{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 9px;border-radius:7px;font-size:12px;color:var(--faint)}
.radd:hover{background:var(--bg);color:var(--mut)}

/* ── 中栏 板块头（h1=学阶名 v3 裁决；白皮书 banner 同题海 demo mhead 右侧令） ── */
.bhead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px 9px;background:var(--card)}
.bhl{display:flex;align-items:baseline;min-width:0}
.bhead h1{font-size:17px;font-weight:700;letter-spacing:.02em;line-height:1.3;white-space:nowrap}
.bhsub{font-size:11.5px;color:var(--faint);margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bhwp{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:500;color:var(--navy);background:rgba(var(--navy-t),.06);border:1px solid rgba(var(--navy-t),.18);transition:.15s;flex:none}
.bhwp:hover{background:rgba(var(--navy-t),.12)}
.bhwp svg{width:12px;height:12px;opacity:.6}

/* ── 中栏 工具栏 + 网格 + 统计 ── */
.board{flex:1;min-width:0;display:flex;flex-direction:column}
.bar{flex:none;height:44px;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--card)}
.vtabs{display:flex;align-items:center;gap:2px}
.vtabs b,.vtabs span{height:26px;display:inline-flex;align-items:center;padding:0 10px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--mut);cursor:pointer;transition:.12s}
.vtabs span:hover{background:var(--bg)}
.vtabs b.on,.vtabs span.on{color:var(--green);background:rgba(var(--green-t),.08);font-weight:600}
/* 看板分组字段切换 chip（仅看板视图显示） */
.kbmeta{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:6px;font-size:12px;color:var(--mut);transition:.12s}
.kbmeta:hover{background:#f1f3f5;color:var(--ink)}
.kbmeta b{font-weight:600;color:var(--ink)}
.kbmeta[hidden]{display:none}
.kbmeta svg{opacity:.5}
.tools{margin-left:auto;display:flex;align-items:center;gap:6px}
.srch{display:flex;align-items:center;gap:6px;width:208px;height:26px;padding:0 8px;border-radius:6px;background:#f1f3f5;color:var(--faint)}
.srch svg{width:12px;height:12px;flex:none}
.srch input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:12px;color:var(--ink)}
.srch input::placeholder{color:var(--faint)}

/* 网格：发丝线 + 冻结序号列/标题列 + 行高三档 */
.gridwrap{flex:1;overflow:auto;background:var(--card);position:relative}
.gridwrap[data-view="kanban"],.gridwrap[data-view="gallery"]{background:var(--bg)}
table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}
thead th{position:sticky;top:0;z-index:3;background:#f6f7f9;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  height:34px;padding:0 10px;font-size:12px;font-weight:500;color:var(--mut);text-align:left;white-space:nowrap;user-select:none;overflow:hidden}
thead th .fi{display:inline-block;vertical-align:-2px;margin-right:5px;opacity:.5}
thead th .fi svg{width:12px;height:12px}
th.fable{cursor:pointer}
th.fable:hover{background:#eff1f3;color:var(--ink)}
th .fdot{font-style:normal;margin-left:5px;font-size:9.5px;font-weight:700;color:var(--green);background:rgba(var(--green-t),.1);border-radius:99px;padding:0 5px;line-height:1.5}
th .rsz{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}
th .rsz:hover,th .rsz.on{background:rgba(var(--green-t),.3)}
th.gut{position:sticky;left:0;z-index:5;width:40px;min-width:40px;padding:0}
th.ct{position:sticky;left:40px;z-index:4}
tbody td{background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 10px;color:var(--ink);white-space:nowrap;font-size:12.5px;overflow:hidden}
tbody td.gut{position:sticky;left:0;z-index:2;width:40px;min-width:40px;padding:0;text-align:center;color:#c3c9d2;font-size:10.5px}
tbody td.ct{position:sticky;left:40px;z-index:2;font-weight:500;overflow:hidden;text-overflow:ellipsis}
td.c-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--mut)}
td.c-hot{text-align:right;font-variant-numeric:tabular-nums;color:var(--mut);white-space:nowrap}   /* E203-④：热度并格（下载N/做题M），nowrap 防折行 */
td.c-feat{color:var(--mut)}
tbody tr{cursor:pointer}
tbody tr:hover td{background:#fafbfc}
tbody tr.selr td{background:#f6fbf8}   /* E203-①：选中行改实色（原 rgba 半透明在 gut/ct 冻结列下横向滚动透出底层内容；实色=白底叠 4.5% 品牌绿） */
td.selc{box-shadow:inset 0 0 0 1.5px var(--green)}
.gempty{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:12.5px;pointer-events:none}
.gempty[hidden]{display:none}
/* 胶囊（题海四轨色板）：费用列统一免费绿/会员金，模考卷不做任何特殊化渲染 */
.chip{display:inline-block;font-size:10.5px;border-radius:5px;padding:1.5px 8px;line-height:1.5}
.chip.free{color:var(--green);background:rgba(var(--green-t),.08)}
.chip.pay{color:var(--gold);background:rgba(217,119,6,.08)}
.fp{display:inline-block;font-size:9.5px;line-height:1.6;border:1px solid var(--line2);border-radius:5px;padding:0 5px;color:var(--mut);margin-right:3px;cursor:pointer;transition:.12s}
.fp:last-child{margin-right:0}
.fp:hover{color:var(--ink);border-color:#c2c7cf;background:var(--bg)}
.wlink{color:rgba(var(--acc),1);font-weight:500;cursor:pointer;border-bottom:1px dotted rgba(var(--acc),.45)}
/* 底部统计条 */
.stat{flex:none;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-top:1px solid var(--line);background:var(--card);font-size:11.5px;color:var(--faint)}

/* ── 右栏 记录详情（Bitable 记录卡） ── */
.rdetail{width:300px;flex:none;border-left:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;overflow:auto}
.rdh{flex:none;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);font-size:10.5px;color:var(--faint);letter-spacing:.2em}
.rdbody{flex:1;overflow:auto;padding:16px 16px 8px}
.rdbody h2{font-size:15.5px;font-weight:700;letter-spacing:.02em;line-height:1.5;margin-bottom:2px}
.rdsub{font-size:11.5px;color:var(--faint);margin-bottom:14px}
.rdnone{font-size:12px;color:var(--faint);padding:4px 0 18px}
.kv{display:grid;grid-template-columns:60px 1fr;gap:9px 10px;font-size:12.5px;margin-bottom:14px}
.kv b{font-weight:400;color:var(--faint)}
.kv span{color:var(--ink)}
.kv .dtags{display:flex;flex-wrap:wrap;gap:5px}
.kv .tag{padding:2px 9px;border-radius:99px;background:var(--bg);border:1px solid var(--line);color:var(--mut);font-size:11px;line-height:1.55}
.dfeat{margin:2px 0 14px;padding:8px 10px;border-left:3px solid rgba(var(--navy-t),.45);border-radius:0 8px 8px 0;background:rgba(var(--navy-t),.045);font-size:12px;line-height:1.7;color:var(--mut)}
.ftag{display:inline-block;font-style:normal;font-size:9px;font-weight:700;line-height:1;padding:2px 4.5px;margin-right:6px;border-radius:5px;background:var(--navy);color:#fff;letter-spacing:.06em;transform:translateY(-.5px)}
.rdacts{padding:4px 16px 16px}
.rdacts .da1{display:block;width:100%;text-align:center;border-radius:9px;padding:9px 0 8px;font-size:12.5px;letter-spacing:.12em;transition:.15s;background:var(--green);color:#fff;font-weight:600}
.rdacts .da1:hover{filter:brightness(1.06)}
.rdacts .da3{position:relative;display:block;width:100%;text-align:center;border-radius:9px;padding:9px 0 8px;font-size:12.5px;letter-spacing:.12em;margin-top:8px;border:1px solid #e7dcc0;background:#faf6ea;color:#8a6417;font-weight:600}
.vipb{position:absolute;top:-7px;right:9px;font-style:normal;font-size:9px;font-weight:700;line-height:1;padding:2.5px 6px;border-radius:6px 6px 6px 2px;background:linear-gradient(135deg,#3d3324,#15110c);color:#f3d489;letter-spacing:.08em;box-shadow:0 2px 6px -2px rgba(0,0,0,.35)}
.dfmt{display:flex;gap:8px;margin-top:8px}
.dfmt .dm{flex:1;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:10px;transition:.15s}
.dfmt .dm svg{width:22px;height:28px}
.dfmt .dm:hover{border-color:var(--ink)}
.rdacts.off .da1{background:var(--line);color:var(--faint);pointer-events:none}
.rdacts.off .da3{border-color:var(--line);background:var(--card);color:var(--faint);pointer-events:none}
.rdacts.off .dm{border-color:var(--line);background:var(--card);pointer-events:none}
.rdacts.off .dm svg{filter:grayscale(1);opacity:.5}

/* ── 浮层（列筛/高频词，复用题海交互） ── */
.hpop{position:fixed;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 44px -14px rgba(17,24,39,.26);width:224px;max-width:calc(100vw - 20px);padding:6px;animation:fadein .16s}
.hpop .hh{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 2px;font-size:10.5px;color:var(--faint);letter-spacing:.14em}
.hpop .hclear{font-size:11px;color:var(--mut);letter-spacing:.04em;padding:2px 8px;border-radius:7px}
.hpop .hclear:hover{color:var(--ink);background:var(--bg)}
.hpop .hs{display:block;width:calc(100% - 8px);margin:6px 4px;border:1px solid var(--line2);border-radius:8px;padding:0 9px;height:26px;font-size:12px;color:var(--ink);outline:0}
.hpop .hs:focus{border-color:rgba(var(--acc),.55)}
.hpop .hs::placeholder{color:var(--faint)}
.hpop .hlist{max-height:min(252px,42vh);overflow:auto;padding:0 2px 2px}
.hpop .hopt{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;font-size:12.5px;color:var(--mut);cursor:pointer;white-space:nowrap}
.hpop .hopt:hover{background:var(--bg)}
.hpop .hopt input{accent-color:rgba(var(--acc),1);width:14px;height:14px;flex:none;margin:0;cursor:pointer}
.hpop .hopt .hv{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.hpop .hopt i{font-style:normal;font-size:10.5px;color:var(--faint)}
.hpop .hnone{padding:14px 8px;text-align:center;font-size:12px;color:var(--faint)}
.hpop.wpop{width:408px}   /* E203-⑥：弹窗加宽放左视频右词表 */
/* E203-⑥：高频词弹窗=左 word.mp4 演示视频 + 右 Top20 词表 + 底部会员钮（原行内样式全部外链化） */
.hpop .wbody{display:flex;gap:8px;padding:2px 4px 0}
.hpop .wvid{width:150px;flex:none;align-self:stretch;border-radius:8px;background:#101828;object-fit:cover}
.hpop .wlist{flex:1;min-width:0;max-height:min(252px,42vh)}
.hpop .wfoot{padding:8px 4px 4px;margin-top:4px;border-top:1px solid rgba(128,140,160,.25)}
.hpop .wbtn{position:relative;width:100%;padding:8px 10px;border:0;border-radius:8px;background:linear-gradient(135deg,#2e6df6,#5a3df0);color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.hpop .wbtn:hover{filter:brightness(1.06)}
@media (max-width:480px){.hpop.wpop{width:calc(100vw - 20px)}.hpop .wbody{flex-direction:column}.hpop .wvid{width:100%;max-height:120px}}
.wrow{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:7px}
.wrow:hover{background:var(--bg)}
.wrow .w{font-weight:600;color:var(--ink);font-size:13px;flex:none}
.wrow .n{font-size:11px;color:rgba(var(--acc),1);flex:none}
.wrow .g{font-size:11.5px;color:var(--mut);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes fadein{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:rgba(23,30,39,.93);color:#fff;font-size:12px;padding:8px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:86vw;text-align:center}
.toast.show{opacity:1}
/* 工具栏按钮生效态（排序/分组/字段） */
.tb.on{color:var(--green);background:rgba(var(--green-t),.08)}
.tb.on svg{opacity:1}
/* 底部列统计（Bitable Σ 行，sticky 底缘） */
tfoot td{position:sticky;bottom:0;z-index:3;background:#f6f7f9;border-top:1px solid var(--line);border-right:1px solid var(--line);height:30px;padding:0 10px;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden}
tfoot td.gut{left:0;z-index:4;text-align:center;color:var(--faint);font-weight:700}
tfoot td.ct{left:40px;z-index:3}
/* 搜索命中高亮 */
mark.hl{background:rgba(var(--green-t),.16);color:inherit;border-radius:2px;padding:0 1px}
/* 行号槽 hover 行操作（Bitable ⋯） */
td.gut .rop{display:none;font-style:normal;font-size:12px;color:var(--faint);cursor:pointer;border-radius:4px;padding:0 5px;line-height:1.4}
td.gut .rop:hover{color:var(--ink);background:#e9ecef}
tbody tr:hover td.gut .rn{display:none}
tbody tr:hover td.gut .rop{display:inline-block}
/* ── 看板视图：按字段分列的卡片墙 ── */
.kb{display:flex;gap:12px;padding:12px 14px 20px;min-height:100%;align-items:flex-start}
.kbcol{width:264px;flex:none;background:#eceef1;border-radius:12px;padding:8px}
.kbh{display:flex;align-items:center;gap:6px;padding:4px 6px 9px;font-size:12px;font-weight:600;color:var(--ink)}
.kbh i{font-style:normal;font-size:10.5px;font-weight:500;color:var(--faint);background:var(--card);border-radius:99px;padding:0 7px;line-height:1.7}
.kbcards{display:flex;flex-direction:column;gap:8px}
/* ── 画册视图：响应式卡片网格 ── */
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:12px;padding:12px 14px 20px}
/* 两视图共用记录卡 */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;transition:.12s;text-align:left}
.card:hover{border-color:#c6cbd3;box-shadow:0 2px 10px -5px rgba(17,24,39,.16)}
.card.selc{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.kc-t{font-size:12.5px;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-kv{display:flex;flex-direction:column;gap:2px;margin:6px 0 8px;font-size:11px;color:var(--mut)}
.kc-b{display:flex;align-items:center;gap:6px}
.kc-b .kc-n{margin-left:auto;font-size:10.5px;color:var(--faint)}
.gcard{border-radius:12px;padding:12px 14px}
.gc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.gc-y{font-size:11px;font-weight:700;color:var(--faint);letter-spacing:.06em}
.gc-t{font-size:13px;font-weight:600;line-height:1.5;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}   /* E203-⑩：画册卡标题禁折行（同 kc-t：nowrap+裁切，全名走 title 悬浮） */
.gc-kv{display:grid;grid-template-columns:36px 1fr;gap:2px 8px;font-size:11.5px;color:var(--mut);margin-bottom:9px}
.gc-kv b{font-weight:400;color:var(--faint)}
.gc-n{font-size:10.5px;color:var(--faint);border-top:1px solid var(--bg);padding-top:7px}
/* 浮层选中态 */
.hpop .hopt.on .hv{color:var(--green);font-weight:600}
@media (max-width:1180px){.rdetail{display:none}}
@media (max-width:960px){.rail{display:none}}
/* ── SSG 改造追加：无障碍/栏目页/占位页 ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ct a.tw:hover{color:var(--green)}
/* 栏目页（SSG hub）：8 学阶卡，SEO 内链枢纽 */
.hub{flex:1;overflow:auto;background:var(--bg);padding:18px}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:12px;max-width:1240px}
.stagecard{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:.15s}
.stagecard:hover{border-color:rgba(var(--green-t),.45);box-shadow:0 4px 14px -8px rgba(17,24,39,.18)}
.stagecard h2{font-size:14.5px;font-weight:700;color:var(--ink)}
.stagecard .sc-own{font-size:11.5px;color:var(--faint);margin:3px 0 6px}
.stagecard .sc-note{font-size:11.5px;color:var(--mut);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stagecard .sc-n{position:absolute;top:12px;right:14px;font-style:normal;font-size:10.5px;color:var(--green);background:rgba(var(--green-t),.08);border-radius:99px;padding:1px 8px}
.stagecard .sc-n.dis{color:var(--faint);background:var(--bg)}
/* 占位页（装载桥/导出端点演示 stub，生产=真实端点，本页 noindex） */
.stubpage{display:grid;place-items:center;background:var(--bg)}
.stubwrap{max-width:640px;padding:24px}
.stubbox{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.stubtag{display:inline-block;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--gold);background:rgba(217,119,6,.08);border-radius:6px;padding:3px 8px;margin-bottom:10px}
.stubbox h1{font-size:17px;font-weight:700;margin-bottom:10px}
.stubbox p{font-size:12.5px;color:var(--mut);line-height:1.8;margin-bottom:8px}
.stubbox code{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;background:var(--bg);border-radius:5px;padding:1px 5px;color:var(--ink)}
.stubkv{color:var(--ink)}
.stubbox a{color:rgba(var(--acc),1)}

/* ══ 批2 E197 增量（2026-10-25）：置灰件 / AI 徽标 / 分片导航 / ICP 页脚 ══ */
/* 置灰件（批3 装载桥、批4 直链免登录上线前）：不可点、半透明、虚线框，点击由 tihai.js 统一 toast */
.fp.off{opacity:.38;border-style:dashed;cursor:not-allowed}
.fp.off:hover{color:var(--mut);border-color:var(--line2);background:none}
.tw.off{color:var(--mut);cursor:not-allowed}
.tw.off:hover{color:var(--mut)}
a.da.off{opacity:.38;cursor:not-allowed}
a.da.off:hover{background:var(--bg);color:var(--ink);border-color:var(--line2)}
/* AI 徽标（平台生成卷与真题混排可辨识）：与站内绿金渐变一致的小胶囊 */
.aib{display:inline-block;font-style:normal;font-size:9px;font-weight:700;line-height:1;margin-right:6px;padding:2.5px 5px;border-radius:5px;vertical-align:1px;color:#fff;background:linear-gradient(135deg,#41B883,#2f8f66);letter-spacing:.5px}
.kc-t .aib,.gc-t .aib{flex:none;align-self:center}
.kc-t,.gc-t{display:flex;align-items:center;min-width:0}
/* 收录状态中的「即将上线」tag 弱化 */
.tag.dim{color:var(--mut);border-color:var(--line2);opacity:.75}
/* zk 按年分片导航（页脚上方）：平铺直链 /tihai/<code>.html / <code>-2.html … */
.shardnav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 2px 2px;border-top:1px solid var(--line);margin-top:10px;font-size:11.5px;color:var(--mut)}
.shardnav b{font-weight:600;color:var(--mut)}
.shardnav a{padding:2px 10px;border:1px solid var(--line2);border-radius:6px;color:var(--ink);text-decoration:none}
.shardnav a:hover{border-color:#c2c7cf;background:var(--bg)}
.shardnav a.cur{background:var(--ink);color:#fff;border-color:var(--ink)}
/* hub 学阶卡在窄屏双列 */
@media (max-width:960px){.hubgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.hubgrid{grid-template-columns:1fr}}

/* E254 K 批㉑：备注列修复留痕 chips（paper_repairs 短标；无记录 '—'） */
td.c-rep{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.rp-chip{display:inline-block;font-style:normal;font-size:10.5px;border-radius:5px;padding:1.5px 7px;line-height:1.5;margin-right:3px;color:var(--brand,#0a7d54);background:rgba(10,125,84,.08)}
