/* 阅读层（2026-10-17，会员 v2）：排版设置、专注阅读、选中提问 / 划线 / 笔记、引用预览、阅读笔记。
   叠在现有文章页上（渐进增强）：脚本没加载，文章照常能读。颜色全部跟外壳主题变量走，深浅色自动切换。 */

html.rl-on{
  --rl-size:17px; --rl-lh:1.95; --rl-measure:704px;
  --rl-hl:rgba(234,196,92,.38); --rl-hl-line:rgba(201,152,30,.65);
  --rl-hl-r:rgba(223,81,48,.16); --rl-hl-r-line:rgba(223,81,48,.55);
  --rl-flash:rgba(223,81,48,.13);
  --rl-serif:"Songti SC","Noto Serif SC","Source Han Serif SC","STSong",Georgia,serif;
}
html.rl-on.dark{--rl-hl:rgba(212,164,78,.28); --rl-hl-line:rgba(212,164,78,.7); --rl-hl-r:rgba(242,105,75,.2); --rl-flash:rgba(242,105,75,.16)}

/* ---------- 排版 ---------- */
html.rl-on.rl-serif [data-reading-layout="site-v2"] :is([data-reading-role=p],[data-reading-role=li],[data-reading-role=summary-li],[data-reading-role=dek],[data-reading-role=quote]){font-family:var(--rl-serif)}
html.rl-on [data-reading-layout="site-v2"] :is([data-reading-role=p],[data-reading-role=li]){font-size:var(--rl-size);line-height:var(--rl-lh)}
html.rl-on.rl-serif [data-reading-layout="site-v2"] [data-reading-role=p]{letter-spacing:.012em}
html.rl-on.rl-serif [data-reading-layout="site-v2"] :is([data-reading-role=h2],[data-reading-role=h3]){font-family:var(--rl-serif);font-weight:700}
html.rl-on.rl-serif .article-intro h1{font-family:var(--rl-serif);font-weight:700;letter-spacing:-.005em}
@media (min-width:1051px){
  html.rl-on .article-body{grid-template-columns:192px minmax(0,var(--rl-measure));max-width:calc(244px + var(--rl-measure))}
}

/* ---------- 专注阅读：收起外围，正文像一张纸 ---------- */
html.rl-focus .site-header,html.rl-focus .cat-strip,html.rl-focus .reader-rail,html.rl-focus .site-footer,
html.rl-focus .reader-ending,html.rl-focus .sub-float,html.rl-focus #sub-float{display:none!important}
html.rl-focus body{background:var(--bg-2)}
html.rl-focus .article-body{display:block!important;max-width:calc(var(--rl-measure) + 120px)!important;margin:28px auto 120px!important;padding:56px 60px 64px;
  background:var(--surface);border-radius:4px;box-shadow:0 1px 0 var(--line),0 30px 60px -36px rgba(40,30,10,.35)}
html.rl-focus.dark .article-body{box-shadow:0 1px 0 var(--line),0 30px 60px -30px rgba(0,0,0,.8)}
@media (max-width:720px){html.rl-focus .article-body{padding:28px 20px 40px;margin:0 0 96px!important;border-radius:0;box-shadow:none}}

/* ---------- 划线 ---------- */
mark.rl-hl{background:linear-gradient(transparent 12%,var(--rl-hl) 12%,var(--rl-hl) 92%,transparent 92%);color:inherit;border-radius:2px;cursor:pointer;
  box-shadow:inset 0 -1.5px 0 var(--rl-hl-line);transition:background .2s}
mark.rl-hl[data-c=r]{background:linear-gradient(transparent 12%,var(--rl-hl-r) 12%,var(--rl-hl-r) 92%,transparent 92%);box-shadow:inset 0 -1.5px 0 var(--rl-hl-r-line)}
mark.rl-hl.rl-has-note{box-shadow:inset 0 -2px 0 var(--ember)}
mark.rl-hl:hover,mark.rl-hl.is-active{filter:saturate(1.6)}
.rl-unit{position:relative}
.rl-flash{animation:rlFlash 2.2s ease-out}
@keyframes rlFlash{0%,35%{background:var(--rl-flash);box-shadow:-10px 0 0 var(--rl-flash),10px 0 0 var(--rl-flash)}100%{background:transparent;box-shadow:none}}

/* 段旁标记：这段有笔记 / 问答（桌面放右边空白里，手机放段尾） */
.rl-gut{position:absolute;right:-46px;top:.35em;min-width:28px;height:22px;padding:0 7px;border:1px solid var(--line-2);border-radius:11px;
  background:var(--surface);color:var(--muted);font:600 11px/20px "Space Grotesk",sans-serif;cursor:pointer;display:inline-flex;gap:3px;align-items:center;justify-content:center}
.rl-gut:hover{color:var(--ember);border-color:var(--ember)}
.rl-gut:before{content:attr(data-label)}
@media (max-width:1050px){.rl-gut{position:static;margin-left:6px;vertical-align:2px;height:20px;line-height:18px}}

