/* 论文译读站：注入到每篇 *_译文解读.html 的阅读层（主题、移动端、顶栏、目录抽屉）。
   覆盖 tex2html.py 自带的样式，不改动原 HTML 的结构。 */
:root{
  --hh:52px;
  --bg:#f3f1ec; --paper:#fff; --fg:#1f2023; --muted:#6c6d73; --line:#e4e1da; --hover:#efede7;
  --side-bg:#f7f6f2; --hdr:rgba(250,249,246,.86); --shadow:0 12px 40px -24px rgba(30,30,40,.35);
  --accent:#2f5bd3; --accent-soft:rgba(47,91,211,.10); --link:#2a5db0; --code-bg:#f0efeb;
  --orig-bg:#f7f7f6; --orig-bd:#cfcfcc; --orig-bt:#ebebe8; --orig-ink:#555;
  --trans-bg:#eff5ff; --trans-bd:#a5c1ea; --trans-bt:#dde9fb; --trans-ink:#1f4f9a;
  --expl-bg:#fff8ea; --expl-bd:#efb862; --expl-bt:#ffeac7; --expl-ink:#9a5a00;
  --fig-bg:#f3faf3; --fig-bd:#79b279; --fig-bt:#dcefdc; --fig-ink:#2f6f2f;
  --rule:#222; --rule2:#666; --ok:#2e7d32; --no:#c62828;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#0d0f13; --paper:#15171c; --fg:#e4e5e9; --muted:#9a9ca6; --line:#2a2d35; --hover:#20232a;
  --side-bg:#111318; --hdr:rgba(17,19,24,.82); --shadow:0 12px 40px -24px rgba(0,0,0,.9);
  --accent:#7ea2ff; --accent-soft:rgba(126,162,255,.14); --link:#8fb0ff; --code-bg:#23262d;
  --orig-bg:#1b1d22; --orig-bd:#3a3d46; --orig-bt:#23262c; --orig-ink:#b8bac2;
  --trans-bg:#122036; --trans-bd:#2f5288; --trans-bt:#18294a; --trans-ink:#9cbcff;
  --expl-bg:#251d10; --expl-bd:#7d5a1d; --expl-bt:#33270f; --expl-ink:#f2bf6a;
  --fig-bg:#11231a; --fig-bd:#2e6a40; --fig-bt:#163020; --fig-ink:#8ed49a;
  --rule:#c8c9cf; --rule2:#8a8c94; --ok:#7bd88a; --no:#ff8a80;
  color-scheme:dark;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 14px)}
body{background:var(--bg);color:var(--fg);transition:background .2s,color .2s}
main{background:var(--paper);padding-top:calc(var(--hh) + 22px);overflow-wrap:break-word}
@media(min-width:920px){main{box-shadow:0 0 0 1px var(--line),var(--shadow)}}
main img{max-width:100%;height:auto}
::selection{background:var(--accent-soft)}

/* 原来的浮动工具条由 reader.js 并入顶栏 */
#bar{display:none!important}

/* ---------- 顶栏 ---------- */
#rd-hdr{position:fixed;top:0;left:0;right:0;height:var(--hh);z-index:50;display:flex;align-items:center;gap:8px;
  padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));
  background:var(--hdr);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--line);font-size:14px}
#rd-hdr .ttl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.01em}
#rd-hdr .ttl small{font-weight:400;color:var(--muted);margin-left:.6em}
.rd-btn{height:34px;min-width:34px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:var(--paper);
  color:var(--fg);display:inline-flex;align-items:center;justify-content:center;gap:6px;font:500 13px/1 inherit;
  cursor:pointer;text-decoration:none;flex:none;transition:background .15s,border-color .15s}
.rd-btn:hover{background:var(--hover)}
.rd-btn svg{width:17px;height:17px;flex:none}
#rd-tocbtn{padding:0}
.rd-chips{display:flex;gap:6px;flex:none}
.rd-chips label{margin:0!important;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line);display:inline-flex;
  align-items:center;gap:5px;font-size:12.5px;cursor:pointer;user-select:none;color:var(--muted);background:transparent;transition:all .15s}
.rd-chips label input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.rd-chips label::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35}
.rd-chips label.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft)}
.rd-chips label.on::before{opacity:1}
#rd-prog{position:fixed;top:var(--hh);left:0;height:2px;width:0;background:var(--accent);z-index:51;transition:width .1s linear}

