@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/OpenHomepage-V2/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/OpenHomepage-V2/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/OpenHomepage-V2/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/OpenHomepage-V2/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/OpenHomepage-V2/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/OpenHomepage-V2/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_AMS-Regular.BQhdFMY1.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_AMS-Regular.DMm9YOAa.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_AMS-Regular.DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Bold.BEiXGLvX.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Regular.CTRA-rTL.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Caligraphic-Regular.wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Bold.CL6g_b3V.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Bold.BsDP51OF.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Bold.BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Regular.CTYiF6lA.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Regular.Dxdc4cR9.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Fraktur-Regular.CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_Main-Bold.Cx986IdX.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Bold.Jm3AIy58.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Bold.waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Main-BoldItalic.SpSLRI95.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Main-BoldItalic.DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Main-Italic.NWA7e6Wa.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Italic.BMLOBm91.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Italic.3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Main-Regular.B22Nviop.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Regular.Dr94JaBh.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Main-Regular.ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Math-BoldItalic.iY-2wyZ7.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Math-BoldItalic.B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Math-Italic.t53AETM-.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Math-Italic.DA0__PXp.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Math-Italic.flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Bold.D1sUS0GD.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Bold.DbIhKOiC.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Bold.CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Italic.C3H0VqGB.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Italic.DN2j7dab.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Regular.CS6fqUqJ.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_SansSerif-Regular.BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Script-Regular.D3wIWfF6.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Script-Regular.D5yQViql.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Script-Regular.C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Size1-Regular.mCD8mA8B.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Size1-Regular.C195tn64.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Size1-Regular.Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Size2-Regular.Dy4dx90m.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Size2-Regular.oD1tc_U0.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Size2-Regular.B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Size3-Regular.CTq5MqoE.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Size3-Regular.DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Size4-Regular.Dl5lxZxV.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Size4-Regular.BF-4gkZK.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Size4-Regular.DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/OpenHomepage-V2/_astro/KaTeX_Typewriter-Regular.CO6r4hn1.woff2)format("woff2"),url(/OpenHomepage-V2/_astro/KaTeX_Typewriter-Regular.C0xS9mPB.woff)format("woff"),url(/OpenHomepage-V2/_astro/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}@font-face{font-family:JetBrains Mono Index Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2")}html{scrollbar-gutter:stable}:root{--bg:var(--site-bg-light,#f8f7f2);--bg-subtle:#f2efe7;--card:#fffcf7;--text:#181a17;--text-muted:#5f655d;--border:#e5dfd2;--hover-bg:#eae5da;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--shadow-soft:0 10px 28px #483e2d1a;--accent:var(--accent-light);--accent-contrast:var(--accent-light-contrast);--font-sans:"Segoe UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--font-serif:"Newsreader Variable", "Newsreader", "Songti SC", "Source Han Serif SC", Georgia, "Times New Roman", serif;--color-terracotta:#c85a32;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-mono-index:"JetBrains Mono Index Variable", var(--font-mono);--content-width:68rem;--nav-width:11rem}html[data-theme=dark]{--bg:var(--site-bg-dark,#141311);--color-terracotta:#f87171;--bg-subtle:#1c1a18;--card:#201e1b;--text:#f0ede7;--text-muted:#a49e93;--border:#37332d;--hover-bg:#302b26;--accent:var(--accent-dark);--accent-contrast:var(--accent-dark-contrast)}.block-github{--bg:#fff;--bg-subtle:#f6f7f8;--text:#1a1d21;--text-muted:#5f6670;--border:#e3e6ea;--hover-bg:#e9ecf0}html[data-theme=dark] .block-github{--bg:#121417;--bg-subtle:#1a1d21;--text:#e8eaed;--text-muted:#9aa1a9;--border:#2a2f36;--hover-bg:#262c34}.gh-repo{--bg:#fff;--border:#e3e6ea;--text:#1a1d21;--text-muted:#5f6670;--accent:var(--accent-light);--accent-contrast:var(--accent-light-contrast);border-radius:.6rem}html[data-theme=dark] .gh-repo{--bg:#121417;--border:#2a2f36;--text:#e8eaed;--text-muted:#9aa1a9;--accent:var(--accent-dark);--accent-contrast:var(--accent-dark-contrast)}html,.markdown-body .katex-display,.markdown-body pre,.markdown-body .md-table-wrap,.publication-links,.publication-bibtex pre,.heatmap-scroll,.article-layout .toc-sidebar,.search-results,.bgm-tracklist{scrollbar-width:thin;scrollbar-color:var(--border) transparent}html::-webkit-scrollbar,.markdown-body .katex-display::-webkit-scrollbar,.markdown-body pre::-webkit-scrollbar,.markdown-body .md-table-wrap::-webkit-scrollbar,.publication-links::-webkit-scrollbar,.publication-bibtex pre::-webkit-scrollbar,.heatmap-scroll::-webkit-scrollbar,.article-layout .toc-sidebar::-webkit-scrollbar,.search-results::-webkit-scrollbar,.bgm-tracklist::-webkit-scrollbar{width:6px;height:6px}html::-webkit-scrollbar-track,.markdown-body .katex-display::-webkit-scrollbar-track,.markdown-body pre::-webkit-scrollbar-track,.markdown-body .md-table-wrap::-webkit-scrollbar-track,.publication-links::-webkit-scrollbar-track,.publication-bibtex pre::-webkit-scrollbar-track,.heatmap-scroll::-webkit-scrollbar-track,.article-layout .toc-sidebar::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track,.bgm-tracklist::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb,.markdown-body .katex-display::-webkit-scrollbar-thumb,.markdown-body pre::-webkit-scrollbar-thumb,.markdown-body .md-table-wrap::-webkit-scrollbar-thumb,.publication-links::-webkit-scrollbar-thumb,.publication-bibtex pre::-webkit-scrollbar-thumb,.heatmap-scroll::-webkit-scrollbar-thumb,.article-layout .toc-sidebar::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.bgm-tracklist::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}html::-webkit-scrollbar-thumb:hover,.markdown-body .katex-display::-webkit-scrollbar-thumb:hover,.markdown-body pre::-webkit-scrollbar-thumb:hover,.markdown-body .md-table-wrap::-webkit-scrollbar-thumb:hover,.publication-links::-webkit-scrollbar-thumb:hover,.publication-bibtex pre::-webkit-scrollbar-thumb:hover,.heatmap-scroll::-webkit-scrollbar-thumb:hover,.article-layout .toc-sidebar::-webkit-scrollbar-thumb:hover,.search-results::-webkit-scrollbar-thumb:hover,.bgm-tracklist::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}html.theme-switching :is(body,.site-nav,.site-main,.site-footer,.icon-btn,.lang-menu,.theme-toggle,.notice-banner,.home-block,.editorial-button,.editorial-item,.editorial-tile,.archive-card,.gh-repo,.rss-card,.markdown-body,.markdown-body pre,.markdown-body code,.stream-block,.shiki,.callout,.timeline,.timeline-item,.publication-item,.about-hero,.about-brand-banner,.about-brand-main,.about-brand-v2,.version-pill),html.theme-switching :is(body,.site-nav,.site-main,.site-footer,.icon-btn,.lang-menu,.theme-toggle,.notice-banner,.home-block,.editorial-button,.editorial-item,.editorial-tile,.archive-card,.gh-repo,.rss-card,.markdown-body,.markdown-body pre,.markdown-body code,.stream-block,.shiki,.callout,.timeline,.timeline-item,.publication-item,.about-hero,.about-brand-banner,.about-brand-main,.about-brand-v2,.version-pill):before,html.theme-switching :is(body,.site-nav,.site-main,.site-footer,.icon-btn,.lang-menu,.theme-toggle,.notice-banner,.home-block,.editorial-button,.editorial-item,.editorial-tile,.archive-card,.gh-repo,.rss-card,.markdown-body,.markdown-body pre,.markdown-body code,.stream-block,.shiki,.callout,.timeline,.timeline-item,.publication-item,.about-hero,.about-brand-banner,.about-brand-main,.about-brand-v2,.version-pill):after{transition:background-color .2s,border-color .2s,color .2s,fill .2s,stroke .2s,box-shadow .2s!important}a{color:var(--accent);text-decoration:none;transition:color .16s,text-decoration-color .16s}a:hover,a:focus-visible{text-decoration:underline}.external-link-icon{vertical-align:.08em;opacity:.45;pointer-events:none;flex-shrink:0;width:.82em;height:.82em;margin-left:.22em;margin-right:.04em;transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1);display:inline-block}a:hover .external-link-icon,a:focus-visible .external-link-icon,a.external-link:hover .external-link-icon,a.external-link:focus-visible .external-link-icon{opacity:.95;transform:translate(1px,-1px)}@media (prefers-reduced-motion:reduce){.external-link-icon{transition:none!important;transform:none!important}}img{max-width:100%;height:auto}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}.site-nav{z-index:20;max-width:calc(var(--nav-width) - 2rem);position:fixed;top:2.5rem;left:2rem}.site-nav .site-title{margin:0 0 1.25rem;font-size:.95rem;font-weight:700;line-height:1.4}.site-nav .site-title a{color:var(--text)}.site-title,.site-footer{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.site-nav ul{transition:opacity .18s cubic-bezier(.22,1,.36,1)}.chrome-fade-out{opacity:0;transform:translateY(4px)}.site-nav ul.chrome-fade-out{transform:none}html{scroll-padding-top:5rem}@media (width<=768px){html{scroll-padding-top:4.5rem}}:target,h1[id],h2[id],h3[id],h4[id],h5[id],h6[id],.markdown-body [id],.page-content [id]{scroll-margin-top:5rem}@media (width<=768px){:target,h1[id],h2[id],h3[id],h4[id],h5[id],h6[id],.markdown-body [id],.page-content [id]{scroll-margin-top:4.5rem}}html.js img[data-image-fade=pending]{opacity:0}html.js img[data-image-fade=loaded]{opacity:1;animation:.16s cubic-bezier(.22,1,.36,1) image-fade-in}@keyframes image-fade-in{0%{opacity:0}to{opacity:1}}.site-nav ul{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.site-nav ul a{color:var(--text-muted);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;border-left:2.5px solid #0000;padding:.35rem .75rem;transition:background-color .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden}.site-nav ul a:hover{color:var(--text);background:var(--hover-bg);text-decoration:none}.site-nav ul a.active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-weight:600}.nav-toggle{z-index:30;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);outline:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:none;position:fixed;top:1rem;left:1rem}.nav-toggle:focus-visible{border-color:var(--accent)}.nav-toggle .bar{background-color:var(--text);pointer-events:none;border-radius:1px;flex:none;width:1.25rem;height:2px;transition:transform .2s,opacity .2s,background-color .2s;display:block}body.nav-open .nav-toggle .bar:first-child{transform:translateY(6px)rotate(45deg)}body.nav-open .nav-toggle .bar:nth-child(2){opacity:0}body.nav-open .nav-toggle .bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.header-tools{z-index:210;align-items:center;gap:.5rem;display:flex;position:absolute;top:1rem;right:1.25rem}.icon-btn{border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.85rem;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--border);background:var(--hover-bg)}.lang-switcher{position:relative}.lang-switcher:after{content:"";height:6px;position:absolute;top:100%;left:0;right:0}.lang-toggle{justify-content:center;width:2rem;height:2rem;padding:0}.lang-toggle .icon{width:1.05rem;height:1.05rem}.lang-menu{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:5.5rem;box-shadow:var(--shadow-soft);opacity:0;transform-origin:100% 0;visibility:hidden;pointer-events:none;margin:0;padding:.3rem;list-style:none;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),visibility 0s linear .18s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)scale(.98)}.lang-switcher:hover .lang-menu,.lang-menu.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),visibility;transform:none}.lang-menu a{color:var(--text-muted);white-space:nowrap;border-radius:0;padding:.3rem .75rem;transition:background-color .2s,color .2s;display:block}.lang-menu a:hover{color:var(--text);background:var(--hover-bg);text-decoration:none}.lang-menu a.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);font-weight:600}.theme-toggle{place-items:center;width:2rem;height:2rem;padding:0;display:grid}.theme-toggle .icon{opacity:0;grid-area:1/1;width:1rem;height:1rem;transition:opacity .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1);transform:rotate(-35deg)scale(.82)}html[data-theme=light] .theme-toggle .icon-light,html[data-theme=dark] .theme-toggle .icon-dark{opacity:1;transform:none}.bgm-toggle{justify-content:center;width:2rem;height:2rem;padding:0}.bgm-toggle .icon{width:1rem;height:1rem}.bgm-toggle .icon-pause{display:none}.bgm-toggle.playing .icon-pause{display:block}.bgm-toggle.playing .icon-play{display:none}.bgm-toggle.playing{color:var(--accent)}.search-toggle{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.search-toggle .icon{width:1.05rem;height:1.05rem}.site-main{max-width:var(--content-width);margin:0 auto;padding:3.5rem 2rem 5rem}@media (width>=769px){body{padding-left:var(--nav-width)}}@media (width<=768px){.nav-toggle{display:flex}.site-nav{background:var(--bg);border-right:1px solid var(--border);width:16rem;max-width:none;padding:4.5rem 1.25rem 2rem;transition:transform .2s;top:0;bottom:0;left:0;transform:translate(-100%)}body.nav-open .site-nav{transform:none}.site-main{padding-top:4.5rem}}.mag-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:2rem;display:grid}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-12{grid-column:span 12}@media (width<=768px){.mag-grid{grid-template-columns:1fr}.span-5,.span-7,.span-12{grid-column:auto}}.home-block{border-top:1px solid var(--border);padding:1.5rem 0 3rem}.home-block:first-child{border-top:0;padding-top:0}.home-block:has(+.component-demo-title){padding-bottom:0}.component-demo-title{border-top:1px solid var(--border);letter-spacing:.02em;margin:1.5rem 0 1rem;padding-top:1.25rem;font-size:1.15rem}.component-demo-title+.home-block{border-top:0;padding-top:0}.block-editorial:has(>.editorial-divider){padding-bottom:2rem}.block-editorial:has(>.editorial-divider)+.home-block{border-top:0;padding-top:0}.markdown-body .home-block,.markdown-body .block-editorial,.editorial-embed .home-block{border-top:none;margin:2rem 0;padding:0}.markdown-body .block-editorial:has(>.editorial-divider){padding-bottom:0}.markdown-body h2+.home-block,.markdown-body h3+.home-block{margin-top:.5rem}.notice-banner{box-sizing:border-box;border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.85rem;font-size:.925rem;line-height:1.5;display:flex;overflow:hidden;box-shadow:0 4px 14px #0000000a}html.js .notice-banner{opacity:0;pointer-events:none;border-top-width:0;border-bottom-width:0;max-height:0;margin-bottom:0;padding:0 1rem;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),max-height .35s cubic-bezier(.22,1,.36,1),padding .35s cubic-bezier(.22,1,.36,1),margin .35s cubic-bezier(.22,1,.36,1),border-width .35s cubic-bezier(.22,1,.36,1);transform:translateY(-8px)}html.js .notice-banner.visible{opacity:1;pointer-events:auto;max-height:200px;margin-bottom:2rem;padding:.75rem 1rem;transform:translateY(0)}html.js .notice-banner.dismissing{opacity:0;pointer-events:none;border-top-width:0;border-bottom-width:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translateY(-8px)}html:not(.js) .notice-banner{margin-bottom:2rem;padding:.75rem 1rem}.notice-banner.notice-color-accent{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text)}.notice-banner.notice-color-accent .notice-banner-icon{color:var(--accent)}.notice-banner.notice-color-yellow{color:#452b04;background:#fffdf5;border:1px solid #f3d887;border-left:3px solid #d97706;box-shadow:0 4px 16px #d9770614}.notice-banner.notice-color-yellow .notice-banner-icon{color:#d97706}.notice-banner.notice-color-yellow .notice-banner-close{color:#8c631a}.notice-banner.notice-color-yellow .notice-banner-close:hover{color:#452b04;background:#f8ecc4}html[data-theme=dark] .notice-banner.notice-color-yellow{color:#fef3c7;background:#231c0e;border:1px solid #5a4515;border-left:3px solid #f59e0b;box-shadow:0 4px 16px #f59e0b0f}html[data-theme=dark] .notice-banner.notice-color-yellow .notice-banner-icon{color:#fbbf24}html[data-theme=dark] .notice-banner.notice-color-yellow .notice-banner-close{color:#d5a54c}html[data-theme=dark] .notice-banner.notice-color-yellow .notice-banner-close:hover{color:#fffbeb;background:#382c13}.notice-banner.notice-color-red{color:#4c0505;background:#fff5f5;border:1px solid #fecaca;border-left:3px solid #dc2626;box-shadow:0 4px 16px #dc262614}.notice-banner.notice-color-red .notice-banner-icon{color:#dc2626}.notice-banner.notice-color-red .notice-banner-close{color:#991b1b}.notice-banner.notice-color-red .notice-banner-close:hover{color:#450a0a;background:#fee2e2}html[data-theme=dark] .notice-banner.notice-color-red{color:#fee2e2;background:#271212;border:1px solid #5c1d1d;border-left:3px solid #ef4444;box-shadow:0 4px 16px #ef44440f}html[data-theme=dark] .notice-banner.notice-color-red .notice-banner-icon{color:#f87171}html[data-theme=dark] .notice-banner.notice-color-red .notice-banner-close{color:#fca5a5}html[data-theme=dark] .notice-banner.notice-color-red .notice-banner-close:hover{color:#fff1f2;background:#3f1919}.notice-banner.notice-color-custom{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--banner-custom-color,var(--accent));color:var(--text)}.notice-banner.notice-color-custom .notice-banner-icon{color:var(--banner-custom-color,var(--accent))}.notice-banner-body{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.notice-banner-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:inline-flex}.notice-banner-icon svg{width:100%;height:100%}.notice-banner-text{word-break:break-word;flex:1;min-width:0}.notice-banner-text a{color:currentColor;text-underline-offset:2px;text-decoration:underline}.notice-banner-text a:hover{opacity:.85}.notice-banner-text code{font-family:var(--font-mono);border-radius:var(--radius-sm);background:#0000000d;border:1px solid #00000014;padding:.15em .35em;font-size:.85em}html[data-theme=dark] .notice-banner-text code{background:#ffffff14;border:1px solid #ffffff1f}.notice-banner-close{width:1.75rem;height:1.75rem;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.notice-banner-close:hover,.notice-banner-close:focus-visible{color:var(--text);background:var(--hover-bg);outline:none}.notice-banner-close svg{width:1rem;height:1rem}.notice-banner+.home-block{border-top:0;padding-top:0}.section-header{align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.section-tag{background:var(--section-color,var(--accent));color:#fff;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:.35rem .65rem;font-size:.7rem;font-weight:700}.section-rule{opacity:.22;background:currentColor;flex:1;height:1px}.editorial-heading{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:2rem;margin-bottom:2rem;display:grid}.editorial-heading h2,.markdown-body .editorial-heading h2{text-transform:uppercase;margin:0;font-size:clamp(2.25rem,6vw,4rem);font-weight:250;line-height:1.02}.editorial-heading p,.markdown-body .editorial-heading p{color:var(--text-muted);max-width:58ch;margin:0}.button-row{flex-wrap:wrap;gap:.75rem;margin:0 0 2rem;display:flex}.editorial-button{border:1px solid var(--section-color,var(--accent));min-height:2.85rem;color:var(--section-color,var(--accent));font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.65rem;padding:0 1.35rem;font-size:.9rem;text-decoration:none;transition:color .3s;display:inline-flex;position:relative;overflow:hidden}.editorial-button:before{content:"";background:var(--section-color,var(--accent));transform-origin:100%;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scaleX(0)}.editorial-button:hover:before,.editorial-button:focus-visible:before{transform-origin:0;transform:scaleX(1)}.editorial-button>*{z-index:1;position:relative}.editorial-button:hover,.editorial-button:focus-visible{color:var(--bg);text-decoration:none}.editorial-button svg{width:.95rem;height:.95rem}.editorial-button.primary{background:var(--section-color,var(--accent));color:#fff}.editorial-button.primary:before{display:none}.editorial-button.primary:hover,.editorial-button.primary:focus-visible{color:#fff;filter:brightness(1.08)}.editorial-button.ghost{border-color:var(--border);color:var(--text-muted)}.editorial-button.ghost:hover,.editorial-button.ghost:focus-visible{color:var(--text)}.editorial-list{grid-template-columns:minmax(0,1fr);margin-bottom:2rem;display:grid}.editorial-item{border-bottom:1px solid var(--border);width:100%;min-width:0;min-height:6.5rem;color:var(--text);grid-template-columns:3.25rem minmax(0,1fr);place-items:center start;column-gap:1rem;padding:1.75rem 0;text-decoration:none;display:grid;position:relative;overflow:hidden}.editorial-item-mask{z-index:0;object-fit:cover;object-position:center right;opacity:0;filter:grayscale();pointer-events:none;background-position:100%;background-size:cover;width:72%;height:calc(100% + 2.5rem);transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1),filter .4s;position:absolute;top:-1.25rem;bottom:-1.25rem;right:0;transform:scale(1.1);-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.editorial-item-mask :is(picture,img){width:100%;height:100%;display:block}.editorial-item-mask-img{object-fit:cover;object-position:center right}html.js .editorial-item.revealed .editorial-item-mask,a.editorial-item:hover .editorial-item-mask,a.editorial-item:focus-visible .editorial-item-mask{opacity:.45;filter:grayscale(0);transform:none}a.editorial-item.revealed:hover .editorial-item-mask,a.editorial-item.revealed:focus-visible .editorial-item-mask{opacity:.88;transform:scale(.97)}.editorial-item>:not(.editorial-item-mask){z-index:1;position:relative}.editorial-item-index{min-width:0;color:var(--section-color,var(--accent));font-family:var(--font-mono-index);transform-origin:0;flex:0 0 3.25rem;font-size:1.35rem;font-weight:250;transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s}.editorial-item-content{transform-origin:0;gap:.2rem;width:100%;min-width:0;transition:transform .3s cubic-bezier(.22,1,.36,1);display:grid}.editorial-item-title{font-size:1.15rem;font-weight:600}.editorial-item-meta{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.editorial-item-description,.markdown-body .editorial-item-description{color:var(--text-muted);margin:0;font-size:.88rem}.markdown-body .katex-display{margin:1.25em 0;padding:.5rem 0;overflow:auto hidden}.markdown-body .katex-display>.katex{text-align:center;white-space:nowrap;max-width:100%;display:block}a.editorial-item:hover .editorial-item-index,a.editorial-item:focus-visible .editorial-item-index{color:var(--section-color,var(--accent));transform:translate(6px)scale(1.02)}a.editorial-item:hover .editorial-item-content,a.editorial-item:focus-visible .editorial-item-content{transform:translate(6px)scale(1.02)}.editorial-tiles{grid-template-columns:repeat(12,1fr);grid-auto-rows:9.5rem;gap:.75rem;margin-bottom:2rem;display:grid}.editorial-tile{border:1px solid var(--border);background:var(--card);color:#fff;grid-column:span 4;min-height:8.5rem;text-decoration:none;position:relative;overflow:hidden}.editorial-tile.tile-wide{grid-column:span 8}.editorial-tile.tile-tall{grid-area:span 2/span 4}.editorial-tile:before{content:"";background-image:var(--tile-image,none);filter:grayscale(.32)brightness(.88);background-position:50%;background-size:cover;transition:transform .65s,filter .45s;position:absolute;inset:0;transform:scale(1.01)}.editorial-tile-media{object-fit:cover;object-position:center;filter:grayscale(.32)brightness(.88);width:100%;height:100%;transition:transform .65s,filter .45s;position:absolute;inset:0;transform:scale(1.01)}.editorial-tile:hover .editorial-tile-media,.editorial-tile:focus-visible .editorial-tile-media{filter:grayscale(0)brightness(.96);transform:scale(1.09)}.editorial-tile:after{content:"";background:linear-gradient(#00000014,#000000b8);transition:opacity .35s;position:absolute;inset:0}.editorial-tile:hover:before,.editorial-tile:focus-visible:before{filter:grayscale(0)brightness(.96);transform:scale(1.09)}.editorial-tile:hover:after,.editorial-tile:focus-visible:after{opacity:.82}.tile-content{z-index:1;flex-direction:column;justify-content:flex-end;height:100%;padding:1.1rem;display:flex;position:relative}.tile-kicker{letter-spacing:.14em;text-transform:uppercase;opacity:.78;font-size:.65rem}.tile-title{margin-top:.4rem;font-size:1.25rem;font-weight:500;line-height:1.15}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.archive-card{border:1px solid var(--border);background:var(--card);color:var(--text);grid-template-columns:7.5rem minmax(0,1fr);text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;display:grid;overflow:hidden}.archive-card:hover,.archive-card:focus-visible{box-shadow:var(--shadow-soft);border-color:#8a8178;transform:translateY(-4px)}.archive-media{object-fit:cover;object-position:center;filter:grayscale()contrast(.92);background-position:50%;background-size:cover;width:100%;height:100%;min-height:7.5rem;transition:filter .525s;display:block}.archive-card:hover .archive-media,.archive-card:focus-visible .archive-media{filter:grayscale(.15)contrast()}.archive-body{align-content:center;gap:.35rem;padding:1.15rem;display:grid}.archive-status{color:#8a8178;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.archive-title{font-size:1.1rem;font-weight:600}.archive-description,.markdown-body .archive-description{color:var(--text-muted);margin:0;font-size:.85rem}.editorial-divider,.markdown-body .editorial-divider{background:linear-gradient(90deg, var(--border) 0 72px, transparent 72px) 0 0 / 100% 1px no-repeat, var(--border);border:0;width:100%;height:1px;margin:2.25rem 0 0}.intro-card{z-index:90;border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--card);width:min(20rem,100vw - 2.5rem);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden;transform:translateY(6rem)}.intro-card.visible{opacity:1;pointer-events:auto;transform:none}.intro-close{z-index:2;border:1px solid var(--border);width:1.5rem;height:1.5rem;color:var(--text-muted);cursor:pointer;background:0 0;place-items:center;padding:0;transition:color .2s,background-color .2s;display:grid;position:absolute;top:.4rem;right:.4rem}.intro-close:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.intro-close svg{width:.75rem;height:.75rem}.intro-content{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.intro-text{gap:.15rem;min-width:0;display:grid}.intro-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:700}.intro-title{font-size:1.1rem;font-weight:650}.intro-description{color:var(--text-muted);font-size:.78rem;line-height:1.35}.intro-qr{border:1px solid var(--border);flex:none;width:4.5rem;height:4.5rem;overflow:hidden}.intro-qr img,.qr-modal-image{object-fit:cover;width:100%;height:100%;display:block}.qr-modal{border:1px solid var(--border);background:var(--card);width:min(22rem,100vw - 2rem);color:var(--text);padding:0}.qr-modal[open]{animation:.18s cubic-bezier(.22,1,.36,1) qr-modal-in}.qr-modal[open]::backdrop{animation:.18s qr-backdrop-fade}.qr-modal.closing{opacity:0;transition:opacity .15s,transform .15s;transform:scale(.95)}.qr-modal.closing::backdrop{opacity:0;transition:opacity .15s}@keyframes qr-modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes qr-backdrop-fade{0%{opacity:0}to{opacity:1}}.qr-modal::backdrop{background:#000000d1}.qr-modal-card{text-align:center;padding:1.5rem}.qr-modal-card h2{margin:0;font-size:1.2rem;font-weight:600}.qr-modal-image{border:1px solid var(--border);width:11rem;height:11rem;margin:1.1rem auto .8rem}.qr-modal-card p{color:var(--text-muted);margin:0 0 1rem;font-size:.85rem}.profile-name,.markdown-body .profile-name{text-transform:uppercase;margin:0 0 .5rem;font-size:3.25rem;font-weight:250;line-height:1.02}.profile-tagline,.markdown-body .profile-tagline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 1.25rem;font-size:1rem}.profile-links,.markdown-body .profile-links{flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.profile-links a{border:1px solid var(--border);background:var(--card);min-height:2rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:0 .75rem;font-size:.8rem;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.profile-links a:hover{color:var(--text);border-color:var(--text);background:var(--hover-bg);text-decoration:none}.profile-avatar img{border-radius:var(--radius-sm);border:1px solid var(--border);width:150px;max-width:100%}@media (width>=769px){.block-profile:not(.profile-top) .profile-avatar{padding-top:3rem}.markdown-body .block-profile:not(.profile-top) .profile-avatar{padding-top:0}}.block-profile.profile-top{text-align:center;flex-direction:column-reverse;align-items:center;gap:1.5rem;display:flex}.profile-top .profile-avatar img{width:92px}.profile-top .profile-links{justify-content:center}@media (width<=768px){.editorial-heading{grid-template-columns:1fr;align-items:start}.editorial-tiles{grid-template-columns:repeat(2,1fr);grid-auto-rows:8.5rem}.editorial-tile,.editorial-tile.tile-wide,.editorial-tile.tile-tall{grid-column:span 1}.editorial-tile.tile-tall{grid-row:span 2}.archive-grid{grid-template-columns:1fr}.profile-avatar img{width:140px}.profile-top .profile-avatar img{width:96px}.rss-columns{grid-template-columns:1fr;gap:1.5rem}.rss-cover{width:4.8rem;height:4.8rem}}.site-footer{max-width:var(--content-width);border-top:1px solid var(--border);color:var(--text-muted);margin:0 auto;padding:1.25rem 2rem 2.5rem;font-size:.8rem;line-height:1.6}.site-footer a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.site-footer a:hover{color:var(--accent)}.page-content>h1{letter-spacing:-.01em;margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:2em 0 .6em;line-height:1.35}.markdown-body>:first-child{margin-top:0}.markdown-body p{margin:1em 0}.markdown-body>p,.markdown-body>ul,.markdown-body>ol,.markdown-body>blockquote{max-width:72ch}.markdown-body>p:has(>img:only-child){max-width:none}.markdown-body figure img,.markdown-body p>img:only-child{width:100%;display:block}.markdown-body blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:1.5em 0;padding:.25em 1em}.markdown-body code:not(pre code){background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em}.code-block-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);margin:1.5rem 0;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.code-header{background:var(--bg-subtle);border-bottom:1px solid var(--border);user-select:none;justify-content:space-between;align-items:center;padding:.35rem .75rem .35rem 1rem;display:flex}.code-lang{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.code-copy-btn{border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;line-height:1.2;transition:all .15s;display:inline-flex}.code-copy-btn:hover{background:var(--card);color:var(--text);border-color:var(--border)}.code-copy-text{font-family:var(--font-sans);font-size:.75rem;font-weight:500;line-height:1.2}.code-copy-btn svg{vertical-align:middle;flex-shrink:0;display:inline-block}.code-copy-btn .icon-check{display:none}.code-copy-btn.copied{color:#10b981;background:#10b9811a;border-color:#10b9814d}.code-copy-btn.copied .icon-copy{display:none}.code-copy-btn.copied .icon-check{display:inline-block}.code-block-wrapper pre,.markdown-body .code-block-wrapper pre{background:0 0;border:0;border-radius:0;margin:0}.markdown-body pre{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.markdown-body .md-table-wrap{-webkit-overflow-scrolling:touch;margin:1.5em 0;overflow-x:auto}.markdown-body .md-table-wrap table{table-layout:auto;width:100%;min-width:100%;margin:0}.markdown-body table{border-collapse:collapse;margin:1.5em 0}.markdown-body th,.markdown-body td{border:1px solid var(--border);text-align:left;padding:.45em .8em}.markdown-body th{background:var(--bg-subtle)}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.markdown-body figure{margin:1.5em 0}.markdown-body figcaption{color:var(--text-muted);text-align:center;margin-top:.5em;font-size:.875rem}.markdown-body>.callout{--callout-accent:var(--accent);border:1px solid color-mix(in srgb, var(--callout-accent) 20%, var(--border));border-left:3.5px solid var(--callout-accent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--callout-accent) 5%, var(--card));max-width:72ch;margin:1.15em 0;padding:.65rem .95rem .75rem;transition:border-color .2s;box-shadow:0 1px 2px #00000008}.markdown-body>.callout:hover{border-color:color-mix(in srgb, var(--callout-accent) 35%, var(--border))}.markdown-body .callout-tip{--callout-accent:var(--success)}.markdown-body .callout-warning{--callout-accent:var(--warning)}.markdown-body .callout-important{--callout-accent:var(--danger)}.markdown-body .callout-quote{--callout-accent:var(--text-muted);font-size:.98em}.callout-header{color:var(--callout-accent);align-items:center;gap:.45rem;margin:0 0 .3rem;line-height:1.25;display:flex}.callout-icon{flex:none;width:.95rem;height:.95rem;display:inline-flex}.callout-icon svg{width:100%;height:100%}.callout-title,.markdown-body .callout-title{color:inherit;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:750;line-height:1.25;margin:0!important}.callout>p:not(.callout-title):not(.callout-source),.markdown-body .callout>p:not(.callout-title):not(.callout-source){color:var(--text);font-size:.91rem;line-height:1.55;margin:0!important}.callout-source,.markdown-body .callout-source{color:var(--text-muted);text-align:right;font-size:.78rem;margin:.35rem 0 0!important}.timeline{max-width:72ch;margin:2rem 0}.timeline-title,.markdown-body .timeline-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:1.05rem;font-weight:750;margin:0 0 1.15rem!important}.timeline-items{border-left:1.5px solid var(--border);flex-direction:column;gap:1.25rem;margin:0;padding:0 0 0 1.5rem;list-style:none;display:flex;position:relative}.timeline-item{position:relative}.timeline-item:before{content:"";border:2px solid var(--accent);background:var(--bg);z-index:2;border-radius:50%;width:.65rem;height:.65rem;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,background-color .2s;position:absolute;top:.18rem;left:-1.88rem}.timeline-item[data-highlight=true]:before{background:var(--accent);box-shadow:0 0 0 3.5px color-mix(in srgb, var(--accent) 22%, transparent)}.timeline-item:hover:before{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 28%, transparent);transform:scale(1.25)}.timeline-range,.markdown-body .timeline-range{color:var(--accent);letter-spacing:.02em;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1.25;margin:0 0 .15rem!important}.timeline-item-meta{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.15rem;display:flex}.timeline-item-title,.markdown-body .timeline-item-title{color:var(--text);font-size:1rem;font-weight:750;line-height:1.35;transition:color .15s;margin:0!important}a.timeline-item-title:hover,a.timeline-item-title:focus-visible{color:var(--accent)}.timeline-org,.markdown-body .timeline-org{color:var(--text-muted);flex:none;font-size:.85rem;margin:0!important}.timeline-item-body{color:var(--text-muted);margin-top:.15rem;font-size:.92rem;line-height:1.55}.timeline-item-body p,.markdown-body .timeline-item-body p{margin:.15rem 0!important}.timeline-item-body>:first-child{margin-top:0}.timeline-item-body>:last-child{margin-bottom:0}html.js .timeline-item.reveal{opacity:1;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0s);transform:none}html.js .timeline-item.reveal.reveal-pending{opacity:0;transform:translateY(-12px)}html.js .timeline-item.reveal.revealed{opacity:1;transform:translateY(0)}.publications{max-width:none;margin:2rem 0}.publication-group{margin-bottom:2rem}.publication-group-title{border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;margin:0 0 .85rem;padding-bottom:.35rem;font-size:.85rem;font-weight:600}.publication-group .publication-item:first-of-type{border-top:none}.publication-item{border-top:1px solid var(--border);grid-template-columns:2rem minmax(0,1fr);gap:1.25rem;padding:.85rem 0 .65rem;transition:background-color .2s;display:grid}.publication-item[data-has-teaser=true]{grid-template-columns:2rem minmax(0,1fr) 200px}.publication-index,.markdown-body .publication-index{color:var(--accent);font-family:var(--font-mono);font-size:.85rem;font-weight:700;line-height:1.2;margin:0!important;padding:0!important}.publication-main{min-width:0}.publication-meta,.markdown-body .publication-meta{color:var(--accent);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;line-height:1.2;display:flex;margin:0 0 .2rem!important;padding:0!important}.publication-badge{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent);text-transform:uppercase;border-radius:999px;padding:.1rem .4rem;font-size:.68rem}.publication-title,.markdown-body .publication-title{color:var(--text);font-size:1.05rem;font-weight:750;line-height:1.35;margin:0 0 .25rem!important;padding:0!important}.publication-authors,.markdown-body .publication-authors{color:var(--text);font-size:.88rem;line-height:1.5;margin:0 0 .25rem!important;padding:0!important}.publication-note,.markdown-body .publication-note{border-left:2.5px solid color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--text-muted);padding-left:.65rem;font-size:.86rem;line-height:1.5;margin:0 0 .35rem!important}.publication-abstract{margin:.45rem 0 0}.publication-abstract summary{color:var(--accent);cursor:pointer;user-select:none;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;transition:opacity .15s,color .15s;display:inline-flex}.publication-abstract summary:hover{opacity:.85}.publication-abstract .abstract-content{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-muted);margin-top:.35rem;padding:.55rem .75rem;font-size:.86rem;line-height:1.55;animation:.22s cubic-bezier(.16,1,.3,1) abstractFadeIn;overflow:hidden}.publication-abstract .abstract-content p{margin:0}@keyframes abstractFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.publication-actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.45rem;display:flex}.publication-links{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.publication-actions a,.publication-links a,.publication-copy{min-height:unset;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text);font-family:var(--font-sans);cursor:pointer;align-items:center;padding:.18rem .55rem;font-size:.78rem;font-weight:600;line-height:1.35;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.publication-actions a:hover,.publication-actions a:focus-visible,.publication-links a:hover,.publication-links a:focus-visible,.publication-copy:hover,.publication-copy:focus-visible{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.publication-bibtex,.markdown-body .publication-bibtex{margin-top:.35rem!important;margin-bottom:0!important}.publication-bibtex pre,.markdown-body .publication-bibtex pre{font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);max-height:9.5rem;color:var(--text);white-space:pre;tab-size:2;font-size:.76rem;line-height:1.45;overflow-x:auto;margin:.25rem 0 0!important;padding:.45rem .65rem!important}.publication-teaser{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);align-self:start;width:200px;display:block;overflow:hidden}.publication-teaser img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.001)}.publication-teaser:hover img{transform:scale(1.06)}.publication-empty{border:1px dashed var(--border);color:var(--text-muted);margin:0;padding:1rem}@media (width<=768px){.publication-item{gap:.85rem;grid-template-columns:1fr!important}.publication-teaser{aspect-ratio:16/9;width:100%}}@media (prefers-reduced-motion:reduce){.timeline-item.reveal,.publication-item,.publication-teaser,.publication-teaser img,.publication-abstract .abstract-content{transition:none!important;animation:none!important;transform:none!important}}@media (width<=768px){.publication-item,.publication-item[data-has-teaser=true]{display:block}.publication-index{margin-bottom:.35rem}.publication-teaser{width:100%;margin-top:.8rem}.publication-links{flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}}.markdown-body .md-grid{gap:1.5rem;margin:1.5em 0;display:grid}@media (width<=768px){.markdown-body .md-grid{grid-template-columns:1fr!important}}.markdown-body .embed-player{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;contain:layout paint;user-select:none;background:#0f0f0f;justify-content:center;align-items:center;margin:1.5em 0;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.markdown-body .embed-player:hover{border-color:var(--accent);box-shadow:var(--shadow-soft)}.markdown-body .embed-player.is-active{cursor:default;border-color:var(--border);box-shadow:none;background:#000}.markdown-body .embed-poster{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;display:block;position:absolute;inset:0}.markdown-body .embed-player:hover .embed-poster{filter:brightness(.92);transform:scale(1.025)}.markdown-body .embed-topbar{z-index:2;pointer-events:none;background:linear-gradient(#000000d1 0%,#0006 55%,#0000 100%);align-items:center;gap:.55rem;padding:.75rem 1rem;display:flex;position:absolute;top:0;left:0;right:0}.markdown-body .embed-brand-icon{flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.markdown-body .embed-bilibili .embed-brand-icon{color:#00aeec}.markdown-body .embed-youtube .embed-brand-icon{color:red}.markdown-body .embed-brand-svg{width:18px;height:18px}.markdown-body .embed-title{color:#fff;text-shadow:0 1px 3px #000000e6;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:500;overflow:hidden}.markdown-body .embed-play-btn{z-index:2;cursor:pointer;filter:drop-shadow(0 2px 8px #0000004d);background:0 0;border:0;outline:none;justify-content:center;align-items:center;padding:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .22s;display:flex;position:relative}.markdown-body .embed-play-btn-yt .embed-yt-btn-bg{fill:#212121;fill-opacity:.82;transition:fill .18s,fill-opacity .18s}.markdown-body .embed-play-btn-yt .embed-yt-btn-arrow{fill:#fff}.markdown-body .embed-player.embed-youtube:hover .embed-yt-btn-bg{fill:red;fill-opacity:1}.markdown-body .embed-player.embed-youtube:hover .embed-play-btn-yt{filter:drop-shadow(0 4px 14px #ff000073);transform:scale(1.14)}.markdown-body .embed-play-btn-bili .embed-bili-btn-circle{fill:#000000a6;stroke:#ffffffe0;stroke-width:2.5px;transition:fill .18s,stroke .18s}.markdown-body .embed-play-btn-bili .embed-bili-btn-arrow{fill:#fff}.markdown-body .embed-player.embed-bilibili:hover .embed-bili-btn-circle{fill:#00aeec;stroke:#00aeec}.markdown-body .embed-player.embed-bilibili:hover .embed-play-btn-bili{filter:drop-shadow(0 4px 14px #00aeec80);transform:scale(1.14)}.markdown-body .embed-bottombar{z-index:2;pointer-events:none;padding:.5rem .75rem;position:absolute;bottom:0;right:0}.markdown-body .embed-corner-badge{color:#ffffffe0;font-size:.72rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;backdrop-filter:blur(4px);background:#000000a6;border-radius:4px;padding:.15rem .45rem}.markdown-body .embed-player.is-active .embed-poster,.markdown-body .embed-player.is-active .embed-topbar,.markdown-body .embed-player.is-active .embed-play-btn,.markdown-body .embed-player.is-active .embed-bottombar{display:none}.embed-player iframe{border:0;width:100%;height:100%;display:block}.markdown-body video,.markdown-body audio{contain:layout paint;width:100%;margin:1.5em 0;display:block}.markdown-body video{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md)}.shiki,.shiki span{color:var(--shiki-light)}.shiki{background-color:var(--shiki-light-bg)}html[data-theme=dark] .shiki,html[data-theme=dark] .shiki span{color:var(--shiki-dark)}html[data-theme=dark] .shiki{background-color:var(--shiki-dark-bg)}.block-title,.markdown-body .block-title{letter-spacing:-.01em;margin:0 0 1.5rem;font-size:1.4rem}.block-empty,.markdown-body .block-empty{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);margin:0;padding:1rem 1.25rem;font-size:.85rem}.data-age{color:var(--text-muted);opacity:.8;font-size:.75rem;font-weight:400}.heatmap-wrap{margin-bottom:1.5rem}.heat-total,.markdown-body .heat-total{margin:0 0 .15rem;font-size:.95rem}.heat-total-alt,.markdown-body .heat-total-alt{color:var(--text-muted);margin-bottom:.6rem;font-size:.8rem}.heatmap-scroll{direction:rtl;padding-bottom:.35rem;overflow-x:auto}.heatmap-inner{direction:ltr;flex-direction:column;min-width:100%;display:inline-flex}.heat-main{gap:6px;display:flex}.heat-weekdays{color:var(--text-muted);user-select:none;flex:none;grid-template-rows:repeat(7,12px);gap:3px;font-size:9px;line-height:12px;display:grid}.heat-right{flex-direction:column;min-width:0;display:flex}.heat-months{height:12px;color:var(--text-muted);user-select:none;margin-bottom:4px;font-size:9px;line-height:1;position:relative}.heat-months span{left:calc(15px * var(--w));white-space:nowrap;position:absolute}.heatmap{gap:3px;display:flex}.heat-week{flex:none;grid-template-rows:repeat(7,12px);gap:3px;display:grid}.heat-cell{background:var(--heat-0);border-radius:2px;width:12px;height:12px}.heat-cell[data-level="1"]{background:var(--heat-1)}.heat-cell[data-level="2"]{background:var(--heat-2)}.heat-cell[data-level="3"]{background:var(--heat-3)}.heat-cell[data-level="4"]{background:var(--heat-4)}.heat-cell[data-tip]{cursor:default}.heat-empty{background:0 0}.heat-legend{color:var(--text-muted);user-select:none;justify-content:flex-end;align-items:center;gap:3px;margin:6px 0 0;font-size:9px;display:flex}.heat-legend span:not(.heat-cell){padding:0 2px}@media (width>=769px){.heat-right{flex-direction:column;flex:1;min-width:0;display:flex}.heat-main{flex:1;align-items:stretch;gap:6px;display:flex}.heatmap{flex:1;gap:3px;width:100%;display:flex}.heat-week{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.heatmap .heat-cell{aspect-ratio:1;flex:none;width:100%;height:auto}.heat-weekdays{flex-direction:column;flex:none;gap:3px;line-height:1;display:flex}.heat-weekdays span{flex:1;align-items:center;display:flex}.heat-months span{left:calc(100% * var(--w) / var(--weeks))}}html.js .block-github .heatmap .heat-cell:not(.heat-empty){opacity:0}html.js .block-github.revealed .heatmap .heat-cell:not(.heat-empty){animation:.4s cubic-bezier(.22,1,.36,1) both heat-in}@keyframes heat-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}.heat-tooltip{z-index:90;opacity:0;background:var(--text);max-width:16rem;color:var(--bg);white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.4;transition:opacity .12s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1);position:fixed;transform:translateY(4px)scale(.98);box-shadow:0 4px 14px #0000002e}.heat-tooltip.is-visible{opacity:1;transform:none}.heat-tooltip.is-hiding{opacity:0;transform:translateY(4px)scale(.98)}.heat-footer{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin:.5rem 0 0;font-size:.85rem;display:flex}.gh-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));align-items:stretch;gap:1rem;display:grid}.gh-repo{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:.6rem;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.gh-octicon{flex:none;width:.95em;height:.95em}.gh-repo-head{color:var(--text-muted);align-items:center;gap:.45rem;min-width:0;display:flex}.gh-repo-link{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;min-width:0;display:inline-flex;overflow:hidden}.gh-repo-owner{color:var(--text-muted);font-weight:400}.gh-repo-sep{color:var(--text-muted);margin:0 .15em}.gh-repo-name{color:var(--accent);font-weight:600}.gh-repo-link:hover .gh-repo-name{text-decoration:underline}.gh-repo-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.gh-repo-topics{flex-wrap:wrap;gap:.3rem;display:flex}.gh-topic{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:2em;padding:.05em .6em;font-size:.75rem;line-height:1.6}.gh-topic:hover{background:var(--accent);color:var(--accent-contrast);text-decoration:none}.gh-repo-meta{color:var(--text-muted);flex-wrap:wrap;gap:.35rem .9rem;margin-top:auto;font-size:.8rem;display:flex}.gh-meta{align-items:center;gap:.3rem;display:inline-flex}.gh-lang-dot{border-radius:50%;flex:none;width:.7em;height:.7em}.gh-repo:hover,.rss-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 10px 28px #0000001a}.rss-card:hover{text-decoration:none}.rss-columns{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2rem;display:grid}.rss-source,.markdown-body .rss-source{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 .9rem;font-size:1rem;display:flex}.rss-cards{gap:.9rem;display:grid}.rss-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);gap:.9rem;padding:.9rem 1rem;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;display:flex;position:relative}.rss-card:hover,.rss-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-4px)}.rss-cover{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);flex:none;width:5.5rem;height:5.5rem;overflow:hidden}.rss-cover:empty{display:none}.rss-cover img{object-fit:cover;width:100%;height:100%;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .5s;display:block}.rss-cover.cover-failed{display:none!important}.rss-card:hover .rss-cover img{transform:scale(1.06)}.rss-card-body{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.rss-title,.markdown-body .rss-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.rss-meta{color:var(--text-muted);align-items:baseline;gap:.6rem;font-size:.8rem;display:flex}.rss-source-tag{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;background:var(--bg-subtle);border:1px solid var(--border);border-radius:.35em;padding:.05em .5em;font-size:.65rem}.rss-summary,.markdown-body .rss-summary{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;display:-webkit-box;overflow:hidden}.rss-note,.markdown-body .rss-note{color:var(--accent);margin:0;font-size:.8rem;font-style:italic}.stream-block{border:1px solid var(--border);border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:var(--card);box-shadow:var(--shadow-soft);padding:1.35rem 1.5rem}.stream-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.stream-title,.markdown-body .stream-title{border-left:3px solid var(--accent);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0;padding-left:.7rem;font-size:.7rem;font-weight:600}.stream-head:has(.stream-title){margin-bottom:.25rem}.stream-replay{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:1.9rem;height:1.9rem;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;transition:color .2s,border-color .2s,transform .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.stream-replay svg{width:1rem;height:1rem}.stream-replay:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-40deg)}.stream-block .stream-content{margin-top:1rem;transition:height .12s ease-out;overflow:hidden}.stream-cursor{vertical-align:-.15em;background:var(--accent);border-radius:1px;width:.55em;height:1.05em;margin-left:.05em;animation:.8s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.markdown-body .gh-repo{max-width:26rem;margin:1.5em 0}.markdown-body img{cursor:zoom-in;background:var(--bg-subtle);border-radius:var(--radius-sm)}.lightbox{z-index:220;backdrop-filter:blur(12px);opacity:0;user-select:none;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .25s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox.open{opacity:1}.lightbox-toolbar{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:1.25rem;left:1.5rem;right:1.5rem}.lightbox-counter{font-family:var(--font-mono);color:#fffc;border-radius:var(--radius-full,9999px);letter-spacing:.05em;pointer-events:auto;background:#00000073;border:1px solid #ffffff2e;padding:.25rem .65rem;font-size:.82rem}.lightbox-counter[hidden]{display:none}.lightbox-close{border-radius:var(--radius-sm);color:#fff;cursor:pointer;pointer-events:auto;background:#ffffff14;border:1px solid #ffffff40;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;transition:background-color .2s,transform .15s;display:flex}.lightbox-close:hover{background:#fff3;transform:scale(1.05)}.lightbox-close svg{width:1.1rem;height:1.1rem}.lightbox-nav{color:#fff;cursor:pointer;z-index:10;backdrop-filter:blur(4px);background:#00000073;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav[hidden]{display:none}.lightbox-nav:hover{background:#ffffff40;transform:translateY(-50%)scale(1.08)}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}.lightbox-figure{flex-direction:column;justify-content:center;align-items:center;max-width:90vw;max-height:85vh;margin:0;padding:0;display:flex}.lightbox-spinner{z-index:5;opacity:0;visibility:hidden;pointer-events:none;border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:2.5rem;height:2.5rem;transition:opacity .2s,visibility .2s;animation:.75s linear infinite lightbox-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lightbox.is-loading .lightbox-spinner{opacity:1;visibility:visible}@keyframes lightbox-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.lightbox-img{object-fit:contain;border-radius:var(--radius-sm);cursor:default;width:auto;max-width:min(88vw,100%);height:auto;max-height:76vh;transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .2s;transform:scale(.92);box-shadow:0 8px 32px #00000080}.lightbox.open .lightbox-img{transform:scale(1)}.lightbox.is-loading .lightbox-img{opacity:0}.lightbox-caption{color:#ffffffd1;text-align:center;text-shadow:0 1px 2px #000c;max-width:min(80vw,600px);margin:.75rem 0 0;font-size:.85rem;line-height:1.5}.lightbox-caption[hidden]{display:none}@media (width<=768px){.lightbox{padding:1rem .5rem}.lightbox-nav{width:2.25rem;height:2.25rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-img{max-width:96vw;max-height:70vh}}html.js .reveal{transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}html.js .reveal.reveal-pending{opacity:0;transform:translateY(16px)}html.js .reveal.revealed{opacity:1;transform:none}.site-main{transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.page-loading{z-index:200;background:color-mix(in srgb, var(--bg) 72%, transparent);backdrop-filter:blur(2px);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.page-loading.visible{opacity:1;pointer-events:auto}.page-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite page-loading-spin}@keyframes page-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.notice-banner{transition:opacity .15s;animation:none}.notice-banner.dismissing{transition:opacity .15s;transform:none}html.js .reveal.reveal-pending{transition:opacity .2s;transform:none}.lang-menu{transition:opacity .15s,visibility 0s linear .15s;transform:none}html.js img[data-image-fade=pending],html.js img[data-image-fade=loaded],.rss-cover img{opacity:1;transition:none;animation:none}.theme-toggle .icon,.heat-tooltip{transform:none}.theme-toggle .icon{transition:opacity .12s}.heat-tooltip{transition:opacity .1s}.site-title,.site-nav ul,.site-footer{transition:opacity .12s;transform:none}.site-nav ul a.active{animation:none!important}.chrome-fade-out{transform:none}.site-main{transition:opacity .15s;transform:none}.lang-switcher:hover .lang-menu,.lang-menu.open{transition:opacity .15s,visibility;transform:none}html.js .block-github .heat-cell:not(.heat-empty){opacity:1;animation:none}.stream-cursor{animation:none}.stream-block .stream-content,.stream-replay,.gh-repo,.rss-card{transition:none}.gh-repo:hover,.rss-card:hover{transform:none}.lightbox-img{transition:opacity .15s;transform:none}.lightbox-spinner{animation-duration:1.5s}.lightbox{transition:opacity .15s}}.markdown-body audio,.markdown-body .audio-native{display:none}.markdown-body .audio-player{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;margin:1.5em 0;padding:1rem 1.1rem;transition:border-color .25s,box-shadow .25s,opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.markdown-body .audio-player.is-playing{border-color:var(--accent);box-shadow:var(--shadow-soft)}.markdown-body .audio-player:before{content:"";background:radial-gradient(circle at 6% 50%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 62%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.markdown-body .audio-player.is-playing:before{opacity:1}.markdown-body .audio-user{align-items:center;gap:1rem;min-width:0;display:flex}.markdown-body .btn-toggle{border:1px solid var(--border);background:var(--subtle,var(--bg-subtle));width:42px;height:42px;color:var(--accent);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform .18s,color .18s,border-color .18s;display:grid}.markdown-body .btn-toggle:hover{border-color:var(--accent);color:var(--text)}.markdown-body .btn-toggle:active{transform:scale(.94)}.markdown-body .audio-player.is-playing .btn-toggle{border-color:var(--accent)}.markdown-body .icon-play,.markdown-body .icon-pause{width:17px;height:17px;display:block}.markdown-body .icon-pause,.markdown-body .audio-player.is-playing .icon-play{display:none}.markdown-body .audio-player.is-playing .icon-pause{display:block}.markdown-body .audio-meta{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.markdown-body .audio-scroll{white-space:nowrap;max-width:100%;display:block;overflow:hidden}.markdown-body .audio-scroll-text{white-space:nowrap;will-change:transform;display:inline-block}.markdown-body .audio-scroll.scrolling .audio-scroll-text{animation:11s cubic-bezier(.45,.05,.55,.95) infinite audio-marquee}@keyframes audio-marquee{0%,12%{transform:translate(0)}50%,60%{transform:translateX(calc(-1 * var(--shift,0px)))}98%,to{transform:translate(0)}}.markdown-body .audio-title{font-size:.95rem;font-weight:600}.markdown-body .audio-desc{color:var(--text-muted);font-size:.82rem}.markdown-body .audio-bottom{justify-content:space-between;align-items:center;gap:1rem;margin-top:.45rem;display:flex}.markdown-body .audio-time{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.markdown-body .audio-bars-mini{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.markdown-body .audio-bars-mini span{background:var(--border);width:2px;height:100%;transition:background .2s}.markdown-body .audio-bars-mini span:first-child{height:40%}.markdown-body .audio-bars-mini span:nth-child(2){height:75%}.markdown-body .audio-bars-mini span:nth-child(3){height:100%}.markdown-body .audio-bars-mini span:nth-child(4){height:60%}.markdown-body .audio-bars-mini span:nth-child(5){height:35%}.markdown-body .audio-player.is-playing .audio-bars-mini span{background:var(--accent)}.markdown-body .audio-track{background:var(--border);cursor:pointer;border-radius:999px;height:4px;margin-top:.65rem;position:relative;overflow:hidden}.markdown-body .audio-fill{background:var(--accent);transform-origin:0;transition:transform .12s linear;position:absolute;inset:0;transform:scaleX(0)}.markdown-body .audio-card{grid-template-columns:88px minmax(0,1fr);align-items:center;column-gap:1.1rem;display:grid}.markdown-body .audio-cover{border-radius:var(--radius-md);border:1px solid var(--border);flex-shrink:0;width:88px;height:88px;overflow:hidden}.markdown-body .audio-cover img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block}.markdown-body .audio-player.is-playing .audio-cover img{transform:scale(1.05)}.markdown-body .audio-card .audio-content{flex-direction:column;min-width:0;display:flex}.markdown-body .audio-card .audio-bottom{margin-top:.35rem}.markdown-body .audio-card .btn-toggle{width:34px;height:34px}.markdown-body .audio-card .icon-play,.markdown-body .audio-card .icon-pause{width:14px;height:14px}@media (width<=720px){.markdown-body .audio-player{padding:.9rem 1rem}.markdown-body .audio-user{gap:.75rem}.markdown-body .audio-card{grid-template-columns:60px minmax(0,1fr);column-gap:.8rem}.markdown-body .audio-cover{width:60px;height:60px}.markdown-body .audio-card .btn-toggle{width:30px;height:30px}.markdown-body .audio-card .icon-play,.markdown-body .audio-card .icon-pause{width:13px;height:13px}.markdown-body .audio-desc{font-size:.78rem}}@media (prefers-reduced-motion:reduce){.markdown-body .audio-player,.markdown-body .audio-cover img,.markdown-body .btn-toggle,.markdown-body .audio-fill{transition:none}.markdown-body .audio-scroll.scrolling .audio-scroll-text{animation:none;transform:none}}.reading-progress{background:var(--accent);transform-origin:0;z-index:100;pointer-events:none;width:100%;height:2px;transition:transform 80ms ease-out;position:fixed;top:0;left:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.reading-progress,.toc-collapsible,.toc-collapsible .toc-chevron{transition:none}}.article-layout{display:block;position:relative}@media (width>=1200px){.article-layout:has(.toc-sidebar){grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:3rem;display:grid}.article-layout:not(:has(.toc-sidebar)){display:block}.article-layout .toc-sidebar{border-left:none;max-height:calc(100vh - 4rem);padding-left:0;position:sticky;top:2rem;overflow-y:auto}.article-layout .toc-collapsible{display:none}}@media (width<=1199px){.article-layout .toc-sidebar{display:none}.toc-collapsible{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);margin:1.5rem 0;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.toc-collapsible summary{cursor:pointer;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;user-select:none;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:700;list-style:none;display:flex}.toc-collapsible summary::-webkit-details-marker{display:none}.toc-collapsible summary::marker{content:"";display:none}.toc-collapsible .toc-chevron{width:1rem;height:1rem;color:var(--text-muted);flex-shrink:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),color .15s}.toc-collapsible summary:hover .toc-chevron{color:var(--accent)}.toc-collapsible[open] .toc-chevron{transform:rotate(180deg)}.toc-collapsible.is-closing .toc-chevron{transform:rotate(0)}.toc-collapsible-body{overflow:hidden}.toc-collapsible .toc{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.75rem}.toc-collapsible .toc-header{display:none}}.toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem;font-size:.76rem;font-weight:750}.toc-track{border-left:1px solid var(--border);position:relative}.toc-marker{background-color:var(--accent);opacity:0;pointer-events:none;z-index:1;border-radius:1px;width:2px;height:0;transition:transform .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1),opacity .15s;position:absolute;top:0;left:-1px}@media (prefers-reduced-motion:reduce){.toc-marker{transition:none}}.toc-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.toc-item{font-size:.82rem;line-height:1.4}.toc-depth-3 .toc-link{padding-left:1.5rem;font-size:.78rem}.toc-depth-4 .toc-link{padding-left:2.15rem;font-size:.74rem}.toc-link{color:var(--text-muted);padding:.28rem .5rem .28rem .85rem;transition:color .18s;display:block;text-decoration:none!important}.toc-link:hover,.toc-link:focus-visible{color:var(--text);outline:none;text-decoration:none!important}.toc-link.active{color:var(--accent);font-weight:600;text-decoration:none!important}.search-dialog{-webkit-backdrop-filter:blur(8px);z-index:1000;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;background:#0000007a;border:none;justify-content:center;align-items:flex-start;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:12vh 0 0;transition:opacity .22s cubic-bezier(.16,1,.3,1),visibility .22s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.search-dialog::backdrop{-webkit-backdrop-filter:blur(8px);background:#0000007a}.search-dialog:not([hidden]).open{opacity:1;visibility:visible;pointer-events:auto}.search-dialog.closing{opacity:0;visibility:hidden;pointer-events:none}.search-dialog[hidden]{display:none!important}.search-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:min(92vw,640px);max-height:75vh;transition:transform .22s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:scale(.95)translateY(-8px);box-shadow:0 16px 40px #0003}.search-dialog:not([hidden]).open .search-panel{transform:scale(1)translateY(0)}.search-dialog.closing .search-panel{transform:scale(.95)translateY(-8px)}.search-form{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:.75rem;padding:.85rem 1.15rem;display:flex}.search-icon{width:1.2rem;height:1.2rem;color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.search-input-wrapper{flex:1;align-items:center;min-width:0;display:flex;position:relative}.search-input{width:100%;color:var(--text);background:0 0;border:none;outline:none;min-width:0;padding-right:1.6rem;font-size:1rem}.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-decoration,.search-input::-webkit-search-results-button,.search-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}.search-clear-btn{width:1.25rem;height:1.25rem;color:var(--text-muted);cursor:pointer;background:#7d7d7d26;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,transform .15s;display:inline-flex;position:absolute;right:.25rem}.search-clear-btn:hover{color:var(--text);background:#7d7d7d40;transform:scale(1.08)}.search-clear-btn:active{transform:scale(.92)}.search-clear-btn[hidden]{display:none!important}.search-scope-toggle{border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius-sm);height:1.75rem;color:var(--accent);cursor:pointer;box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:.3rem;padding:0 .6rem;font-family:inherit;font-size:.75rem;font-weight:600;line-height:1;transition:background-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),transform .15s;display:inline-flex}.search-scope-toggle:hover{border-color:var(--accent);background:var(--card)}.search-scope-toggle:active{transform:scale(.96)}.search-scope-toggle[aria-pressed=true]{background:var(--card);border-color:var(--accent)}.search-close{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.75rem;font-weight:500;line-height:1;transition:border-color .2s,color .2s,background-color .2s,transform .15s;display:inline-flex}.search-close:hover,.search-close:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--card)}.search-close:active{transform:scale(.94)}.search-status{color:var(--text-muted);margin:0;padding:.75rem 1.15rem;font-size:.82rem}.search-results{flex:1;margin:0;padding:.5rem 0;list-style:none;overflow-y:auto}.search-item{border-radius:var(--radius-sm);margin:0 .5rem}.search-result-link{color:var(--text);border-radius:var(--radius-sm);padding:.65rem .75rem;text-decoration:none;transition:background-color .15s,transform .15s;display:block}.search-result-link:hover,.search-item.active .search-result-link{background:var(--bg-subtle);transform:translate(2px)}.search-result-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.search-result-title{color:var(--accent);font-size:.92rem;font-weight:650}.search-result-lang{border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;border-radius:999px;padding:.1rem .35rem;font-size:.68rem}.search-result-excerpt{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.4}.search-footer{border-top:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);gap:1rem;padding:.65rem 1.15rem;font-size:.72rem;display:flex}.search-footer kbd{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);padding:.1rem .3rem}@media (width<=768px){.search-dialog{align-items:flex-end;padding-top:0}.search-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-height:85vh;transition:transform .24s cubic-bezier(.16,1,.3,1);transform:translateY(100%)}.search-dialog:not([hidden]).open .search-panel{transform:translateY(0)}.search-dialog.closing .search-panel{transform:translateY(100%)}.search-footer{display:none}}.bgm-switcher{position:relative}.bgm-switcher:after{content:"";width:100%;height:10px;position:absolute;top:100%;right:0}.bgm-backdrop{display:none}.bgm-drawer{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:990;-webkit-backdrop-filter:blur(12px);transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:.85rem;width:320px;padding:1rem;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),visibility 0s linear .18s;display:flex;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-4px)scale(.98);box-shadow:0 12px 32px #0000001f}.bgm-drawer.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),visibility;transform:none}.bgm-drawer[hidden]{display:none!important}@media (hover:hover) and (width>=769px){.bgm-switcher:hover .bgm-drawer{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),visibility;transform:none}}.bgm-drawer-header{justify-content:space-between;align-items:center;display:flex}.bgm-drawer-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:750}.bgm-current-info{align-items:center;gap:.75rem;display:flex}.bgm-current-cover{border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-subtle);border:1px solid var(--border);flex-shrink:0;width:48px;height:48px}.bgm-cover-placeholder{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.bgm-current-text{flex:1;min-width:0}.bgm-current-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .15rem;font-size:.9rem;font-weight:650;overflow:hidden}.bgm-current-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;overflow:hidden}.bgm-drawer-controls{justify-content:center;align-items:center;gap:.75rem;display:flex}.bgm-ctrl-btn{border:1px solid var(--border);background:var(--bg-subtle);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,color .15s,border-color .15s,background .15s;display:flex}.bgm-ctrl-btn:hover{color:var(--accent);border-color:var(--accent);transform:scale(1.1)}.bgm-ctrl-btn:active{transform:scale(.92)}.bgm-ctrl-btn.play-btn{background:var(--accent);width:42px;height:42px;color:var(--bg);border-color:var(--accent);transition:transform .15s,box-shadow .15s}.bgm-ctrl-btn.play-btn:hover{box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 40%, transparent);transform:scale(1.1)}.bgm-ctrl-btn.play-btn:active{transform:scale(.92)}.bgm-volume-bar{align-items:center;gap:.5rem;display:flex}.bgm-volume-slider{accent-color:var(--accent);cursor:pointer;flex:1;transition:opacity .15s}.bgm-tracklist{border-top:1px solid var(--border);flex-direction:column;gap:.25rem;max-height:160px;margin:0;padding:.5rem 0 0;list-style:none;display:flex;overflow-y:auto}.bgm-track-item{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:.4rem .5rem;font-size:.8rem;transition:background .15s;display:flex}.bgm-track-item:hover,.bgm-track-item.active{background:var(--bg-subtle);color:var(--accent)}.bgm-track-item.active{font-weight:600}@media (width<=768px){.bgm-backdrop{z-index:995;-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;background:#0000007a;transition:opacity .22s cubic-bezier(.16,1,.3,1),visibility 0s linear .22s;display:block;position:fixed;inset:0}.bgm-switcher:has(.bgm-drawer.open) .bgm-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s cubic-bezier(.16,1,.3,1),visibility}.bgm-drawer{z-index:996;box-sizing:border-box;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform-origin:bottom;opacity:1;visibility:visible;pointer-events:none;width:100vw;transition:transform .24s cubic-bezier(.16,1,.3,1),visibility 0s linear .24s;position:fixed;inset:auto 0 0;transform:translateY(100%)}.bgm-drawer.open{pointer-events:auto;transition:transform .24s cubic-bezier(.16,1,.3,1),visibility;transform:translateY(0)}}.markdown-body sup{vertical-align:baseline;line-height:0;position:relative;top:-.5em}.markdown-body a[data-footnote-ref],.markdown-body a.footnote-ref{min-width:1.25rem;height:1.25rem;font-family:var(--font-mono);color:var(--accent);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;user-select:none;justify-content:center;align-items:center;margin:0 .18rem;padding:0 .35rem;font-size:.72rem;font-weight:600;line-height:1;text-decoration:none;transition:color .18s cubic-bezier(.2,.8,.2,1),background-color .18s cubic-bezier(.2,.8,.2,1),border-color .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}.markdown-body a[data-footnote-ref]:hover,.markdown-body a[data-footnote-ref]:focus-visible,.markdown-body a[data-footnote-ref].is-footnote-active{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow);outline:none;transform:translateY(-1px)}.footnote-popover{z-index:960;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-float);color:var(--text);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transform-origin:top;padding:.85rem 1rem;font-size:.88rem;line-height:1.55;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility 0s linear .2s;position:absolute;transform:translateY(6px)scale(.98)}.footnote-popover.arrow-bottom{transform-origin:bottom;transform:translateY(-6px)scale(.98)}.footnote-popover.visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility;transform:translateY(0)scale(1)}.footnote-popover[hidden]{display:none!important}.footnote-popover-arrow{background:var(--card);border:1px solid var(--border-strong);z-index:-1;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.footnote-popover.arrow-top .footnote-popover-arrow{border-bottom:none;border-right:none;top:-6px}.footnote-popover.arrow-bottom .footnote-popover-arrow{border-top:none;border-left:none;bottom:-6px}.footnote-popover-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.45rem;display:flex}.footnote-popover-badge{font-family:var(--font-mono);color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm);padding:1px 6px;font-size:.75rem;font-weight:700}.footnote-popover-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);flex:1;font-size:.78rem;font-weight:600}.footnote-popover-close{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.footnote-popover-close:hover{color:var(--text);background:var(--hover-bg)}.footnote-popover-body{color:var(--text);word-break:break-word;font-size:.86rem;line-height:1.55}.footnote-popover-body p{margin:0}.footnote-popover-body p+p{margin-top:.5rem}.footnote-popover-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px;transition:color .15s,text-decoration-color .15s}.footnote-popover-body a:hover{color:var(--accent-hover)}.footnote-popover-body code{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.8em}.footnote-backdrop{z-index:998;-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;background:#00000073;transition:opacity .25s,visibility 0s linear .25s;position:fixed;inset:0}.footnote-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s,visibility}.footnote-backdrop[hidden]{display:none!important}.footnote-drawer{background:var(--card);border-top:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:999;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:.75rem;width:100%;max-height:70vh;padding:.75rem 1.25rem 1.75rem;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s cubic-bezier(.16,1,.3,1),visibility 0s linear .28s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -8px 32px #0003}.footnote-drawer.open{opacity:1;visibility:visible;pointer-events:auto;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s cubic-bezier(.16,1,.3,1),visibility;transform:translateY(0)}.footnote-drawer[hidden]{display:none!important}.footnote-drawer-handle{background:var(--border-strong);opacity:.8;border-radius:2px;width:36px;height:4px;margin:.25rem auto}.footnote-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.footnote-drawer-title-wrap{align-items:center;gap:.5rem;display:flex}.footnote-drawer-badge{font-family:var(--font-mono);color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm);padding:2px 8px;font-size:.8rem;font-weight:700}.footnote-drawer-title{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.footnote-drawer-close{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.footnote-drawer-close:hover{color:var(--text);background:var(--hover-bg)}.footnote-drawer-body{color:var(--text);word-break:break-word;padding:.25rem 0;font-size:.92rem;line-height:1.6}.footnote-drawer-body p{margin:0}.footnote-drawer-body p+p{margin-top:.65rem}.footnote-drawer-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.footnote-drawer-footer{border-top:1px solid var(--border);padding-top:.5rem}.footnote-drawer-jump-btn{width:100%;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.84rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.footnote-drawer-jump-btn:hover{color:var(--accent);background:var(--hover-bg);border-color:var(--accent)}section.footnotes{border-top:1px dashed var(--border-strong);margin-top:3.5rem;padding-top:1.5rem;font-size:.88rem;line-height:1.6}.footnotes-title{font-size:1.15rem;font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-weight:600;display:flex}.footnotes-title:before{content:"";background:var(--accent);border-radius:var(--radius-sm);width:4px;height:1.1em;display:inline-block}.footnotes-list{color:var(--text-muted);margin:0;padding-left:1.5rem}.footnote-item{margin-bottom:.85rem;padding-left:.25rem;transition:color .15s}.footnote-item:target{color:var(--text);background:var(--accent-glow);border-radius:var(--radius-sm);outline:1px solid var(--accent);margin-left:-.5rem;padding:.25rem .5rem}.footnote-item p{color:var(--text-muted);margin:0}.footnote-item p+p{margin-top:.4rem}.footnote-item strong{color:var(--text)}.footnote-item a:not(.data-footnote-backref){color:var(--accent);text-underline-offset:3px;text-decoration:underline}.footnote-item a:not(.data-footnote-backref):hover{color:var(--accent-hover)}.data-footnote-backref,.footnote-backref{color:var(--accent);opacity:.75;border-radius:var(--radius-sm);vertical-align:middle;justify-content:center;align-items:center;margin-left:.4rem;padding:2px 4px;font-size:.85em;line-height:1;text-decoration:none;transition:opacity .15s,transform .15s,background-color .15s;display:inline-flex}.data-footnote-backref:hover,.footnote-backref:hover{opacity:1;background:var(--accent-glow);transform:translate(-2px)}.data-footnote-backref .footnote-backref-icon,.footnote-backref .footnote-backref-icon{vertical-align:middle;flex-shrink:0;width:13px;height:13px;display:inline-block}.data-footnote-backref sup,.footnote-backref sup{font-family:var(--font-mono);margin-left:2px;font-size:.75em;font-weight:700;line-height:1;top:-.35em}.site-footer a.footer-brand,.site-footer a[href*=OpenHomepage-V2]{font-family:var(--font-serif);letter-spacing:-.015em;vertical-align:baseline;white-space:nowrap;cursor:pointer;user-select:none;background:0 0;border-radius:4px;align-items:baseline;gap:.22em;margin:0 .15rem;padding:.05rem .25rem;font-size:.95rem;font-weight:600;transition:filter .25s;display:inline-flex;position:relative;overflow:hidden;color:var(--text)!important;text-decoration:none!important}.site-footer a.footer-brand .brand-name,.site-footer a[href*=OpenHomepage-V2] .brand-name{color:var(--text)!important}.site-footer a.footer-brand .footer-brand-v2,.site-footer a.footer-brand span.footer-brand-v2,.site-footer a.footer-brand em,.site-footer a[href*=OpenHomepage-V2] .footer-brand-v2,.site-footer a[href*=OpenHomepage-V2] span,.site-footer a[href*=OpenHomepage-V2] em{font-family:var(--font-serif);font-style:italic;font-weight:600;transition:color .15s;color:var(--color-terracotta,#c85a32)!important}html[data-theme=dark] .site-footer a.footer-brand .footer-brand-v2,html[data-theme=dark] .site-footer a.footer-brand span.footer-brand-v2,html[data-theme=dark] .site-footer a.footer-brand em,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2] span,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2] em{color:var(--color-terracotta,#f87171)!important}.site-footer a.footer-brand:after,.site-footer a[href*=OpenHomepage-V2]:after{content:"";pointer-events:none;mix-blend-mode:screen;opacity:0;background:linear-gradient(115deg,#fff0 0%,#ffffff59 20%,#fffffffa 50%,#ffffff59 80%,#fff0 100%);width:50%;height:220%;position:absolute;top:-60%;left:-140%;transform:skew(-25deg)}html[data-theme=dark] .site-footer a.footer-brand:after,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2]:after{background:linear-gradient(115deg,#fff0 0%,#ffffff73 20%,#fff 50%,#ffffff73 80%,#fff0 100%)}.site-footer a.footer-brand:hover,.site-footer a[href*=OpenHomepage-V2]:hover{filter:drop-shadow(0 1px 2px #00000029)drop-shadow(0 3px 8px #00000024);color:var(--text)!important;text-decoration:none!important}.site-footer a.footer-brand:hover:after,.site-footer a[href*=OpenHomepage-V2]:hover:after{animation:1.3s cubic-bezier(.2,.8,.25,1) forwards brand-shimmer}html[data-theme=dark] .site-footer a.footer-brand:hover,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2]:hover{filter:drop-shadow(0 0 8px #f87171a6)drop-shadow(0 0 18px #ffffff59)}.site-footer a.footer-brand:hover .footer-brand-v2,.site-footer a[href*=OpenHomepage-V2]:hover .footer-brand-v2,.site-footer a[href*=OpenHomepage-V2]:hover span,.site-footer a[href*=OpenHomepage-V2]:hover em{color:var(--color-terracotta,#c85a32)!important}html[data-theme=dark] .site-footer a.footer-brand:hover .footer-brand-v2,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2]:hover .footer-brand-v2,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2]:hover span,html[data-theme=dark] .site-footer a[href*=OpenHomepage-V2]:hover em{color:var(--color-terracotta,#f87171)!important}@keyframes brand-shimmer{0%{opacity:0;left:-140%}15%{opacity:1}85%{opacity:1}to{opacity:0;left:240%}}.about-hero{text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;margin-bottom:2rem;padding:1rem 1rem 2.25rem;display:flex}.about-banner-wrap{justify-content:center;align-items:center;width:100%;margin-bottom:1.25rem;display:flex}.about-brand-banner{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);user-select:none;justify-content:center;align-items:baseline;gap:.28em;font-size:clamp(2.4rem,6vw,3.4rem);font-weight:600;line-height:1.15;text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.about-brand-banner:hover{transform:scale(1.02)}.about-brand-main{color:var(--text);font-family:var(--font-serif)}.about-brand-v2{font-family:var(--font-serif);color:var(--color-terracotta,#c85a32);font-style:italic;font-weight:600}html[data-theme=dark] .about-brand-v2{color:var(--color-terracotta,#f87171)}.about-slogan{max-width:58ch;color:var(--text-muted);margin:0 0 1.25rem;font-size:1rem;line-height:1.55}.about-slogan strong{color:var(--text);letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.25rem;font-weight:600;display:block}.about-version-badge{justify-content:center;align-items:center;display:inline-flex}.version-pill{background:var(--bg-subtle);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text);letter-spacing:.02em;user-select:none;border-radius:9999px;align-items:center;gap:.45rem;padding:.3rem .85rem;font-size:.8rem;font-weight:600;transition:border-color .25s,background-color .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:inline-flex;box-shadow:0 2px 8px #0000000a}.version-pill:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-subtle));transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.version-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2.4s cubic-bezier(.4,0,.6,1) infinite version-pulse;display:inline-block}@keyframes version-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.version-dot{animation:none}.about-brand-banner,.version-pill{transition:none}}.version-label{color:var(--accent);font-weight:700}.block-github[data-astro-cid-wkqr3c5v]{--heat-0:var(--heat-light-0);--heat-1:var(--heat-light-1);--heat-2:var(--heat-light-2);--heat-3:var(--heat-light-3);--heat-4:var(--heat-light-4)}html[data-theme=dark] .block-github[data-astro-cid-wkqr3c5v]{--heat-0:var(--heat-dark-0);--heat-1:var(--heat-dark-1);--heat-2:var(--heat-dark-2);--heat-3:var(--heat-dark-3);--heat-4:var(--heat-dark-4)}