/* ---------- 选文操作条 ---------- */
.rl-sel{position:fixed;z-index:60;display:flex;gap:2px;padding:4px;border-radius:12px;background:var(--ink);color:var(--bg);
  box-shadow:0 10px 30px -8px rgba(0,0,0,.35);transform:translate(-50%,-100%);animation:rlPop .16s ease-out}
.rl-sel[hidden]{display:none}
.rl-sel button{border:0;background:none;color:inherit;font:600 13.5px/1 inherit;padding:9px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.rl-sel button:hover{background:rgba(255,255,255,.12)}
html.dark .rl-sel button:hover{background:rgba(0,0,0,.08)}
.rl-sel button.is-ask{color:#ffb39f}
html.dark .rl-sel button.is-ask{color:var(--ember)}
.rl-sel .rl-sep{width:1px;margin:6px 2px;background:currentColor;opacity:.2}
.rl-sel:after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:var(--ink);transform:translateX(-50%) rotate(45deg);border-radius:2px}
@keyframes rlPop{from{opacity:0;transform:translate(-50%,-92%)}to{opacity:1;transform:translate(-50%,-100%)}}
/* 手机：放到底部，避开系统选字菜单（它在选区上方） */
@media (max-width:720px),(hover:none){
  .rl-sel{left:12px!important;right:12px;top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom));transform:none;justify-content:space-around;animation:rlUp .18s ease-out}
  .rl-sel:after{display:none}
  .rl-sel button{flex:1;justify-content:center;padding:13px 6px;font-size:15px}
}
@keyframes rlUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- 底部工具条 ---------- */
.rl-dock{position:fixed;z-index:50;right:16px;bottom:20px;display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--line);border-radius:14px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.rl-dock button{position:relative;border:0;background:none;color:var(--ink-2);font:600 13px/1 inherit;padding:8px 9px;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.rl-dock button:hover,.rl-dock button[aria-pressed=true],.rl-dock button[aria-expanded=true]{background:var(--bg-2);color:var(--ink)}
.rl-dock .rl-aa{font-family:var(--rl-serif);font-size:16px;font-weight:700;padding:7px 11px}
.rl-dock .rl-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ember-soft);color:var(--ember);font-size:11px;line-height:18px;text-align:center}
.rl-dock .rl-count:empty{display:none}
.rl-dock .rl-ask-btn{background:var(--ember);color:#fff}
.rl-dock .rl-ask-btn:hover{background:var(--ember);color:#fff;filter:brightness(1.05)}
.rl-progress{position:fixed;left:0;top:0;height:2px;z-index:70;background:var(--ember);width:0;transition:width .2s linear;pointer-events:none}
@media (max-width:720px){
  .rl-dock{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));justify-content:space-between}
  .rl-dock button{flex:1;justify-content:center;padding:11px 4px;font-size:13.5px}
  body.rl-sel-open .rl-dock{visibility:hidden}
}

/* ---------- 排版设置浮层 ---------- */
.rl-pop{position:fixed;z-index:65;width:300px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink);animation:fadeIn .15s}
.rl-pop[hidden]{display:none}
.rl-pop h4{font:600 11px/1 "Space Grotesk",sans-serif;letter-spacing:.12em;color:var(--muted);margin:0 0 10px;text-transform:uppercase}
.rl-pop .rl-row{margin-bottom:16px}
.rl-pop .rl-row:last-child{margin-bottom:0}
.rl-seg{display:flex;padding:3px;border-radius:10px;background:var(--bg-2);gap:2px}
.rl-seg button{flex:1;border:0;background:none;color:var(--ink-2);font:500 13px/1 inherit;padding:9px 4px;border-radius:7px;cursor:pointer}
.rl-seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rl-seg .rl-serif-label{font-family:var(--rl-serif)}
@media (max-width:720px){.rl-pop{left:10px!important;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));top:auto!important;width:auto}}

/* ---------- 侧栏（桌面）/ 底部面板（手机）：问小互 + 阅读笔记 ---------- */
.rl-panel{position:fixed;z-index:55;top:16px;right:16px;bottom:16px;width:400px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;
  background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink);transform:translateX(calc(100% + 24px));transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.rl-panel.is-open{transform:none}