/* ---------- 目录 ---------- */
nav#side{top:var(--hh);background:var(--side-bg);border-right:1px solid var(--line);scrollbar-width:thin;padding:14px 10px 60px}
nav a,.toc-inline a{color:var(--fg);border-radius:6px;padding:4px 8px}
nav a:hover,.toc-inline a:hover{background:var(--hover)}
nav .l3,.toc-inline .l3{color:var(--muted)}
nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.toc-inline{border-color:var(--line);border-radius:12px;background:var(--paper)}
.toc-inline summary{cursor:pointer}
#rd-scrim{display:none}
@media(max-width:1279px){
  nav#side{display:block;top:0;width:min(86vw,340px);z-index:60;transform:translateX(-104%);
    transition:transform .26s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 40px rgba(0,0,0,.25);
    padding-top:calc(14px + env(safe-area-inset-top));font-size:14px;line-height:1.55}
  body.rd-toc-open nav#side{transform:none}
  #rd-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:55;opacity:0;pointer-events:none;transition:opacity .26s}
  body.rd-toc-open #rd-scrim{opacity:1;pointer-events:auto}
  body.rd-toc-open{overflow:hidden}
}
@media(min-width:1280px){#rd-tocbtn{display:none}}

/* ---------- 正文元素换成主题变量 ---------- */
h2{border-bottom-color:var(--line)}
.secnum{color:var(--muted)}
a{color:var(--link)}
code{background:var(--code-bg)}
.box{border-radius:10px;margin:14px 0}
.box .bt{padding:4px 12px;letter-spacing:.02em}
.box .bb{padding:8px 14px 10px}
.orig{border-color:var(--orig-bd);background:var(--orig-bg)}.orig .bt{background:var(--orig-bt);color:var(--orig-ink)}
.trans{border-color:var(--trans-bd);background:var(--trans-bg)}.trans .bt{background:var(--trans-bt);color:var(--trans-ink)}
.expl{border-color:var(--expl-bd);background:var(--expl-bg)}.expl .bt{background:var(--expl-bt);color:var(--expl-ink)}
.figexpl{border-color:var(--fig-bd);background:var(--fig-bg)}.figexpl .bt{background:var(--fig-bt);color:var(--fig-ink)}
button.copy,.expl button.copy,.figexpl button.copy{background:transparent;border:1px solid currentColor;color:inherit;
  border-radius:6px;padding:4px 10px;opacity:.8}
button.copy:hover,.expl button.copy:hover,.figexpl button.copy:hover{background:var(--paper);color:inherit;opacity:1}
.box button.copy.done{background:var(--ok);border-color:var(--ok);color:#fff;opacity:1}
.origcap,.cmt,.fn,.ln{color:var(--muted)}
tr.t-thick td{border-top-color:var(--rule)}tr.t-thin td{border-top-color:var(--rule2)}
tr.b-thick td{border-bottom-color:var(--rule)}tr.b-thin td{border-bottom-color:var(--rule2)}
td.cmid{border-top-color:var(--rule2)}
.fbox{border-color:var(--rule2)}
.ok{color:var(--ok)}.no{color:var(--no)}
figure.float img{border-radius:6px;cursor:zoom-in}

html[data-theme=dark] figure.float img,html[data-theme=dark] main img{background:#fff;filter:brightness(.9)}
/* 表格里 \cellcolor / \colorbox 的浅色底：深色模式下反相成同色系的深底浅字 */
html[data-theme=dark] main [style*="background:"]{color:#1d1d1f;border-color:#202022;filter:invert(.88) hue-rotate(180deg)}
html[data-theme=dark] main span[style^="color:"]{filter:brightness(1.75) saturate(1.1)}

/* ---------- 浮动按钮、提示 ---------- */
#rd-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:40;
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--fg);
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(0,0,0,.3);cursor:pointer;
  opacity:0;transform:translateY(10px);pointer-events:none;transition:all .2s}
#rd-top.show{opacity:1;transform:none;pointer-events:auto}
#rd-top svg{width:18px;height:18px}
#rd-toast{position:fixed;left:50%;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 54px);transform:translate(-50%,20px);z-index:45;
  display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;border-radius:999px;
  background:var(--fg);color:var(--paper);font-size:13.5px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);opacity:0;
  pointer-events:none;transition:all .25s}
#rd-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#rd-toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#rd-toast button{border:0;border-radius:999px;padding:6px 12px;font:600 13px/1 inherit;cursor:pointer;background:var(--accent);color:#fff;flex:none}
#rd-toast button.x{background:transparent;color:inherit;opacity:.7;padding:6px 8px}
#rd-lb{position:fixed;inset:0;z-index:70;background:rgba(10,10,12,.92);display:none;align-items:center;justify-content:center;
  padding:16px;cursor:zoom-out;overflow:auto}
#rd-lb.show{display:flex}
#rd-lb img{max-width:100%;max-height:100%;background:#fff;border-radius:6px}

/* ---------- 手机 ---------- */
@media(max-width:700px){
  :root{--hh:50px}
  body{font-size:16.5px;line-height:1.8}
  main{padding:calc(var(--hh) + 14px) 14px 110px}
  h2{font-size:1.32em;margin-top:1.9em}h3{font-size:1.14em}h4{font-size:1.02em}
  .box{margin:12px 0;border-radius:9px}
  .box .bb{padding:8px 12px 10px}
  .orig .bb{font-size:.9em}
  table.tab{font-size:.78em}
  .mini{display:block;width:auto!important;padding:0}
  .eq{-webkit-overflow-scrolling:touch}
  .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
  .cmt{float:none;display:block;margin-left:0}
  button.copy{padding:5px 11px}
  #rd-hdr{gap:6px;font-size:13.5px}
  #rd-hdr .ttl small,#rd-hdr .back .lbl{display:none}
  .rd-btn{height:34px;padding:0 9px}
  .rd-chips label{padding:0 9px;height:30px}
}
@media(max-width:380px){.rd-chips label::before{display:none}.rd-chips{gap:4px}}
@media print{#rd-hdr,#rd-prog,#rd-top,#rd-toast,#rd-scrim{display:none!important}main{padding-top:0;box-shadow:none}}
