V2EX Polish - 体验更现代化的 V2EX

一款专为 V2EX 用户设计的浏览器插件,提供了丰富的扩展功能,让原生页面焕然一新!

目前为 2023-04-16 提交的版本。查看 最新版本

// ==UserScript==
// @name         V2EX Polish - 体验更现代化的 V2EX
// @namespace    LeoKu(https://leoku.top)
// @version      1.2.2
// @description  一款专为 V2EX 用户设计的浏览器插件,提供了丰富的扩展功能,让原生页面焕然一新!
// @author       LeoKu
// @match        https://*.v2ex.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=v2ex.com
// @grant        none
// @license      MIT
// ==/UserScript==


"use strict";var y=(o,t)=>()=>(o&&(t=o(o=0)),t);var Xo,Ao,qo,Oe,Ro,ao,W=y(()=>{"use strict";Xo=[{title:"\u5C0F\u9EC4\u8138",list:["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F605}","\u{1F60A}","\u{1F60B}","\u{1F618}","\u{1F970}","\u{1F617}","\u{1F929}","\u{1F914}","\u{1F928}","\u{1F610}","\u{1F611}","\u{1F644}","\u{1F60F}","\u{1F62A}","\u{1F62B}","\u{1F971}","\u{1F61C}","\u{1F612}","\u{1F614}","\u{1F628}","\u{1F630}","\u{1F631}","\u{1F975}","\u{1F621}","\u{1F973}","\u{1F97A}","\u{1F92D}","\u{1F9D0}","\u{1F913}","\u{1F62D}","\u{1F911}","\u{1F92E}"]},{title:"\u624B\u52BF",list:["\u{1F64B}","\u{1F64E}","\u{1F645}","\u{1F647}","\u{1F937}","\u{1F90F}","\u{1F449}","\u270C\uFE0F","\u{1F918}","\u{1F919}","\u{1F44C}","\u{1F90C}","\u{1F44D}","\u{1F44E}","\u{1F44B}","\u{1F91D}","\u{1F64F}","\u{1F44F}"]},{title:"\u5E86\u795D",list:["\u2728","\u{1F389}","\u{1F38A}"]},{title:"\u5176\u4ED6",list:["\u{1F47B}","\u{1F921}","\u{1F414}","\u{1F440}","\u{1F4A9}","\u{1F434}","\u{1F984}","\u{1F427}","\u{1F436}","\u{1F412}","\u{1F648}","\u{1F649}","\u{1F64A}","\u{1F435}"]}],Ao=250,qo=550,Oe=60*60*1e3,Ro=["3107b9ef8b316f3","442b04f26eefc8a","59cfebe717c09e4","60605aad4a62882","6c65ab1d3f5452a","83e123737849aa9","9311f6be1c10160","c4a4a563f698595","81be04b9e4a08ce"],ao={openInNewTab:!1,autoCheckIn:{enabled:!0},nestedReply:{display:"align"}}});var Go,co,Jo,lo,Qo,Yo,Zo,Ko,ot,so,tt,et,nt,rt,it,at,U=y(()=>{"use strict";Go=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  fill="none"
  viewBox="0 0 24 24"
  stroke-width="1.5"
  stroke="currentColor"
  style="width:18px; height:18px;"
>
  <path
    stroke-linecap="round"
    stroke-linejoin="round"
    d="M15.182 15.182a4.5 4.5 0 01-6.364 0M21 12a9 9 0 11-18 0 9 9 0 0118 0zM9.75 9.75c0 .414-.168.75-.375.75S9 10.164 9 9.75 9.168 9 9.375 9s.375.336.375.75zm-.375 0h.008v.015h-.008V9.75zm5.625 0c0 .414-.168.75-.375.75s-.375-.336-.375-.75.168-.75.375-.75.375.336.375.75zm-.375 0h.008v.015h-.008V9.75z"
  />
</svg>
`,co=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  fill="none"
  viewBox="0 0 24 24"
  stroke-width="1.5"
  stroke="currentColor"
>
  <path
    stroke-linecap="round"
    stroke-linejoin="round"
    d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"
  />
</svg>
`,Jo=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  fill="none"
  viewBox="0 0 24 24"
  stroke-width="1.5"
  stroke="currentColor"
>
  <path
    stroke-linecap="round"
    stroke-linejoin="round"
    d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
  />
</svg>
`,lo=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  fill="none"
  viewBox="0 0 24 24"
  stroke-width="1.5"
  stroke="currentColor"
>
  <path
    stroke-linecap="round"
    stroke-linejoin="round"
    d="M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 01.865-.501 48.172 48.172 0 003.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"
  />
</svg>
`,Qo=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <polygon
    points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"
  ></polygon>
</svg>
`,Yo=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path
    d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"
  ></path>
</svg>
`,Zo=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <circle cx="12" cy="12" r="10"></circle>
  <path d="M8 15h8"></path>
  <path d="M8 9h2"></path>
  <path d="M14 9h2"></path>
</svg>
`,Ko=`
<svg
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path
    d="M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z"
  ></path>
</svg>
`,ot=`
<svg version="1.1" id="L4" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
  viewBox="0 0 100 100" enable-background="new 0 0 0 0" xml:space="preserve">
  <circle fill="currentcolor" stroke="none" cx="6" cy="50" r="6">
    <animate
      attributeName="opacity"
      dur="1s"
      values="0;1;0"
      repeatCount="indefinite"
      begin="0.1"/>
  </circle>
  <circle fill="currentcolor" stroke="none" cx="26" cy="50" r="6">
    <animate
      attributeName="opacity"
      dur="1s"
      values="0;1;0"
      repeatCount="indefinite"
      begin="0.2"/>
  </circle>
  <circle fill="currentcolor" stroke="none" cx="46" cy="50" r="6">
    <animate
      attributeName="opacity"
      dur="1s"
      values="0;1;0"
      repeatCount="indefinite"
      begin="0.3"/>
  </circle>
</svg>
`,so=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 88 88"><g style="mix-blend-mode:passthrough"><path d="M87.92 86.098v-.052a.592.592 0 0 0 0-.07L44.978.72l-.059-.105c-.16-.3-.415-.511-.705-.586a.961.961 0 0 0-.841.19 1.315 1.315 0 0 0-.336.378l-.058.115a2571.004 2571.004 0 0 1-8.695 17.172c-.59 1.024-.59 2.382 0 3.406 3.856 7.57 7.7 15.142 11.532 22.718.641 1.108.641 2.58 0 3.688C39.5 60.23 32.826 73.406 26.45 85.993c-.291.661-.086 1.482.46 1.84.16.104.341.158.525.158h18.52c.415.003.797-.272.992-.713l.635-1.285 8.585-17.023c.142-.317.383-.552.67-.653a.949.949 0 0 1 .855.116c.156.1.289.245.386.423l8.506 16.723.787 1.558c.199.433.575.702.985.704h.518c.087.009.175.009.263 0h17.74c.617 0 1.119-.601 1.123-1.347a1.615 1.615 0 0 0-.08-.396Z" fill="currentColor" style="mix-blend-mode:passthrough"/><path d="m38.551 48.541.62-1.232a3.095 3.095 0 0 0 0-3.02l-3.807-7.446-4.377-8.511c-.155-.308-.406-.527-.697-.61a.957.957 0 0 0-.85.17 1.252 1.252 0 0 0-.4.502L.132 86.002c-.29.658-.085 1.477.46 1.83.161.113.345.17.532.168h16.981c.41 0 .788-.27.985-.705l.65-1.302c.029-.048.055-.098.08-.15l.729-1.408c6.047-12.103 11.839-23.66 17.9-35.7.038-.062.072-.127.102-.194Z" fill="currentColor" style="mix-blend-mode:passthrough"/></g></svg>
`,tt=`
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 152.01 132"><defs><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="39.16" y1="775.015" x2="152.84" y2="775.015" gradientTransform="translate(0 -650)"><stop offset="0" style="stop-color:#d93025"/><stop offset="1" style="stop-color:#ea4335"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="-1169.827" y1="59.741" x2="-1056.123" y2="59.741" gradientTransform="rotate(-120 -489.637 -232.003)"><stop offset="0" style="stop-color:#1e8e3e"/><stop offset="1" style="stop-color:#34a853"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="56.707" y1="-664.775" x2="170.407" y2="-664.775" gradientTransform="rotate(120 -125.508 -249.005)"><stop offset="0" style="stop-color:#fbbc04"/><stop offset="1" style="stop-color:#fcc934"/></linearGradient><linearGradient xlink:href="#a" id="d" gradientUnits="userSpaceOnUse" gradientTransform="translate(-20 -678)" x1="39.16" y1="775.015" x2="152.84" y2="775.015"/><linearGradient xlink:href="#b" id="e" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-120 -507.72 -240.23)" x1="-1169.827" y1="59.741" x2="-1056.123" y2="59.741"/><linearGradient xlink:href="#c" id="f" gradientUnits="userSpaceOnUse" gradientTransform="rotate(120 -127.425 -268.779)" x1="56.707" y1="-664.775" x2="170.407" y2="-664.775"/></defs><path d="M0 0v121.63C0 127.35 4.64 132 10.37 132h131.27c5.72 0 10.37-4.64 10.37-10.37L152 0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#f1f3f4"/><path d="M0 0v121.63C0 127.35 4.64 132 10.37 132h131.27c5.72 0 10.37-4.64 10.37-10.37L152 0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#f1f3f4"/><path d="M0 0v66.35h152V0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#e8eaed"/><path style="fill:url(#d)" d="M76 55.99c-24.29 0-45.49 13.19-56.84 32.81l9.05 27.61L42.18 132h8.894L76 88.81l56.84-.01C121.49 69.18 100.29 55.99 76 55.99Z"/><path style="fill:url(#e)" d="M19.16 88.8C11.694 101.767 8.8 117.054 11.186 132h32.908z"/><path style="fill:url(#f)" d="M76 88.81 100.934 132h39.88c2.387-14.943-.508-30.225-7.974-43.19z"/><path style="fill:#f1f3f4" d="M76 88.81c-18.12 0-32.81 14.695-32.81 32.82 0 3.626.598 7.11 1.683 10.37h62.254a32.771 32.771 0 0 0 1.684-10.37c0-18.125-14.69-32.82-32.811-32.82Z"/><path d="M76 94.96a26.66 26.67 0 0 0-26.66 26.67A26.66 26.67 0 0 0 51.486 132h49.028a26.66 26.67 0 0 0 2.146-10.37A26.66 26.67 0 0 0 76 94.96Z" fill="#1a73e8"/><path opacity=".1" fill="#bdc1c6" d="M0 66.35h152v.86H0zM0 65.48h152v.86H0z"/></svg>
`,et=`
<svg viewBox="0 0 24 24" aria-hidden="true">
  <path fill="currentColor" clip-rule="evenodd" d="M12 2C6.477 2 2 6.463 2 11.97c0 4.404 2.865 8.14 6.839 9.458.5.092.682-.216.682-.48 0-.236-.008-.864-.013-1.695-2.782.602-3.369-1.337-3.369-1.337-.454-1.151-1.11-1.458-1.11-1.458-.908-.618.069-.606.069-.606 1.003.07 1.531 1.027 1.531 1.027.892 1.524 2.341 1.084 2.91.828.092-.643.35-1.083.636-1.332-2.22-.251-4.555-1.107-4.555-4.927 0-1.088.39-1.979 1.029-2.675-.103-.252-.446-1.266.098-2.638 0 0 .84-.268 2.75 1.022A9.607 9.607 0 0 1 12 6.82c.85.004 1.705.114 2.504.336 1.909-1.29 2.747-1.022 2.747-1.022.546 1.372.202 2.386.1 2.638.64.696 1.028 1.587 1.028 2.675 0 3.83-2.339 4.673-4.566 4.92.359.307.678.915.678 1.846 0 1.332-.012 2.407-.012 2.734 0 .267.18.577.688.48 3.97-1.32 6.833-5.054 6.833-9.458C22 6.463 17.522 2 12 2Z"></path>
</svg>
`,nt=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l7.5-7.5 7.5 7.5m-15 6l7.5-7.5 7.5 7.5" />
</svg>
`,rt=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
  <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 002.25-2.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v2.25A2.25 2.25 0 006 10.5zm0 9.75h2.25A2.25 2.25 0 0010.5 18v-2.25a2.25 2.25 0 00-2.25-2.25H6a2.25 2.25 0 00-2.25 2.25V18A2.25 2.25 0 006 20.25zm9.75-9.75H18a2.25 2.25 0 002.25-2.25V6A2.25 2.25 0 0018 3.75h-2.25A2.25 2.25 0 0013.5 6v2.25a2.25 2.25 0 002.25 2.25z" />
</svg>

`,it=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z" />
</svg>
`,at=`
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
  <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z" />
</svg>
`});var Kt={};var ct=y(()=>{"use strict";W();U();$("#Top .site-nav .tools > .top").addClass("v2p-hover-btn");{let o=$("#Rightbar .light-toggle").addClass("v2p-color-mode-toggle"),t=o.find("> img");t.prop("alt")==="Light"&&(o.prop("title","\u4F7F\u7528\u6DF1\u8272\u4E3B\u9898"),t.replaceWith(at)),t.prop("alt")==="Dark"&&(o.prop("title","\u4F7F\u7528\u6D45\u8272\u4E3B\u9898"),t.replaceWith(it))}{let o=$(`
  <div class="v2p-footer">
    <div class="v2p-footer-text">\u6269\u5C55\u81EA V2EX Polish </div>

    <div class="v2p-footer-links">
      <a class="v2p-footer-link v2p-hover-btn" href="${"https://v2p.app"}" target="_blank">\u63D2\u4EF6\u4E3B\u9875</a>
      <a class="v2p-footer-link v2p-hover-btn" href="${"https://github.com/coolpace/V2EX_Polish/discussions/1"}" target="_blank">\u95EE\u9898\u53CD\u9988</a>
    </div>

    <div class="v2p-footer-brand">
      <span>
        <a
          href="https://chrome.google.com/webstore/detail/v2ex-polish/onnepejgdiojhiflfoemillegpgpabdm"
          target="_blank"
          title="Chrome \u5E94\u7528\u5546\u5E97"
        >
          ${tt}
        </a>
      </span>
      <span>
        <a
          href="https://github.com/coolpace/V2EX_Polish"
          target="_blank"
          title="GitHub \u4ED3\u5E93"
        >
          ${et}
        </a>
      </span>
    </div>
  </div>
  `);$(`<div class="v2p-footer-logo">${so}</div>`).prependTo(o),$("#Bottom .content").append(o)}});function lt(o){return typeof o=="object"&&o!==null}function zo(o,t){let n={};for(let e in o)lt(o[e])&&lt(t[e])?n[e]=zo(o[e],t[e]):Reflect.has(t,e)?n[e]=t[e]:n[e]=o[e];for(let e in t)Reflect.has(o,e)||(n[e]=t[e]);return n}var st=y(()=>{"use strict"});function pt(){let o=window.navigator.userAgent.toLowerCase(),t=/(macintosh|macintel|macppc|mac68k|macos)/i,n=/(win32|win64|windows|wince)/i,e=/(iphone|ipad|ipod)/i,r=null;return t.test(o)?r="macos":e.test(o)?r="ios":n.test(o)?r="windows":o.includes("android")?r="android":o.includes("linux")&&(r="linux"),r}function dt(o,{format:t="YMD"}={}){let n=new Date(o.toString().length===10?o*1e3:o),e=n.getFullYear().toString(),r=(n.getMonth()+1).toString().padStart(2,"0"),i=n.getDate().toString().padStart(2,"0"),a=`${e}-${r}-${i}`;if(t==="YMDHMS"){let c=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),s=n.getSeconds().toString().padStart(2,"0");return`${a} ${c}:${l}:${s}`}return a}function po(){return new Promise(o=>{if(typeof chrome>"u"||typeof chrome.storage>"u")return o(void 0);chrome.storage.sync.get("api",t=>{o(t["api"]?.pat)})})}function T(){return new Promise(o=>{if(typeof chrome>"u"||typeof chrome.storage>"u")return o(ao);chrome.storage.sync.get("options",t=>{let n=t["options"];o(n?zo(ao,n):ao)})})}var S=y(()=>{"use strict";W();st()});async function ee(o,t){let n=await fetch(o,t),e=n.headers.get("X-Rate-Limit-Limit"),r=n.headers.get("X-Rate-Limit-Reset"),i=n.headers.get("X-Rate-Limit-Remaining"),a={limit:e?Number(e):void 0,reset:r?Number(r):void 0,remaining:i?Number(i):void 0};return await chrome.storage.sync.set({["legacy-api"]:a}),n.json()}function mt(o,t){return ee(`${te}/members/show.json?username=${o}`,t)}async function ut(o,t){let n=await po(),e=await fetch(o,{...t,headers:{Authorization:n?`Bearer ${n}`:"",...t?.headers}}),r=e.headers.get("X-Rate-Limit-Limit"),i=e.headers.get("X-Rate-Limit-Reset"),a=e.headers.get("X-Rate-Limit-Remaining");chrome.storage.sync.get("api",l=>{let s={pat:l["api"]?.pat,limit:r?Number(r):void 0,reset:i?Number(i):void 0,remaining:a?Number(a):void 0};chrome.storage.sync.set({["api"]:s})});let c=await e.json();if(typeof c.success=="boolean"&&!c.success)throw new Error(c.message,{cause:c});return c}function gt(o,t){return ut(`${ft}/topics/${o}`,{method:"GET",...t})}function bt(o,t){return ut(`${ft}/topics/${o}/replies`,{method:"GET",...t})}async function ht(o){let t=new FormData;t.append("image",o);let n=Math.floor(Math.random()*Ro.length),e=Ro[n],r=await fetch("https://api.imgur.com/3/upload",{method:"POST",headers:{Authorization:`Client-ID ${e}`},body:t});if(r.ok){let i=await r.json();if(i.success)return i.data.link}throw new Error("\u4E0A\u4F20\u5931\u8D25")}var vt,te,ft,vo=y(()=>{"use strict";W();S();vt=window.location.origin.includes("v2ex.com")?window.location.origin:"https://www.v2ex.com",te=`${vt}/api`,ft=`${vt}/api/v2`});function z(o){let{children:t,className:n="",type:e="button",tag:r="button"}=o,i=$(`<${r} class="normal button ${n}">${t}</${r}>`);return r==="button"&&i.prop("type",e),i}var fo=y(()=>{"use strict"});function mo(o){let{root:t,title:n,onOpen:e,onClose:r,onMount:i}=o,a=$('<div class="v2p-model-mask">'),c=$('<div class="v2p-model-content">'),l=z({children:"\u5173\u95ED<kbd>Esc</kbd>",className:"v2p-model-close-btn"}),s=$(`<div class="v2p-model-title">${n??""}</div>`),d=$('<div class="v2p-model-actions">').append(l),p=$('<div class="v2p-model-header">').append(s,d),v=$('<div class="v2p-model-main">').append(p,c),f=a.append(v).hide(),m={$mask:a,$main:v,$container:f,$title:s,$actions:d,$content:c},h=!1,b=k=>{$(k.target).closest(v).length===0&&g()},u=k=>{k.key==="Escape"&&g()},g=()=>{$(document).off("click",b),$(document).off("keydown",u),h=!1,f.fadeOut("fast"),document.body.classList.remove("v2p-modal-open"),r?.(m)},x=()=>{setTimeout(()=>{h||($(document).on("click",b),$(document).on("keydown",u),h=!0)}),f.fadeIn("fast"),document.body.classList.add("v2p-modal-open"),e?.(m)};return l.on("click",g),i?.(m),t&&t.append(f),{...m,open:x,close:g}}var Eo=y(()=>{"use strict";fo()});var xt,yt,wt,Po,I,E,Q,_,Ye,C,N,B=y(()=>{"use strict";xt=$('#Top .tools > a[href^="/member"]').text(),yt=$('#Main > .box > .header > small > a[href^="/member"]').text(),wt=$("#Main #Tabs ~ .cell.item, #Main #TopicsNode > .cell, #Main .cell.item:has(.item_title > .topic-link)"),Po=$("#Main .box:has(.topic_content)"),I=$('#Main .box:has(.cell[id^="r_"])'),E=I.find('.cell[id^="r_"]'),Q=E.find("> table > tbody > tr"),_=$("#reply-box"),Ye=$("#Wrapper").hasClass("Night")?"dark":"light",C=document.querySelector("#reply_content"),N=Q.map((o,t)=>{let n=E[o].id,e=$(t),r=e.find("> td:nth-child(3)"),i=e.find("> td:last-of-type > .fr").find("> .thank_area").hasClass("thanked"),a=r.find("> strong > a"),c=a.text(),l=a.prop("href"),s=e.find(".avatar").prop("src"),d=r.find("> .reply_content").text(),p=Number(r.find("span.small").text()),v=r.find("span.no").text(),f=Array.from(d.matchAll(/@([a-zA-Z0-9]+)/g)),m=f.length>0?f.map(([,u])=>u):void 0,h=Array.from(d.matchAll(/#(\d+)/g)),b=h.length>0?h.map(([,u])=>u):void 0;return{id:n,memberName:c,memberLink:l,memberAvatar:s,content:d,likes:p,floor:v,index:o,refMemberNames:m,refFloors:b,thanked:i}}).get()});function kt(o){if("cause"in o){let t=o.cause;if("success"in t&&"message"in t)return typeof t.success=="boolean"&&!t.success&&typeof t.message=="string"}return!1}function uo(o){return o.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'")}function D(){C instanceof HTMLTextAreaElement&&C.focus()}function Y(o){if(C instanceof HTMLTextAreaElement){let t=C.selectionStart,n=C.selectionEnd,e=C.value.substring(0,t),r=C.value.substring(n,C.value.length);C.value=`${e}${o}${r}`,D(),C.selectionStart=C.selectionEnd=t+o.length}}var go=y(()=>{"use strict";B()});async function $t(){let o=await po(),t=null,n=z({children:"\u8FDB\u5165\u4E3B\u9898",className:"special",tag:"a"});(await T()).openInNewTab&&n.prop("target","_blank");let r=mo({root:$("body"),onMount:({$actions:i})=>{i.prepend(n)},onClose:({$title:i,$content:a})=>{i.empty(),a.empty(),t?.abort()}});wt.each((i,a)=>{let c=$(a),l=c.find(".item_title");$('<button class="v2p-topic-preview-btn">\u9884\u89C8</button>').on("click",()=>{let s=c.find(".topic-link").attr("href"),p=s?.match(/\/(\d+)#/)?.at(1);if(p){r.open(),n.prop("href",s);let v=l.find(".topic-link").text();r.$title.empty().text(v).prop("title",v),o?(async()=>{try{t=new AbortController,r.$content.empty().append(`
                <div class="v2p-model-loading">
                  <div class="v2p-icon-loading">${ot}</div>
                </div>
                `);let f=[gt(p,{signal:t.signal}),bt(p)],[{result:m},{result:h}]=await Promise.all(f),b=$('<div class="v2p-topic-preview">');if(m.content_rendered?b.append(`<div>${m.content_rendered}</div>`):b.append(`
                  <div class="v2p-empty-content">
                    <div class="v2p-text-emoji">\xAF\\_(\u30C4)_/\xAF</div>
                    <p>\u8BE5\u4E3B\u9898\u6CA1\u6709\u6B63\u6587\u5185\u5BB9</p>
                  </div>
                  `),h.length>0){let u=$("<div>");h.forEach(g=>{u.append(`
                    <div class="v2p-topic-reply">
                      <div class="v2p-topic-reply-member">
                        <a href="${g.member.url}">
                          <img class="v2p-topic-reply-avatar" src="${g.member.avatar}">
                          <span>${g.member.username}</span>
                        </a>\uFF1A
                      </div>
                      <div class="v2p-topic-reply-content">${uo(g.content)}</div>
                    </div>
                    `)}),$('<div class="v2p-topic-reply-box">').append(u.html()).append('<div class="v2p-more-reply-tip">\u5728\u4E3B\u9898\u5185\u67E5\u770B\u5B8C\u6574\u8BC4\u8BBA...</div>').appendTo(b)}r.$content.empty().append(b)}catch(f){if(kt(f)){let m=f.cause.message;(m==="Token expired"||m==="Invalid token")&&r.$content.empty().append(`<div>${f.cause.message}</div>`)}}})():r.$content.empty().append(`
            <div class="v2p-no-pat">
              <div class="v2p-no-pat-title">\u60A8\u9700\u8981\u5148\u8BBE\u7F6E PAT \u624D\u80FD\u83B7\u53D6\u9884\u89C8\u5185\u5BB9\u3002</div>
              <div class="v2p-no-pat-desc">\u8BF7\u524D\u5F80 <span class="v2p-no-pat-block"><span class="v2p-icon-logo">${so}</span> <span style="margin: 0 5px;">></span> \u8BBE\u7F6E</span> \u8FDB\u884C\u8BBE\u7F6E\u3002</div>
            </div>
            `)}}).appendTo(l)})}var Mt=y(()=>{"use strict";W();U();vo();S();fo();Eo();B();go()});var ne={};var Ct=y(()=>{"use strict";S();Mt();(async()=>($("#Main .tab").addClass("v2p-hover-btn"),(await T()).openInNewTab&&$('#Main .topic-link, .item_hot_topic_title > a, .item_node, a[href="/write"]').prop("target","_blank"),await $t()))()});function xo(o){return o.split("-")[1]}function At(o){return o==="y"?"height":"width"}function H(o){return o.split("-")[0]}function yo(o){return["top","bottom"].includes(H(o))?"x":"y"}function Tt(o,t,n){let{reference:e,floating:r}=o,i=e.x+e.width/2-r.width/2,a=e.y+e.height/2-r.height/2,c=yo(t),l=At(c),s=e[l]/2-r[l]/2,d=H(t),p=c==="x",v;switch(d){case"top":v={x:i,y:e.y-r.height};break;case"bottom":v={x:i,y:e.y+e.height};break;case"right":v={x:e.x+e.width,y:a};break;case"left":v={x:e.x-r.width,y:a};break;default:v={x:e.x,y:e.y}}switch(xo(t)){case"start":v[c]-=s*(n&&p?-1:1);break;case"end":v[c]+=s*(n&&p?-1:1);break}return v}function re(o){return{top:0,right:0,bottom:0,left:0,...o}}function ie(o){return typeof o!="number"?re(o):{top:o,right:o,bottom:o,left:o}}function bo(o){return{...o,top:o.y,left:o.x,right:o.x+o.width,bottom:o.y+o.height}}async function Oo(o,t){var n;t===void 0&&(t={});let{x:e,y:r,platform:i,rects:a,elements:c,strategy:l}=o,{boundary:s="clippingAncestors",rootBoundary:d="viewport",elementContext:p="floating",altBoundary:v=!1,padding:f=0}=t,m=ie(f),b=c[v?p==="floating"?"reference":"floating":p],u=bo(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(b)))==null||n?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:s,rootBoundary:d,strategy:l})),g=p==="floating"?{...a.floating,x:e,y:r}:a.reference,x=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating)),k=await(i.isElement==null?void 0:i.isElement(x))?await(i.getScale==null?void 0:i.getScale(x))||{x:1,y:1}:{x:1,y:1},w=bo(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:g,offsetParent:x,strategy:l}):g);return{top:(u.top-w.top+m.top)/k.y,bottom:(w.bottom-u.bottom+m.bottom)/k.y,left:(u.left-w.left+m.left)/k.x,right:(w.right-u.right+m.right)/k.x}}function _t(o,t,n){return ce(o,ae(t,n))}function ho(o){return o.replace(/left|right|bottom|top/g,t=>le[t])}function se(o,t,n){n===void 0&&(n=!1);let e=xo(o),r=yo(o),i=At(r),a=r==="x"?e===(n?"end":"start")?"right":"left":e==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=ho(a)),{main:a,cross:ho(a)}}function Lo(o){return o.replace(/start|end/g,t=>pe[t])}function de(o){let t=ho(o);return[Lo(o),t,Lo(t)]}function ve(o,t,n){let e=["left","right"],r=["right","left"],i=["top","bottom"],a=["bottom","top"];switch(o){case"top":case"bottom":return n?t?r:e:t?e:r;case"left":case"right":return t?i:a;default:return[]}}function fe(o,t,n,e){let r=xo(o),i=ve(H(o),n==="start",e);return r&&(i=i.map(a=>a+"-"+r),t&&(i=i.concat(i.map(Lo)))),i}async function me(o,t){let{placement:n,platform:e,elements:r}=o,i=await(e.isRTL==null?void 0:e.isRTL(r.floating)),a=H(n),c=xo(n),l=yo(n)==="x",s=["left","top"].includes(a)?-1:1,d=i&&l?-1:1,p=typeof t=="function"?t(o):t,{mainAxis:v,crossAxis:f,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return c&&typeof m=="number"&&(f=c==="end"?m*-1:m),l?{x:f*d,y:v*s}:{x:v*s,y:f*d}}function ue(o){return o==="x"?"y":"x"}var Rt,ae,ce,le,pe,Z,K,oo,So=y(()=>{Rt=async(o,t,n)=>{let{placement:e="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n,c=i.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t)),s=await a.getElementRects({reference:o,floating:t,strategy:r}),{x:d,y:p}=Tt(s,e,l),v=e,f={},m=0;for(let h=0;h<c.length;h++){let{name:b,fn:u}=c[h],{x:g,y:x,data:k,reset:w}=await u({x:d,y:p,initialPlacement:e,placement:v,strategy:r,middlewareData:f,rects:s,platform:a,elements:{reference:o,floating:t}});if(d=g??d,p=x??p,f={...f,[b]:{...f[b],...k}},w&&m<=50){m++,typeof w=="object"&&(w.placement&&(v=w.placement),w.rects&&(s=w.rects===!0?await a.getElementRects({reference:o,floating:t,strategy:r}):w.rects),{x:d,y:p}=Tt(s,v,l)),h=-1;continue}}return{x:d,y:p,placement:v,strategy:r,middlewareData:f}};ae=Math.min,ce=Math.max;le={left:"right",right:"left",bottom:"top",top:"bottom"};pe={start:"end",end:"start"};Z=function(o){return o===void 0&&(o={}),{name:"flip",options:o,async fn(t){var n;let{placement:e,middlewareData:r,rects:i,initialPlacement:a,platform:c,elements:l}=t,{mainAxis:s=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...h}=o,b=H(e),u=H(a)===a,g=await(c.isRTL==null?void 0:c.isRTL(l.floating)),x=p||(u||!m?[ho(a)]:de(a));!p&&f!=="none"&&x.push(...fe(a,m,f,g));let k=[a,...x],w=await Oo(t,h),ro=[],q=((n=r.flip)==null?void 0:n.overflows)||[];if(s&&ro.push(w[b]),d){let{main:j,cross:io}=se(e,i,g);ro.push(w[j],w[io])}if(q=[...q,{placement:e,overflows:ro}],!ro.every(j=>j<=0)){var Fo,Vo;let j=(((Fo=r.flip)==null?void 0:Fo.index)||0)+1,io=k[j];if(io)return{data:{index:j,overflows:q},reset:{placement:io}};let G=(Vo=q.filter(F=>F.overflows[0]<=0).sort((F,V)=>F.overflows[1]-V.overflows[1])[0])==null?void 0:Vo.placement;if(!G)switch(v){case"bestFit":{var Wo;let F=(Wo=q.map(V=>[V.placement,V.overflows.filter(J=>J>0).reduce((J,Yt)=>J+Yt,0)]).sort((V,J)=>V[1]-J[1])[0])==null?void 0:Wo[0];F&&(G=F);break}case"initialPlacement":G=a;break}if(e!==G)return{reset:{placement:G}}}return{}}}};K=function(o){return o===void 0&&(o=0),{name:"offset",options:o,async fn(t){let{x:n,y:e}=t,r=await me(t,o);return{x:n+r.x,y:e+r.y,data:r}}}};oo=function(o){return o===void 0&&(o={}),{name:"shift",options:o,async fn(t){let{x:n,y:e,placement:r}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:u,y:g}=b;return{x:u,y:g}}},...l}=o,s={x:n,y:e},d=await Oo(t,l),p=yo(H(r)),v=ue(p),f=s[p],m=s[v];if(i){let b=p==="y"?"top":"left",u=p==="y"?"bottom":"right",g=f+d[b],x=f-d[u];f=_t(g,f,x)}if(a){let b=v==="y"?"top":"left",u=v==="y"?"bottom":"right",g=m+d[b],x=m-d[u];m=_t(g,m,x)}let h=c.fn({...t,[p]:f,[v]:m});return{...h,data:{x:h.x-n,y:h.y-e}}}}}});function M(o){var t;return((t=o.ownerDocument)==null?void 0:t.defaultView)||window}function A(o){return M(o).getComputedStyle(o)}function St(o){let t=A(o),n=parseFloat(t.width),e=parseFloat(t.height),r=o.offsetWidth,i=o.offsetHeight,a=ko(n)!==r||ko(e)!==i;return a&&(n=r,e=i),{width:n,height:e,fallback:a}}function P(o){return Nt(o)?(o.nodeName||"").toLowerCase():""}function It(){if(wo)return wo;let o=navigator.userAgentData;return o&&Array.isArray(o.brands)?(wo=o.brands.map(t=>t.brand+"/"+t.version).join(" "),wo):navigator.userAgent}function R(o){return o instanceof M(o).HTMLElement}function L(o){return o instanceof M(o).Element}function Nt(o){return o instanceof M(o).Node}function Et(o){if(typeof ShadowRoot>"u")return!1;let t=M(o).ShadowRoot;return o instanceof t||o instanceof ShadowRoot}function $o(o){let{overflow:t,overflowX:n,overflowY:e,display:r}=A(o);return/auto|scroll|overlay|hidden|clip/.test(t+e+n)&&!["inline","contents"].includes(r)}function ge(o){return["table","td","th"].includes(P(o))}function Io(o){let t=/firefox/i.test(It()),n=A(o),e=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||(e?e!=="none":!1)||t&&n.willChange==="filter"||t&&(n.filter?n.filter!=="none":!1)||["transform","perspective"].some(r=>n.willChange.includes(r))||["paint","layout","strict","content"].some(r=>{let i=n.contain;return i!=null?i.includes(r):!1})}function No(){return/^((?!chrome|android).)*safari/i.test(It())}function Bo(o){return["html","body","#document"].includes(P(o))}function Bt(o){return L(o)?o:o.contextElement}function X(o){let t=Bt(o);if(!R(t))return Dt;let n=t.getBoundingClientRect(),{width:e,height:r,fallback:i}=St(t),a=(i?ko(n.width):n.width)/e,c=(i?ko(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}function eo(o,t,n,e){var r,i;t===void 0&&(t=!1),n===void 0&&(n=!1);let a=o.getBoundingClientRect(),c=Bt(o),l=Dt;t&&(e?L(e)&&(l=X(e)):l=X(o));let s=c?M(c):window,d=No()&&n,p=(a.left+(d&&((r=s.visualViewport)==null?void 0:r.offsetLeft)||0))/l.x,v=(a.top+(d&&((i=s.visualViewport)==null?void 0:i.offsetTop)||0))/l.y,f=a.width/l.x,m=a.height/l.y;if(c){let h=M(c),b=e&&L(e)?M(e):e,u=h.frameElement;for(;u&&e&&b!==h;){let g=X(u),x=u.getBoundingClientRect(),k=getComputedStyle(u);x.x+=(u.clientLeft+parseFloat(k.paddingLeft))*g.x,x.y+=(u.clientTop+parseFloat(k.paddingTop))*g.y,p*=g.x,v*=g.y,f*=g.x,m*=g.y,p+=x.x,v+=x.y,u=M(u).frameElement}}return{width:f,height:m,top:v,right:p+f,bottom:v+m,left:p,x:p,y:v}}function O(o){return((Nt(o)?o.ownerDocument:o.document)||window.document).documentElement}function Mo(o){return L(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:{scrollLeft:o.pageXOffset,scrollTop:o.pageYOffset}}function be(o){let{rect:t,offsetParent:n,strategy:e}=o,r=R(n),i=O(n);if(n===i)return t;let a={scrollLeft:0,scrollTop:0},c={x:1,y:1},l={x:0,y:0};if((r||!r&&e!=="fixed")&&((P(n)!=="body"||$o(i))&&(a=Mo(n)),R(n))){let s=eo(n);c=X(n),l.x=s.x+n.clientLeft,l.y=s.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+l.x,y:t.y*c.y-a.scrollTop*c.y+l.y}}function Ht(o){return eo(O(o)).left+Mo(o).scrollLeft}function he(o){let t=O(o),n=Mo(o),e=o.ownerDocument.body,r=to(t.scrollWidth,t.clientWidth,e.scrollWidth,e.clientWidth),i=to(t.scrollHeight,t.clientHeight,e.scrollHeight,e.clientHeight),a=-n.scrollLeft+Ht(o),c=-n.scrollTop;return A(e).direction==="rtl"&&(a+=to(t.clientWidth,e.clientWidth)-r),{width:r,height:i,x:a,y:c}}function no(o){if(P(o)==="html")return o;let t=o.assignedSlot||o.parentNode||Et(o)&&o.host||O(o);return Et(t)?t.host:t}function jt(o){let t=no(o);return Bo(t)?t.ownerDocument.body:R(t)&&$o(t)?t:jt(t)}function Ft(o,t){var n;t===void 0&&(t=[]);let e=jt(o),r=e===((n=o.ownerDocument)==null?void 0:n.body),i=M(e);return r?t.concat(i,i.visualViewport||[],$o(e)?e:[]):t.concat(e,Ft(e))}function xe(o,t){let n=M(o),e=O(o),r=n.visualViewport,i=e.clientWidth,a=e.clientHeight,c=0,l=0;if(r){i=r.width,a=r.height;let s=No();(!s||s&&t==="fixed")&&(c=r.offsetLeft,l=r.offsetTop)}return{width:i,height:a,x:c,y:l}}function ye(o,t){let n=eo(o,!0,t==="fixed"),e=n.top+o.clientTop,r=n.left+o.clientLeft,i=R(o)?X(o):{x:1,y:1},a=o.clientWidth*i.x,c=o.clientHeight*i.y,l=r*i.x,s=e*i.y;return{width:a,height:c,x:l,y:s}}function Pt(o,t,n){let e;if(t==="viewport")e=xe(o,n);else if(t==="document")e=he(O(o));else if(L(t))e=ye(t,n);else{let a={...t};if(No()){var r,i;let c=M(o);a.x-=((r=c.visualViewport)==null?void 0:r.offsetLeft)||0,a.y-=((i=c.visualViewport)==null?void 0:i.offsetTop)||0}e=a}return bo(e)}function we(o,t){let n=t.get(o);if(n)return n;let e=Ft(o).filter(c=>L(c)&&P(c)!=="body"),r=null,i=A(o).position==="fixed",a=i?no(o):o;for(;L(a)&&!Bo(a);){let c=A(a),l=Io(a);c.position==="fixed"?r=null:(i?!l&&!r:!l&&c.position==="static"&&!!r&&["absolute","fixed"].includes(r.position))?e=e.filter(p=>p!==a):r=c,a=no(a)}return t.set(o,e),e}function ke(o){let{element:t,boundary:n,rootBoundary:e,strategy:r}=o,a=[...n==="clippingAncestors"?we(t,this._c):[].concat(n),e],c=a[0],l=a.reduce((s,d)=>{let p=Pt(t,d,r);return s.top=to(p.top,s.top),s.right=zt(p.right,s.right),s.bottom=zt(p.bottom,s.bottom),s.left=to(p.left,s.left),s},Pt(t,c,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function $e(o){return R(o)?St(o):o.getBoundingClientRect()}function Lt(o,t){return!R(o)||A(o).position==="fixed"?null:t?t(o):o.offsetParent}function Me(o){let t=no(o);for(;R(t)&&!Bo(t);){if(Io(t))return t;t=no(t)}return null}function Ot(o,t){let n=M(o),e=Lt(o,t);for(;e&&ge(e)&&A(e).position==="static";)e=Lt(e,t);return e&&(P(e)==="html"||P(e)==="body"&&A(e).position==="static"&&!Io(e))?n:e||Me(o)||n}function Ce(o,t,n){let e=R(t),r=O(t),i=eo(o,!0,n==="fixed",t),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};if(e||!e&&n!=="fixed")if((P(t)!=="body"||$o(r))&&(a=Mo(t)),R(t)){let l=eo(t,!0);c.x=l.x+t.clientLeft,c.y=l.y+t.clientTop}else r&&(c.x=Ht(r));return{x:i.left+a.scrollLeft-c.x,y:i.top+a.scrollTop-c.y,width:i.width,height:i.height}}var zt,to,ko,wo,Dt,Te,Co,Do=y(()=>{So();So();zt=Math.min,to=Math.max,ko=Math.round;Dt={x:1,y:1};Te={getClippingRect:ke,convertOffsetParentRelativeRectToViewportRelativeRect:be,isElement:L,getDimensions:$e,getOffsetParent:Ot,getDocumentElement:O,getScale:X,async getElementRects(o){let{reference:t,floating:n,strategy:e}=o,r=this.getOffsetParent||Ot,i=this.getDimensions;return{reference:Ce(t,await r(n),e),floating:{x:0,y:0,...await i(n)}}},getClientRects:o=>Array.from(o.getClientRects()),isRTL:o=>A(o).direction==="rtl"},Co=(o,t,n)=>{let e=new Map,r={platform:Te,...n},i={...r.platform,_c:e};return Rt(o,t,{...r,platform:i})}});function To(o){let{message:t,duration:n=3e3}=o;$(".v2p-toast").length>0&&$(".v2p-toast").remove();let e=$(`<div class="v2p-toast">${t}</div>`);$(document.body).append(e),setTimeout(()=>{e.remove()},n)}var Ho=y(()=>{"use strict"});function _o(o){let{root:t,children:n,content:e,options:r,onOpen:i,onClose:a}=o,c=$('<div class="v2p-popup" tabindex="0">').css("visibility","hidden");t.append(c),e&&c.append(e);let l=c.get(0),s=v=>{$(v.target).closest(l).length===0&&d()},d=()=>{c.css("visibility","hidden"),$(document).off("click",s),a?.()},p={$trigger:n,close:d};return p.$trigger.on("click",()=>{l.style.visibility!=="hidden"?d():(setTimeout(()=>{$(document).on("click",s)}),Co(p.$trigger.get(0),l,{placement:"bottom-start",middleware:[K({mainAxis:10,crossAxis:-4}),Z(),oo({padding:8})],...r}).then(({x:v,y:f})=>{Object.assign(l.style,{left:`${v}px`,top:`${f}px`}),c.css("visibility","visible")}).catch(()=>{d(),To({message:"Popup \u6E32\u67D3\u5931\u8D25"})}),i?.())}),p}var jo=y(()=>{"use strict";Do();Ho()});function _e(o,t,n){let e=t.get(0),r=null,i=l=>{$(l.target).closest(e).length===0&&a()},a=()=>{r?.abort(),e.style.visibility="hidden",e.innerHTML="",$(document).off("click",i)},c=$(o).find(".avatar");c.on("click",l=>{if(r=new AbortController,e.style.visibility==="visible")a();else{l.stopPropagation(),$(document).on("click",i),Co(c.get(0),e,{placement:"bottom-start",middleware:[K({mainAxis:10,crossAxis:-4}),Z(),oo({padding:8})]}).then(({x:d,y:p})=>{Object.assign(e.style,{left:`${d}px`,top:`${p}px`}),e.style.visibility="visible"}).catch(d=>{console.error("\u8BA1\u7B97\u4F4D\u7F6E\u5931\u8D25",d),a()});let s=$(`
              <div class="v2p-ctn">
                <div class="v2p-ctn-left">
                  <div class="v2p-avatar-box"></div>
                </div>

                <div class="v2p-ctn-right">
                  <div class="v2p-username v2p-loading"></div>
                  <div class="v2p-no v2p-loading"></div>
                  <div class="v2p-created-date v2p-loading"></div>
                </div>
              </div>
              `);t.append(s),mt(n.memberName,{signal:r.signal}).then(async d=>{t.find(".v2p-avatar-box").removeClass("v2p-loading").append(`<img class="v2p-avatar" src="${d.avatar_large}">`);let p=await T(),v=$(`<a href="${d.url}">${d.username}</a>`);p.openInNewTab&&v.prop("target","_blank"),t.find(".v2p-username").removeClass("v2p-loading").append(v),t.find(".v2p-no").removeClass("v2p-loading").text(`V2EX \u7B2C ${d.id} \u53F7\u4F1A\u5458`),t.find(".v2p-created-date").removeClass("v2p-loading").text(`\u52A0\u5165\u4E8E ${dt(d.created)}`),d.bio&&d.bio.trim().length>0&&t.append(`<div class="v2p-bio">${d.bio}</div>`)}).catch(d=>{d.name!=="AbortError"&&t.html("<span>\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25</span>")})}})}function Vt(o){let t=$(o);if(t.find(".v2p-reply-content").length>0)return;let n=t.find(".reply_content");if((n.height()??0)+Ao>=qo){let i={maxHeight:`${Ao}px`,overflow:"hidden",paddingBottom:"0"},a=$('<div class="v2p-reply-content v2p-collapsed">').css(i),c=z({children:"\u5C55\u5F00\u56DE\u590D",className:"v2p-expand-btn"}),l=()=>{let s=a.hasClass("v2p-collapsed");a.toggleClass("v2p-collapsed").css(s?{maxHeight:"none",overflow:"auto",paddingBottom:"40px"}:i),c.html(s?"\u6536\u8D77\u56DE\u590D":"\u5C55\u5F00\u56DE\u590D")};c.on("click",()=>{l()}),a.append(n.clone()).replaceAll(n).append(c)}}function Ae(){let o=N.filter(({likes:e})=>e>0).sort((e,r)=>r.likes-e.likes),t=o.length;if(t<=0)return;let n=mo({root:I,title:`\u672C\u9875\u5171\u6709 ${o.length} \u6761\u70ED\u95E8\u56DE\u590D`,onMount:({$content:e})=>{let r=$("<div>");o.forEach(({index:i,refMemberNames:a})=>{let c=E.eq(i).clone();c.find(".v2p-controls > a:has(.v2p-control-reply)").remove(),c.find(".no").css("pointer-events","none");let l=a?.at(0);if(l){let s=N.findLast((d,p)=>p<i&&d.memberName===l);if(s){let d=$(`
              <div class="v2p-topic-reply-ref">
                <div class="v2p-topic-reply">
                  <div class="v2p-topic-reply-member">
                    <a href="${s.memberAvatar}">
                      <img class="v2p-topic-reply-avatar" src="${s.memberAvatar}">
                      <span>${s.memberName}</span>
                    </a>\uFF1A
                  </div>
                  <div class="v2p-topic-reply-content">${uo(s.content)}</div>
                </div>
              </div>
            `);c.prepend(d)}}r.append(c)}),e.css({padding:"0 20px"}).append(r.html())},onOpen:({$container:e})=>{e.find('.cell[id^="r_"]').each((r,i)=>{Vt(i)})}});{let e=I.find(".cell:first-of-type > span.gray"),r=e.text(),a=`<span class="count-text">${r.substring(0,r.indexOf("\u56DE\u590D")+2)}</span><span class="v2p-dot">\xB7</span>${t} \u6761\u70ED\u95E8\u56DE\u590D`,c=$(`<span class="v2p-tool v2p-hover-btn"><span class="v2p-tool-icon">${co}</span>\u70ED\u95E8\u56DE\u590D</span>`);c.on("click",()=>{n.open()}),$(".v2p-tools").prepend(c),e.empty().append(a)}}function Re(){Q.find("> td:last-of-type > .fr").each((t,n)=>{let e=$(n),r=$('<span class="v2p-controls">'),i=$(`<span class="v2p-control v2p-control-thank">${co}</span>`),a=e.find("> .thank_area");if(a.hasClass("thanked"))i.addClass("v2p-thanked"),r.append($("<a>").append(i));else{let d=a.find("> .thank"),p=d.eq(0).removeClass("thank"),v=d.eq(1).removeClass("thank");p.html(`<span class="v2p-control v2p-hover-btn v2p-control-hide">${Jo}</span>`),i.addClass("v2p-hover-btn"),v.empty().append(i),v.on("click",()=>{i.addClass("v2p-thanked"),p.hide(),v.off("click"),To({message:"\u2764\uFE0F \u5DF2\u611F\u8C22\u56DE\u590D"})}),r.append(p).append(v)}let l=e.find("a:last-of-type");l.find('> img[alt="Reply"]').replaceWith(`<span class="v2p-control v2p-hover-btn v2p-control-reply">${lo}</span>`),r.append(l),a.remove();let s=e.find(".no").clone();e.empty().append(r,s)})}function ze(){let o=pt(),t=z({children:`\u56DE\u590D<kbd>${o==="macos"?"Cmd":"Ctrl"}+Enter</kbd>`,type:"submit"}).replaceAll(_.find('input[type="submit"]')),n=$('<div class="v2p-emoji-group">'),e=$('<div class="v2p-emoji-list">'),r=$('<span class="v2p-emoji">'),i=Xo.map(p=>{let v=n.clone();v.append(`<div class="v2p-emoji-title">${p.title}</div>`);let f=e.clone().append(p.list.map(m=>r.clone().text(m).on("click",()=>{Y(m)})));return v.append(f),v}),a=$('<div class="v2p-emoticons-box">').append(i),c=z({children:Go}).insertAfter(t),l=$('<div class="v2p-emoji-container">').append(a).appendTo(_).on("click",()=>{D()}),s=p=>{p.key==="Escape"&&(p.preventDefault(),d.close())};c.on("click",()=>{D()});let d=_o({root:_,children:c,content:l,options:{placement:"right-end"},onOpen:()=>{$("body").on("keydown",s)},onClose:()=>{$("body").off("keydown",s)}});_.find("#undock-button, #undock-button + a").addClass("v2p-hover-btn").css("padding","5px 4px")}async function Wt(){E.find(".small.fade").addClass("v2p-heart-box").find('img[alt="\u2764\uFE0F"]').replaceWith(`<span class="v2p-icon-heart">${co}</span>`),Re(),Ae();{let o=$('<div id="v2p-member-popup" class="v2p-popup" tabindex="0">').appendTo(I),n=(await T()).nestedReply.display;E.each((e,r)=>{let i=N.at(e);i&&_e(r,o,i),Vt(r);let a=i?.id===r.id?i:N.find(c=>c.id===r.id);if(a){let{memberName:c,refMemberNames:l,refFloors:s,thanked:d}=a,p=$(r);if(c===xt&&p.find(".badges").append(`<div class="badge ${c===yt?"mod":"you"}">YOU</div>`),d&&p.find(".v2p-heart-box").addClass("v2p-thanked"),!l||l.length===0)return;for(let v of l)for(let f=e-1;f>=0;f--){let{memberName:m,floor:h}=N.at(f)||{};if(m===v){let b=s?.at(0);if(b&&b!==h){let u=N.slice(0,f).findIndex(g=>g.floor===b);if(u>=0){E.eq(u).append(r);return}}n==="indent"&&r.classList.add("v2p-indent"),E.eq(f).append(r);return}}}})}ze()}var Ut=y(()=>{"use strict";Do();W();U();vo();S();fo();Eo();jo();Ho();B();go()});async function Xt(){(await T()).openInNewTab&&Po.find(".topic_content a[href]").prop("target","_blank").prop("rel","noopener noreferrer");{let o=Po.find(".subtle > .topic_content"),t=o.text().length;t>=200&&o.each((n,e)=>{t>=400&&(e.style.fontSize="14px"),e.style.fontSize="14.5px"})}{let o=$(".topic_buttons .tb").addClass("v2p-tb v2p-hover-btn");o.eq(0).append(`<span class="v2p-tb-icon">${Qo}</span>`),o.eq(1).append(`<span class="v2p-tb-icon">${Yo}</span>`),o.eq(2).append(`<span class="v2p-tb-icon">${Zo}</span>`),o.eq(3).append(`<span class="v2p-tb-icon">${Ko}</span>`)}}var qt=y(()=>{"use strict";U();S();B()});function Gt(){let o=I.find('> .cell:not([id^="r_"])');if(o.length<=1)return;let n=o.slice(1).addClass("v2p-paging").find(".super.button");n.eq(0).addClass("v2p-prev-btn"),n.eq(1).addClass("v2p-next-btn")}var Jt=y(()=>{"use strict";B()});var Ee={};var Qt=y(()=>{"use strict";U();vo();S();jo();B();go();Ut();qt();Jt();(async()=>{(await T()).openInNewTab&&Q.find("> td:nth-child(3) > strong > a").prop("target","_blank").prop("rel","noopener noreferrer");{let o=$(`
      <div class="cell v2p-tools">
        <span class="v2p-tool v2p-hover-btn v2p-tool-reply">
          <span class="v2p-tool-icon">${lo}</span>\u56DE\u590D\u4E3B\u9898
        </span>
        <span class="v2p-tool v2p-hover-btn v2p-tool-scroll-top">
          <span class="v2p-tool-icon">${nt}</span>\u56DE\u5230\u9876\u90E8
        </span>
      </div>
    `);o.find(".v2p-tool-reply").on("click",()=>{_.find("#reply_content").trigger("focus")}),o.find(".v2p-tool-scroll-top").on("click",()=>{window.scrollTo({top:0,behavior:"smooth"})}),$('#Rightbar > .box:has("#member-activity")').addClass("v2p-tool-box").append(o)}if($(document).on("keydown",o=>{if(!o.isDefaultPrevented()&&o.key==="Escape"){let t=$("#reply_content");_.hasClass("reply-box-sticky")&&(_.removeClass("reply-box-sticky"),$("#undock-button").css("display","none")),t.trigger("blur")}}),await Xt(),document.referrer!==""&&document.referrer.includes(document.location.pathname)){let t=new URL(document.location.href).searchParams.get("p");t&&t!=="1"&&document.querySelector(".topic_buttons")?.scrollIntoView({behavior:"smooth"})}await Wt(),Gt();{let o=$(`
    <div class="v2p-reply-tools-box v2p-hover-btn">
      <span class="v2p-reply-tools-icon">${rt}</span>
      \u5DE5\u5177\u7BB1
    </div>
    `),t=$(`
    <div class="v2p-reply-tool-content">
      <div class="v2p-reply-tool v2p-reply-tool-encode">\u6587\u5B57\u8F6C Base64</div>
      <div class="v2p-reply-tool v2p-reply-tool-img">\u4E0A\u4F20\u56FE\u7247</div>
    </div>
    `),n=_o({root:_,children:o,content:t});t.find(".v2p-reply-tool-encode").on("click",()=>{D(),n.close(),setTimeout(()=>{let e=window.prompt("\u8F93\u5165\u8981\u52A0\u5BC6\u7684\u5B57\u7B26\u4E32\uFF0C\u5B8C\u6210\u540E\u5C06\u586B\u5199\u5230\u56DE\u590D\u6846\u4E2D\uFF1A");if(e){let r=window.btoa(e);Y(r)}})}),t.find(".v2p-reply-tool-img").on("click",()=>{D(),n.close();let e=document.createElement("input");e.style.display="none",e.type="file",e.accept="image/*",e.addEventListener("change",()=>{let r=e.files?.[0];r&&(document.body.style.cursor="wait",ht(r).then(i=>{Y(i)}).catch(()=>{window.alert("\u4E0A\u4F20\u56FE\u7247\u5931\u8D25")}).finally(()=>{document.body.style.cursor=""}))}),e.click()}),_.find("> .flex-row-end").prepend(o)}})()});var Zt=`:root{--zidx-serach: 100;--zidx-tabs: 10;--zidx-reply-box: 99;--zidx-tools-box: 10;--zidx-model-header: 10;--zidx-model-mask: 999;--zidx-toast: 999;--zidx-tip: 10;--zidx-popup: 99;--zidx-expand-mask: 10;--zidx-expand-btn: 20}:root body{--v2p-color-main-50: #f1f5f999;--v2p-color-main-100: #f1f5f9;--v2p-color-main-200: #e2e8f0;--v2p-color-main-300: #cbd5e1;--v2p-color-main-350: #94a3b8cc;--v2p-color-main-400: #94a3b8;--v2p-color-main-500: #64748b;--v2p-color-main-600: #475569;--v2p-color-main-700: #334155;--v2p-color-main-800: #1e293b;--v2p-color-accent-50: #ecfdf5;--v2p-color-accent-100: #d1fae5;--v2p-color-accent-200: #a7f3d0;--v2p-color-accent-300: #6ee7b7;--v2p-color-accent-400: #34d399;--v2p-color-accent-500: #10b981;--v2p-color-accent-600: #059669;--v2p-color-orange-50: #fff7ed;--v2p-color-orange-100: #ffedd5;--v2p-color-orange-400: #fb923c;--v2p-color-background: #f2f3f5;--v2p-color-foreground: var(--v2p-color-main-800);--v2p-color-font-secondary: var(--v2p-color-main-400);--v2p-color-bg-content: #fff;--v2p-color-bg-footer: var(--v2p-color-bg-content);--v2p-color-bg-hover-btn: var(--v2p-color-main-200);--v2p-color-bg-subtle: rgb(236 253 245 / 90%);--v2p-color-bg-input: var(--v2p-color-main-50);--v2p-color-bg-search: var(--v2p-color-main-100);--v2p-color-bg-search-active: var(--v2p-color-main-200);--v2p-color-bg-nested-reply: var(--v2p-color-main-50);--v2p-color-bg-widget: rgb(255 255 255 / 70%);--v2p-color-heart: #ef4444;--v2p-color-heart-fill: #fee2e2;--v2p-color-mask: rgb(0 0 0 / 25%);--v2p-color-divider: var(--v2p-color-main-200);--v2p-box-shadow: 0 3px 5px 0 rgb(0 0 0 / 4%);--v2p-widget-shadow: 0 9px 24px -3px rgb(0 0 0 / 6%), 0 4px 8px -1px rgb(0 0 0 /12%);--v2p-toast-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);--color-fade: var(--v2p-color-font-secondary);--color-gray: var(--v2p-color-font-secondary);--link-color: var(--v2p-color-main-800);--link-darker-color: var(--v2p-color-main-600);--link-hover-color: var(--v2p-color-main-800);--link-caution-color: var(--v2p-color-orange-400);--box-border-color: var(--v2p-color-main-200);--box-foreground-color: var(--v2p-color-main-800);--box-background-color: var(--v2p-color-bg-content);--box-background-alt-color: var(--v2p-color-main-100);--box-background-hover-color: var(--v2p-color-main-200);--button-background-color: var(--v2p-color-main-100);--button-background-hover-color: var(--v2p-color-main-200);--button-hover-color: var(--button-background-hover-color);--button-foreground-color: var(--v2p-color-main-500);--button-foreground-hover-color: var(--v2p-color-main-600);--button-border-color: var(--v2p-color-main-300);--button-border-hover-color: var(--v2p-color-main-400);color:var(--v2p-color-foreground);font-family:system-ui,sans-serif;background-color:var(--v2p-color-background)}:root body ::selection{color:currentColor;background-color:var(--v2p-color-main-200)}:root body img::selection{background-color:var(--v2p-color-main-400)}:root body:has(#Wrapper.Night){--v2p-color-main-50: #11182799;--v2p-color-main-100: #111827;--v2p-color-main-200: #374151;--v2p-color-main-300: #374151;--v2p-color-main-350: #6b7280cc;--v2p-color-main-400: #6b7280;--v2p-color-main-500: #9ca3af;--v2p-color-main-600: #9ca3af;--v2p-color-main-700: #d1d5db;--v2p-color-main-800: #e5e7eb;--v2p-color-main-900: #111827;--v2p-color-main-950: #030712;--v2p-color-accent-50: #064e3b;--v2p-color-accent-100: #065f46;--v2p-color-accent-200: #047857;--v2p-color-accent-300: #059669;--v2p-color-accent-400: #10b981;--v2p-color-accent-500: #34d399;--v2p-color-accent-600: #6ee7b7;--v2p-color-orange-50: #7c2d12;--v2p-color-orange-100: #9a3412;--v2p-color-orange-400: #fb923c;--v2p-color-background: var(--v2p-color-main-100);--v2p-color-foreground: var(--v2p-color-main-800);--v2p-color-font-secondary: var(--v2p-color-main-600);--v2p-color-bg-content: #1f2937;--v2p-color-bg-subtle: rgb(6 78 59 / 30%);--v2p-color-bg-search: var(--v2p-color-main-200);--v2p-color-bg-search-active: var(--v2p-color-main-200);--v2p-color-bg-widget: var(--v2p-color-bg-content);--v2p-color-heart: #b91c1c;--v2p-color-heart-fill: #fca5a5;--v2p-color-mask: rgb(0 0 0 / 70%);--v2p-toast-shadow: none;--link-color: var(--v2p-color-main-700);--link-hover-color: var(--v2p-color-main-800);--box-border-color: var(--v2p-color-main-350);--box-foreground-color: var(--v2p-color-main-800);--box-background-color: var(--v2p-color-bg-content);--box-background-alt-color: var(--v2p-color-main-100);--box-background-hover-color: var(--v2p-color-main-300);--button-background-color: var(--v2p-color-main-900);--button-background-hover-color: var(--v2p-color-main-950);--button-hover-color: var(--button-background-hover-color);--button-foreground-color: var(--v2p-color-main-500);--button-foreground-hover-color: var(--v2p-color-main-600);--button-border-color: var(--v2p-color-main-300);--button-border-hover-color: var(--v2p-color-main-400)}:root body:has(#Wrapper.Night) ::selection{color:currentColor;background-color:var(--v2p-color-orange-50)}:root body:has(#Wrapper.Night) img::selection{background-color:var(--v2p-color-orange-50)}
:root{color-scheme:light}:root:has(#Wrapper.Night){color-scheme:dark}:root html,:root body{min-height:100vh}body{overflow:overlay;scrollbar-gutter:stable}body a:hover{text-underline-offset:.4ex}body #Top{height:55px;background-color:var(--v2p-color-bg-content);border:none}body #Bottom{color:var(--v2p-color-font-secondary);background-color:var(--v2p-color-bg-footer);border:none}body #Wrapper{background-color:inherit;background-image:none}body #Wrapper.Night{background-color:inherit;background-image:none}body #Wrapper .content{display:flex;gap:25px}body #Leftbar{order:1;float:none}body #Main{flex:1;order:2;max-width:85vw;margin:0}body #Rightbar{order:3;float:none}body #search-container{height:30px;margin:0 30px;background-color:var(--v2p-color-bg-search);border:none;border-radius:6px}body #search-container::before{top:0;left:4px;background-size:14px 14px;opacity:.6;filter:none}body #search-container.active{background-color:var(--v2p-color-bg-search-active)}body #search-container #search-result{top:42px;z-index:var(--zidx-serach);box-shadow:0 0 15px 5px var(--box-background-hover-color)}body #search-container #search-result .search-item{color:var(--color-gray)}body .box{background-color:var(--v2p-color-bg-content);border:none;border-radius:10px;box-shadow:var(--v2p-box-shadow)}body .box .header>h1{font-weight:bold;font-size:22px;text-shadow:2px 2px var(--v2p-color-bg-content)}body .box .header .gray{color:var(--color-gray)}body .button{--button-hover-shadow: 0 1.8px 0 var(--button-border-color), 0 1.8px 0 var(--button-background-color)}body .button.normal,body .button.super{position:relative;display:inline-flex;gap:5px;align-items:center;height:28px;padding:0 12px;color:var(--button-foreground-color);font-weight:500;font-size:14px;font-family:inherit;line-height:28px;white-space:nowrap;text-shadow:none;background:var(--button-background-color);border:none;border-radius:6px;outline:none;box-shadow:0 1.8px 0 var(--box-background-hover-color),0 1.8px 0 var(--button-background-color);cursor:pointer;transition:color .25s,background-color .25s,box-shadow .25s;user-select:none}body .button.normal:hover:enabled,body .button.super:hover:enabled{color:var(--button-foreground-color);font-weight:500;text-shadow:none;background:var(--button-hover-color);border:none;box-shadow:var(--button-hover-shadow)}body .button.normal.hover_now,body .button.normal.disable_now,body .button.super.hover_now,body .button.super.disable_now{color:var(--button-foreground-color) !important;text-shadow:none !important;background:var(--button-background-color) !important;border:none !important;box-shadow:0 1.8px 0 var(--box-background-hover-color) !important,0 1.8px 0 var(--button-background-color) !important}body .button.normal.disable_now,body .button.super.disable_now{cursor:default;opacity:.5;pointer-events:none}body .button.normal kbd,body .button.super kbd{position:relative;right:-4px;padding:0 3px;font-size:90%;font-family:inherit;line-height:initial;border:1px solid var(--button-border-color);border-radius:4px}body .button.special{--button-hover-shadow: 0 1.8px 0 var(--v2p-color-accent-200), 0 1.8px 0 var(--v2p-color-accent-100);color:var(--v2p-color-accent-500);background:var(--v2p-color-accent-100);box-shadow:var(--button-hover-shadow)}body .button.special:hover,body .button.special:hover:enabled{color:var(--v2p-color-accent-600);background:var(--v2p-color-accent-100);border:none;box-shadow:var(--button-hover-shadow)}body .button a{color:inherit;text-decoration:none}body a.node:active,body a.node:link,body a.node:visited{padding:5px 6px;color:var(--v2p-color-font-secondary);font-size:13px;background-color:var(--v2p-color-main-100);border-radius:4px}body a.node:active:hover,body a.node:link:hover,body a.node:visited:hover{color:var(--v2p-color-main-500);background-color:var(--v2p-color-main-200)}body .outdated{font-size:12px;border-color:var(--v2p-color-main-200);border-bottom:none}body .page_normal:link,body .page_normal:visited,body .page_current:link,body .page_current:visited{padding:5px 7px;font-size:14px;border:none}body .page_normal:link,body .page_normal:visited{font-weight:500;background-color:var(--v2p-color-bg-content);box-shadow:0 2px 2px var(--box-background-hover-color);transition:transform .25s}body .page_normal:link:hover,body .page_normal:visited:hover{background-color:var(--v2p-color-main-50);transform:scale(1.1) translateY(-2px)}body .page_current:link,body .page_current:visited{font-weight:bold;background-color:var(--box-background-hover-color);box-shadow:none}body .page_input{display:none}body .dock_area{background:var(--v2p-color-main-200)}body .member-activity-bar{background-color:var(--v2p-color-main-200)}body .member-activity-bar .member-activity-start{background-color:var(--v2p-color-accent-200)}body .member-activity-bar .member-activity-fourth{background-color:var(--v2p-color-accent-400)}body .member-activity-bar .member-activity-half{background-color:var(--v2p-color-accent-500)}body .member-activity-bar .member-activity-almost{background-color:var(--v2p-color-accent-600)}body .member-activity-bar .member-activity-done{background-color:var(--v2p-color-orange-400)}body .online{user-select:none}body #topic_supplement{height:unset;min-height:550px !important;max-height:800px !important;overflow:hidden;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none;overflow-y:auto}body #topic_supplement::placeholder{color:var(--v2p-color-main-500);font-size:15px}body #topic_supplement:hover:not(:focus){opacity:.8}body #topic_supplement:focus{background-color:rgba(0,0,0,0);border:2px solid var(--button-border-color);outline:none}body .item_hot_topic_title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}body form textarea#topic_title{height:unset;min-height:75px !important;max-height:800px !important;overflow:hidden;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form textarea#topic_title::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form textarea#topic_title:hover:not(:focus){opacity:.8}body form textarea#topic_title:focus{background-color:rgba(0,0,0,0);border:2px solid var(--button-border-color);outline:none}body form #topic_title{height:unset;min-height:30px !important;max-height:800px !important;overflow:hidden;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form #topic_title::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form #topic_title:hover:not(:focus){opacity:.8}body form #topic_title:focus{background-color:rgba(0,0,0,0);border:2px solid var(--button-border-color);outline:none}body form #topic_content{height:unset;min-height:120px !important;max-height:800px !important;overflow:hidden;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form #topic_content::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form #topic_content:hover:not(:focus){opacity:.8}body form #topic_content:focus{background-color:rgba(0,0,0,0);border:2px solid var(--button-border-color);outline:none}body #syntax-selector .radio-group{padding:3px;background-color:var(--v2p-color-background)}body #syntax-selector .radio-group>input[type=radio]+label{font-size:13px;cursor:pointer}body .snow{color:var(--v2p-color-main-400)}body .orange-dot{background:var(--v2p-color-orange-400)}body form[action="/notes/new"] .inner.alt{background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color)}body form[action="/notes/new"] .cell{background-color:rgba(0,0,0,0) !important}body a.btn_hero{border-color:var(--v2p-color-main-800)}body a.btn_hero:hover{background-color:var(--v2p-color-main-800)}body .cell_ops{background-color:rgba(0,0,0,0)}.box .tag:link,.box .tag:visited{color:var(--v2p-color-font-secondary);font-size:12px;background-color:var(--v2p-color-main-100);border-radius:5px}.box .tag::before{color:var(--v2p-color-main-500)}.box .tag>li{opacity:.6}#Top .content{height:100%}#Top .site-nav{height:100%;padding:0}#Top .tools{display:flex;gap:8px 14px;align-items:center;justify-content:flex-end;font-weight:400;font-size:14px}#Top .tools .top{height:26px;margin-left:0;padding:0 6px;color:var(--v2p-color-main-500);line-height:26px;border-radius:4px}#Top .tools .top:hover{color:var(--v2p-color-main-800)}#Top .tools .top:not(.v2p-hover-btn):hover{background-color:var(--v2p-color-main-100)}#Main>.box{padding:0 12px}#Main>.box .cell{padding:20px 10px;background-image:none !important}#Main .topic_buttons{display:flex;flex-wrap:wrap;align-items:center;padding:8px 0;column-gap:5px;background:none}#Main .topic_buttons .topic_stats{flex:1;order:99;float:none;margin-left:10px;padding:0 !important;font-size:12px;text-shadow:none}#Main .topic_buttons .topic_thanked{font-size:12px}#Main .topic_buttons a.tb:link{display:flex;flex-direction:row-reverse;align-items:center;padding:5px;white-space:nowrap;text-shadow:none;column-gap:5px;background:none;border-radius:4px}#Main .topic_buttons a.tb:link:not(.v2p-hover-btn){color:var(--v2p-color-font-secondary)}#Main .topic_buttons a.tb:link:hover:not(.v2p-hover-btn){color:currentcolor;background:var(--v2p-color-main-100)}#Main .topic_content{font-size:15.5px}#Main .subtle{background-color:var(--v2p-color-bg-subtle);border-left:3px solid var(--v2p-color-accent-200)}#Main .subtle .topic_content{font-size:15px}#Main .vote:link{color:var(--v2p-color-main-500);border-color:var(--v2p-color-main-300);border-radius:5px}#Main .vote:link:hover{box-shadow:0 2px 2px var(--v2p-color-main-200)}#Main .cell_tab_current{border-color:var(--v2p-color-main-800)}#Main .cell .topic-link{color:var(--v2p-color-main-800);text-decoration:none}#Main .cell .topic-link:visited{color:var(--v2p-color-font-secondary)}#Main .cell .topic_info{position:relative;display:flex;align-items:center;user-select:none}#Main .cell .topic_info::after{position:absolute;top:0;right:0;bottom:-6px;left:0;z-index:1;background-color:var(--v2p-color-bg-content);content:""}#Main .cell .topic_info .votes,#Main .cell .topic_info .node,#Main .cell .topic_info strong:first-of-type,#Main .cell .topic_info span:first-of-type{position:relative;z-index:2}#Main .cell .topic_info a[href^="/member"]{color:var(--v2p-color-main-500);font-weight:500}#Main .cell .count_livid{display:inline-block;padding:5px 10px;font-weight:400;font-size:12px;white-space:nowrap;border-radius:5px;color:var(--v2p-color-main-500);background-color:var(--v2p-color-main-200)}#Main .cell .count_orange{display:inline-block;padding:5px 10px;font-weight:400;font-size:12px;white-space:nowrap;border-radius:5px;color:var(--v2p-color-main-100);font-weight:bold;background-color:var(--v2p-color-orange-400)}#Main .cell .item_title .topic-link{font-weight:bold;opacity:.8}#Main .cell .item_title .topic-link:hover{opacity:1}#Main .cell.item tr>td:nth-child(2){width:30px}#Main .cell[id^=r]:hover>table td:last-of-type .fr a{opacity:1}#Main .cell[id^=r]:hover>table~.cell[id^=r]{background-color:var(--v2p-color-main-100);border-color:var(--v2p-color-main-300)}#Main .cell[id^=r]:hover>table~.cell[id^=r] .cell.v2p-indent{border-color:var(--v2p-color-main-350)}#Main .cell[id^=r]>table:first-of-type td:first-of-type{width:40px}#Main .cell[id^=r]>table:first-of-type td:first-of-type .avatar{width:40px !important;border-radius:5px;aspect-ratio:1}#Main .cell[id^=r]>table~.cell[id^=r]{padding:20px 0 0 15px;background-color:var(--v2p-color-bg-nested-reply);border:none;border-left:3px solid var(--v2p-color-main-200)}#Main .cell[id^=r]>table~.cell[id^=r]:last-of-type{padding-bottom:10px}#Main .cell[id^=r]>table~.cell[id^=r] .cell{padding-left:0;background-color:rgba(0,0,0,0);border:none}#Main .cell[id^=r]>table~.cell[id^=r] .cell.v2p-indent{padding-left:15px;border-left:1px solid var(--v2p-color-main-300)}#Main .cell[id^=r]>table~.cell[id^=r] tr td:first-of-type{width:25px}#Main .cell[id^=r]>table~.cell[id^=r] tr td:first-of-type .avatar{width:25px !important;border-radius:4px}#Main .cell[id^=r]>table~.cell[id^=r] tr td:nth-child(3) strong a{font-size:13px;opacity:.75}#Main .cell[id^=r]>table~.cell[id^=r] .reply_content{font-size:15px}#Main .cell[id^=r]>table td:nth-of-type(2){width:15px}#Main .cell[id^=r]>table td:last-of-type a.dark{color:var(--v2p-color-main-600);text-decoration:none}#Main .cell[id^=r]>table td:last-of-type .fr{position:relative;top:-3px;user-select:none}#Main .cell[id^=r]>table td:last-of-type .fr a{opacity:0}#Main .cell[id^=r]>table td:last-of-type .fr+.sep3{height:0}#Main .cell[id^=r]:last-of-type{border:none}#Main .cell[id^=r] .no{position:relative;top:-4px;padding:5px 10px;color:var(--v2p-color-main-350);font-size:12px;background-color:rgba(0,0,0,0);border-radius:5px;user-select:none}#Main .cell[id^=r] .badge{padding:2px 5px;font-weight:bold;border:1px solid var(--v2p-color-accent-400);user-select:none}#Main .cell[id^=r] .badge:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}#Main .cell[id^=r] .badge:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}#Main .cell[id^=r] .badge.op{color:var(--v2p-color-accent-500);background-color:var(--v2p-color-accent-50)}#Main .cell[id^=r] .badge.mod{color:var(--v2p-color-bg-content);background-color:var(--v2p-color-accent-400)}#Main .cell[id^=r] .badge.you{color:var(--v2p-color-orange-400);background-color:var(--v2p-color-orange-50);border:1px solid var(--v2p-color-orange-400)}#Main #Tabs{position:sticky;top:0;z-index:var(--zidx-tabs);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;background-color:var(--v2p-color-bg-content);user-select:none}#Main #Tabs .tab{margin:0}#Main #SecondaryTabs{padding:10px;background-color:var(--v2p-color-main-100);border-radius:5px}#Main .topic_content,#Main .reply_content{font-size:15.5px}#Main .topic_content a[href^=http],#Main .reply_content a[href^=http]{color:currentColor;text-decoration:underline;text-decoration-thickness:2px;background-color:var(--v2p-color-main-100);text-underline-offset:.4ex}#Main .topic_content a[href^=http]:hover,#Main .reply_content a[href^=http]:hover{background-color:var(--v2p-color-main-200)}#Main .topic_content a[href*="v2ex.com/t"],#Main .topic_content a[href^="/t"],#Main .reply_content a[href*="v2ex.com/t"],#Main .reply_content a[href^="/t"]{color:var(--v2p-color-accent-500);text-decoration:underline;background-color:var(--v2p-color-accent-50);text-underline-offset:.4ex}#Main .topic_content a[href*="v2ex.com/t"]:hover,#Main .topic_content a[href^="/t"]:hover,#Main .reply_content a[href*="v2ex.com/t"]:hover,#Main .reply_content a[href^="/t"]:hover{color:var(--v2p-color-accent-500);background-color:var(--v2p-color-accent-50)}#Main .topic_content a[href^="/member"],#Main .reply_content a[href^="/member"]{position:relative;bottom:1px;color:var(--v2p-color-main-500);font-size:13px;text-decoration:underline;text-underline-offset:.4ex}#Main .thank_area{font-size:12px}#Main .tab{background-color:rgba(0,0,0,0);user-select:none}#Main .tab:not(.v2p-hover-btn):hover{background-color:var(--v2p-color-main-100)}#Main .tab_current{color:var(--box-background-color);background-color:var(--box-foreground-color);user-select:none}#Main #reply-box.reply-box-sticky{bottom:20px;z-index:var(--zidx-reply-box);margin:0 -10px;padding:0 22px;overflow:visible;border:none;border-radius:10px;outline:2px solid var(--v2p-color-main-200)}#Main #reply-box #reply_content{height:unset;min-height:120px !important;max-height:800px !important;overflow:hidden;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}#Main #reply-box #reply_content::placeholder{color:var(--v2p-color-main-500);font-size:15px}#Main #reply-box #reply_content:hover:not(:focus){opacity:.8}#Main #reply-box #reply_content:focus{background-color:rgba(0,0,0,0);border:2px solid var(--button-border-color);outline:none}#Main #reply-box #reply_content+.flex-one-row{flex-direction:row-reverse;gap:10px;justify-content:flex-start}#Main #reply-box #reply_content+.flex-one-row .gray{margin-right:auto}#Main #reply-box>.cell{font-size:12px}#Main #reply-box>.cell.flex-one-row{min-height:45px;padding:0 10px;border:none}#Main #reply-box>.cell.flex-row-end{padding:12px 10px;border:none}#Main #reply-box>.cell:has(form){padding-top:0}#Main #no-comments-yet{color:var(--color-gray);border-color:var(--color-gray)}#Main #notifications .cell[id^=n]:hover .node{opacity:1}#Main #notifications .cell[id^=n] .node{opacity:0}#Main #notifications .cell[id^=n] .payload{color:var(--v2p-color-main-800);background-color:var(--v2p-color-main-100)}#Rightbar .balance_area{display:flex;align-items:center}#Rightbar a.dark:link,#Rightbar a.dark:active,#Rightbar a.dark:visited,#Rightbar a.dark:hover{color:var(--v2p-color-main-500)}#Rightbar a.dark:link:hover,#Rightbar a.dark:active:hover,#Rightbar a.dark:visited:hover,#Rightbar a.dark:hover:hover{color:var(--v2p-color-main-600)}#Bottom{position:sticky;top:100%}#Bottom a.dark{font-weight:400;font-size:13px}#Bottom a.dark:link,#Bottom a.dark:active,#Bottom a.dark:visited,#Bottom a.dark:hover{color:var(--v2p-color-main-500)}
body{position:relative}body.v2p-modal-open{overflow:hidden}body .button.v2p-prev-btn,body .button.v2p-next-btn{padding:0 15px}.v2p-hover-btn{position:relative;z-index:1;margin:0;text-decoration:none;background:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:color .2s;user-select:none}.v2p-hover-btn::before{position:absolute;top:0;right:-5px;bottom:0;left:-5px;z-index:-1;background-color:var(--v2p-color-bg-hover-btn);border-radius:5px;transform:scale(0.65);opacity:0;transition:background-color .2s,transform .2s,opacity .2s;content:""}.v2p-hover-btn:hover{text-decoration:none}.v2p-hover-btn:hover::before{transform:scale(1);opacity:1}.v2p-icon-heart{display:inline-flex;width:16px;height:16px;color:var(--v2p-color-heart)}.v2p-icon-heart svg{fill:var(--v2p-color-heart-fill)}#Main .cell:hover .v2p-topic-preview-btn{visibility:visible}.v2p-tool-box{position:sticky;top:20px;z-index:var(--zidx-tools-box)}.v2p-tool-box>.cell{font-size:13px}.v2p-tool-box .v2p-tools{display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3, 1fr);gap:8px 15px;align-items:center;justify-content:center;color:var(--v2p-color-main-600);font-size:12px}.v2p-tool{display:inline-flex;gap:0 5px;align-items:center;padding:3px 0}.v2p-tool .v2p-tool-icon{width:16px;height:16px}.v2p-topic-preview-btn{position:relative;top:-1px;margin-left:10px;color:var(--button-foreground-color);font-size:14px;background-color:var(--button-hover-color);border:none;border-radius:3px;outline:none;visibility:hidden;cursor:pointer}.v2p-topic-preview{padding:30px 25px;line-height:1.4}.v2p-dot{margin:0 8px;font-weight:800;font-size:20px;font-size:15px}.v2p-paging{background:none !important}.v2p-paging.cell{border-bottom:none}.v2p-model-mask{position:fixed;z-index:var(--zidx-model-mask);padding:60px;overflow:hidden;overflow-y:auto;background-color:var(--v2p-color-mask);inset:0}.v2p-popup{position:absolute;top:0;left:0;z-index:var(--zidx-popup);width:max-content;overflow-y:auto;color:var(--v2p-color-main-600);font-size:14px;background:var(--v2p-color-bg-widget);border:1px solid var(--box-border-color);border-radius:8px;box-shadow:var(--v2p-widget-shadow);backdrop-filter:blur(16px)}.v2p-toast{position:fixed;top:50px;left:50%;z-index:var(--zidx-toast);padding:10px 15px;color:var(--v2p-color-main-800);font-size:14px;background:var(--v2p-color-bg-widget);border:3px solid var(--box-border-color);border-radius:8px;box-shadow:var(--v2p-toast-shadow);transform:translateX(-50%);backdrop-filter:blur(16px)}.v2p-model-main{position:relative;box-sizing:border-box;width:800px;height:100%;margin:0 auto;overflow-x:hidden;overflow-y:auto;background-color:var(--v2p-color-bg-content);border-radius:10px}.v2p-model-header{position:sticky;top:0;right:0;left:0;z-index:var(--zidx-model-header);display:flex;gap:0 20px;align-items:center;padding:15px 20px 20px;background-color:var(--v2p-color-bg-content);border-bottom:1px solid var(--box-border-color)}.v2p-model-title{overflow:hidden;font-weight:bold;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.v2p-model-actions{display:flex;gap:0 10px;align-items:center;margin-left:auto}.v2p-model-loading{display:flex;align-items:center;justify-content:center;padding:50px 0;color:currentcolor}.v2p-model-loading .v2p-icon-loading{position:relative;right:-13px;width:50px}.v2p-no-pat{padding:30px 10px;font-size:15px;text-align:center}.v2p-no-pat .v2p-no-pat-title{font-weight:bold;font-size:16px}.v2p-no-pat .v2p-no-pat-desc{display:flex;align-items:center;justify-content:center;margin-top:15px}.v2p-no-pat .v2p-no-pat-block{display:inline-flex;align-items:center;margin:0 5px;padding:2px 10px;background-color:var(--v2p-color-main-100);border-radius:2px}.v2p-no-pat .v2p-icon-logo{width:15px;height:15px}.v2p-heart-box{position:relative;top:3px;display:inline-flex;align-items:center;column-gap:5px;user-select:none}.v2p-heart-box.v2p-thanked{color:var(--v2p-color-heart);font-weight:bold;opacity:.8}.v2p-heart-box.v2p-thanked .v2p-icon-heart svg{fill:var(--v2p-color-heart)}@supports not selector(:has(*)){#Main .cell[id^=r]>table:hover .v2p-controls{opacity:1}}@supports selector(:has(*)){#Main .cell[id^=r]:not(:has(.cell:hover))>table:hover .v2p-controls{opacity:1}}.v2p-controls{display:inline-flex;align-items:center;margin-right:15px;font-size:12px;column-gap:15px;opacity:0}.v2p-controls>a{text-decoration:none}.v2p-control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:4px 0;color:var(--v2p-color-main-500)}.v2p-control:hover{color:var(--v2p-color-main-600)}.v2p-control.v2p-thanked{color:var(--v2p-color-heart);cursor:default}.v2p-control::after{position:absolute;top:-8px;z-index:var(--zidx-tip);min-width:30px;padding:2px 5px;font-size:12px;white-space:nowrap;text-align:center;background-color:var(--v2p-color-bg-content);border-radius:4px;box-shadow:var(--v2p-widget-shadow);transform:translateY(-100%);opacity:0;pointer-events:none}.v2p-control:hover::after{opacity:1}.v2p-control.v2p-control-hide::after{content:"\u9690\u85CF\u56DE\u590D"}.v2p-control.v2p-control-thank::after{content:"\u611F\u8C22\u56DE\u590D"}.v2p-control.v2p-control-thank.v2p-thanked::after{content:"\u5DF2\u611F\u8C22"}.v2p-control.v2p-control-reply::after{content:"\u56DE\u590D"}.topic_buttons .v2p-tb.v2p-hover-btn{color:var(--v2p-color-main-400)}.topic_buttons .v2p-tb.v2p-hover-btn:hover{color:currentColor}.topic_buttons .v2p-tb.v2p-hover-btn::after{display:none}.v2p-tb-icon{width:15px;height:15px}.v2p-emoji-container{max-height:285px;padding:15px 18px;overflow-y:auto;color:var(--v2p-color-main-600)}#v2p-member-popup{max-width:300px;max-height:285px;padding:12px;overflow-y:auto;text-align:left;visibility:hidden}#v2p-member-popup .v2p-ctn{display:flex;gap:15px;font-size:13px}#v2p-member-popup .v2p-ctn-right{padding:2px 0}#v2p-member-popup .v2p-avatar-box{width:73px;height:73px;overflow:hidden;background-color:var(--button-background-hover-color);border-radius:10px}#v2p-member-popup .v2p-username{font-weight:bold;font-size:16px}#v2p-member-popup .v2p-username.v2p-loading{width:65px;height:20px}#v2p-member-popup .v2p-no{margin:5px 0}#v2p-member-popup .v2p-no,#v2p-member-popup .v2p-created-date{width:160px;height:16px}#v2p-member-popup .v2p-bio{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.4;margin-top:10px}#v2p-member-popup .v2p-loading{background-color:var(--button-background-hover-color);border-radius:6px}.v2p-reply-list-box{margin-top:10px}.v2p-reply-list li{padding:3px 4px;word-break:break-all;background-color:var(--button-background-color);border-radius:6px}.v2p-reply-list li~li{margin-top:10px}.v2p-emoticons-box{font-size:15px}.v2p-emoji-group~.v2p-emoji-group{margin-top:10px}.v2p-emoji-title{margin:0 0 10px;font-size:14px;text-align:left}.v2p-emoji-list{display:grid;grid-template-columns:repeat(8, 1fr);gap:6px;font-size:20px}.v2p-emoji{padding:2px;border-radius:4px;cursor:pointer}.v2p-emoji:hover{background-color:var(--box-background-hover-color)}.v2p-decode{position:relative;padding:2px 4px;color:var(--v2p-color-orange-400);font-size:13px;text-decoration:none;background-color:var(--v2p-color-orange-50);cursor:copy}.v2p-decode:hover{color:var(--v2p-color-orange-400);background-color:var(--v2p-color-orange-50)}.v2p-decode:hover::after{opacity:1}.v2p-decode::after{position:absolute;top:-8px;left:50%;z-index:var(--zidx-tip);width:max-content;padding:2px 6px;color:var(--v2p-color-main-800);font-size:12px;white-space:nowrap;text-align:center;background-color:var(--v2p-color-bg-content);border-radius:4px;box-shadow:var(--v2p-widget-shadow);transform:translate(-50%, -100%);opacity:0;content:attr(data-title);pointer-events:none}.v2p-reply-content{position:relative}.v2p-reply-content .v2p-expand-btn.normal.button{position:absolute;bottom:5px;left:50%;z-index:var(--zidx-expand-btn);font-weight:400;font-size:12px;transform:translateX(-50%)}.v2p-reply-content.v2p-collapsed{--collapsed-fade: var(--v2p-color-bg-content)}.v2p-reply-content.v2p-collapsed::before{position:absolute;right:0;bottom:0;left:0;z-index:var(--zidx-expand-mask);height:120px;background:linear-gradient(to top, var(--collapsed-fade), transparent);content:"";pointer-events:none}.v2p-reply-content.v2p-collapsed .v2p-expand-btn.normal.button{bottom:10px;transform:translateX(-50%)}.cell[id^=r] .cell[id^=r] .v2p-reply-content{--collapsed-fade: var(--v2p-color-bg-nested-reply)}.cell[id^=r] .cell[id^=r] .v2p-reply-content .v2p-expand-btn.normal.button{color:var(--button-foreground-color);background:var(--button-hover-color);box-shadow:var(--button-hover-shadow)}.v2p-empty-content{display:flex;flex-direction:column;align-items:center;color:var(--v2p-color-font-secondary);font-size:14px}.v2p-empty-content .v2p-text-emoji{font-size:20px}.v2p-topic-reply-ref{margin:0 -10px 15px;padding:10px;color:var(--v2p-color-main-500);font-size:13px;background-color:var(--v2p-color-main-100);border-radius:5px}.v2p-topic-reply-box{margin-top:50px;padding:30px 0;color:var(--v2p-color-main-500);font-size:14px;line-height:1.55;border-top:1px solid var(--v2p-color-divider)}.v2p-topic-reply~.v2p-topic-reply{margin-top:15px}.v2p-topic-reply-member{display:inline;color:var(--v2p-color-main-700);font-weight:bold}.v2p-topic-reply-avatar{position:relative;top:2px;width:15px;height:15px;margin-right:5px;object-fit:cover;overflow:hidden;background-color:var(--v2p-color-main-200);border-radius:2px}.v2p-topic-reply-content{display:inline}.v2p-more-reply-tip{margin-top:20px;color:var(--v2p-color-main-400);font-size:13px;text-align:center}.v2p-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:35px 10px;color:var(--v2p-color-main-500);font-size:12px;border-top:1px solid var(--v2p-color-divider)}.v2p-footer a:hover{text-decoration:none}.v2p-footer-logo{--logo-size: 16px;position:absolute;top:calc(-1*(var(--logo-size) + 5px)/2);left:50%;display:inline-flex;box-sizing:border-box;padding:3px 25px;background-color:var(--v2p-color-bg-footer);transform:translateX(-50%)}.v2p-footer-logo svg{width:var(--logo-size)}.v2p-footer-text{display:inline-flex;align-items:center;justify-content:flex-start;width:240px;color:var(--v2p-color-font-secondary)}.v2p-footer-links{display:inline-flex;gap:0 8px;align-items:center}.v2p-footer-link{padding:4px 5px;color:currentColor}.v2p-footer-brand{display:inline-flex;gap:0 15px;align-items:center;justify-content:flex-end;width:240px}.v2p-footer-brand>span{width:20px}.v2p-color-mode-toggle{width:22px;height:22px;opacity:.8}.v2p-color-mode-toggle:hover{opacity:1}.v2p-reply-tools-box{position:relative;display:inline-flex;gap:0 5px;align-items:center;margin-right:auto;padding:2px 0;font-size:13px}.v2p-reply-tools-icon{display:inline-block;width:20px;height:20px}.v2p-reply-tool-content{padding:5px;border-radius:5px}.v2p-reply-tool{padding:5px 10px;white-space:nowrap;border-radius:4px;cursor:pointer}.v2p-reply-tool:hover{background-color:var(--v2p-color-main-100)}
`;function Uo(){$(`<style type='text/css'>${Zt}</style>`).appendTo("head")}Uo();(async()=>(await Promise.resolve().then(()=>(ct(),Kt)),await Promise.resolve().then(()=>(Ct(),ne)),await Promise.resolve().then(()=>(Qt(),Ee))))();