@media (min-width:1280px){html.rl-panel-open .article-body{transform:translateX(-170px);transition:transform .32s cubic-bezier(.2,.8,.2,1)}}
html .article-body{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.rl-ph{display:flex;align-items:center;gap:4px;padding:14px 14px 0 18px}
.rl-tabs{display:flex;gap:2px;flex:1}
.rl-tabs button{border:0;background:none;font:700 15px/1 inherit;color:var(--muted);padding:10px 10px 12px;border-bottom:2px solid transparent;cursor:pointer;display:flex;gap:6px;align-items:center}
.rl-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ember)}
.rl-x{border:0;background:none;width:34px;height:34px;border-radius:9px;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.rl-x:hover{background:var(--bg-2);color:var(--ink)}
.rl-pb{flex:1;overflow:auto;padding:16px 18px 18px;border-top:1px solid var(--line);overscroll-behavior:contain}
.rl-pf{padding:12px 18px 16px;border-top:1px solid var(--line);background:var(--surface-2)}
.rl-grab{display:none}
@media (max-width:720px){
  .rl-panel{top:auto;left:0;right:0;bottom:0;width:auto;height:min(78vh,640px);border-radius:18px 18px 0 0;border-bottom:0;transform:translateY(105%)}
  .rl-panel.is-peek{transform:translateY(calc(100% - 64px))}
  .rl-grab{display:block;width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:8px auto 0}
  .rl-ph{padding-top:4px}
  .rl-pf{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}

/* 问答视图 */
.rl-focus-quote{position:relative;margin:0 0 14px;padding:10px 12px 10px 14px;border-left:3px solid var(--ember);background:var(--bg-2);border-radius:0 10px 10px 0;
  font:15px/1.75 var(--rl-serif);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rl-focus-quote b{font:600 11px/1 "Space Grotesk",sans-serif;color:var(--ember);margin-right:6px;letter-spacing:.04em}
.rl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rl-chip{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:500 13.5px/1 inherit;padding:9px 13px;border-radius:999px;cursor:pointer}
.rl-chip:hover{border-color:var(--ember);color:var(--ember)}
.rl-chip:disabled{opacity:.45;cursor:default}
.rl-empty{color:var(--muted);font-size:14px;line-height:1.8;padding:8px 0 4px}
.rl-empty b{color:var(--ink)}
.rl-thread{display:flex;flex-direction:column;gap:18px}
.rl-turn .rl-q{font:600 14px/1.6 inherit;color:var(--ink);margin-bottom:8px;display:flex;gap:8px}
.rl-turn .rl-q:before{content:"问";flex:none;width:20px;height:20px;border-radius:6px;background:var(--ink);color:var(--bg);font-size:11px;line-height:20px;text-align:center}
.rl-a{font:15px/1.85 var(--rl-serif);color:var(--ink)}
html:not(.rl-serif) .rl-a{font-family:inherit}
.rl-a p{margin:0 0 10px}
.rl-a ul,.rl-a ol{margin:0 0 10px 1.2em}
.rl-a li{margin:0 0 6px}
.rl-a strong{font-weight:700}
.rl-a code{font:13px/1 ui-monospace,Menlo,monospace;background:var(--bg-2);padding:2px 5px;border-radius:4px}
.rl-a .rl-outside{color:var(--muted);font-size:.92em}
.rl-a.is-streaming:after{content:"";display:inline-block;width:7px;height:15px;margin-left:2px;background:var(--ember);vertical-align:-2px;animation:blink 1s steps(2) infinite}
/* 引用：像脚注一样安静，悬停才上色（学 Gloss 的 .cite；原来红框红字像警告，2026-10-19） */
.rl-cite{display:inline-flex;align-items:center;height:1.45em;padding:0 .42em;margin:0 .1em;border:0;border-radius:5px;
  background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted);font:500 .72em/1 "Space Grotesk",system-ui,sans-serif;font-variant-numeric:tabular-nums;cursor:pointer;vertical-align:.12em;transition:background-color .15s,color .15s;white-space:nowrap}
.rl-cite:hover,.rl-cite.is-open{background:var(--ember-soft);color:var(--ember)}
/* 速览每条后面的「出处」：用字说明它是什么，不让读者猜编号 */
.rl-brief-cites .rl-cite{font-family:inherit;font-weight:500;letter-spacing:.02em;margin-left:.35em}
.rl-cite.is-bad{opacity:.4;text-decoration:line-through;cursor:default}
.rl-acts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.rl-acts button,.rl-btn-s{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:600 12.5px/1 inherit;padding:8px 11px;border-radius:8px;cursor:pointer}
.rl-acts button:hover,.rl-btn-s:hover{border-color:var(--ink-2);color:var(--ink)}
.rl-acts button.is-done{color:var(--verify);border-color:var(--verify)}
.rl-meta-line{font:12px/1.5 "Space Grotesk",sans-serif;color:var(--muted);margin-top:8px}
.rl-wait{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13.5px}
.rl-wait i{width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--ember);border-radius:50%;animation:spin .8s linear infinite}
.rl-err{padding:12px 14px;border-radius:10px;background:var(--ember-soft);color:var(--ink);font-size:14px;line-height:1.7}
.rl-err a,.rl-gate a{color:var(--ember);font-weight:700}

.rl-compose{display:flex;gap:8px;align-items:flex-end}
.rl-compose textarea{flex:1;min-height:44px;max-height:120px;resize:none;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink);
  font:15px/1.5 inherit;padding:11px 13px;outline:none}
