.article-content .token.comment,.article-content .token.prolog,.article-content .token.doctype,.article-content .token.cdata{color:#8b9aaf}.article-content .token.punctuation{color:#c8d1e2}.article-content .token.property,.article-content .token.tag,.article-content .token.constant,.article-content .token.symbol,.article-content .token.deleted{color:#ff8fb3}.article-content .token.boolean,.article-content .token.number{color:#8cc8ff}.article-content .token.selector,.article-content .token.attr-name,.article-content .token.string,.article-content .token.char,.article-content .token.builtin,.article-content .token.inserted{color:#a9d6a5}.article-content .token.operator,.article-content .token.entity,.article-content .token.url,.article-content .language-css .token.string,.article-content .style .token.string{color:#f3bd78}.article-content .token.atrule,.article-content .token.attr-value,.article-content .token.keyword{color:#ff9aa9}.article-content .token.function,.article-content .token.class-name{color:#d2b7ff}.article-content .token.regex,.article-content .token.important,.article-content .token.variable{color:#ffd18a}.comments-shell{contain-intrinsic-size:auto 520px}.article-frame{--article-acrylic-opacity:.58;max-width:900px}.article-view-toggle{background:linear-gradient(135deg,#ffffffad,#fff6fc7a),#ffffff80;border-radius:24px;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0 0 14px auto;padding:7px;display:flex}.article-view-toggle__label{color:#8d6680;font-family:var(--cute-font);padding:0 8px;font-size:.78rem;font-weight:900}.article-view-toggle button{color:#667389;min-height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:.8rem;font-weight:900;transition:background-color .18s,color .18s,transform .18s}.article-view-toggle button:hover{color:#8d6680;transform:translateY(-1px)}.article-view-toggle button.is-active{color:#3f4960;background:#ffffffd1;box-shadow:0 8px 18px #545f7e1a}.article-opacity-control{background:#ffffff61;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 10px;display:inline-flex}.article-opacity-control span,.article-opacity-control strong{color:#667389;white-space:nowrap;font-size:.82rem;font-weight:900}.article-opacity-control input{width:86px;accent-color:var(--pink)}.article-shell{background:var(--paper-strong);padding:clamp(34px,6vw,78px);transition:background-color .22s,box-shadow .22s,border-color .22s,backdrop-filter .22s}.article-frame.is-article-acrylic .comments-shell{background:linear-gradient(135deg, rgba(255, 255, 255, var(--article-acrylic-opacity)), rgba(238, 249, 255, calc(var(--article-acrylic-opacity) * .64))), rgba(255, 255, 255, calc(var(--article-acrylic-opacity) * .56));backdrop-filter:blur(20px)saturate(1.16)}.article-frame.is-article-glass .comments-shell{backdrop-filter:blur(28px)saturate(1.3);background:linear-gradient(135deg,#ffffff47,#eef9ff2e),#ffffff24}.article-progress{--article-progress:0;z-index:12;background:linear-gradient(#ffffffad,#fff7fc6b),#ffffff6b;border-radius:999px;align-content:center;justify-items:center;gap:10px;width:58px;min-height:214px;padding:12px 8px;display:grid;position:fixed;top:50%;right:clamp(18px,4vw,62px);transform:translateY(-50%);box-shadow:inset 0 1px #fffc,0 18px 46px #545f7e29}.article-progress span,.article-progress strong{color:#7b6177;font-family:var(--cute-font);font-weight:900}.article-progress span{writing-mode:vertical-rl;font-size:.72rem}.article-progress strong{font-size:.82rem}.article-progress i{background:#4f586f33;border-radius:999px;width:9px;height:94px;position:relative;overflow:hidden}.article-progress i:before{height:calc(var(--article-progress) * 100%);border-radius:inherit;background:linear-gradient(180deg, var(--pink), var(--blue));content:"";transition:height .12s linear;position:absolute;bottom:0;left:0;right:0}.article-header{border-bottom:1px solid #6c748924;margin:24px 0 34px;padding-bottom:24px}.article-meta{color:#8790a2;flex-wrap:wrap;gap:10px 18px;margin:18px 0;font-size:1rem;font-weight:800;display:flex}.article-cover{object-fit:cover;border-radius:14px;width:100%;max-height:460px;margin:24px 0 4px;display:block;box-shadow:0 18px 48px #38445c29}.article-content{color:#3a4054;overflow-wrap:anywhere;font-size:1.14rem;line-height:1.92}.article-content h1,.article-content h2,.article-content h3,.article-content h4{color:#30364a;scroll-margin-top:110px;line-height:1.35;position:relative}.article-content h1{margin-top:2em;font-size:2.32rem}.article-content h2{color:#30364a;margin-top:2.4em;padding-left:16px;font-size:1.82rem}.article-content h2:before{background:linear-gradient(180deg, var(--pink), var(--blue));content:"";border-radius:999px;width:5px;height:1.2em;position:absolute;top:.26em;left:0}.article-content ul,.article-content ol{padding-left:1.35em}.article-content li+li{margin-top:.38em}.article-content li::marker{color:#cf7397;font-weight:900}.article-content hr{background:linear-gradient(90deg,#0000,#8092ac42,#0000);border:0;height:1px;margin:34px 0}.article-content a{color:#4e789d;text-underline-offset:4px;font-weight:800;text-decoration:underline 2px #4e789d42;transition:color .16s,text-decoration-color .16s}.article-content a:hover{color:#8d6680;text-decoration-color:#cf739761}.article-content code{color:#35506b;background:#9fd8ef3d;border-radius:6px;padding:.1em .34em;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.92em}.article-content pre{background:linear-gradient(#ffffff0f,#0000),#262d3df5;border:1px solid #ffffff1f;border-radius:18px;padding:24px;overflow-x:auto;box-shadow:0 16px 42px #38445c29}.article-content pre code{color:#eef5ff;background:0 0;padding:0}.article-content img{border-radius:12px;max-width:100%;height:auto;margin:24px auto;display:block;box-shadow:0 16px 48px #38445c24}.article-content table{border-collapse:collapse;background:#ffffff5c;border-radius:16px;width:100%;margin:28px 0;display:block;overflow-x:auto}.article-content th,.article-content td{text-align:left;border-bottom:1px solid #6c748924;padding:14px 16px}.article-content blockquote{color:#59657c;background:linear-gradient(135deg,#fff7fc94,#eef9ff6b),#ffffff61;border:1px solid #ffffffa3;border-left:5px solid #f29abd94;border-radius:16px;margin:24px 0;padding:16px 20px}.article-content blockquote p{margin:0}.comments-shell{background:#ffffff8f;gap:22px;margin-top:26px;padding:clamp(26px,4vw,40px);display:grid}.comments-shell .giscus,.comments-shell .giscus-frame{width:100%}.comments-shell .giscus-frame{color-scheme:normal;border:0;min-height:150px;display:block}.comments-shell__header{gap:7px;display:grid}.comments-shell__header span{color:#8d6680;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-weight:900}.comments-shell__header strong{color:#3f4960;font-size:1.42rem}.comments-shell__header p{color:#667389;margin:0;font-size:1.02rem;line-height:1.7}.article-page .article-frame{--article-acrylic-opacity:.62;width:min(1288px,100% - 34px);max-width:none;margin-top:0;padding-top:clamp(74px,8vh,96px);padding-left:clamp(22px,3vw,42px);padding-right:clamp(10px,2vw,22px)}.article-page-grid{grid-template-columns:minmax(0,calc(100% - 336px)) 318px;align-items:start;gap:18px;display:grid}.article-main-column{gap:18px;width:100%;min-width:0;display:grid}.article-page .article-main-column>*{min-width:0}.article-topic-bar{backdrop-filter:blur(26px)saturate(1.12);background:linear-gradient(110deg,#ffffff8c,#e8f6ff57 42%,#ffffff6b),#d9e3ee52;border-color:#ffffff9e;border-radius:17px;align-items:center;gap:10px;width:100%;min-width:0;min-height:58px;padding:10px 18px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 18px 48px #2b3f5b24}.article-topic-pill{color:#364a60bd;min-height:36px;font-family:var(--cute-font);white-space:nowrap;background:#fff3;border:1px solid #57708f29;border-radius:11px;align-items:center;gap:8px;padding:0 14px;font-size:.83rem;font-weight:900;display:inline-flex;box-shadow:inset 0 1px #ffffff75,0 8px 16px #394e6c0f}.article-topic-pill--home{color:#2d8d69;background:#ddf7eb85;border-color:#48c39147}.article-shell{border-radius:18px;width:100%;min-width:0;padding:clamp(30px,4vw,46px)}.article-frame.is-article-acrylic .article-shell{background:radial-gradient(circle at 82% 10%, #aee6d224, transparent 28%), linear-gradient(135deg, rgba(255, 255, 255, var(--article-acrylic-opacity)), rgba(224, 237, 248, calc(var(--article-acrylic-opacity) * .58))), #d5dce547;backdrop-filter:blur(28px)saturate(1.1);border-color:#ffffff94;box-shadow:inset 0 1px #ffffffa8,0 24px 70px #2d3e5b2b}.article-frame.is-article-glass .article-shell{backdrop-filter:blur(34px)saturate(1.3);background:linear-gradient(135deg,#ffffff57,#ddf0f92e),#ffffff1f;border-color:#ffffff80;box-shadow:inset 0 1px #ffffff8f,0 24px 70px #2d3e5b24}.article-header{border-bottom:1px dashed #45526821;margin:0 0 34px;padding-bottom:28px;position:relative}.article-header__stats{color:#4b566894;flex-wrap:wrap;gap:9px;min-height:30px;margin-bottom:16px;font-size:.86rem;font-weight:850;display:flex}.article-header__stats span{background:#dde7f15c;border-radius:10px;align-items:center;gap:7px;padding:5px 9px;display:inline-flex}.article-header__stats svg{color:#305f7994}.article-header h1{color:#151d2b;margin:0;padding-left:18px;font-size:clamp(1.75rem,3vw,2.48rem);line-height:1.24;position:relative}.article-header h1:before{content:"";background:#39c98f;border-radius:999px;width:4px;height:.92em;position:absolute;top:.2em;left:0;box-shadow:0 0 18px #39c98f6b}.article-header>p{color:#222f42b8;max-width:840px;margin:18px 0 0;font-size:1rem;line-height:1.82}.article-meta{color:#404d60b8;gap:10px 16px;margin:18px 0 0;font-size:.9rem}.article-meta span{align-items:center;gap:9px;min-height:34px;font-weight:850;display:inline-flex}.article-meta svg{color:#21976b;background:#e2faecdb;border-radius:9px;width:32px;height:32px;padding:7px}.article-meta__tags{max-width:min(100%,680px)}.article-cover{opacity:.9;border-radius:16px;max-height:380px;margin-top:24px}.article-content{color:#1f2c3fd6;min-width:0;font-size:1rem;line-height:1.9}.article-content h1,.article-content h2,.article-content h3,.article-content h4{color:#151d2b;font-family:var(--cute-font);letter-spacing:0}.article-content h2{margin-top:2.35em;padding-left:0;font-size:1.52rem}.article-content h2:before{display:none}.article-content h3{margin-top:1.85em;font-size:1.22rem}.article-content p,.article-content li{color:#222f42cc}.article-content blockquote{background:linear-gradient(135deg,#ebfaf280,#eef9ff5c),#ffffff47;border-left-color:#d4ffebe6}.article-content table{background:#ffffff6b;box-shadow:0 14px 34px #2d3e5b14}.article-content th{color:#1f7b5f;background:#e1f8edb8}.article-side-column{gap:16px;min-width:0;max-height:calc(100vh - 116px);padding-right:2px;display:grid;position:sticky;top:clamp(98px,12vh,126px);overflow:auto}.article-side-column::-webkit-scrollbar{width:5px}.article-side-column::-webkit-scrollbar-thumb{background:#2b967438;border-radius:999px}.article-stat-card,.article-toc-card,.article-page .article-view-toggle,.article-page .article-progress{backdrop-filter:blur(28px)saturate(1.1);background:linear-gradient(135deg,#ffffff7a,#dfedf84d),#cbd7e447;border-color:#ffffff8f;border-radius:18px;box-shadow:inset 0 1px #ffffffa8,0 22px 58px #2b3f5b29}.article-stat-card,.article-toc-card{padding:22px 22px 24px}.article-stat-card h2,.article-toc-card h2{color:#151d2b;font-family:var(--cute-font);align-items:center;gap:10px;margin:0;font-size:1.08rem;line-height:1.2;display:flex}.article-stat-card h2:before,.article-toc-card h2:before{content:"";background:#39c98f;border-radius:999px;width:4px;height:18px}.article-stat-list{gap:16px;margin:24px 0 0;display:grid}.article-stat-list div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.article-stat-list dt,.article-stat-list dd{margin:0;font-weight:900}.article-stat-list dt{color:#283446b8;align-items:center;gap:10px;font-size:.88rem;display:inline-flex}.article-stat-list dt svg{color:#26ad7a}.article-stat-list dd{color:#182130;font-size:.96rem}.article-toc-card{overflow:hidden}.article-toc-list{gap:6px;max-height:min(390px,42vh);margin:18px 0 0;padding:0 4px 0 0;list-style:none;display:grid;overflow:auto}.article-toc-list::-webkit-scrollbar{width:5px}.article-toc-list::-webkit-scrollbar-thumb{background:#2b967433;border-radius:999px}.article-toc-list li{position:relative}.article-toc-list a{color:#2a384bb8;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;padding:8px 10px;font-size:.82rem;font-weight:850;transition:background-color .16s,color .16s,transform .16s;display:block;overflow:hidden}.article-toc-list a:hover,.article-toc-list li.is-active a{color:#247b5d;background:#e1f8ed9e;transform:translate(2px)}.article-toc-list .is-depth-3 a{padding-left:22px}.article-toc-list .is-depth-4 a,.article-toc-list .is-depth-5 a,.article-toc-list .is-depth-6 a{color:#2a384b8f;padding-left:34px}.article-toc-empty{color:#2a384b94;margin:16px 0 0;font-size:.88rem;font-weight:850}.article-page .article-view-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:auto;margin:0;padding:12px;display:grid}.article-page .article-view-toggle__label{color:#2a384bb3;grid-column:1/-1;padding:0 4px}.article-page .article-view-toggle button{background:#ffffff3d;min-height:34px}.article-page .article-view-toggle button.is-active{color:#247b5d;background:#e1f8edb8}.article-page .article-opacity-control{background:#ffffff3d;border-radius:14px;grid-column:1/-1}.article-page .article-opacity-control input{accent-color:#39c98f;flex:1}.article-page .article-progress{--article-progress:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:auto;min-height:0;padding:16px 18px;display:grid;position:static;transform:none}.article-page .article-progress span{color:#2a384bb8;font-family:var(--cute-font);writing-mode:horizontal-tb;font-size:.88rem}.article-page .article-progress strong{color:#182130;font-size:.92rem}.article-page .article-progress i{background:#2a384b1f;grid-column:1/-1;width:100%;height:8px}.article-page .article-progress i:before{width:calc(var(--article-progress) * 100%);background:linear-gradient(90deg,#39c98f,#7fcde5);height:100%;transition:width .12s linear}.article-page .comments-shell{border-radius:18px;margin-top:0}.article-relations{gap:16px;display:grid}.article-relations__adjacent{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.article-relation-link,.article-relations__group{backdrop-filter:blur(24px)saturate(1.08);background:linear-gradient(135deg,#ffffff85,#e1f8ed4d),#cbd7e442;border:1px solid #ffffff9e;border-radius:18px;box-shadow:inset 0 1px #ffffffa8,0 18px 48px #2b3f5b1f}.article-relation-link{color:#213243;align-items:center;gap:12px;min-height:84px;padding:16px 18px;text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.article-relation-link:hover{background:#e1f8ed94;border-color:#39c98f8a;transform:translateY(-2px)}.article-relation-link--next{text-align:right;justify-content:flex-end}.article-relation-link small,.article-relation-link strong{display:block}.article-relation-link small{color:#2a384b9e;font-size:.78rem;font-weight:850}.article-relation-link strong{color:#213243;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.96rem;font-weight:900;overflow:hidden}.article-relation-link svg,.article-relations__group h2 svg{color:#2aa97a;flex:none}.article-relation-link.is-empty{visibility:hidden}.article-relations__group{padding:20px 22px}.article-relations__group h2{color:#1d2a3a;font-family:var(--cute-font);align-items:center;gap:9px;margin:0;font-size:1rem;display:flex}.article-relations__group ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 0;padding:0;list-style:none;display:grid}.article-relations__group a{color:#41556b;text-overflow:ellipsis;white-space:nowrap;background:#ffffff57;border-radius:11px;padding:10px 12px;font-size:.86rem;font-weight:850;text-decoration:none;transition:background-color .16s,color .16s;display:block;overflow:hidden}.article-relations__group a:hover{color:#1f7b5f;background:#e1f8edad}@media (width<=1180px) and (width>=901px){.article-page-grid{grid-template-columns:1fr}.article-side-column{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;position:static;overflow:visible}.article-toc-card{grid-row:span 2}}@media (width<=900px){.article-page .article-frame{padding-top:72px;padding-left:0}.article-page-grid{grid-template-columns:1fr}.article-side-column{max-height:none;position:static;overflow:visible}.article-topic-bar{overscroll-behavior-inline:contain;scrollbar-width:none;overflow:auto hidden}.article-topic-pill{flex:none}.article-topic-bar::-webkit-scrollbar{display:none}}@media (width<=520px){.article-view-toggle{border-radius:20px;flex-wrap:wrap;justify-content:space-between;width:100%;margin-left:0}.article-progress{display:none}}@media (width<=640px){.article-relations__adjacent,.article-relations__group ul{grid-template-columns:1fr}.article-relation-link.is-empty{display:none}}@media (width<=520px){.article-opacity-control{justify-content:space-between;width:100%}.article-opacity-control input{flex:1}}[data-theme=dark] .article-frame.is-article-acrylic .article-shell{background:linear-gradient(#ffffff14,#ffffff0d),#22263ab8;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14,0 30px 90px #03040a66}[data-theme=dark] .article-frame.is-article-acrylic .comments-shell{background:linear-gradient(135deg,#ffffff12,#9fd8ef0d),#22263a99}[data-theme=dark] .article-frame.is-article-glass .article-shell{background:linear-gradient(#ffffff0f,#9fd8ef0a),#22263a6b;border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff14,0 30px 90px #03040a5c}[data-theme=dark] .article-frame.is-article-glass .comments-shell{background:linear-gradient(135deg,#ffffff0f,#9fd8ef0a),#22263a66}[data-theme=dark] .comments-shell{background:#22263a99}[data-theme=dark] .comments-shell__header span{color:#d0a3bb}[data-theme=dark] .comments-shell__header strong{color:#eceef7}[data-theme=dark] .comments-shell__header p{color:#b7bdd4}[data-theme=dark] .article-topic-bar{background:linear-gradient(110deg,#ffffff12,#9fd8ef0d 42%,#ffffff0d),#22263a80;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14,0 14px 36px #03040a4d}[data-theme=dark] .article-topic-pill{color:#c3c9dd;background:#ffffff12;border-color:#ffffff1f}[data-theme=dark] .article-topic-pill--home{color:#f0b7cf;background:#d8769d2e}[data-theme=dark] .article-progress{background:linear-gradient(#ffffff14,#ffffff0d),#22263a99;box-shadow:inset 0 1px #ffffff14,0 18px 46px #03040a57}[data-theme=dark] .article-progress span,[data-theme=dark] .article-progress strong{color:#d0a3bb}[data-theme=dark] .article-content{color:#cdd3e6}[data-theme=dark] .article-content h1,[data-theme=dark] .article-content h2,[data-theme=dark] .article-content h3,[data-theme=dark] .article-content h4{color:#eceef7}[data-theme=dark] .article-content p,[data-theme=dark] .article-content li{color:#cdd3e6}[data-theme=dark] .article-content li::marker{color:#eba8c4}[data-theme=dark] .article-content hr{background:linear-gradient(90deg,#0000,#a6abc24d,#0000)}[data-theme=dark] .article-content a{color:#8fc3e8;text-decoration-color:#8fc3e84d}[data-theme=dark] .article-content a:hover{color:#eba8c4;text-decoration-color:#eba8c466}[data-theme=dark] .article-content code{color:#a9d4ea;background:#9fd8ef24}[data-theme=dark] .article-content pre{background:linear-gradient(#ffffff0a,#0000),#181c2afa;border-color:#ffffff17;box-shadow:0 16px 42px #03040a66}[data-theme=dark] .article-content table th,[data-theme=dark] .article-content table td{border-color:#ffffff1a}[data-theme=dark] .article-header__stats span,[data-theme=dark] .article-meta span{color:#b7bdd4}[data-theme=dark] .article-header h1{color:#eceef7}[data-theme=dark] .article-relation-link,[data-theme=dark] .article-relations__group{background:linear-gradient(135deg,#ffffff12,#59cc9a0a),#22263a8c;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14,0 18px 48px #03040a4d}[data-theme=dark] .article-relation-link{color:#eceef7}[data-theme=dark] .article-relation-link:hover{background:#59cc9a1a;border-color:#59cc9a70}[data-theme=dark] .article-relation-link small{color:#c4c9dd9e}[data-theme=dark] .article-relation-link strong{color:#eceef7}[data-theme=dark] .article-relation-link svg,[data-theme=dark] .article-relations__group h2 svg{color:#7fd9b2}[data-theme=dark] .article-relations__group h2{color:#eceef7}[data-theme=dark] .article-stat-card,[data-theme=dark] .article-toc-card,[data-theme=dark] .article-page .article-view-toggle,[data-theme=dark] .article-page .article-progress{background:linear-gradient(135deg,#ffffff12,#9fd8ef0a),#22263a8c;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14,0 22px 58px #03040a5c}[data-theme=dark] .article-stat-card h2,[data-theme=dark] .article-toc-card h2{color:#eceef7}[data-theme=dark] .article-stat-list dt{color:#b7bdd4}[data-theme=dark] .article-stat-list dt svg{color:#7fd9b2}[data-theme=dark] .article-stat-list dd{color:#eceef7}[data-theme=dark] .article-toc-list a{color:#b7bdd4}[data-theme=dark] .article-toc-list a:hover,[data-theme=dark] .article-toc-list a:focus-visible{color:#7fd9b2}[data-theme=dark] .article-toc-list li.is-active>a{color:#7fd9b2;background:#59cc9a24}[data-theme=dark] .article-toc-empty{color:#9aa0b8}[data-theme=dark] .article-view-toggle{color:#c3c9dd}
