@font-face{font-family:Alibaba PuHuiTi;src:url(/fonts/subsets/AlibabaPuHuiTi-3-55-Regular-base.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-33FF,U+FE0?,U+FF00-FFEF}@font-face{font-family:Alibaba PuHuiTi;src:url(/fonts/subsets/AlibabaPuHuiTi-3-55-Regular-gb2312.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3400-9FFF}@font-face{font-family:Noto Serif SC;src:url(/fonts/subsets/NotoSerifSC-Variable-base.woff2)format("woff2-variations");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0-33FF,U+FE0?,U+FF00-FFEF}@font-face{font-family:Noto Serif SC;src:url(/fonts/subsets/NotoSerifSC-Variable-gb2312.woff2)format("woff2-variations");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+3400-9FFF}@font-face{font-family:LXGW WenKai;src:url(/fonts/subsets/LXGWWenKai-Regular-base.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-33FF,U+FE0?,U+FF00-FFEF}@font-face{font-family:LXGW WenKai;src:url(/fonts/subsets/LXGWWenKai-Regular-gb2312.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3400-9FFF}@font-face{font-family:Liyu Shoushu;src:url(/fonts/subsets/LiyuShoushu-Regular-base.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-33FF,U+FE0?,U+FF00-FFEF}@font-face{font-family:Liyu Shoushu;src:url(/fonts/subsets/LiyuShoushu-Regular-gb2312.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3400-9FFF}@font-face{font-family:Chill ZhuoKai;src:url(/fonts/subsets/ChillZhuoKai-Regular-base.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-33FF,U+FE0?,U+FF00-FFEF}@font-face{font-family:Chill ZhuoKai;src:url(/fonts/subsets/ChillZhuoKai-Regular-gb2312.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3400-9FFF}
@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/DMMono-Light-latin-ext.woff2)format("woff2");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:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/DMMono-Light-latin.woff2)format("woff2");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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DMMono-Regular-latin-ext.woff2)format("woff2");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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DMMono-Regular-latin.woff2)format("woff2");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:Vonwaon Bitmap;src:url(/fonts/VonwaonBitmap-16px.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Special Elite;src:url(/fonts/SpecialElite-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--white:#fefefb;--white-rgb:254,254,251;--bg:#0a0a0a;--panel:#0b0b0b;--line:rgba(var(--white-rgb),.12);--muted:rgba(var(--white-rgb),.5);--soft:rgba(var(--white-rgb),.72);--foreground:#f4f4f1;--background:var(--bg);--font-sans:"Alibaba PuHuiTi",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif;--font-home:var(--font-sans);--font-serif:"Songti SC",STSong,SimSun,"宋体",serif;--font-mono:"DM Mono",monospace}html.light-mode{--bg:var(--white);--panel:#e9e8e2;--line:#0c0c0c24;--muted:#0c0c0c80;--soft:#0c0c0cb8;--foreground:#111;--background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.loader-active,html.loader-active body{overscroll-behavior:none;overflow:hidden}html.loader-active .custom-cursor{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:#f4f4f1;font-family:var(--font-sans);margin:0;font-weight:300;overflow-x:hidden}html{scrollbar-width:thin;scrollbar-color:rgba(var(--white-rgb),.38) var(--bg)}html.light-mode{scrollbar-color:#0006 var(--bg)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:rgba(var(--white-rgb),.38);background-clip:content-box;border:2px solid #0000;border-radius:999px;min-height:56px}::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--white-rgb),.68)}.light-mode ::-webkit-scrollbar-thumb{background-color:#0006}.light-mode ::-webkit-scrollbar-thumb:hover{background-color:#000000ad}a{color:inherit;text-decoration:none}button,input{font:inherit}::selection{background:var(--foreground);color:var(--bg)}.content-shell{width:min(1260px,100% - 96px);margin:0 auto}.section-rail{--rail-item:40px;--rail-gap:5px;--rail-step:calc(var(--rail-item) + var(--rail-gap));z-index:42;background:color-mix(in srgb,var(--bg) 76%,transparent);-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100%;will-change:transform,opacity;border-radius:28px;width:88px;padding:7px;transition:opacity .28s,visibility .28s,transform .68s cubic-bezier(.16,1.32,.32,1);position:fixed;top:50%;right:clamp(22px,2vw,38px);transform:translate(24px,-50%)scale(.9);box-shadow:0 16px 46px #0000001a}.section-rail.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%)scale(1)}.section-rail__filter{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.section-rail__goo{z-index:0;filter:url(#section-rail-goo);pointer-events:none;position:absolute;inset:7px}.section-rail__blob,.section-rail__drop,.section-rail__thread{background:var(--foreground);display:block;position:absolute}.section-rail__blob{width:100%;height:var(--rail-item);transform:translate3d(0,calc(var(--section-index) * var(--rail-step)),0);will-change:transform;border-radius:999px;transition:transform .68s cubic-bezier(.18,1.38,.32,1);top:0;left:0}.section-rail__drop{left:50%;top:calc((var(--rail-item) - 14px) / 2);width:14px;height:14px;transform:translate3d(0,calc(var(--section-index) * var(--rail-step)),0);will-change:transform;border-radius:50%;margin-left:-7px;transition:transform .82s cubic-bezier(.2,1.2,.28,1)}.section-rail__thread{left:50%;top:calc(var(--motion-start) * var(--rail-step) + var(--rail-item) / 2);width:12px;height:calc(var(--motion-distance) * var(--rail-step));transform-origin:50%;border-radius:999px;margin-left:-6px;animation:.74s cubic-bezier(.2,.8,.2,1) both section-rail-thread}.section-rail__items{z-index:1;gap:var(--rail-gap);flex-direction:column;display:flex;position:relative}.section-rail a{height:var(--rail-item);color:var(--muted);letter-spacing:.055em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:520;line-height:1;transition:color .2s,transform .34s cubic-bezier(.16,1.3,.32,1);display:flex}.section-rail a:hover{color:var(--foreground);transform:translate(-3px)}.section-rail a.is-active{color:var(--bg);transform:none}.section-rail a:focus-visible{outline:1px solid var(--foreground);outline-offset:3px}.section-rail[data-locale=en-US]{width:116px}.section-rail[data-locale=en-US] a{letter-spacing:.025em;font-size:11px}.home-page #about,.home-page #stack,.home-page #works,.home-page #depth,.home-page #contact{scroll-margin-top:96px}@keyframes section-rail-thread{0%{opacity:0;transform:scale(.2,.08)}22%{opacity:.9;transform:scale(1.16,1.08)}62%{opacity:.72;transform:scaleX(.72)}to{opacity:0;transform:scale(.18,.16)}}@media (prefers-reduced-motion:reduce){.section-rail,.section-rail__blob,.section-rail__drop,.section-rail a{transition-duration:.01ms}.section-rail__thread{display:none}}@media (max-width:1280px){.section-rail{display:none}}.custom-cursor{z-index:10000;pointer-events:none;opacity:0;mix-blend-mode:normal;transition:opacity .25s;display:none;position:fixed;inset:0}.goo-cursor-canvas{opacity:1;pointer-events:none;width:100vw;height:100vh;transition:opacity .12s;display:block;position:fixed;inset:0}.goo-cursor-label{opacity:0;will-change:transform,opacity;transition:opacity .12s;display:block;position:fixed;top:0;left:0;transform:translate(-40px,-40px)}.goo-cursor-label__text{color:#080909;letter-spacing:-.025em;text-transform:uppercase;-webkit-text-stroke:2.5px #fffdf4f5;paint-order:stroke fill;filter:drop-shadow(0 2px 1.5px #00000038);transform-origin:0;will-change:transform;background:0 0;border:0;padding:0;font-family:Arial Rounded MT Bold,Trebuchet MS,ui-rounded,system-ui,sans-serif;font-size:12px;font-weight:900;line-height:1;transition:transform .32s cubic-bezier(.16,1.18,.32,1);display:block;transform:rotate(-2.8deg)scale(.86,1.08)}.custom-cursor.has-label .goo-cursor-label{opacity:1}.custom-cursor.has-label .goo-cursor-label__text{animation:2.1s ease-in-out .32s infinite goo-label-squish;transform:rotate(-1.5deg)scale(1)}.custom-cursor.is-pressed .goo-cursor-label{opacity:0}.custom-cursor.is-pressed .goo-cursor-label__text{animation:none;transform:rotate(0)scale(.92,1.04)}@keyframes goo-label-squish{0%,to{transform:rotate(-1.5deg)scale(1)}42%{transform:rotate(-.6deg)scale(1.025,.985)}68%{transform:rotate(-2deg)scale(.99,1.015)}}.article-cursor{opacity:0;pointer-events:none;will-change:transform;width:0;height:0;transition:opacity .12s;position:fixed;top:0;left:0}.article-cursor__mark{border:1px solid var(--foreground);width:28px;height:28px;box-shadow:0 0 0 1px color-mix(in srgb,var(--bg) 78%,transparent);opacity:0;border-radius:50%;place-items:center;transition:opacity .14s,transform .24s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:-14px;left:-14px;transform:scale(.62)}.article-cursor__mark i{background:var(--foreground);width:4px;height:4px;box-shadow:0 0 0 1px var(--bg);border-radius:50%;display:block}.article-cursor__text{background:var(--foreground);width:2px;height:24px;box-shadow:0 0 0 1px color-mix(in srgb,var(--bg) 84%,transparent);opacity:0;border-radius:1px;transition:opacity .1s,transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:-12px;left:-1px;transform:scaleY(.56)}.article-cursor__text:before,.article-cursor__text:after{content:"";background:inherit;border-radius:1px;width:8px;height:2px;position:absolute;left:-3px}.article-cursor__text:before{top:0}.article-cursor__text:after{bottom:0}.custom-cursor.is-article .goo-cursor-canvas{opacity:0}.custom-cursor.is-article .article-cursor{opacity:1}.custom-cursor.is-article:not(.is-article-text) .article-cursor__mark{opacity:1;transform:scale(1)}.custom-cursor.is-article.is-article-text .article-cursor__text{opacity:1;transform:scaleY(1)}.custom-cursor.is-article.is-pressed .article-cursor__mark{transform:scale(.8)}.inner-page--archive .inner-hero{min-height:0}.inner-page--archive .inner-hero__title h1{font-size:6.4rem}.inner-page--archive .inner-hero__title em{font-size:4rem}.archive-index.inner-content{padding-top:0}.archive-progress{border-bottom:1px solid var(--line);align-items:center;gap:clamp(48px,8vw,118px);min-height:142px;padding:26px 34px;display:flex}.archive-progress__item{flex-direction:column;align-items:flex-start;min-width:112px;display:flex}.archive-progress__item strong{color:var(--foreground);letter-spacing:-.06em;white-space:nowrap;font-variant-numeric:tabular-nums;font:400 clamp(2.15rem,3.3vw,3.3rem)/1 DM Mono,monospace}.archive-progress__item--day strong{color:var(--foreground)}.archive-progress__item strong small{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:.42em}.archive-progress__item span{color:var(--muted);letter-spacing:.04em;margin-top:14px;font-size:14px}.archive-year__head span,.archive-month header span,.archive-month time,.archive-month__list>p{color:var(--muted);letter-spacing:.12em;font:9px DM Mono,monospace}.archive-year-nav{z-index:38;scrollbar-width:none;flex-direction:column;gap:3px;max-height:calc(100svh - 180px);padding:6px 0;display:flex;position:fixed;top:50%;right:clamp(28px,3.6vw,72px);overflow-y:auto;transform:translateY(-50%)}.archive-year-nav:before{content:"";background:var(--line);width:1px;position:absolute;top:18px;bottom:18px;right:3px}.archive-year-nav::-webkit-scrollbar{display:none}.archive-year-nav a{min-width:68px;min-height:36px;color:var(--muted);letter-spacing:.06em;text-align:right;border-radius:999px;justify-content:flex-end;align-items:center;padding:0 18px 0 10px;font:10px DM Mono,monospace;transition:background-color .25s,color .25s,transform .25s;display:flex;position:relative}.archive-year-nav a:after{content:"";z-index:1;background:var(--bg);border:1px solid;border-radius:50%;width:7px;height:7px;transition:background-color .25s,box-shadow .25s,transform .25s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.archive-year-nav a:hover,.archive-year-nav a:focus-visible{background:color-mix(in srgb,var(--foreground) 7%,transparent);color:var(--foreground);transform:translate(-3px)}.archive-year-nav a:hover:after,.archive-year-nav a:focus-visible:after{box-shadow:0 0 0 4px var(--bg);background:currentColor;transform:translateY(-50%)scale(1.15)}.archive-year{border-bottom:1px solid var(--line);grid-template-columns:240px minmax(0,1fr);gap:48px;padding:64px 0;scroll-margin-top:100px;display:grid}.archive-year__head{align-self:start;position:sticky;top:105px}.archive-year__head h2{letter-spacing:-.09em;margin:0 0 14px;font:400 clamp(3.8rem,7vw,6.8rem)/.82 DM Mono,monospace}.archive-year__head span{display:block}.archive-year__months{min-width:0}.archive-month{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:28px;padding:30px 0;display:grid}.archive-month:first-child{border-top:0;padding-top:0}.archive-month>header{justify-content:space-between;align-items:baseline;gap:12px;padding-top:7px;display:flex}.archive-month h3{margin:0;font:400 1.08rem/1 DM Mono,monospace}.archive-month__list{min-width:0}.archive-month__list a{grid-template-columns:106px minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:106px;padding:18px 0;transition:padding .28s,background-color .28s;display:grid}.archive-month__list a:hover,.archive-month__list a:focus-visible{background:color-mix(in srgb,currentColor 2.5%,transparent);padding-left:14px}.archive-month__list time{align-self:start;padding-top:6px}.archive-month__list h4{letter-spacing:0;margin:0;font-size:1.42rem;font-weight:400;line-height:1.3}.archive-month__list p{max-width:650px;color:color-mix(in srgb,var(--foreground) 58%,transparent);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:9px 0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.archive-month__list div>span{color:var(--muted);letter-spacing:.08em;font:9px DM Mono,monospace}.archive-month__list svg{color:var(--muted);transition:transform .28s,color .28s}.archive-month__list a:hover svg,.archive-month__list a:focus-visible svg{color:var(--foreground);transform:translate(3px,-3px)}@media (max-width:900px){.archive-year{grid-template-columns:180px minmax(0,1fr);gap:32px}.archive-month{grid-template-columns:80px minmax(0,1fr);gap:20px}.archive-month__list a{grid-template-columns:92px minmax(0,1fr) 22px;gap:14px}}@media (max-width:1200px){.archive-year-nav{flex-direction:row;gap:8px;width:max-content;max-width:100%;margin:24px 0 0 auto;padding:0;position:static;overflow-x:auto;transform:none}.archive-year-nav:before,.archive-year-nav a:after{display:none}.archive-year-nav a{border:1px solid var(--line);text-align:center;background:0 0;min-width:auto;min-height:34px;padding:0 13px}.archive-year-nav a:hover,.archive-year-nav a:focus-visible{border-color:var(--foreground);background:var(--foreground);color:var(--bg);transform:none}}@media (max-width:700px){.inner-page--archive .inner-hero{min-height:0}.inner-page--archive .inner-hero__title h1{font-size:3.55rem}.inner-page--archive .inner-hero__title em{font-size:1.9rem}.archive-index.inner-content{padding-top:0}.archive-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;min-height:0;padding:26px 4px;display:grid}.archive-progress__item{min-width:0}.archive-progress__item strong{font-size:clamp(1.65rem,9vw,2.5rem)}.archive-progress__item span{margin-top:10px;font-size:12px}.archive-year-nav{margin:20px 0 0}.archive-year{padding:48px 0;display:block}.archive-year__head{justify-content:space-between;align-items:flex-end;margin-bottom:34px;display:flex;position:static}.archive-year__head h2{margin:0;font-size:4.4rem}.archive-month{padding:28px 0;display:block}.archive-month>header{justify-content:flex-start;margin-bottom:16px}.archive-month__list a{grid-template-columns:minmax(0,1fr) 20px;min-height:0;padding:20px 0}.archive-month__list time{grid-column:1/-1;padding:0}.archive-month__list h4{font-size:1.22rem}.archive-month__list p{-webkit-line-clamp:2}.archive-month__list svg{grid-area:2/2}}.custom-cursor.is-visible{opacity:1}.custom-cursor.is-morphing{mix-blend-mode:difference}.remote-visitor-cursors{z-index:9998;pointer-events:none;position:absolute;inset:0;overflow:hidden}.remote-visitor-cursor{width:22px;height:22px;color:var(--remote-cursor-color);filter:drop-shadow(0 3px 8px #00000052);will-change:left, top;transition:left 80ms linear,top 80ms linear;display:block;position:absolute;top:0;left:0}.remote-visitor-cursor svg{display:block;overflow:visible}.remote-visitor-cursor path{fill:var(--remote-cursor-color);stroke:#050505e0;stroke-width:1.2px;stroke-linejoin:round}.remote-visitor-cursor b{background:var(--remote-cursor-color);color:#080808;letter-spacing:.05em;white-space:nowrap;border-radius:3px 8px 8px;padding:5px 8px;font:500 10px/1 DM Mono,monospace;display:block;position:absolute;top:17px;left:17px;box-shadow:0 6px 20px #0003}.remote-visitor-cursor.is-right b{border-radius:8px 3px 8px 8px;left:auto;right:17px}.remote-visitor-cursor.is-bottom b{border-radius:8px 8px 8px 3px;top:auto;bottom:17px}.remote-visitor-cursor.is-right.is-bottom b{border-radius:8px 8px 3px}@media (pointer:coarse){.remote-visitor-cursors{display:none}}@media (prefers-reduced-motion:reduce){.remote-visitor-cursor{transition:none}}.cursor-pointer{pointer-events:none;will-change:transform;position:fixed;top:0;left:0}@media (pointer:fine){html.custom-cursor-enabled .custom-cursor{display:block}html.custom-cursor-enabled,html.custom-cursor-enabled body:not(.admin-cursor-mode),html.custom-cursor-enabled body:not(.admin-cursor-mode) *{cursor:none!important}}.cursor-pointer__inner{width:24px;height:24px;position:relative}.cursor-pointer__inner:before{content:"";background:var(--white);opacity:0;transform-origin:50%;pointer-events:none;border-radius:50%;width:clamp(120px,12vw,210px);height:clamp(120px,12vw,210px);transition:opacity .18s,transform .32s cubic-bezier(.16,1,.3,1),border-radius .32s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.72)}.cursor-pointer__arrow{color:var(--foreground);transform-origin:0 0;transition:transform .3s cubic-bezier(.16,1,.3,1),color .25s,opacity .2s;display:block}.cursor-pointer__hand{width:23px;height:23px;color:var(--foreground);opacity:0;stroke-width:1.55px;transform-origin:45% 65%;filter:drop-shadow(0 1px 0 var(--bg));transition:opacity .16s,transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:-2px;left:-2px;transform:translate(-3px,4px)rotate(-14deg)scale(.55)}.custom-cursor.is-hovering .cursor-pointer__arrow{opacity:0;transform:rotate(20deg)scale(.55)}.custom-cursor.is-hovering:not(.is-typing) .cursor-pointer__hand{opacity:1;transform:translate(0,0)rotate(0)scale(1)}.custom-cursor.is-pressed .cursor-pointer__arrow{transform:rotate(20deg)scale(.45)}.custom-cursor.is-hovering.is-pressed .cursor-pointer__hand{transform:translate(1px,2px)rotate(-5deg)scale(.82)}.custom-cursor.is-typing .cursor-pointer__arrow,.custom-cursor.is-typing .cursor-pointer__hand{opacity:0;transform:scale(0)}.custom-cursor.is-typing .cursor-pointer__inner:after{content:"";background:var(--foreground);width:1.5px;height:16px;transition:opacity .2s;position:absolute;top:0;left:0;transform:translateY(-50%)}.custom-cursor.is-external .cursor-pointer__arrow{transform:rotate(90deg)scale(1.2)}.cursor-label--go,.cursor-label--view{opacity:0;font:300 13px/1 var(--font-sans);letter-spacing:.08em;color:var(--muted);white-space:nowrap;pointer-events:none;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:6px;left:22px;transform:translate(3px,3px)}.custom-cursor.is-link:not(.is-viewing):not(.is-thinking) .cursor-label--go,.custom-cursor.is-viewing:not(.is-thinking) .cursor-label--view{opacity:1;color:var(--foreground);transform:translate(0,0)}.cursor-label--thinking{width:30px;height:30px;color:var(--foreground);opacity:0;pointer-events:none;place-items:center;transition:opacity .2s,transform .3s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:-3px;left:-3px;transform:scale(.72)}.custom-cursor.is-thinking .cursor-label--thinking{opacity:1;transform:scale(1)}.cursor-hourglass{width:26px;height:26px;filter:drop-shadow(0 1px 0 var(--bg));transform-origin:50%;will-change:transform;display:block;overflow:visible}.custom-cursor.is-thinking .cursor-hourglass{animation:3.2s cubic-bezier(.65,0,.35,1) infinite cursor-hourglass-turn}.cursor-hourglass__rim,.cursor-hourglass__glass{stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.cursor-hourglass__glass{opacity:.72}.cursor-hourglass__sand{fill:currentColor;opacity:.88;transform-box:fill-box;transform-origin:50% 100%;will-change:transform}.cursor-hourglass__stream{fill:none;stroke:currentColor;stroke-width:.9px;stroke-linecap:round;stroke-dasharray:.75 1.15;opacity:0;will-change:opacity, stroke-dashoffset}.custom-cursor.is-thinking .cursor-hourglass__sand--top{animation:3.2s linear infinite cursor-hourglass-sand-top}.custom-cursor.is-thinking .cursor-hourglass__sand--bottom{animation:3.2s linear infinite cursor-hourglass-sand-bottom}.custom-cursor.is-thinking .cursor-hourglass__stream{animation:3.2s linear infinite cursor-hourglass-stream}@keyframes cursor-hourglass-turn{0%,36%{transform:rotate(0)}50%,86%{transform:rotate(180deg)}to{transform:rotate(360deg)}}@keyframes cursor-hourglass-sand-top{0%{transform:scaleY(1)}32%,50%{transform:scaleY(.12)}82%,to{transform:scaleY(1)}}@keyframes cursor-hourglass-sand-bottom{0%{transform:scaleY(.12)}32%,50%{transform:scaleY(1)}82%,to{transform:scaleY(.12)}}@keyframes cursor-hourglass-stream{0%,2%,34%,50%,52%,84%,to{opacity:0;stroke-dashoffset:0}5%,31%,55%,81%{opacity:.9}32%,82%{stroke-dashoffset:-7.6px}}.custom-cursor.is-thinking .cursor-pointer__arrow{opacity:0;transform:scale(.65)rotate(-15deg)}.custom-cursor.is-thinking .cursor-pointer__hand{opacity:0;transform:translate(-2px,3px)rotate(-10deg)scale(.65)}@media (prefers-reduced-motion:reduce){.custom-cursor.is-thinking .cursor-hourglass,.custom-cursor.is-thinking .cursor-hourglass__sand,.custom-cursor.is-thinking .cursor-hourglass__stream{animation:none}}.custom-cursor.is-morphing .cursor-pointer__inner:before{opacity:1;transform:translate(-50%,-50%)scale(1)}.custom-cursor.is-morphing.is-pressed .cursor-pointer__inner:before{transform:translate(-50%,-50%)scale(.88)}.custom-cursor.is-morphing .cursor-pointer__arrow,.custom-cursor.is-morphing .cursor-pointer__hand,.custom-cursor.is-morphing .cursor-label{opacity:0}.custom-cursor.is-viewing .cursor-label--go{opacity:0!important;transform:translate(3px,3px)!important}.admin-cursor-mode .custom-cursor{display:none}.admin-cursor-mode,.admin-cursor-mode *{cursor:auto!important}.admin-cursor-mode a,.admin-cursor-mode button,.admin-cursor-mode label,.admin-cursor-mode select,.admin-cursor-mode [role=button]{cursor:pointer!important}.admin-cursor-mode input,.admin-cursor-mode textarea{cursor:text!important}
.admin-ui-button{font:500 14px/1 var(--font-sans);white-space:nowrap;border:0;border-radius:0;outline:none;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,opacity .18s;display:inline-flex}.admin-ui-button:focus-visible{box-shadow:0 0 0 1px var(--bg),0 0 0 3px color-mix(in srgb,var(--foreground) 55%,transparent)}.admin-ui-button:disabled{opacity:.45;pointer-events:none}.admin-ui-button svg{pointer-events:none;flex:none}.admin-ui-button--default{background:var(--foreground);color:var(--bg)}.admin-ui-button--default:hover{background:color-mix(in srgb,var(--foreground) 82%,var(--bg))}.admin-ui-button--destructive{color:#fff;background:#dc3f3f}.admin-ui-button--destructive:hover{background:#c22f2f}.admin-ui-button--outline{border:1px solid var(--line);color:var(--foreground);background:0 0}.admin-ui-button--outline:hover{border-color:color-mix(in srgb,var(--foreground) 38%,transparent);background:color-mix(in srgb,var(--foreground) 6%,transparent);color:var(--foreground)}.admin-ui-button--secondary{background:color-mix(in srgb,var(--foreground) 8%,transparent);color:var(--foreground);border:1px solid #0000}.admin-ui-button--secondary:hover{background:color-mix(in srgb,var(--foreground) 13%,transparent)}.admin-ui-button--ghost{color:inherit;background:0 0}.admin-ui-button--ghost:hover{background:color-mix(in srgb,var(--foreground) 7%,transparent);color:var(--foreground)}.admin-ui-button--link{height:auto;color:var(--foreground);text-underline-offset:4px;background:0 0;padding:0}.admin-ui-button--link:hover{text-decoration:underline}.admin-ui-button--default-size{height:36px;padding:0 16px}.admin-ui-button--xs{height:28px;padding:0 10px;font-size:12px}.admin-ui-button--sm{height:32px;padding:0 12px;font-size:13px}.admin-ui-button--icon{width:36px;height:36px;padding:0}.admin-ui-button--icon-xs{width:28px;height:28px;padding:0}.admin-ui-button--icon-sm{width:32px;height:32px;padding:0}.admin-ui-button--lg{height:40px;padding:0 24px}.admin-ui-button--icon-lg{width:40px;height:40px;padding:0}.admin-ui-input,.admin-ui-textarea,.admin-ui-select{border:1px solid var(--line);width:100%;color:var(--foreground);font:14px/1.5 var(--font-sans);background:0 0;border-radius:0;outline:none;transition:border-color .18s,box-shadow .18s,background-color .18s}.admin-ui-input,.admin-ui-select{height:36px;padding:0 12px}.admin-ui-select option{color:#111;background:#fff}.admin-ui-textarea{resize:vertical;min-height:80px;padding:8px 12px}.admin-ui-input:hover,.admin-ui-textarea:hover,.admin-ui-select:hover{border-color:color-mix(in srgb,var(--foreground) 26%,transparent)}.admin-ui-input:focus,.admin-ui-textarea:focus,.admin-ui-select:focus{border-color:color-mix(in srgb,var(--foreground) 46%,transparent);background:color-mix(in srgb,var(--foreground) 2.5%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--foreground) 7%,transparent)}.admin-ui-input::placeholder,.admin-ui-textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.admin-ui-card{border:1px solid var(--line);background:color-mix(in srgb,var(--foreground) 2.5%,transparent);color:var(--foreground);border-radius:0}.admin-ui-card__header{border-bottom:1px solid var(--line);padding:20px}.admin-ui-card__content{padding:20px}.admin-ui-badge{border:1px solid var(--line);background:color-mix(in srgb,var(--foreground) 4%,transparent);min-height:22px;color:var(--soft);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 8px;font:10px/1 DM Mono,monospace;display:inline-flex}.admin-ui-table{border-collapse:collapse;background:0 0;width:100%}.admin-ui-table__head,.admin-ui-table__cell{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px}.admin-ui-table__header .admin-ui-table__head{background:color-mix(in srgb,var(--foreground) 5%,transparent);color:var(--foreground);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px;font-weight:400}
.article-detail-page{min-height:100vh;color:var(--foreground);background:var(--background);padding:132px clamp(24px,7vw,120px) 96px}.depth-index>a{color:inherit;text-decoration:none;display:block}.article-detail-hero{max-width:1180px;margin:0 auto clamp(48px,6vw,76px)}.article-back-link{color:var(--muted);font:inherit;letter-spacing:inherit;align-items:center;gap:5px;text-decoration:none;transition:color .2s;display:inline-flex}.article-back-link:hover{color:var(--foreground)}.article-detail-hero div{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.article-detail-hero h1{letter-spacing:0;text-align:center;text-wrap:balance;max-width:1180px;margin:0 auto 12px;font-size:clamp(42px,4vw,56px);font-weight:700;line-height:1.25}.article-detail-hero div{flex-wrap:wrap;justify-content:center;gap:8px 14px;display:flex}.article-detail-hero:has(.article-detail-hero__summary){margin-bottom:clamp(30px,4vw,48px)}.article-detail-hero__summary{text-align:left;width:min(660px,100%);margin:clamp(24px,2.5vw,32px) auto 0;padding:2px 0}.article-detail-hero__summary span{color:color-mix(in srgb, var(--foreground) 42%, transparent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:10px;line-height:1;display:block}.article-detail-hero__summary p{color:color-mix(in srgb, var(--foreground) 66%, transparent);text-wrap:pretty;margin:0;font-size:15px;line-height:1.8}.article-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,760px) minmax(0,1fr);align-items:start;max-width:1520px;margin:0 auto;display:grid}.article-detail-layout>article{grid-column:2;min-width:0;max-width:100%}.article-loading-skeleton__status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.article-detail-hero__loading-title{place-items:center;min-height:70px;display:grid}.article-detail-hero__loading-title i,.article-detail-hero__loading-meta i,.article-loading-skeleton i{background:linear-gradient(100deg, color-mix(in srgb, var(--foreground) 6%, transparent) 18%, color-mix(in srgb, var(--foreground) 14%, transparent) 42%, color-mix(in srgb, var(--foreground) 6%, transparent) 66%);background-size:240% 100%;border-radius:999px;animation:1.65s ease-in-out infinite article-loading-shimmer;display:block;overflow:hidden}.article-detail-hero__loading-title i{width:min(390px,62vw);height:clamp(40px,4vw,54px)}.article-detail-hero__loading-meta{min-height:15px}.article-detail-hero__loading-meta i{width:54px;height:9px}.article-detail-hero__loading-meta i:nth-child(2){width:42px;animation-delay:80ms}.article-detail-hero__loading-meta i:nth-child(3){width:64px;animation-delay:.16s}.article-detail-hero__loading-meta i:nth-child(4){width:76px;animation-delay:.24s}.article-loading-skeleton--body{min-height:620px}.article-loading-skeleton__body-content{gap:0;display:grid}.article-loading-skeleton__eyebrow{gap:9px;margin-bottom:18px;display:flex}.article-loading-skeleton__eyebrow i{width:58px;height:9px}.article-loading-skeleton__eyebrow i:last-child{width:42px;animation-delay:70ms}.article-loading-skeleton__heading{width:68%;height:34px;margin-bottom:26px;border-radius:9px!important;animation-delay:.11s!important}.article-loading-skeleton__lines{gap:13px;display:grid}.article-loading-skeleton__lines i{width:100%;height:13px}.article-loading-skeleton__lines i:nth-child(2){width:94%;animation-delay:70ms}.article-loading-skeleton__lines i:nth-child(3){width:72%;animation-delay:.14s}.article-loading-skeleton__media{width:100%;height:clamp(180px,22vw,260px);margin:38px 0 34px;border-radius:18px!important;animation-delay:.18s!important}.article-loading-skeleton__subheading{width:44%;height:25px;margin-bottom:22px;border-radius:7px!important}.article-loading-skeleton__lines--lower i:first-child{width:96%}.article-loading-skeleton__lines--lower i:nth-child(2){width:86%}.article-loading-skeleton__lines--lower i:nth-child(3){width:62%}.article-toc--loading{pointer-events:none}.article-loading-skeleton--toc{border-left:1px solid var(--line);min-height:320px;padding-left:22px}.article-loading-skeleton__toc-label{width:46px;height:10px;margin-bottom:25px}.article-loading-skeleton__toc-list{gap:18px;display:grid}.article-loading-skeleton__toc-list i{width:88%;height:11px}.article-loading-skeleton__toc-list i:nth-child(2){width:72%;animation-delay:70ms}.article-loading-skeleton__toc-list i:nth-child(3){width:92%;animation-delay:.14s}.article-loading-skeleton__toc-list i:nth-child(4){width:64%;animation-delay:.21s}.article-loading-skeleton__toc-list i:nth-child(5){width:80%;animation-delay:.28s}.article-loading-skeleton__toc-actions{border-top:1px solid var(--line);gap:8px;margin-top:30px;padding-top:18px;display:flex}.article-loading-skeleton__toc-actions i{border-radius:50%;width:36px;height:36px}.article-loading-skeleton__toc-actions i:nth-child(2){animation-delay:70ms}.article-loading-skeleton__toc-actions i:nth-child(3){animation-delay:.14s}.article-loading-skeleton__toc-actions i:nth-child(4){animation-delay:.21s}@keyframes article-loading-shimmer{0%{background-position:100% 0}to{background-position:-120% 0}}
.markdown-article{width:100%;min-width:0;max-width:100%;color:color-mix(in srgb, var(--foreground) 86%, transparent);letter-spacing:0;word-spacing:normal;overflow-wrap:anywhere;font-size:18px;line-height:1.65}.article-reading-surface{font-family:Noto Serif SC,Source Han Serif SC,思源宋体,SimSun,宋体,serif}html[data-article-font=zhuokai] .article-reading-surface{font-family:"Chill ZhuoKai", var(--font-sans)}html[data-article-font=liyu] .article-reading-surface{font-family:"Liyu Shoushu", var(--font-sans)}html[data-article-font=wenkai] .article-reading-surface{font-family:"LXGW WenKai", "霞鹜文楷", var(--font-sans)}html[data-article-font=source-serif] .article-reading-surface{font-family:Noto Serif SC,Source Han Serif SC,思源宋体,SimSun,宋体,serif}.markdown-article>*{margin:0 0 12px}.markdown-article>:first-child{margin-top:0}.article-password-panel{background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--foreground) 8%, transparent), transparent 48%), color-mix(in srgb, var(--foreground) 4%, var(--bg));width:100%;color:var(--foreground);text-align:center;border-radius:28px;justify-items:center;gap:0;padding:clamp(36px,6vw,58px) clamp(22px,6vw,64px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #0000001f}.article-password-panel__eyebrow{color:var(--muted);font:10px var(--font-mono);letter-spacing:.16em;align-items:center;gap:10px;margin-bottom:22px;display:inline-flex}.article-password-panel__icon{background:color-mix(in srgb, var(--foreground) 8%, transparent);width:34px;height:34px;color:var(--foreground);border-radius:50%;place-items:center;display:grid}.article-password-panel h2{letter-spacing:0;margin:0;font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.25}.article-password-panel p{max-width:520px;color:var(--soft);margin:14px 0 0;font-size:14px;line-height:1.8}.article-password-panel label{width:100%;max-width:440px;color:var(--muted);text-align:left;gap:9px;margin-top:30px;font-size:12px;display:grid}.article-password-panel input{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 76%, transparent);width:100%;min-height:54px;color:var(--foreground);border-radius:14px;outline:0;padding:0 17px;transition:border-color .2s,box-shadow .2s,background-color .2s}.article-password-panel input::placeholder{color:color-mix(in srgb, var(--muted) 72%, transparent)}.article-password-panel input:focus-visible{border-color:color-mix(in srgb, var(--foreground) 58%, transparent);background:color-mix(in srgb, var(--bg) 90%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--foreground) 8%, transparent)}.article-password-panel button{background:var(--foreground);width:100%;max-width:440px;min-height:52px;color:var(--bg);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:16px;padding:0 20px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 10px 24px #00000024}.article-password-panel button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 14px 30px #0003}.article-password-panel button:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 60%, transparent);outline-offset:4px}.article-password-panel button svg{transition:transform .2s}.article-password-panel button:not(:disabled):hover svg{transform:translate(3px)}.article-password-panel button:disabled{cursor:wait;opacity:.58}.article-password-panel__error{text-align:left;width:100%;color:#dc3f3f!important;max-width:440px!important;margin-top:10px!important;font-size:12px!important;line-height:1.5!important}.markdown-article h1,.markdown-article h2,.markdown-article h3,.markdown-article h4,.markdown-article h5,.markdown-article h6{color:var(--foreground);letter-spacing:0;scroll-margin-top:110px;font-weight:520;line-height:1.18}.markdown-article h1{margin-top:22px;font-size:clamp(32px,4vw,54px)}.markdown-article h2{margin-top:20px;font-size:clamp(25px,3vw,36px)}.markdown-article h3{margin-top:18px;font-size:24px}.markdown-article h4,.markdown-article h5,.markdown-article h6{margin-top:16px}.markdown-article p{max-width:100%;color:color-mix(in srgb, var(--foreground) 76%, transparent);white-space:normal;overflow-wrap:anywhere;word-break:normal}.markdown-article a{color:var(--foreground);text-underline-offset:5px;align-items:center;gap:4px;text-decoration:underline;display:inline-flex}.markdown-article strong{color:var(--foreground);font-weight:620}.markdown-article code{border:1px solid var(--line);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.86em}.markdown-article .katex{color:var(--foreground)}.markdown-article .katex-display{margin:28px 0;padding:14px 4px;overflow:auto hidden}.markdown-article kbd{border:1px solid color-mix(in srgb, var(--foreground) 32%, transparent);background:color-mix(in srgb, var(--foreground) 5%, var(--bg));min-width:1.8em;min-height:1.75em;color:var(--foreground);font:600 .78em/1 var(--font-mono);vertical-align:.12em;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--bg) 72%, transparent);border-bottom-width:3px;border-radius:5px;justify-content:center;align-items:center;margin:0 2px;padding:.18em .48em;display:inline-flex}.markdown-article pre{border:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 4%, transparent);padding:14px 16px;overflow-x:auto}.markdown-article pre code{tab-size:2;background:0 0;border:0;padding:0;font-size:13px;line-height:1.48;display:block}.markdown-article blockquote{background:color-mix(in srgb, var(--foreground) 4%, transparent);box-shadow:inset 0 1px var(--line), inset 0 -1px var(--line);color:var(--muted);border:0;margin:32px 0;padding:25px 58px 27px;position:relative}.markdown-article .markdown-quote-mark{color:color-mix(in srgb, var(--foreground) 42%, transparent);-webkit-user-select:none;user-select:none;font:700 52px/.8 Georgia,Times New Roman,serif;position:absolute}.markdown-article .markdown-quote-mark--open{top:17px;left:16px}.markdown-article .markdown-quote-mark--close{bottom:5px;right:16px}.markdown-article .markdown-quote-content>:first-child{margin-top:0}.markdown-article .markdown-quote-content>:last-child{margin-bottom:0}.markdown-article ul,.markdown-article ol{padding-left:24px}.markdown-article li+li{margin-top:8px}.markdown-article [data-footnotes]{border-top:1px solid var(--line);color:var(--muted);margin:48px 0 0;padding:22px 0 0;font-size:.78em;line-height:1.7;position:relative}.markdown-article [data-footnotes]>h2{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.markdown-article [data-footnotes] ol{margin:0;padding-left:1.7em}.markdown-article [data-footnotes] li{border-radius:5px;padding-left:.35em;scroll-margin-top:112px;transition:background-color .2s,color .2s,box-shadow .2s}.markdown-article [data-footnotes] li+li{margin-top:12px}.markdown-article [data-footnotes] p{margin:0}.markdown-article [data-footnotes] p+p{margin-top:6px}.markdown-article [data-footnotes] li:target{background:color-mix(in srgb, var(--foreground) 7%, transparent);color:var(--foreground);box-shadow:0 0 0 5px color-mix(in srgb, var(--foreground) 7%, transparent)}.markdown-article [data-footnotes] a{text-underline-offset:3px;display:inline}.markdown-article [data-footnotes] a>svg{vertical-align:-.1em;margin-left:3px;display:inline}.markdown-article [data-footnote-backref]{background:color-mix(in srgb, var(--foreground) 7%, transparent);border-radius:50%;justify-content:center;align-items:center;width:1.55em;height:1.55em;margin-left:.35em;text-decoration:none!important;display:inline-flex!important}.markdown-article [data-footnote-ref]{background:color-mix(in srgb, var(--foreground) 8%, transparent);min-width:1.35em;height:1.35em;font:600 11px/1 var(--font-mono);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.markdown-article [data-footnote-ref]:target{box-shadow:0 0 0 3px color-mix(in srgb, var(--foreground) 14%, transparent)}.markdown-footnote-tooltip{max-width:min(360px,100vw - 32px);font-family:var(--font-sans);text-align:left;white-space:normal;font-size:12px;line-height:1.6}.markdown-article .task-list-item{list-style:none}.markdown-article img{object-fit:contain;border:1px solid var(--line);border-radius:14px;width:100%;max-height:560px;transition:transform .3s cubic-bezier(.16,1,.3,1),filter .3s;display:block}.markdown-image{width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:14px;margin:22px 0;padding:0;display:block;position:relative;overflow:hidden}.markdown-image:hover img,.markdown-image:focus-visible img{filter:brightness(.92);transform:scale(1.012)}.markdown-image:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 70%, transparent);outline-offset:4px}.markdown-image-link{cursor:pointer;text-decoration:none!important}.markdown-image__zoom{border:1px solid rgba(var(--white-rgb),.2);color:#f4f4f1;min-height:32px;font:10px var(--font-mono);letter-spacing:.06em;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#050505ad;border-radius:999px;align-items:center;gap:7px;padding:0 12px;transition:opacity .22s,transform .22s;display:inline-flex;position:absolute;bottom:14px;right:14px;transform:translateY(5px)}.markdown-image:hover .markdown-image__zoom,.markdown-image:focus-visible .markdown-image__zoom{opacity:1;transform:translateY(0)}.markdown-image-lightbox{z-index:220;color:#f4f4f1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030303e6;grid-template-rows:minmax(0,1fr) auto;padding:70px 54px 28px;animation:.2s both markdown-lightbox-in;display:grid;position:fixed;inset:0;overflow:hidden}.markdown-image-lightbox__toolbar{z-index:2;border:1px solid rgba(var(--white-rgb),.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101010b8;border-radius:999px;align-items:center;gap:4px;min-height:42px;padding:4px;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 12px 36px #0000003d}.markdown-image-lightbox__toolbar>span{min-width:54px;color:rgba(var(--white-rgb),.65);text-align:center;font:10px var(--font-mono);padding-left:10px}.markdown-image-lightbox__toolbar i{background:rgba(var(--white-rgb),.14);width:1px;height:20px;margin:0 3px}.markdown-image-lightbox__toolbar button{color:#f4f4f1;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:background-color .18s,color .18s,opacity .18s;display:grid}.markdown-image-lightbox__toolbar button:hover,.markdown-image-lightbox__toolbar button:focus-visible{color:#0a0a0a;background:#f4f4f1;outline:none}.markdown-image-lightbox__toolbar button:disabled{opacity:.28;cursor:not-allowed}.markdown-image-lightbox__stage{overscroll-behavior:contain;place-items:center;min-width:0;min-height:0;display:grid;overflow:auto}.markdown-image-lightbox__stage img{border:1px solid rgba(var(--white-rgb),.16);object-fit:contain;transform-origin:50%;cursor:zoom-in;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;background:#0a0a0a;max-width:min(1240px,88vw);max-height:78vh;transition:transform .2s cubic-bezier(.16,1,.3,1);display:block;box-shadow:0 24px 70px #0000005c}.markdown-image-lightbox__caption{max-width:min(760px,82vw);color:rgba(var(--white-rgb),.62);text-align:center;font:11px/1.6 var(--font-mono);margin:18px auto 0}@keyframes markdown-lightbox-in{0%{opacity:0}to{opacity:1}}.markdown-article figcaption{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:10px;font-size:11px}.markdown-article hr{border:0;border-top:1px solid var(--line);margin:44px 0}.markdown-article table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px}.markdown-table{border:1px solid var(--line);margin:34px 0;overflow-x:auto}.markdown-article th,.markdown-article td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px}.markdown-article th{color:var(--foreground);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb, var(--foreground) 5%, transparent);font-size:11px}.markdown-article tr:last-child td{border-bottom:0}.markdown-article input[type=checkbox]{appearance:none;border:1px solid var(--foreground);vertical-align:-2px;place-items:center;width:15px;height:15px;margin:0 8px 0 0;display:inline-grid}.markdown-article input[type=checkbox]:checked:after{content:"";background:var(--foreground);width:7px;height:7px}.markdown-article iframe,.markdown-article video{aspect-ratio:16/9;border:1px solid var(--line);background:#000;width:100%;display:block}.markdown-article audio{filter:grayscale();width:100%}.markdown-code{--code-bg:color-mix(in srgb, var(--foreground) 4%, transparent);--code-bar-bg:color-mix(in srgb, var(--foreground) 3%, transparent);--code-border:var(--line);--code-text:color-mix(in srgb, var(--foreground) 82%, transparent);--code-muted:color-mix(in srgb, var(--foreground) 42%, transparent);--code-keyword:#d7b56d;--code-property:#72b7c4;--code-string:#8fc79b;--code-number:#c6a6dd;--code-title:#78b9ee;--code-built-in:#e39a8b;--code-regexp:#d9a96f;--code-addition:#93d2a2;--code-deletion:#ef8f8f;border:1px solid var(--code-border);background:var(--code-bg);margin:16px 0;position:relative;overflow:hidden}html.light-mode .markdown-code{--code-bg:#f8f8f4;--code-bar-bg:#f1f1ec;--code-border:#0000001a;--code-text:#313638;--code-muted:#8a8d8c;--code-keyword:#6f5b18;--code-property:#1e6472;--code-string:#2f6841;--code-number:#64508a;--code-title:#245d97;--code-built-in:#9a423b;--code-regexp:#8a5b18;--code-addition:#2f6841;--code-deletion:#a33a3a}html[data-code-theme=github-light] .article-reading-surface .markdown-code{--code-bg:#fff;--code-bar-bg:#f6f8fa;--code-border:#d0d7de;--code-text:#24292e;--code-muted:#6a737d;--code-keyword:#d73a49;--code-property:#005cc5;--code-string:#032f62;--code-number:#005cc5;--code-title:#6f42c1;--code-built-in:#e36209;--code-regexp:#032f62;--code-addition:#22863a;--code-deletion:#b31d28}html[data-code-theme=atom-light] .article-reading-surface .markdown-code{--code-bg:#fafafa;--code-bar-bg:#f0f0f0;--code-border:#d8d8d8;--code-text:#383a42;--code-muted:#a0a1a7;--code-keyword:#a626a4;--code-property:#986801;--code-string:#50a14f;--code-number:#986801;--code-title:#4078f2;--code-built-in:#c18401;--code-regexp:#0184bc;--code-addition:#50a14f;--code-deletion:#e45649}html[data-code-theme=solarized-light] .article-reading-surface .markdown-code{--code-bg:#fdf6e3;--code-bar-bg:#eee8d5;--code-border:#d8cfb6;--code-text:#586e75;--code-muted:#839496;--code-keyword:#6c71c4;--code-property:#268bd2;--code-string:#859900;--code-number:#cb4b16;--code-title:#b58900;--code-built-in:#2aa198;--code-regexp:#2aa198;--code-addition:#859900;--code-deletion:#dc322f}html[data-code-theme=intellij-light] .article-reading-surface .markdown-code{--code-bg:#fff;--code-bar-bg:#f3f3f3;--code-border:#d7d7d7;--code-text:#000;--code-muted:#8c8c8c;--code-keyword:#0033b3;--code-property:#871094;--code-string:#067d17;--code-number:#1750eb;--code-title:#7a7a43;--code-built-in:#0033b3;--code-regexp:#264eff;--code-addition:#167d17;--code-deletion:#b33a3a}html[data-code-theme=github-dark] .article-reading-surface .markdown-code{--code-bg:#0d1117;--code-bar-bg:#161b22;--code-border:#30363d;--code-text:#c9d1d9;--code-muted:#8b949e;--code-keyword:#ff7b72;--code-property:#79c0ff;--code-string:#a5d6ff;--code-number:#79c0ff;--code-title:#d2a8ff;--code-built-in:#ffa657;--code-regexp:#a5d6ff;--code-addition:#aff5b4;--code-deletion:#ffdcd7}html[data-code-theme=atom-dark] .article-reading-surface .markdown-code{--code-bg:#282c34;--code-bar-bg:#21252b;--code-border:#3b4048;--code-text:#abb2bf;--code-muted:#5c6370;--code-keyword:#c678dd;--code-property:#d19a66;--code-string:#98c379;--code-number:#d19a66;--code-title:#61aeee;--code-built-in:#e6c07b;--code-regexp:#98c379;--code-addition:#98c379;--code-deletion:#e06c75}html[data-code-theme=github-dark-dimmed] .article-reading-surface .markdown-code{--code-bg:#22272e;--code-bar-bg:#1c2127;--code-border:#444c56;--code-text:#adbac7;--code-muted:#768390;--code-keyword:#f47067;--code-property:#6cb6ff;--code-string:#96d0ff;--code-number:#6cb6ff;--code-title:#dcbdfb;--code-built-in:#f69d50;--code-regexp:#96d0ff;--code-addition:#b4f1b4;--code-deletion:#ffd8d3}html[data-code-theme=android-studio] .article-reading-surface .markdown-code{--code-bg:#282b2e;--code-bar-bg:#222426;--code-border:#44484d;--code-text:#a9b7c6;--code-muted:gray;--code-keyword:#cc7832;--code-property:#e8bf6a;--code-string:#6a8759;--code-number:#6897bb;--code-title:#ffc66d;--code-built-in:#ffc66d;--code-regexp:#6a8759;--code-addition:#6a8759;--code-deletion:#cc7832}html[data-code-theme=monokai] .article-reading-surface .markdown-code{--code-bg:#23241f;--code-bar-bg:#1b1c18;--code-border:#46483f;--code-text:#f8f8f2;--code-muted:#75715e;--code-keyword:#f92672;--code-property:#66d9ef;--code-string:#e6db74;--code-number:#ae81ff;--code-title:#a6e22e;--code-built-in:#e6db74;--code-regexp:#ae81ff;--code-addition:#a6e22e;--code-deletion:#f92672}html[data-code-theme=nord] .article-reading-surface .markdown-code{--code-bg:#2e3440;--code-bar-bg:#252a34;--code-border:#4c566a;--code-text:#d8dee9;--code-muted:#7b88a1;--code-keyword:#81a1c1;--code-property:#88c0d0;--code-string:#a3be8c;--code-number:#b48ead;--code-title:#8fbcbb;--code-built-in:#8fbcbb;--code-regexp:#ebcb8b;--code-addition:#a3be8c;--code-deletion:#bf616a}html[data-code-theme=obsidian] .article-reading-surface .markdown-code{--code-bg:#282b2e;--code-bar-bg:#202326;--code-border:#46515b;--code-text:#e0e2e4;--code-muted:#818e96;--code-keyword:#93c763;--code-property:#668bb0;--code-string:#ec7600;--code-number:#ffcd22;--code-title:#fff;--code-built-in:#8cbbad;--code-regexp:#d39745;--code-addition:#8cbbad;--code-deletion:#818e96}html[data-code-theme=night-owl] .article-reading-surface .markdown-code{--code-bg:#011627;--code-bar-bg:#01111f;--code-border:#28445f;--code-text:#d6deeb;--code-muted:#637777;--code-keyword:#c792ea;--code-property:#7fdbca;--code-string:#ecc48d;--code-number:#f78c6c;--code-title:#dcdcaa;--code-built-in:#addb67;--code-regexp:#5ca7e4;--code-addition:#addb67;--code-deletion:#ef5350}html[data-code-theme=tokyo-night] .article-reading-surface .markdown-code{--code-bg:#1a1b26;--code-bar-bg:#15161e;--code-border:#3b4261;--code-text:#9aa5ce;--code-muted:#565f89;--code-keyword:#bb9af7;--code-property:#7dcfff;--code-string:#9ece6a;--code-number:#ff9e64;--code-title:#7dcfff;--code-built-in:#e0af68;--code-regexp:#f7768e;--code-addition:#9ece6a;--code-deletion:#f7768e}.markdown-code__bar{border-bottom:1px solid var(--code-border);background:var(--code-bar-bg);min-height:36px;color:var(--code-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 10px 0 14px;font-size:10px;display:flex}.markdown-code__bar button{border:1px solid var(--code-border);width:26px;height:26px;color:var(--code-text);background:0 0;border-radius:50%;place-items:center;display:grid}.markdown-code pre{background:0 0;border:0;margin:0}.markdown-code pre code{color:var(--code-text)}.markdown-code__body{position:relative}.markdown-code.is-collapsible:not(.is-expanded) .markdown-code__body{max-height:300px;overflow:hidden}.markdown-code.is-collapsible:not(.is-expanded) .markdown-code__body:after{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--code-bg));height:72px;position:absolute;bottom:0;left:0;right:0}.markdown-code__toggle{border:0;border-top:1px solid var(--code-border);background:var(--code-bar-bg);width:100%;min-height:38px;color:var(--code-muted);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.markdown-code__toggle:hover,.markdown-code__toggle:focus-visible{color:var(--code-text)}.markdown-code__toggle svg{transition:transform .2s}.markdown-code.is-expanded .markdown-code__toggle svg{transform:rotate(180deg)}.markdown-code .hljs-comment,.markdown-code .hljs-quote{color:var(--code-muted);font-style:italic}.markdown-code .hljs-keyword,.markdown-code .hljs-selector-tag,.markdown-code .hljs-literal,.markdown-code .hljs-section,.markdown-code .hljs-link{color:var(--code-keyword);font-weight:650}.markdown-code .hljs-attr,.markdown-code .hljs-attribute,.markdown-code .hljs-property,.markdown-code .hljs-selector-attr,.markdown-code .hljs-selector-class,.markdown-code .hljs-selector-id{color:var(--code-property)}.markdown-code .hljs-string,.markdown-code .hljs-symbol,.markdown-code .hljs-bullet,.markdown-code .hljs-template-tag,.markdown-code .hljs-template-variable{color:var(--code-string)}.markdown-code .hljs-number,.markdown-code .hljs-meta{color:var(--code-number)}.markdown-code .hljs-title,.markdown-code .hljs-name,.markdown-code .hljs-type{color:var(--code-title);font-weight:650}.markdown-code .hljs-built_in,.markdown-code .hljs-variable,.markdown-code .hljs-params{color:var(--code-built-in)}.markdown-code .hljs-regexp{color:var(--code-regexp)}.markdown-code .hljs-addition{color:var(--code-addition)}.markdown-code .hljs-deletion{color:var(--code-deletion)}.markdown-code .hljs-emphasis{font-style:italic}.markdown-code .hljs-strong{font-weight:700}.markdown-details{border-top:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-bottom:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);background:0 0;margin:28px 0;padding:0;transition:border-color .25s;position:relative}.markdown-details summary{cursor:pointer;min-height:64px;color:var(--foreground);-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;list-style:none;transition:background-color .24s,border-color .24s;display:grid;position:relative}.markdown-details summary::-webkit-details-marker{display:none}.markdown-details summary::marker{content:""}.markdown-details summary:hover{background:0 0}.markdown-details summary:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 55%, transparent);outline-offset:-3px}.markdown-details__title{min-width:0;color:var(--foreground);text-overflow:ellipsis;font-size:15px;font-weight:450;line-height:1.5;overflow:hidden}.markdown-details__action{min-height:30px;color:var(--muted);font:10px/1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;border:0;align-items:center;gap:7px;padding:0;transition:border-color .24s,color .24s,background-color .24s;display:inline-flex}.markdown-details__action svg{transition:transform .38s cubic-bezier(.16,1,.3,1)}.markdown-details__action-open{display:none}.markdown-details[open]{border-color:color-mix(in srgb, var(--foreground) 22%, transparent);background:0 0}.markdown-details[open] summary{border-bottom-color:color-mix(in srgb, var(--foreground) 12%, transparent);background:0 0}.markdown-details summary:hover .markdown-details__action{color:var(--foreground)}.markdown-details[open] .markdown-details__action-closed{display:none}.markdown-details[open] .markdown-details__action-open{display:inline}.markdown-details[open] .markdown-details__action svg{transform:rotate(180deg)}.markdown-details__content{color:color-mix(in srgb, var(--foreground) 76%, transparent);padding:clamp(20px,3vw,26px) 0;animation:.42s cubic-bezier(.16,1,.3,1) both markdown-details-reveal}.markdown-details__content>:first-child{margin-top:0}.markdown-details__content>:last-child{margin-bottom:0}.markdown-details__content>p:only-child{margin:0}@keyframes markdown-details-reveal{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.markdown-details summary{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:60px;padding:12px 0}.markdown-details__action>span{display:none}.markdown-details__action{justify-content:center;width:30px;padding:0}.markdown-details__content{padding:18px 0 20px}}@media (prefers-reduced-motion:reduce){.markdown-details,.markdown-details summary,.markdown-details__action svg,.markdown-details__content{transition:none;animation:none}}.markdown-alert{--alert-color:var(--foreground);--alert-bg:color-mix(in srgb, var(--alert-color) 5%, var(--bg));border-left:3px solid color-mix(in srgb, var(--alert-color) 78%, transparent);background:var(--alert-bg);margin:20px 0;padding:16px 18px}.markdown-alert>div{color:var(--alert-color);font-family:var(--font-mono);letter-spacing:.14em;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.markdown-alert p{margin:0}.markdown-alert--note{--alert-color:#7896c4}.markdown-alert--tip{--alert-color:#69a186}.markdown-alert--warning{--alert-color:#b99a5d}.markdown-alert--important{--alert-color:#9682bb}.markdown-alert--caution{--alert-color:#bd7373}.markdown-media{border:1px solid var(--line);aspect-ratio:16/9;background:#000;width:100%;margin:34px 0;display:block;position:relative;overflow:hidden}.markdown-media__load{color:#f4f4f1;cursor:pointer;background:linear-gradient(145deg,#0a0a0a,#080808);border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;position:absolute;inset:0}.markdown-media__load span{background:#ffffff14;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;transition:transform .2s,background-color .2s;display:inline-flex}.markdown-media__load strong{font:600 14px/1.4 var(--font-sans)}.markdown-media__load small{color:#ffffff8c;font:11px/1.4 var(--font-sans)}.markdown-media__load:hover span,.markdown-media__load:focus-visible span{background:#ffffff24;transform:scale(1.08)}.markdown-media iframe,.markdown-media video{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.markdown-link-card{border:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 3%, transparent);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body icon";align-items:stretch;gap:0;min-height:132px;margin:24px 0;padding:0;transition:border-color .2s,background-color .2s,transform .2s;position:relative;overflow:hidden;text-decoration:none!important;display:grid!important}.markdown-link-card.has-image{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"media body icon"}.markdown-link-card:hover{border-color:color-mix(in srgb, var(--foreground) 36%, var(--line));background:color-mix(in srgb, var(--foreground) 5%, transparent);transform:translateY(-1px)}.markdown-link-card__body{flex-direction:column;grid-area:body;justify-content:center;gap:7px;min-width:0;padding:20px 22px;display:flex}.markdown-link-card__body strong{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.markdown-link-card__description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.markdown-link-card__body small{color:var(--muted);font-family:var(--font-mono);font-size:11px;line-height:1.4}.markdown-link-card__media{border-right:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 5%, transparent);grid-area:media;width:clamp(160px,24vw,238px);overflow:hidden}.markdown-link-card__media img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;min-height:130px;max-height:168px;transition:transform .35s cubic-bezier(.16,1,.3,1);display:block}.markdown-link-card:hover .markdown-link-card__media img{transform:scale(1.025)}.markdown-link-card__icon{color:var(--foreground);grid-area:icon;align-self:center;margin:0 20px}@media (max-width:640px){.markdown-link-card{min-height:112px}.markdown-link-card__body{gap:5px;padding:16px}.markdown-link-card__body strong{font-size:16px}.markdown-link-card__description{display:none}.markdown-link-card__media{width:108px}.markdown-link-card__media img{min-height:110px}.markdown-link-card__icon{margin:0 12px}}.markdown-watch{--watch-accent:#6f8f78;border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--watch-accent) 8%, var(--panel)), var(--panel) 58%);min-height:190px;box-shadow:0 14px 38px rgba(var(--ink-rgb), .055);border-radius:12px;grid-template-columns:128px minmax(0,1fr);margin:28px 0;display:grid;overflow:hidden}.markdown-watch--douban{--watch-accent:#072}.markdown-watch--tmdb{--watch-accent:#01b4e4}.markdown-watch__cover{background:color-mix(in srgb, var(--watch-accent) 10%, var(--panel));min-height:190px;overflow:hidden}.markdown-watch__cover img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;min-height:190px;margin:0;display:block}.markdown-watch__cover span{height:100%;min-height:190px;color:var(--muted);place-content:center;place-items:center;gap:8px;display:grid}.markdown-watch__cover span i{font-size:10px;font-style:normal}.markdown-watch__body{flex-direction:column;align-items:flex-start;min-width:0;padding:18px 20px 17px;display:flex}.markdown-watch__eyebrow{color:var(--muted);font:9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.markdown-watch__eyebrow span{color:var(--watch-accent);font-weight:700}.markdown-watch__eyebrow i{font-style:normal}.markdown-watch__eyebrow b{border:1px solid color-mix(in srgb, var(--watch-accent) 30%, transparent);background:color-mix(in srgb, var(--watch-accent) 8%, transparent);color:color-mix(in srgb, var(--watch-accent) 78%, var(--foreground));letter-spacing:0;border-radius:999px;padding:3px 7px;font-weight:500}.markdown-watch h4{color:var(--foreground);margin:8px 0 0;font-size:22px;font-weight:650;line-height:1.25}.markdown-watch__description{color:var(--soft);cursor:help;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:11px;line-height:1.65;display:-webkit-box;overflow:hidden}.markdown-watch__description:focus-visible{outline:1px dashed var(--watch-accent);outline-offset:3px}.markdown-watch dl{flex-wrap:wrap;gap:10px 20px;margin:13px 0 0;display:flex}.markdown-watch dl div{gap:2px;display:grid}.markdown-watch dt{color:var(--muted);font-size:9px}.markdown-watch dd{color:var(--foreground);font:13px var(--font-mono);margin:0}.markdown-watch dd small{color:var(--muted);font-size:9px}.markdown-article .markdown-watch__review{border:0;border-left:2px solid var(--watch-accent);width:100%;box-shadow:none;color:var(--foreground);background:0 0;margin:13px 0 0;padding:1px 0 1px 10px;font-size:11px;font-style:italic;line-height:1.65}.markdown-watch__link{color:color-mix(in srgb, var(--watch-accent) 82%, var(--foreground));align-items:center;gap:5px;margin-top:auto;padding-top:12px;font-size:9px;text-decoration:none!important;display:inline-flex!important}.markdown-watch__link:hover,.markdown-watch__link:focus-visible{color:var(--foreground)}.markdown-netease{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:104px;margin:24px 0;position:relative;overflow:hidden}.markdown-netease.is-tall{height:468px}.markdown-netease iframe{background:#fff;border:0;width:100%;height:calc(100% - 26px);display:block}.markdown-netease>a{height:26px;font:9px var(--font-mono);background:#fff;border-top:1px solid #00000014;justify-content:flex-end;align-items:center;gap:5px;padding:0 10px;color:#888!important;text-decoration:none!important;display:flex!important}@media (max-width:560px){.markdown-watch{grid-template-columns:96px minmax(0,1fr);min-height:164px}.markdown-watch__cover,.markdown-watch__cover img,.markdown-watch__cover span{min-height:164px}.markdown-watch__body{padding:14px}.markdown-watch h4{font-size:18px}.markdown-watch__description{-webkit-line-clamp:3}.markdown-watch dl{gap:8px 13px}}.markdown-douban{--douban-accent:#072;--douban-link:#37a;border-bottom:1px solid color-mix(in srgb, var(--foreground) 14%, transparent);grid-template-columns:138px minmax(0,1fr) minmax(150px,190px);grid-template-areas:"header header header""cover body rating""description description description";gap:24px clamp(20px,3vw,30px);margin:38px 0;padding:2px 0 28px;display:grid;position:relative}.markdown-douban__header{grid-area:header;min-width:0}.markdown-douban__header h4{color:var(--foreground);letter-spacing:-.025em;margin:0;font-size:clamp(28px,3.4vw,38px);font-weight:650;line-height:1.2}.markdown-douban__cover{aspect-ratio:3/4.2;border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);background:color-mix(in srgb, var(--foreground) 5%, var(--bg));border-radius:1px;grid-area:cover;align-self:start;position:relative;overflow:hidden}.markdown-douban--movie .markdown-douban__cover{aspect-ratio:2/3}.markdown-douban--music .markdown-douban__cover{aspect-ratio:1}.markdown-douban__cover img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;max-height:none;display:block}.markdown-douban__cover span{height:100%;color:var(--muted);align-content:center;place-items:center;gap:8px;font-size:12px;display:grid}.markdown-douban__cover span i{font-style:normal}.markdown-douban__body{flex-direction:column;grid-area:body;align-items:flex-start;min-width:0;display:flex}.markdown-douban__meta{gap:8px;width:100%;display:grid}.markdown-douban__meta p{color:var(--foreground);align-items:flex-start;gap:2px;margin:0;font-size:14px;line-height:1.65;display:flex}.markdown-douban__meta p b{color:var(--muted);flex:none;font-weight:400}.markdown-douban__meta p span{color:color-mix(in srgb, var(--douban-link) 88%, var(--foreground))}.markdown-douban__rating{border-left:1px solid color-mix(in srgb, var(--foreground) 14%, transparent);grid-area:rating;align-self:stretch;padding-left:22px}.markdown-douban__rating-label{color:var(--muted);margin-bottom:13px;font-size:13px;display:block}.markdown-douban__rating-row{align-items:center;gap:14px;display:flex}.markdown-douban__rating strong{color:var(--foreground);font-family:var(--font-mono);letter-spacing:-.05em;font-size:38px;font-weight:400;line-height:1}.markdown-douban__stars{color:color-mix(in srgb, var(--foreground) 18%, transparent);letter-spacing:1px;white-space:nowrap;font-size:18px;line-height:1;display:inline-block;position:relative;overflow:hidden}.markdown-douban__stars i{color:#f39823;white-space:nowrap;font-style:normal;position:absolute;inset:0 auto 0 0;overflow:hidden}.markdown-douban__description{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);grid-area:description;min-width:0;padding-top:22px}.markdown-douban__description summary{cursor:pointer;border-radius:3px;outline:none;justify-content:space-between;align-items:center;gap:8px;list-style:none;display:flex}.markdown-douban__description summary::-webkit-details-marker{display:none}.markdown-douban__description summary:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--douban-accent) 30%, transparent)}.markdown-douban__description-title{min-width:0;color:color-mix(in srgb, var(--douban-accent) 88%, var(--foreground));align-items:center;gap:8px;font-size:18px;font-weight:500;line-height:1.5;display:flex}.markdown-douban__description-title i{color:color-mix(in srgb, var(--douban-accent) 70%, var(--muted));font-family:var(--font-mono);letter-spacing:3px;flex:none;font-size:13px;font-style:normal}.markdown-douban__description-toggle{color:var(--muted);flex:none;align-items:center;gap:5px;font-size:11px;display:inline-flex}.markdown-douban__description-toggle-open{display:none}.markdown-douban__description-toggle svg{transition:transform .2s}.markdown-douban__description[open] .markdown-douban__description-toggle-closed{display:none}.markdown-douban__description[open] .markdown-douban__description-toggle-open{display:inline}.markdown-douban__description[open] .markdown-douban__description-toggle svg{transform:rotate(180deg)}.markdown-douban__description-content{padding-top:14px}.markdown-douban__description-content p{color:var(--foreground);text-indent:2em;white-space:pre-line;margin:0;font-size:14px;line-height:1.9}.ui-tooltip-content{z-index:10020;border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent);background:color-mix(in srgb, var(--bg) 94%, var(--foreground));max-width:min(420px,100vw - 32px);color:color-mix(in srgb, var(--foreground) 84%, transparent);letter-spacing:.01em;text-wrap:pretty;transform-origin:var(--radix-tooltip-content-transform-origin);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.7;animation:.16s ease-out ui-tooltip-in;box-shadow:0 12px 32px #0000003d}.ui-tooltip-arrow{fill:color-mix(in srgb, var(--bg) 94%, var(--foreground))}@keyframes ui-tooltip-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markdown-douban__link{border:1px solid color-mix(in srgb, var(--douban-accent) 22%, transparent);background:color-mix(in srgb, var(--douban-accent) 7%, transparent);min-height:30px;color:color-mix(in srgb, var(--douban-accent) 78%, var(--foreground));border-radius:3px;align-items:center;margin-top:auto;padding:0 9px 0 10px;font-size:11px;transition:border-color .2s,background-color .2s,color .2s;gap:6px!important;text-decoration:none!important;display:inline-flex!important}.markdown-douban__link:hover,.markdown-douban__link:focus-visible{border-color:var(--douban-accent);background:var(--douban-accent);color:var(--white);outline:none}@media (max-width:760px){.markdown-douban{grid-template-columns:108px minmax(0,1fr);grid-template-areas:"header header""cover body""rating rating""description description";gap:20px 18px;padding-bottom:22px}.markdown-douban__header h4{font-size:26px}.markdown-douban__meta p{font-size:12px}.markdown-douban__rating{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);border-left:0;align-items:center;gap:14px;padding:18px 0 0;display:flex}.markdown-douban__rating-label{margin:0}.markdown-douban__link{margin-top:16px}}@media (max-width:420px){.markdown-douban{grid-template-columns:88px minmax(0,1fr);gap:18px 14px}.markdown-douban__header h4{font-size:23px}.markdown-douban__rating strong{font-size:32px}.markdown-douban__description-title{flex-wrap:wrap;align-items:flex-start;gap:0 7px;font-size:16px}.markdown-douban__description-content p{font-size:13px}}@media (prefers-reduced-motion:reduce){.markdown-douban__link,.markdown-douban__description-toggle svg,.ui-tooltip-content{transition:none;animation:none}.markdown-douban__link:hover,.markdown-douban__link:focus-visible{transform:none}}.markdown-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:34px 0;display:grid}.markdown-gallery--single{grid-template-columns:minmax(0,1fr)}.markdown-gallery figure,.markdown-gallery__image{margin:0}.markdown-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:none}.markdown-dialogue{--dialogue-surface:color-mix(in srgb, var(--foreground) 3%, var(--bg));--dialogue-bubble:color-mix(in srgb, var(--foreground) 8%, var(--bg));border:1px solid var(--line);background:var(--dialogue-surface);gap:34px;margin:34px 0;padding:clamp(24px,4.5vw,44px);transition:background-color .45s,border-color .45s;display:grid}html.light-mode .markdown-dialogue{--dialogue-surface:color-mix(in srgb, var(--foreground) 6%, var(--bg));--dialogue-bubble:var(--bg)}.markdown-dialogue__message{align-items:flex-start;gap:16px;min-width:0;display:flex}.markdown-dialogue__message--right{flex-direction:row-reverse}.markdown-dialogue__avatar{border:1px solid var(--line);background:var(--dialogue-bubble);border-radius:50%;flex:0 0 56px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.markdown-dialogue__avatar img{object-fit:cover;border:0;width:100%;height:100%;margin:0;display:block}.markdown-dialogue__avatar i{color:var(--muted);font-family:var(--font-sans);font-size:18px;font-style:normal;font-weight:650}.markdown-dialogue__bubble{background:var(--dialogue-bubble);width:fit-content;min-width:min(220px,100% - 72px);max-width:min(74%,650px);box-shadow:0 12px 34px color-mix(in srgb, var(--foreground) 6%, transparent);border-radius:12px;padding:20px 24px 22px;position:relative}.markdown-dialogue__bubble:before{content:"";border-style:solid;border-width:10px 10px 10px 0;border-color:transparent var(--dialogue-bubble) transparent transparent;position:absolute;top:22px;left:-10px}.markdown-dialogue__message--right .markdown-dialogue__bubble:before{border-width:10px 0 10px 10px;border-color:transparent transparent transparent var(--dialogue-bubble);left:auto;right:-10px}.markdown-dialogue__bubble header{gap:3px;display:grid}.markdown-dialogue__bubble strong{color:var(--foreground);font-family:var(--font-sans);font-size:20px;font-weight:620;line-height:1.25}.markdown-dialogue__bubble time{color:var(--muted);font-family:var(--font-mono);letter-spacing:.035em;font-size:10px;line-height:1.4}.markdown-dialogue .markdown-dialogue__text{color:var(--soft);font-family:var(--font-sans);overflow-wrap:anywhere;white-space:pre-wrap;margin:18px 0 0;font-size:17px;line-height:1.75}.markdown-mermaid{border:1px solid var(--line);background:var(--bg);color:var(--foreground);margin:34px 0;padding:24px;transition:background-color .45s,color .45s,border-color .45s;overflow-x:auto}.markdown-mermaid svg{max-width:100%;margin:0 auto;display:block}.markdown-echarts{border:1px solid var(--line);background:var(--bg);width:100%;height:clamp(320px,52vw,460px);margin:34px 0;transition:background-color .45s,border-color .45s}.markdown-special--error{border:1px solid var(--line);color:var(--foreground);margin:28px 0;padding:16px}.markdown-timeline{margin:34px 0;display:grid;position:relative}.markdown-timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:7px;bottom:7px;left:6px}.markdown-timeline__item{grid-template-columns:29px minmax(0,1fr);align-items:start;min-width:0;padding:0 0 18px;display:grid;position:relative}.markdown-timeline__item:last-child{padding-bottom:0}.markdown-timeline__marker{z-index:1;border:1px solid var(--foreground);background:var(--bg);border-radius:50%;grid-area:1/1;justify-self:start;width:13px;height:13px;margin-top:5px;transition:background-color .25s,border-color .25s,transform .25s}.markdown-timeline__item:hover .markdown-timeline__marker{background:var(--foreground);transform:scale(1.08)}.markdown-timeline__content{border:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 2.5%, transparent);grid-area:1/2;min-width:0;padding:17px 19px 18px;transition:border-color .25s,background-color .25s,transform .25s}.markdown-timeline__item:hover .markdown-timeline__content{border-color:color-mix(in srgb, var(--foreground) 28%, transparent);background:color-mix(in srgb, var(--foreground) 4%, transparent);transform:translateY(-2px)}.markdown-timeline time{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:11px;display:block}.markdown-timeline strong{margin-top:6px;font-size:20px;display:block}.markdown-timeline p{margin:8px 0 0}.markdown-timeline--right:before{left:auto;right:6px}.markdown-timeline--right .markdown-timeline__item{grid-template-columns:minmax(0,1fr) 29px}.markdown-timeline--right .markdown-timeline__marker{grid-column:2;justify-self:end}.markdown-timeline--right .markdown-timeline__content{text-align:right;grid-column:1}.markdown-timeline--alternate:before{left:50%;transform:translate(-50%)}.markdown-timeline--alternate .markdown-timeline__item{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}.markdown-timeline--alternate .markdown-timeline__marker{grid-column:2;justify-self:center}.markdown-timeline--alternate .markdown-timeline__content{grid-column:3}.markdown-timeline--alternate .markdown-timeline__item:nth-child(2n) .markdown-timeline__content{text-align:right;grid-column:1}.markdown-table .markdown-code{background:0 0;border:0;min-width:0;margin:0;display:inline}.markdown-table .markdown-code pre{background:0 0;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-table .markdown-code code{border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:4px;padding:2px 7px;display:inline}.markdown-table .markdown-code__bar{display:none}.markdown-table p{margin:0}.markdown-table p+p{margin-top:8px}
.article-toc{grid-column:3;justify-self:end;width:min(240px,100%);height:min(480px,100vh - 160px);min-height:320px;position:sticky;top:128px;overflow:visible}.article-toc__directory{scrollbar-width:none;-ms-overflow-style:none;border-left:1px solid var(--line);opacity:1;pointer-events:auto;will-change:opacity, transform;padding-left:22px;transition:opacity .18s,transform .28s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;overflow:hidden auto;transform:translate(0)}.article-toc__directory::-webkit-scrollbar{display:none}.article-toc p{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;font-size:11px}.article-toc__list{flex-direction:column;gap:0;display:flex}.article-toc:not(.is-directory-empty) .article-toc__directory{animation:.42s cubic-bezier(.16,1,.3,1) both article-toc-rule-in}.article-toc:not(.is-directory-empty) .article-toc__directory>p{animation:.34s cubic-bezier(.16,1,.3,1) backwards article-toc-content-in}.article-toc:not(.is-directory-empty) .article-toc__list{animation:.44s cubic-bezier(.16,1,.3,1) 45ms backwards article-toc-content-in}.article-toc:not(.is-directory-empty) .article-toc__actions{animation:.4s cubic-bezier(.16,1,.3,1) .1s backwards article-toc-content-in}@keyframes article-toc-rule-in{0%{border-left-color:#0000}to{border-left-color:var(--line)}}@keyframes article-toc-content-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translate(0,0)}}.article-reading-capsule{--article-progress-accent:var(--foreground);opacity:0;pointer-events:none;will-change:opacity, transform;place-items:center;width:72px;height:100%;transition:opacity .18s,transform .28s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;inset:0 auto 0 0;overflow:visible;transform:translate(-6px)}.article-toc.is-progress-visible .article-toc__directory{opacity:0;pointer-events:none;transform:translate(6px)}.article-toc.is-progress-visible .article-reading-capsule{opacity:1;transform:translate(0)}.article-reading-capsule__track{background:color-mix(in srgb, var(--foreground) 18%, transparent);border-radius:999px;width:3px;height:clamp(220px,42vh,300px);position:relative}.article-reading-capsule__fill{z-index:1;border-radius:inherit;background:var(--article-progress-accent);will-change:height;height:0;position:absolute;inset:0 0 auto}.article-reading-capsule__chapter{z-index:2;border:2px solid var(--bg);background:color-mix(in srgb, var(--foreground) 34%, var(--bg));border-radius:50%;width:7px;height:7px;position:absolute;left:50%;transform:translate(-50%,-50%)}.article-reading-capsule__chapter.is-child{background:color-mix(in srgb, var(--foreground) 24%, var(--bg));border-width:1px;width:5px;height:5px}.article-reading-capsule__chapter.is-read{background:color-mix(in srgb, var(--article-progress-accent) 78%, var(--bg))}.article-reading-capsule__indicator{z-index:3;border:1px solid color-mix(in srgb, var(--article-progress-accent) 36%, var(--line));background:color-mix(in srgb, var(--bg) 94%, var(--article-progress-accent));width:42px;height:30px;color:color-mix(in srgb, var(--article-progress-accent) 68%, var(--foreground));box-shadow:0 8px 24px color-mix(in srgb, var(--foreground) 12%, transparent);font-family:var(--font-mono);letter-spacing:.02em;will-change:top;border-radius:10px;place-items:center;font-size:10px;font-weight:500;line-height:1;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%)}.article-toc__list a{color:var(--muted);text-decoration:none;transition:color .18s,opacity .18s,transform .18s,max-height .18s;display:block;position:relative}.article-toc__list a:before{content:"";background:var(--foreground);opacity:0;width:0;height:1px;transition:width .18s,opacity .18s;position:absolute;top:.72em;left:-24px}.article-toc__parent{margin-top:13px;font-size:13px;line-height:1.5}.article-toc__parent:first-child{margin-top:0}.article-toc__actions{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:28px;padding-top:18px;display:flex}.article-toc.is-directory-empty{height:auto;min-height:0}.article-toc.is-directory-empty .article-toc__directory{position:static;inset:auto;overflow:visible}.article-toc.is-directory-empty .article-toc__actions{border-top:0;margin-top:0;padding-top:0}.article-toc.is-directory-empty .article-font-picker__menu,.article-toc.is-directory-empty .article-code-theme-picker__menu{top:calc(100% + 10px);bottom:auto}.article-toc__actions>button,.article-font-picker__trigger,.article-code-theme-picker__trigger{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:color .18s,border-color .18s,background-color .18s,transform .12s;display:inline-grid}.article-toc__actions>button:not(:disabled):hover,.article-toc__actions>button:not(:disabled):focus-visible,.article-font-picker__trigger:hover,.article-font-picker__trigger:focus-visible,.article-code-theme-picker__trigger:hover,.article-code-theme-picker__trigger:focus-visible{border-color:color-mix(in srgb, var(--foreground) 48%, transparent);background:color-mix(in srgb, var(--foreground) 7%, transparent);color:var(--foreground);outline:none}.article-toc__actions>button:not(:disabled):active,.article-font-picker__trigger:active,.article-code-theme-picker__trigger:active{transform:scale(.94)}.article-toc__actions>button:disabled{border-color:var(--line);color:var(--muted);cursor:default;opacity:.45;background:0 0}.article-font-picker,.article-code-theme-picker{position:relative}.article-font-picker__menu{z-index:100;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, var(--foreground));border-radius:10px;width:156px;padding:7px;position:fixed;box-shadow:0 14px 36px #00000038}.article-font-picker__menu>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;padding:4px 7px 7px;font-size:9px;display:block}.article-font-picker__option{width:100%;min-height:36px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:7px;padding:4px 7px;transition:color .16s,background-color .16s;display:grid}.article-font-picker__option:hover,.article-font-picker__option:focus-visible,.article-font-picker__option.is-selected{background:color-mix(in srgb, var(--foreground) 8%, transparent);color:var(--foreground);outline:none}.article-font-picker__option i{font-size:17px;font-style:normal;line-height:1}.article-font-picker__option b{white-space:nowrap;font-size:13px;font-weight:400;line-height:1.2;overflow:hidden}.article-font-picker__option svg{justify-self:end}.article-font-picker__option--zhuokai i,.article-font-picker__option--zhuokai b{font-family:"Chill ZhuoKai", var(--font-sans)}.article-font-picker__option--liyu i,.article-font-picker__option--liyu b{font-family:"Liyu Shoushu", var(--font-sans)}.article-font-picker__option--wenkai i,.article-font-picker__option--wenkai b{font-family:"LXGW WenKai", "霞鹜文楷", var(--font-sans)}.article-font-picker__option--source-serif i,.article-font-picker__option--source-serif b{font-family:var(--font-serif)}.article-code-theme-picker__menu{z-index:8;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, var(--foreground));border-radius:10px;width:190px;max-height:min(460px,100vh - 96px);padding:7px;position:absolute;bottom:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 14px 36px #00000038}.article-code-theme-picker__menu>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;padding:4px 7px 7px;font-size:9px;display:block}.article-code-theme-picker__option{--swatch-bg:#0d1117;--swatch-one:#ff7b72;--swatch-two:#79c0ff;--swatch-three:#a5d6ff;width:100%;min-height:40px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:9px;padding:4px 7px;transition:color .16s,background-color .16s;display:grid}.article-code-theme-picker__option:hover,.article-code-theme-picker__option:focus-visible,.article-code-theme-picker__option.is-selected{background:color-mix(in srgb, var(--foreground) 8%, transparent);color:var(--foreground);outline:none}.article-code-theme-picker__option>strong{text-overflow:ellipsis;white-space:nowrap;padding:1px 0 2px;font-size:12px;font-weight:400;line-height:1.5;overflow:hidden}.article-code-theme-picker__option>svg{justify-self:end}.article-code-theme-picker__swatch{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--swatch-bg);border-radius:4px;grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;width:32px;height:23px;padding:5px 4px;display:grid;overflow:hidden}.article-code-theme-picker__swatch b{background:var(--swatch-one);border-radius:1px;height:6px;display:block}.article-code-theme-picker__swatch b:nth-child(2){background:var(--swatch-two);height:10px}.article-code-theme-picker__swatch b:nth-child(3){background:var(--swatch-three);height:8px}.article-code-theme-picker__option--github-light{--swatch-bg:#fff;--swatch-one:#d73a49;--swatch-two:#005cc5;--swatch-three:#032f62}.article-code-theme-picker__option--atom-light{--swatch-bg:#fafafa;--swatch-one:#a626a4;--swatch-two:#4078f2;--swatch-three:#50a14f}.article-code-theme-picker__option--solarized-light{--swatch-bg:#fdf6e3;--swatch-one:#6c71c4;--swatch-two:#268bd2;--swatch-three:#859900}.article-code-theme-picker__option--intellij-light{--swatch-bg:#fff;--swatch-one:#0033b3;--swatch-two:#871094;--swatch-three:#067d17}.article-code-theme-picker__option--github-dark{--swatch-bg:#0d1117;--swatch-one:#ff7b72;--swatch-two:#79c0ff;--swatch-three:#a5d6ff}.article-code-theme-picker__option--atom-dark{--swatch-bg:#282c34;--swatch-one:#c678dd;--swatch-two:#61aeee;--swatch-three:#98c379}.article-code-theme-picker__option--github-dark-dimmed{--swatch-bg:#22272e;--swatch-one:#f47067;--swatch-two:#6cb6ff;--swatch-three:#96d0ff}.article-code-theme-picker__option--android-studio{--swatch-bg:#282b2e;--swatch-one:#cc7832;--swatch-two:#6897bb;--swatch-three:#6a8759}.article-code-theme-picker__option--monokai{--swatch-bg:#23241f;--swatch-one:#f92672;--swatch-two:#66d9ef;--swatch-three:#e6db74}.article-code-theme-picker__option--nord{--swatch-bg:#2e3440;--swatch-one:#81a1c1;--swatch-two:#88c0d0;--swatch-three:#a3be8c}.article-code-theme-picker__option--obsidian{--swatch-bg:#282b2e;--swatch-one:#93c763;--swatch-two:#668bb0;--swatch-three:#ec7600}.article-code-theme-picker__option--night-owl{--swatch-bg:#011627;--swatch-one:#c792ea;--swatch-two:#7fdbca;--swatch-three:#ecc48d}.article-code-theme-picker__option--tokyo-night{--swatch-bg:#1a1b26;--swatch-one:#bb9af7;--swatch-two:#7dcfff;--swatch-three:#9ece6a}.article-toc__child{opacity:0;max-height:0;padding-left:20px;font-size:12px;line-height:1.6;overflow:hidden;transform:translateY(-4px)}.article-toc__child.is-expanded{opacity:.72;max-height:52px;margin-top:6px;transform:translateY(0)}.article-toc__child.is-expanded:after{content:"";background:linear-gradient(var(--line), var(--line)) left top / 1px 100% no-repeat, linear-gradient(var(--line), var(--line)) left calc(50% + 3px) / 9px 1px no-repeat;pointer-events:none;width:9px;height:calc(100% + 6px);position:absolute;top:-6px;left:3px}.article-toc__child.is-expanded:last-child:after{background:linear-gradient(var(--line), var(--line)) left top / 1px 100% no-repeat, linear-gradient(var(--line), var(--line)) left bottom / 9px 1px no-repeat;height:calc(50% + 6px)}.article-toc__child.is-expanded:has(+.article-toc__parent):after{background:linear-gradient(var(--line), var(--line)) left top / 1px 100% no-repeat, linear-gradient(var(--line), var(--line)) left bottom / 9px 1px no-repeat;height:calc(50% + 6px)}.article-toc__child.is-active:after{background:linear-gradient(color-mix(in srgb, var(--foreground) 44%, var(--line)), color-mix(in srgb, var(--foreground) 44%, var(--line))) left top / 1px 100% no-repeat, linear-gradient(var(--foreground), var(--foreground)) left calc(50% + 3px) / 9px 1px no-repeat}.article-toc__child.is-active:last-child:after{background:linear-gradient(color-mix(in srgb, var(--foreground) 44%, var(--line)), color-mix(in srgb, var(--foreground) 44%, var(--line))) left top / 1px 100% no-repeat, linear-gradient(var(--foreground), var(--foreground)) left bottom / 9px 1px no-repeat}.article-toc__child.is-active:has(+.article-toc__parent):after{background:linear-gradient(color-mix(in srgb, var(--foreground) 44%, var(--line)), color-mix(in srgb, var(--foreground) 44%, var(--line))) left top / 1px 100% no-repeat, linear-gradient(var(--foreground), var(--foreground)) left bottom / 9px 1px no-repeat}.article-toc__list a.is-active{color:var(--foreground);opacity:1;transform:translate(6px)}.article-toc__list a.is-active:before{opacity:1;width:16px}.article-toc__parent.is-active{font-weight:500}.article-toc__child.is-active{opacity:1;transform:translateY(0)}.article-license{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;margin-top:28px;padding:12px 0;display:grid}.article-license__badge{border:1px solid var(--foreground);color:var(--foreground);font:600 9px/30px var(--font-mono);text-align:center;border-radius:4px;grid-template-columns:repeat(4,30px);display:grid;overflow:hidden}.article-license__badge>*{border-left:1px solid var(--foreground);min-width:0;font:inherit}.article-license__badge>:first-child{background:var(--foreground);color:var(--bg);border-left:0}.article-license__copy>strong{color:var(--foreground);margin-bottom:5px;font-size:13px;font-weight:520;display:block}.article-license__copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.article-license__copy a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 50%, transparent);text-decoration-color:color-mix(in srgb, currentColor 50%, transparent);text-underline-offset:3px}.article-license__copy a:hover{color:var(--foreground)}.article-license+.comment-section{margin-top:20px}
.comment-section{margin-top:96px;padding-top:24px;scroll-margin-top:112px}.article-quote-action{z-index:80;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:500;line-height:1;animation:.16s ease-out both article-quote-action-in;display:inline-flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 24px #0000002e;border:1px solid var(--foreground)!important;background:var(--foreground)!important;color:var(--bg)!important;padding:0 14px!important}.article-quote-action:after{content:"";border-top:6px solid var(--foreground);border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.article-quote-action:hover{opacity:.88}.article-quote-action:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:3px}@keyframes article-quote-action-in{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))scale(.96)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.comment-section__head{margin-bottom:44px}.comment-section__head h2{color:color-mix(in srgb, var(--foreground) 74%, transparent);margin:0;font-size:18px;font-weight:400;line-height:1.5}.comment-list{gap:24px;margin-bottom:64px;display:grid}.comment-empty{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 42%, transparent);text-align:center;color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;border-radius:16px;justify-items:center;gap:8px;padding:38px 24px;font-size:12px;display:grid}.comment-empty__icon{border:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 4%, transparent);width:40px;height:40px;color:var(--foreground);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.comment-empty strong{color:var(--foreground);font-family:var(--font-sans);letter-spacing:0;font-size:15px;font-weight:500}.comment-empty p{margin:0}.comment-item{min-width:0;display:grid}.comment-item__replies{border-left:1px solid color-mix(in srgb, var(--foreground) 13%, var(--line));gap:14px;margin:14px 0 0 22px;padding:0 0 0 32px;display:grid;position:relative}.comment-item__card{border:1px solid color-mix(in srgb, var(--foreground) 11%, var(--line));background:color-mix(in srgb, var(--panel) 84%, var(--bg));border-radius:22px;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px;min-width:0;padding:22px 24px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative;box-shadow:0 8px 28px #00000009}.comment-item__card:hover{border-color:color-mix(in srgb, var(--foreground) 19%, var(--line));transform:translateY(-1px);box-shadow:0 12px 34px #0000000e}.comment-item--child .comment-item__card:before{content:"";border-top:1px solid color-mix(in srgb, var(--foreground) 13%, var(--line));border-radius:0 12px 0 0;width:32px;height:16px;position:absolute;top:36px;left:-33px}.comment-item__head{justify-content:space-between;align-items:center;gap:16px;min-height:42px;margin:0;display:flex}.comment-item__avatar{border:1px solid color-mix(in srgb, var(--foreground) 16%, var(--line));background:color-mix(in srgb, var(--panel) 82%, var(--bg));width:42px;height:42px;color:color-mix(in srgb, var(--foreground) 58%, transparent);border-radius:50%;place-items:center;margin:0;display:grid;overflow:hidden;box-shadow:0 2px 8px #00000012}.comment-item__avatar--lobot{background:0 0}.comment-item__avatar img{object-fit:cover;width:100%;height:100%;display:block}.comment-item__avatar svg{stroke-width:1.35px;width:22px;height:22px}.comment-item__body{min-width:0}.comment-item--child .comment-item__card{background:color-mix(in srgb, var(--panel) 66%, var(--bg));box-shadow:none;border-radius:18px;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 20px}html.light-mode .comment-item__card{background:0 0;border-color:#1111111a;box-shadow:0 10px 30px #1111110b}html.light-mode .comment-item__card:hover{border-color:#11111129;box-shadow:0 14px 34px #1111}html.light-mode .comment-item--child .comment-item__card{box-shadow:none;background:0 0}.comment-item--child .comment-item__avatar{width:36px;height:36px;margin:0;font-size:14px}.comment-item--child .comment-item__avatar svg{width:19px;height:19px}.comment-item__meta{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.comment-item__name{color:var(--foreground);font-size:16px;font-weight:650;line-height:1.4}.comment-item__time:before{content:"·";color:color-mix(in srgb, var(--muted) 72%, transparent);margin-right:8px}.comment-item__time{color:var(--muted);font-size:12px;line-height:1.5}.comment-item__source{color:color-mix(in srgb, var(--muted) 88%, transparent);word-break:break-word;align-items:center;gap:3px;font-size:12px;font-weight:450;line-height:1.5;display:inline-flex}.comment-item__bubble{width:100%;min-width:0;padding:7px 0 1px}.comment-item__actions{flex:none;align-items:center;gap:2px;display:flex}.comment-item__reply-btn,.comment-item__delete-btn{opacity:.68;cursor:pointer;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;transition:background-color .2s,color .2s,opacity .18s,transform .2s;display:grid;color:var(--muted)!important;background:0 0!important;border:0!important;padding:0!important}.comment-item__reply-btn:hover,.comment-item__reply-btn:focus-visible,.comment-item__delete-btn:hover,.comment-item__delete-btn:focus-visible{opacity:1;transform:scale(1.05);background:color-mix(in srgb, var(--foreground) 7%, transparent)!important;color:var(--foreground)!important}.comment-item__delete-btn:hover,.comment-item__delete-btn:focus-visible{color:#dc3f3f!important;background:#dc3f3f1a!important}.comment-item__delete-btn:disabled{opacity:.34;cursor:wait;transform:none}.comment-item__reply-icon{transform:scaleX(-1)}.comment-item__content{color:color-mix(in srgb, var(--foreground) 82%, transparent);word-break:break-word;margin:0;font-size:16px;line-height:1.7}.comment-item--lobot .comment-item__name,.comment-item--lobot .comment-item__content{font-family:"Vonwaon Bitmap", var(--font-sans);letter-spacing:.025em;font-style:normal;font-weight:400}.comment-markdown>:first-child{margin-top:0}.comment-markdown>:last-child{margin-bottom:0}.comment-markdown p{white-space:pre-wrap;margin:.65em 0}.comment-markdown h1,.comment-markdown h2,.comment-markdown h3{color:var(--foreground);margin:1em 0 .5em;font-weight:600;line-height:1.4}.comment-markdown h1{font-size:19px}.comment-markdown h2{font-size:17px}.comment-markdown h3{font-size:15px}.comment-markdown strong{color:var(--foreground);font-weight:600}.comment-markdown ul,.comment-markdown ol{margin:.7em 0;padding-left:1.5em}.comment-markdown li{margin:.25em 0}.comment-markdown li>p{margin:0}.comment-markdown blockquote{border-left:2px solid color-mix(in srgb, var(--foreground) 45%, var(--line));background:color-mix(in srgb, var(--foreground) 4%, transparent);color:var(--muted);margin:.85em 0;padding:.25em 2.35em .25em .9em;position:relative}.comment-quote{cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}.comment-quote:hover,.comment-quote:focus-visible{border-left-color:var(--foreground);background:color-mix(in srgb, var(--foreground) 7%, transparent);color:var(--soft);outline:0}.comment-quote:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--foreground) 18%, transparent)}.comment-quote__locate-icon{opacity:0;transition:opacity .2s,transform .2s;position:absolute;top:.7em;right:.75em;transform:translate(-2px,2px)}.comment-quote:hover .comment-quote__locate-icon,.comment-quote:focus-visible .comment-quote__locate-icon{opacity:.72;transform:none}.article-reading-surface .article-quote-target{border-radius:4px;scroll-margin-top:120px;animation:2.4s ease-out article-quote-target-flash}@keyframes article-quote-target-flash{0%,28%{background:color-mix(in srgb, var(--foreground) 13%, transparent);box-shadow:0 0 0 7px color-mix(in srgb, var(--foreground) 8%, transparent)}to{background:0 0;box-shadow:0 0 #0000}}.comment-markdown code{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, var(--panel));color:var(--foreground);font:.88em/1.5 var(--font-mono);overflow-wrap:anywhere;border-radius:5px;padding:.12em .38em}.comment-markdown pre{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 86%, var(--panel));border-radius:8px;max-width:100%;margin:.85em 0;padding:12px 14px;overflow:auto}.comment-markdown pre code{white-space:pre;overflow-wrap:normal;background:0 0;border:0;padding:0}.comment-markdown a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--foreground) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--foreground) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color .2s}.comment-markdown a:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.comment-markdown hr{border:0;border-top:1px solid var(--line);margin:1em 0}.comment-markdown .comment-emoji-inline{object-fit:contain;width:28px;height:28px;image-rendering:pixelated;vertical-align:-.5em;border-radius:5px;margin:0 .12em;display:inline-block}.comment-form-wrap{border-top:1px solid var(--line);background:0 0;margin-top:48px;padding:34px 0 0;position:relative}.comment-form-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding-bottom:24px;display:flex}.comment-form-intro span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.16em;margin-bottom:9px;font-size:9px;display:block}.comment-form-intro h3{color:var(--foreground);margin:0;font-size:22px;font-weight:500;line-height:1.2}.comment-form-intro p{color:var(--muted);white-space:nowrap;margin:0;font-size:12px;line-height:1.7}.comment-replying{border:1px solid color-mix(in srgb, var(--foreground) 15%, var(--line));background:color-mix(in srgb, var(--foreground) 5%, transparent);color:var(--foreground);font-size:12px;font-family:var(--font-mono);border-radius:20px;align-items:center;gap:12px;margin-bottom:24px;padding:8px 16px;display:inline-flex}.comment-replying__cancel-btn{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:inline-flex;background:color-mix(in srgb, var(--foreground) 10%, transparent)!important;color:var(--muted)!important;border:0!important;padding:0!important}.comment-replying__cancel-btn:hover{background:var(--foreground)!important;color:var(--bg)!important}.comment-message{border:1px solid var(--line);color:var(--foreground);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.comment-message--success{border-color:color-mix(in srgb, #19a974 40%, var(--line));color:#19a974;background:#19a97414}.comment-message--error{border-color:color-mix(in srgb, #dc3f3f 40%, var(--line));color:#dc3f3f;background:#dc3f3f14}.comment-form{gap:22px;display:grid}.comment-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.comment-form label{flex-direction:column;gap:8px;display:flex}.comment-form label span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.comment-form__markdown-hint{color:color-mix(in srgb, var(--muted) 82%, transparent);font-family:var(--font-mono);letter-spacing:.02em;font-size:10px;line-height:1.6}.comment-form input,.comment-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--foreground);box-shadow:none;background:0 0;border-radius:0;outline:0;padding:14px 0;font-size:15px;transition:border-color .2s}.comment-form input::placeholder,.comment-form textarea::placeholder{color:color-mix(in srgb, var(--muted) 68%, transparent)}.comment-form textarea{resize:vertical;border-top:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 2.5%, transparent);min-height:150px;padding:18px;line-height:1.6}.comment-form textarea::placeholder{color:color-mix(in srgb, var(--muted) 86%, transparent)}.comment-form__composer{gap:10px;display:grid}.comment-form__tools{justify-content:space-between;align-items:center;gap:12px;display:flex}.comment-form__tools>small{color:var(--muted);font-family:var(--font-mono);font-size:10px}.comment-emoji-trigger{min-height:28px;font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border-radius:0;align-items:center;gap:5px;font-size:10px;transition:color .2s;display:inline-flex;color:var(--muted)!important;background:0 0!important;border:0!important;padding:0 2px!important}.comment-emoji-trigger svg{stroke-width:1.5px;width:14px;height:14px}.comment-emoji-trigger:hover,.comment-emoji-trigger[aria-expanded=true]{color:var(--foreground)!important;background:0 0!important}.comment-emoji-picker{border:1px solid var(--line);background:var(--bg);width:min(100%,380px);box-shadow:none;border-radius:2px;justify-self:start;overflow:hidden}.comment-emoji-picker__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:34px;padding:0 7px 0 11px;display:flex}.comment-emoji-picker__head strong{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;font-size:10px;font-weight:400}.comment-emoji-picker__head button{cursor:pointer;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;color:var(--muted)!important;background:0 0!important;border:0!important;padding:0!important}.comment-emoji-picker__head button:hover{color:var(--foreground)!important;background:0 0!important}.comment-emoji-picker__grid{scrollbar-width:thin;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-height:184px;padding:10px;display:grid;overflow-y:auto}.comment-emoji-picker__grid button{aspect-ratio:1;cursor:pointer;border-radius:3px;place-items:center;min-width:0;transition:background-color .16s;display:grid;background:0 0!important;border:0!important;padding:3px!important}.comment-emoji-picker__grid button:hover,.comment-emoji-picker__grid button:focus-visible{outline:0;background:color-mix(in srgb, var(--foreground) 7%, transparent)!important}.comment-emoji-picker__grid img{object-fit:contain;opacity:.82;width:100%;height:100%;image-rendering:pixelated;transition:opacity .16s;display:block}.comment-emoji-picker__grid button:hover img,.comment-emoji-picker__grid button:focus-visible img{opacity:1}.comment-form input:focus,.comment-form textarea:focus{border-color:color-mix(in srgb, var(--foreground) 64%, var(--line));box-shadow:none;background:0 0}.comment-form textarea:focus{background:color-mix(in srgb, var(--foreground) 4%, transparent)}.slide-verify{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;height:40px;box-shadow:none;background:0 0;border-radius:0;position:relative;overflow:hidden}.slide-verify__progress{background:color-mix(in srgb, var(--foreground) 4%, transparent);width:48px;transition:width .16s;position:absolute;inset:0 auto 0 0}.slide-verify__label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;pointer-events:none;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.slide-verify__thumb{border:0;border-right:1px solid var(--line);width:48px;height:38px;color:var(--muted);touch-action:none;cursor:grab;background:0 0;place-items:center;transition:transform .18s,background-color .18s,color .18s;display:grid;position:absolute;top:0;left:0}.slide-verify__thumb:active{cursor:grabbing}.slide-verify__thumb:hover{border-right-color:#0000;background:var(--foreground)!important;color:var(--bg)!important}.slide-verify.is-verified{border-color:color-mix(in srgb, var(--foreground) 44%, var(--line));background:0 0}.slide-verify.is-verified .slide-verify__progress{background:color-mix(in srgb, var(--foreground) 5%, transparent)}.slide-verify.is-verified .slide-verify__label{color:var(--foreground);font-weight:500}.slide-verify.is-verified .slide-verify__thumb{cursor:default;border-right-color:#0000;background:var(--foreground)!important;color:var(--bg)!important}.comment-form__footer{justify-content:space-between;align-items:center;gap:20px;margin-top:10px;display:flex}.comment-form__footer small{max-width:430px;color:var(--muted);font-family:var(--font-mono);font-size:10px;line-height:1.6}.comment-form__footer button{min-width:152px;min-height:38px;font-size:11px;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;box-shadow:none;border-radius:0;flex:none;justify-content:flex-end;align-items:center;gap:9px;transition:color .2s,border-color .2s;display:inline-flex;border:0!important;border-bottom:1px solid var(--foreground)!important;color:var(--foreground)!important;background:0 0!important;padding:0 2px!important}.comment-form__footer button svg{flex:none}.comment-form__submit-arrow{transition:transform .25s cubic-bezier(.16,1,.3,1)}.comment-form__footer button:not(:disabled):hover{box-shadow:none;transform:none;border-color:var(--muted)!important;color:var(--muted)!important;background:0 0!important}.comment-form__footer button:not(:disabled):hover .comment-form__submit-arrow{transform:translate(2px,-2px)}.comment-form__footer button:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 55%, transparent);outline-offset:3px}.comment-form__footer button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;border-color:var(--line)!important;color:var(--muted)!important;background:0 0!important}.comment-spin{animation:.9s linear infinite comment-spin}@keyframes comment-spin{to{transform:rotate(360deg)}}@media (max-width:1280px){.article-detail-layout{grid-template-columns:1fr}.article-detail-layout>article,.article-toc{grid-column:1;width:100%}.article-toc{order:-1;height:auto;min-height:0;max-height:none;position:static;overflow:visible}.article-toc--loading{margin-bottom:34px}.article-loading-skeleton--toc{border-left:0;border-bottom:1px solid var(--line);min-height:0;padding:0 0 22px}.article-loading-skeleton__toc-list{grid-template-columns:repeat(5,minmax(52px,1fr));gap:20px}.article-loading-skeleton__toc-list i,.article-loading-skeleton__toc-list i:nth-child(n){width:100%}.article-loading-skeleton__toc-actions{margin-top:22px}.article-reading-capsule{display:none}.article-toc__directory,.article-toc.is-progress-visible .article-toc__directory{opacity:1;pointer-events:auto;position:static;overflow:visible;transform:none}}@media (min-width:1281px) and (max-height:620px){.article-toc{height:auto;min-height:0;max-height:calc(100vh - 140px);overflow:visible}.article-reading-capsule{display:none}.article-toc__directory,.article-toc.is-progress-visible .article-toc__directory{opacity:1;pointer-events:auto;max-height:calc(100vh - 140px);position:static;transform:none}}@media (max-width:760px){.article-toc:not(.is-directory-empty){height:auto;min-height:0}.article-toc:not(.is-directory-empty) .article-toc__directory{border-left:0;padding-left:0}.article-toc:not(.is-directory-empty) .article-toc__directory>p,.article-toc:not(.is-directory-empty) .article-toc__list{display:none}.article-toc:not(.is-directory-empty) .article-toc__actions{border-top:0;margin-top:0;padding-top:0}.article-toc__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}.article-toc__actions>button,.article-font-picker__trigger,.article-code-theme-picker__trigger{width:40px;height:40px}.markdown-gallery{grid-template-columns:minmax(0,1fr)}.markdown-dialogue{gap:24px;padding:22px 14px}.markdown-dialogue__message{gap:11px}.markdown-dialogue__avatar{flex-basis:42px;width:42px;height:42px}.markdown-dialogue__bubble{border-radius:10px;min-width:0;max-width:calc(100% - 53px);padding:15px 16px 17px}.markdown-dialogue__bubble:before{top:13px}.markdown-dialogue__bubble strong{font-size:16px}.markdown-dialogue .markdown-dialogue__text{margin-top:12px;font-size:15px}.markdown-timeline:before{left:6px;right:auto;transform:none}.markdown-timeline .markdown-timeline__item{grid-template-columns:29px minmax(0,1fr)}.markdown-timeline .markdown-timeline__marker{grid-column:1;justify-self:start}.markdown-timeline .markdown-timeline__content,.markdown-timeline--alternate .markdown-timeline__item:nth-child(2n) .markdown-timeline__content{text-align:left;grid-column:2;padding:15px 16px 16px}.article-detail-page{padding:112px clamp(20px,6vw,28px) 72px}.article-detail-hero{margin-bottom:44px}.article-detail-hero h1{overflow-wrap:anywhere;font-size:clamp(32px,9vw,42px)}.article-detail-hero__loading-title{min-height:54px}.article-detail-hero__loading-title i{width:min(250px,72vw);height:38px}.article-loading-skeleton--body{min-height:520px}.article-loading-skeleton__heading{width:78%;height:28px}.article-loading-skeleton__media{height:180px;margin:30px 0;border-radius:14px!important}.article-loading-skeleton__toc-label,.article-loading-skeleton__toc-list{display:none}.article-loading-skeleton--toc{border-bottom:0;padding-bottom:0}.article-loading-skeleton__toc-actions{border-top:0;justify-content:center;margin-top:0;padding-top:0}.article-password-panel{border-radius:22px;padding:34px 20px}.markdown-article{font-size:16px;line-height:1.65}.article-license{grid-template-columns:1fr;gap:14px;margin-top:28px;padding:12px 0}.article-license__badge{grid-template-columns:repeat(4,28px);font-size:8px;line-height:28px}.article-license+.comment-section{margin-top:20px}.markdown-image-lightbox{padding:66px 12px 18px}.markdown-image-lightbox__toolbar{top:12px;right:12px}.markdown-image-lightbox__toolbar>span{min-width:48px;padding-left:7px}.markdown-image-lightbox__stage img{max-width:calc(100vw - 24px);max-height:76vh}.markdown-image-lightbox__caption{max-width:calc(100vw - 32px);margin-top:12px}.comment-section__head,.comment-form__footer{gap:16px;display:grid}.comment-section__head{margin-bottom:34px}.comment-list{gap:38px;margin-bottom:52px}.comment-form-intro{gap:10px;display:grid}.comment-form-intro p{white-space:normal}.comment-form__grid{grid-template-columns:1fr}.comment-item__card{border-radius:18px;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px 16px}.comment-item__avatar{border-width:1px;width:38px;height:38px;margin:0;font-size:14px}.comment-item__head{min-height:38px;margin:0}.comment-item__name{width:auto;font-size:15px}.comment-item__source--device{display:none}.comment-item__bubble{padding:7px 0 0}.comment-item__replies{gap:12px;margin:12px 0 0 16px;padding-left:20px}.comment-item--child .comment-item__card{border-radius:16px;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:15px 14px}.comment-item--child .comment-item__card:before{width:20px;top:30px;left:-21px}.comment-item--child .comment-item__avatar{width:32px;height:32px;margin:0;font-size:12px}.comment-form-wrap{padding-top:24px}.comment-emoji-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.comment-form__footer button{width:100%}}@media (prefers-reduced-motion:reduce){.article-detail-hero__loading-title i,.article-detail-hero__loading-meta i,.article-loading-skeleton i{animation:none}}@media (hover:none),(pointer:coarse){.custom-cursor{display:none}.markdown-image__zoom{opacity:1;transform:none}.comment-item__reply-btn{opacity:1;pointer-events:auto;transform:none}.comment-quote__locate-icon{opacity:.62;transform:none}}