.rl-compose textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}
.rl-send{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--ember);color:#fff;font-size:18px;cursor:pointer}
.rl-send:disabled{opacity:.4;cursor:default}
.rl-foot-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font:12px/1.4 "Space Grotesk",sans-serif;color:var(--muted)}
.rl-foot-row .rl-seg{padding:2px}
.rl-foot-row .rl-seg button{padding:6px 10px;font-size:12px}
.rl-quota b{color:var(--ink)}
.rl-gate{padding:16px;border:1px dashed var(--line-2);border-radius:12px;font-size:14px;line-height:1.75;color:var(--ink-2)}
.rl-gate strong{color:var(--ink)}
.rl-gate .rl-gate-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.rl-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:var(--ember);color:#fff!important;font:700 14px/1 inherit;padding:11px 16px;cursor:pointer}
.rl-btn.is-ghost{background:var(--surface);color:var(--ink)!important;border:1px solid var(--line-2)}

/* 引用预览 */
.rl-cpop{position:fixed;z-index:80;width:340px;padding:14px 16px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg);animation:fadeIn .12s}
.rl-cpop[hidden]{display:none}
.rl-cpop .rl-cpop-k{font:600 12px/1 inherit;color:var(--muted);margin-bottom:8px}
.rl-cpop .rl-cpop-item+.rl-cpop-item{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.rl-cpop .rl-cpop-t{font:14.5px/1.8 var(--rl-serif);color:var(--ink);max-height:180px;overflow:auto}
.rl-cpop .rl-cpop-go{margin-top:10px;border:0;background:none;color:var(--ember);font:700 13px/1 inherit;padding:4px 0;cursor:pointer}
@media (max-width:720px){.rl-cpop{left:12px!important;right:12px;width:auto;top:auto!important;bottom:calc(min(78vh,640px) + 10px)}}
.rl-back{position:fixed;z-index:56;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translateX(-50%);border:0;border-radius:999px;background:var(--ink);color:var(--bg);
  font:700 14px/1 inherit;padding:12px 18px;box-shadow:var(--shadow-lg);cursor:pointer;animation:rlUp .2s}
.rl-back[hidden]{display:none}

/* 笔记视图 */
.rl-filter{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.rl-filter button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:600 12.5px/1 inherit;padding:7px 11px;border-radius:999px;cursor:pointer}
.rl-filter button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.rl-search{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);font:14px/1 inherit;padding:10px 12px;margin-bottom:14px;outline:none}
.rl-search:focus{border-color:var(--ember)}
.rl-note{padding:14px 0;border-top:1px solid var(--line)}
.rl-note:first-child{border-top:0;padding-top:4px}
.rl-note-k{display:flex;justify-content:space-between;font:600 11px/1 "Space Grotesk",sans-serif;color:var(--muted);letter-spacing:.04em;margin-bottom:8px}
.rl-note-k .is-orphan{color:var(--stance)}
.rl-note blockquote{margin:0 0 8px;padding:2px 0 2px 12px;border-left:3px solid var(--rl-hl-line);font:14.5px/1.8 var(--rl-serif);color:var(--ink-2)}
.rl-note blockquote[data-c=r]{border-left-color:var(--rl-hl-r-line)}
.rl-note .rl-note-t{font-size:14.5px;line-height:1.75;color:var(--ink);white-space:pre-wrap;margin-bottom:6px}
.rl-note .rl-note-q{font-weight:700;font-size:13.5px;margin-bottom:4px}
.rl-note .rl-a{font-size:14px;max-height:9.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent)}
.rl-note .rl-a.is-full{max-height:none;-webkit-mask-image:none}
.rl-note-acts{display:flex;gap:14px;margin-top:8px}
.rl-note-acts button{border:0;background:none;padding:2px 0;color:var(--ember);font:600 12.5px/1 inherit;cursor:pointer}
.rl-note-acts button.is-quiet{color:var(--muted)}
.rl-sync{display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px/1.5 "Space Grotesk",sans-serif;color:var(--muted)}
.rl-sync i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);margin-right:6px;vertical-align:1px}
.rl-sync i.is-on{background:var(--verify)}
.rl-sync a{color:var(--ember);font-weight:700}

/* 笔记编辑浮层 */
.rl-editor{position:fixed;z-index:75;width:360px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg);animation:fadeIn .12s}
.rl-editor[hidden]{display:none}
.rl-editor blockquote{margin:0 0 10px;padding-left:10px;border-left:3px solid var(--rl-hl-line);font:14px/1.7 var(--rl-serif);color:var(--ink-2);max-height:5.1em;overflow:hidden}
.rl-editor textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);color:var(--ink);font:15px/1.6 inherit;padding:10px 12px;outline:none}
.rl-editor textarea:focus{border-color:var(--ember)}
.rl-editor .rl-ed-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}
.rl-colors{display:flex;gap:6px}
.rl-colors button{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;background:var(--rl-hl)}
.rl-colors button[data-c=r]{background:var(--rl-hl-r)}
.rl-colors button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
@media (max-width:720px){.rl-editor{left:10px!important;right:10px;width:auto;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))}}

.rl-toast{position:fixed;z-index:90;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font:600 13.5px/1.4 inherit;box-shadow:var(--shadow-lg);animation:rlUp .2s}
@media (max-width:720px){.rl-toast{bottom:auto;top:calc(12px + env(safe-area-inset-top))}}

@media (prefers-reduced-motion:reduce){
  .rl-panel,.article-body,.rl-sel,.rl-pop,.rl-cpop{transition:none!important;animation:none!important}
  .rl-flash{animation:none;background:var(--rl-flash)}
}
@media print{.rl-dock,.rl-panel,.rl-sel,.rl-pop,.rl-progress,.rl-gut{display:none!important}}

/* ================= 文章页版式（2026-10-17 第二轮）：纸页、标题层级、首屏精简、段落节奏 =================
   只在阅读层生效（html.rl-on），脚本没加载时文章保持原样。 */
html.rl-on .cat-strip{display:none}
html.rl-on body{background-color:var(--bg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html.rl-on.dark body{background-image:none}
html.rl-on [data-article-renderer="site-v2"]{background:transparent}
/* 首屏：工具挪到一行小字，标题和导语先出来 */
html.rl-on .reader-topline{opacity:.7}
html.rl-on .reader-topline .md-export-btn{font-size:12px}
html.rl-on .article-intro h1[data-reading-role=title]{font-family:var(--rl-head,var(--rl-serif));font-size:clamp(26px,3.1vw,38px);line-height:1.32;letter-spacing:-.005em;font-weight:700;margin:6px 0 16px;text-wrap:balance}
html.rl-on .article-intro .dek{font-family:var(--rl-serif);font-size:clamp(16px,1.5vw,19px);line-height:1.75;color:var(--ink-2);margin:0 0 18px}
html.rl-on .reader-meta{font-size:12.5px;color:var(--muted);gap:10px}
html.rl-on .reader-actions{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:30px}
/* 速览：像书页边的批注，不再是一个灰盒子 */
html.rl-on aside.brief{background:none!important;border:0!important;border-left:2px solid var(--ember)!important;border-radius:0!important;padding:4px 0 4px 20px!important;margin:0 0 36px!important;box-shadow:none!important}
html.rl-on aside.brief>strong{display:block;font:700 11px/1 "Space Grotesk",sans-serif;letter-spacing:.16em;color:var(--ember);margin-bottom:12px}
html.rl-on aside.brief li{font-family:var(--rl-body,var(--rl-serif));font-size:calc(var(--rl-size) - 1px);line-height:1.85;color:var(--ink);margin-bottom:6px}
/* 节标题：上面一行小编号，和左边目录的编号对上 */
html.rl-on #xiaohubb-article{counter-reset:rlsec}
html.rl-on [data-reading-layout="site-v2"] [data-reading-role=h2]{counter-increment:rlsec;font-size:calc(var(--rl-size) + 9px);line-height:1.4;margin:64px 0 18px;padding-top:22px;border-top:1px solid var(--line)}
html.rl-on [data-reading-layout="site-v2"] [data-reading-role=h2]:before{content:counter(rlsec,decimal-leading-zero);display:block;font:600 12px/1 "Space Grotesk",sans-serif;letter-spacing:.14em;color:var(--ember);margin-bottom:12px}
html.rl-on [data-reading-layout="site-v2"] [data-reading-role=h3]{font-size:calc(var(--rl-size) + 2px);line-height:1.55;margin:36px 0 10px}
/* 段落 */
html.rl-on [data-reading-layout="site-v2"] .article>[data-reading-role=p]{margin-bottom:var(--rl-pgap,1.15em)}
html.rl-on.rl-indent [data-reading-layout="site-v2"] .article>[data-reading-role=p]{text-indent:2em;margin-bottom:.35em}
html.rl-on.rl-indent [data-reading-layout="site-v2"] :is([data-reading-role=h2],[data-reading-role=h3])+[data-reading-role=p]{text-indent:0}
html.rl-on.rl-justify [data-reading-layout="site-v2"] :is([data-reading-role=p],[data-reading-role=li]){text-align:justify;text-justify:inter-character}
html.rl-on [data-reading-layout="site-v2"] [data-reading-role=quote]{border-left:2px solid var(--line-2);padding-left:18px;color:var(--ink-2)}
html.rl-on [data-reading-layout="site-v2"] a:not(.rl-cite){text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ember) 45%,transparent);text-underline-offset:3px}
/* 左侧目录：更轻 */
html.rl-on .reader-toc a{opacity:.75}
html.rl-on .reader-toc a[aria-current=true]{opacity:1}

/* ================= 阅读主题（只在文章页生效）：覆盖外壳的颜色变量 ================= */
html.rl-on[data-rl-theme=paper]{--bg:#f3efe6;--bg-2:#ebe5d8;--surface:#fbf8f1;--surface-2:#f6f2e9;--ink:#1f1c17;--ink-2:#4a443a;--muted:#857d6e;--line:#e2dacb;--line-2:#d5cbb8}
html.rl-on[data-rl-theme=sepia]{--bg:#f2e6cf;--bg-2:#e9dabd;--surface:#f8eedb;--surface-2:#f4e8d2;--ink:#3a2e1f;--ink-2:#5b4931;--muted:#8a7457;--line:#e0cfb0;--line-2:#d2bd98}
html.rl-on[data-rl-theme=snow]{--bg:#ffffff;--bg-2:#f3f3f1;--surface:#ffffff;--surface-2:#f8f8f6;--ink:#1a1a1a;--ink-2:#444240;--muted:#86837d;--line:#e8e7e3;--line-2:#d9d7d1}
html.rl-on[data-rl-theme=snow] body{background-image:none}
html.rl-on[data-rl-theme=night]{--bg:#171512;--bg-2:#1f1c18;--surface:#211e1a;--surface-2:#282420;--ink:#e9e3d8;--ink-2:#c2b9aa;--muted:#8f8676;--line:#2f2b25;--line-2:#3a352d}
html.rl-on[data-rl-theme=ink]{--bg:#0e1116;--bg-2:#151a21;--surface:#161b22;--surface-2:#1c222b;--ink:#e6e9ee;--ink-2:#b8c0cc;--muted:#7d8794;--line:#232a33;--line-2:#2d3540;--ember:#ff7a5c}
html.rl-on.rl-easy [data-reading-layout="site-v2"] :is([data-reading-role=p],[data-reading-role=li]){letter-spacing:.03em;font-weight:450}
html.rl-on ::selection{background:var(--rl-hl)}

/* ================= 设置面板 ================= */
.rl-pop{width:340px}
.rl-ptabs{margin-bottom:18px}
.rl-pop h4 em{font-style:normal;float:right;letter-spacing:0;text-transform:none;color:var(--ink-2);font-weight:500}
.rl-themes{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.rl-th{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:500 11.5px/1 inherit;color:var(--muted)}
.rl-th i{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;font:500 19px/1 "Songti SC",Georgia,serif;font-style:normal;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);position:relative}
.rl-th i:after{content:"";position:absolute;bottom:9px;left:13px;right:13px;height:2px;border-radius:1px;background:#c8442b}
.rl-th[aria-pressed=true]{color:var(--ink);font-weight:700}
.rl-th[aria-pressed=true] i{box-shadow:0 0 0 2px var(--ink)}
.rl-th-auto i{background:linear-gradient(90deg,#f3efe6 50%,#171512 50%);color:#888}
.rl-th-paper i{background:#f3efe6;color:#1f1c17}.rl-th-sepia i{background:#f2e6cf;color:#3a2e1f}.rl-th-snow i{background:#fff;color:#1a1a1a}
.rl-th-night i{background:#171512;color:#e9e3d8}.rl-th-ink i{background:#0e1116;color:#e6e9ee}
.rl-pens{display:flex;gap:12px}
.rl-pen{width:30px;height:30px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);cursor:pointer}
.rl-pen[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
.rl-pen-y{background:#e8c25a}.rl-pen-r{background:#c8442b}.rl-pen-b{background:#2f5fd0}.rl-pen-g{background:#3a7d44}.rl-pen-k{background:#4a4a48}
.rl-fonts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.rl-fonts button{border:1px solid var(--line-2);background:var(--surface);border-radius:11px;padding:10px 0 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font:500 11.5px/1 inherit}
.rl-fonts i{font-style:normal;font-size:24px;line-height:1.1;color:var(--ink)}
.rl-fonts button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);font-weight:700;background:var(--bg-2)}
.rl-size-row{display:flex;align-items:center;gap:8px}
.rl-size-row h4{margin:0;width:44px;flex:none}
.rl-size-row input{flex:1;accent-color:var(--ember)}
.rl-size-row b{width:24px;text-align:right;font:600 13px/1 "Space Grotesk",sans-serif;color:var(--muted)}
.rl-step{border:0;background:none;color:var(--ink-2);font-size:18px;width:24px;cursor:pointer}
.rl-inline{display:flex;align-items:center;gap:10px}
.rl-inline h4{margin:0;width:44px;flex:none}
.rl-inline .rl-seg{flex:1}
@media (max-width:720px){.rl-themes{grid-template-columns:repeat(6,1fr)}.rl-th i{width:40px;height:40px}}

/* ================= 第三轮（借 Gloss）：四色划线、工具条更多、导轨、段落号、快捷键、专注淡化 ================= */
html.rl-on{--mk-y:rgba(242,196,56,.38);--mk-y2:rgba(201,152,30,.7);--mk-g:rgba(124,198,111,.32);--mk-g2:rgba(70,150,60,.7);--mk-b:rgba(106,168,240,.3);--mk-b2:rgba(50,110,200,.7);--mk-p:rgba(240,132,172,.3);--mk-p2:rgba(200,70,120,.7)}
html.rl-on.dark{--mk-y:rgba(242,196,56,.26);--mk-g:rgba(124,198,111,.24);--mk-b:rgba(106,168,240,.24);--mk-p:rgba(240,132,172,.24)}
html.rl-on[data-rl-marker=y]{--rl-hl:var(--mk-y)}html.rl-on[data-rl-marker=g]{--rl-hl:var(--mk-g)}html.rl-on[data-rl-marker=b]{--rl-hl:var(--mk-b)}html.rl-on[data-rl-marker=p]{--rl-hl:var(--mk-p)}
mark.rl-hl[data-c=y]{--c1:var(--mk-y);--c2:var(--mk-y2)}mark.rl-hl[data-c=g]{--c1:var(--mk-g);--c2:var(--mk-g2)}mark.rl-hl[data-c=b]{--c1:var(--mk-b);--c2:var(--mk-b2)}mark.rl-hl:is([data-c=p],[data-c=r]){--c1:var(--mk-p);--c2:var(--mk-p2)}
mark.rl-hl[data-c]{background:linear-gradient(transparent 12%,var(--c1) 12%,var(--c1) 92%,transparent 92%);box-shadow:inset 0 -1.5px 0 var(--c2)}
mark.rl-hl.rl-has-note{box-shadow:inset 0 -2px 0 var(--ember)}
.rl-dot-y{background:#f2c438}.rl-dot-g{background:#7cc66f}.rl-dot-b{background:#6aa8f0}.rl-dot-p{background:#f084ac}.rl-dot-ask{background:var(--ember)}
.rl-colors button{background:none}
.rl-colors .rl-dot-y{background:#f2c438}.rl-colors .rl-dot-g{background:#7cc66f}.rl-colors .rl-dot-b{background:#6aa8f0}.rl-colors .rl-dot-p{background:#f084ac}

/* 工具条：桌面 问 / 解释 / 举例 / ··· | 四色 | ✎；手机 问 / 划线 / 笔记 / ··· */
.rl-sel{align-items:center}
.rl-sel .rl-dots{display:flex;gap:6px;padding:0 6px}
.rl-sel .rl-dot{width:16px;height:16px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.85)}
html.dark .rl-sel .rl-dot{border-color:rgba(0,0,0,.4)}
.rl-sel .rl-narrow,.rl-sel .rl-narrow-inline{display:none}
.rl-more{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);min-width:190px;padding:6px;border-radius:12px;background:var(--ink);box-shadow:0 14px 30px -10px rgba(0,0,0,.4);display:grid}
.rl-more[hidden]{display:none}
.rl-more button{justify-content:flex-start;padding:10px 12px;font-weight:500}
@media (max-width:720px),(hover:none){
  .rl-sel .rl-wide,.rl-sel .rl-dots{display:none}
  .rl-sel .rl-narrow{display:flex}.rl-sel .rl-narrow-inline{display:inline}
  .rl-more{left:auto;right:0;transform:none;bottom:calc(100% + 8px)}
}
/* 站内相关 */
.rl-rel{display:grid;gap:8px}
.rl-rel a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)!important;text-decoration:none!important}
.rl-rel a:hover{border-color:var(--ember)}
.rl-rel b{display:block;font-size:14px;line-height:1.5}
.rl-rel span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rl-pop-note{font-size:12.5px;line-height:1.7;color:var(--muted);margin:4px 0 0}
.rl-pop-note a{color:var(--ember);font-weight:600}
/* 快捷键 */
.rl-keys{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(3px)}
.rl-keys[hidden]{display:none}
.rl-keys-card{width:min(420px,90vw);padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg)}
.rl-keys-card h4{font:700 15px/1 inherit;margin:0 0 14px}
.rl-keys-card div{display:flex;gap:14px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.rl-keys-card kbd{min-width:62px;font:600 12px/1 "Space Grotesk",ui-monospace,monospace;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:6px;padding:5px 7px;text-align:center}
/* 键盘逐段（J/K）的当前段：正文左侧一道 2px 细线，上下内缩、离字留空，出现时展开（学 Gloss 的 is-cursor）。
   只给键盘用；专注模式和滚动不再挂这条线（原来专注时一直有、还贴着字，2026-10-19）。
   用一个单独的浮动元素放在段前，不占段落自己的 ::before / ::after（30 篇文章用 li::after 画装饰） */
.rl-cursor{position:absolute;z-index:30;width:2px;border-radius:2px;background:var(--ember);transform-origin:top;animation:rlGrowY .25s cubic-bezier(.22,1,.36,1);pointer-events:none}
.rl-cursor[hidden]{display:none}
@keyframes rlGrowY{from{transform:scaleY(0)}to{transform:none}}
/* 专注：看得见的字全是正常墨色，读过、滚到上方的段落才退淡（学 Gloss：不把还没读的变灰）；
   划线收起颜色，只留字；右下角只剩「Aa」和「退出专注」 */
html.rl-focus .rl-unit{transition:opacity .45s}
html.rl-focus .rl-unit.rl-past{opacity:.3}
html.rl-focus mark.rl-hl{background:none!important;box-shadow:none!important;filter:none!important}
html.rl-focus .rl-dock button:not(.rl-aa):not([data-d=focus]){display:none}
html.rl-focus .rl-brief-cites{display:none}
.rl-focus-hint{position:fixed;z-index:90;left:50%;top:22px;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--bg);font:500 13px/1.2 inherit;pointer-events:none;animation:rlHint 2.8s cubic-bezier(.22,1,.36,1) both}
@keyframes rlHint{0%{opacity:0;transform:translate(-50%,-6px)}12%,75%{opacity:.92;transform:translate(-50%,0)}100%{opacity:0}}
/* 段落号：正文左侧一栏、和正文同字体的淡数字，不加 ¶（学 Gloss 的 .pnum）。只给段落，不碰列表项（723 篇文章用 li::before 画自己的圆点）。
   默认不显示；「Aa → 段落号」打开后全部显示；从「出处」跳过来的那一段临时显示，让读者看懂出处指的是哪一段 */
.rl-unit[data-reading-role=p]:before{content:attr(data-rl-n);position:absolute;left:-3.3rem;top:.42em;width:2.3rem;text-align:right;font:400 12.5px/1.2 var(--rl-serif,inherit);font-variant-numeric:lining-nums tabular-nums;color:var(--muted);opacity:0;transition:opacity .3s,color .3s;pointer-events:none;text-indent:0}
html.rl-nums .rl-unit[data-reading-role=p]:before{opacity:.55}
.rl-unit[data-reading-role=p].rl-show-n:before{opacity:1;color:var(--ember)}
html.rl-focus .rl-unit[data-reading-role=p]:before{opacity:0}
@media (max-width:720px){.rl-unit[data-reading-role=p]:before{display:none}}
.rl-pnum{position:absolute;z-index:40;display:flex;align-items:center;gap:0;border:0;background:none;padding:2px 4px;border-radius:7px;cursor:pointer;font:600 11px/1 "Space Grotesk",sans-serif;color:var(--muted)}
.rl-pnum b{display:none;font-weight:700;color:var(--ember);margin-left:6px}
.rl-pnum:hover{background:var(--surface);box-shadow:var(--shadow)}
.rl-pnum:hover b{display:inline}
html.rl-nums .rl-pnum span{visibility:hidden}
/* 目录上的划线 / 笔记数 */
html.rl-on .reader-toc a{position:relative;padding-right:30px}
.rl-toc-n{position:absolute;right:0;top:2px;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:var(--ember-soft);color:var(--ember);font:700 11px/18px "Space Grotesk",sans-serif;text-align:center}
.rl-sel .rl-dot.rl-dot-y{background:#f2c438}.rl-sel .rl-dot.rl-dot-g{background:#7cc66f}.rl-sel .rl-dot.rl-dot-b{background:#6aa8f0}.rl-sel .rl-dot.rl-dot-p{background:#f084ac}
.rl-sel .rl-dot:hover{transform:scale(1.2);background-color:inherit}

/* ================= 宽屏页边批注 ================= */
@media (min-width:1280px){html.rl-margin:not(.rl-panel-open):not(.rl-focus) .article-body{transform:translateX(-150px)}}
.rl-mcard{position:absolute;z-index:35;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 1px 0 var(--line),0 14px 30px -18px rgba(40,30,10,.35);padding:12px 14px 12px;animation:rlPopIn .2s ease-out;transition:top .25s cubic-bezier(.2,.8,.2,1)}
html.dark .rl-mcard{box-shadow:0 14px 30px -18px rgba(0,0,0,.8)}
@keyframes rlPopIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.rl-mc-h{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.rl-mc-h b{font:700 13px/1.3 inherit;color:var(--ember)}
.rl-mc-h span{font:600 11px/1 "Space Grotesk",sans-serif;color:var(--muted);margin-right:auto}
.rl-mc-h button{border:0;background:none;width:22px;height:22px;border-radius:6px;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}
.rl-mc-h button:hover{background:var(--bg-2);color:var(--ink)}
.rl-mcard .rl-a{font-size:14px;line-height:1.75;max-height:46vh;overflow:auto}
.rl-mcard .rl-a p{margin-bottom:8px}
.rl-mc-f{display:flex;gap:6px;margin-top:8px}
.rl-mc-f button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:600 12px/1 inherit;padding:7px 10px;border-radius:8px;cursor:pointer}
.rl-mc-f button:hover{border-color:var(--ink-2);color:var(--ink)}
.rl-mc-f button.is-done{color:var(--verify);border-color:var(--verify)}
.rl-mcard.is-collapsed{padding:0;border-radius:10px}
.rl-mc-line{display:block;width:100%;border:0;background:none;text-align:left;padding:9px 12px;font:13px/1.45 inherit;color:var(--ink-2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-mc-line b{color:var(--ember);margin-right:6px}
.rl-mline{position:absolute;z-index:34;overflow:visible;pointer-events:none}
.rl-mline polyline{fill:none;stroke:color-mix(in srgb,var(--ember) 55%,transparent);stroke-width:1.2}
.rl-mline circle{fill:var(--ember)}
.rl-anchor{background:color-mix(in srgb,var(--ember) 7%,transparent);box-shadow:-8px 0 0 color-mix(in srgb,var(--ember) 7%,transparent),8px 0 0 color-mix(in srgb,var(--ember) 7%,transparent);border-radius:3px}
@media (max-width:1279px){.rl-mcard,.rl-mline{display:none!important}}
@media print{.rl-mcard,.rl-mline{display:none!important}}
