.ide-main {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    align-items: flex-start;
    padding: 20px 0;
    width: var(--site-content-width);
    margin: 0 auto;
}

/* 闂傚倸鍊峰ù鍥敋瑜庨〃銉╁传閵壯咁槸婵犵數濮撮崑鍡涙倿閻ｅ瞼纾藉ù锝咁潠閼测晜宕查柛鈩冪⊕閻撴洟鏌曟径妯烘灓濞存粏顫夌换娑橆啅椤旇崵鐩庣紓浣哄閸ㄥ爼骞冨鈧幃娆愶紣濠靛棙鏆繝?| 濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姴缍婇弻宥夊传閸曨剙娅ｉ梺娲诲幗椤ㄥ﹪寮诲☉銏犵疀闁宠桨绀侀ˉ瀣攽閻愭潙鐏熼柛銊ョ秺瀹曞綊宕掑☉鏍︾盎闂佸搫娲ㄩ崑鐐哄闯閻戞ü绻嗘俊鐐靛帶婵倹鎱ㄦ繝鍐┿仢妤犵偞鍔栭幆鏃堟晲閸モ晜娈煎┑鐘殿暯濡插懘宕戦崨瀛樺仭闁冲搫鎳庣粻?| 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘ｅ亾妤犵偛顦甸弫鎾绘偐閸愯弓鐢婚梻渚€娼ч…鍫ュ磿椤曗偓瀵顓兼径瀣幐闂佹悶鍎弲娑㈠礈閹惰姤鐓犻柡澶嬪閸嬨儵鏌″畝瀣埌閾绘牠鏌嶈閸撶喖骞冭瀹曠喖顢楅崒銈嗛敜婵犵數濮撮敃銈夋偋婵犲洦鍋傞柣鏂垮悑閻撳繘鐓崶銊︾閸熷憡绻涚€电校缂佸鎸惧Σ鎰板箳濡も偓缁犳稒銇勯幘妤€瀚弳顓㈡⒒娴ｇ儤鍤€鐎殿喖鐖奸獮鍐磼閻愯尙鐣洪悷婊勬煥閻ｉ攱绺介崨濠備簻闁荤偞绋堥崜婵嬪疾椤掑倻纾介柛灞捐壘閳ь剟顥撶划鍫熸媴婵劒姹楁繝銏ｅ煐閸旀洜娑甸埀顒勬⒑閸涘﹤濮囨俊顖氾躬瀹曠敻寮撮悢缈犵盎闂佽澹嬮弲娑㈠焵椤掍緡娈樼紒顔肩墦瀹曠喖顢涘☉姘箺婵犵妲呴崹浼村触鐎ｎ喖姹查柍杞扮贰濞间即鏌涢妷顔煎闁抽攱鍨块幃褰掑炊瑜嶇痪褔鏌熼惂鍝ョɑ闁靛洤瀚版慨鈧柣娆忔噹娴兼劙鏌ч懡銈呬槐闁哄本鐩鎾Ω閵夈儳顔囬梻浣侯焾椤戝棝骞愰幆褉妲堥柣銏㈩焾瀹告繃銇勯弮鈧崕鍐测槈瑜忕槐鎾诲磼濞嗘埈妲銈嗗灥閹虫妫熸繛鏉戝悑濞兼瑧绮诲鑸电厸闁告劧绲芥禍鎯旈悩闈涗粶闁挎洏鍊濆﹢渚€姊虹紒姗嗙劸閻忓繑鐟﹂弲鍫曟晜閼恒儱寮挎繝鐢靛Т閸燁垶濡靛┑鍥ヤ簻闁靛骏绱曢幊鍥┾偓瑙勬处閸嬪﹤鐣烽悢纰辨晝妞ゆ劑鍊愰崑鎾绘惞椤愶紕绠氶梺缁樺姦娴滄粓鍩€椤掍胶澧悡銈夋煥閺囩偛鈧摜绮ｅΔ浣风箚闁靛牆鎳忛崳鎶芥煃瑜滈崜姘舵偋閻樿尙鏆﹂柛顐ｆ处閺佸棝鏌嶈閸撴稓鍒掔拠娴嬫闁靛骏绱曢崢閬嶆⒑鐟欏嫬绀冮悘蹇ｄ邯瀹曟浠︽穱鍙樼盎闂佹寧妫侀褍鈻嶅鍡樺弿濠电姴鍟妵婵堚偓瑙勬磸閸斿秶鎹㈠┑瀣＜婵ê鍚嬬紞瀣⒒閸屾瑨鍏屾い銏狅工閳诲秹寮撮姀鈩冩珖闂侀潧绻掓慨鐑藉汲閿曞倹鐓涢柛銉㈡櫅琚ラ梺绋款儐閹告悂鍩ユ径濞炬瀻婵☆垳鍘ф慨娲⒒娴ｅ摜锛嶇紒顕呭灦瀵濡搁埞閿亾閿旂偓宕夐柕濠忕畱绾绢垱绻涢幘鏉戝毈闁搞劋鍗冲畷婊堝箮閼恒儮鎷虹紓渚囧灡濞叉ê鈻嶉崨顔轰簻闁挎梻鍋撻弳顒侇殽閻愭彃鏆炵紒鍌涘笧閳ь剨绲介悘姘跺疾椤掆偓閳规垿顢欓弬銈勭返闂佸憡鎸婚懝楣冨煝閹炬椿鏁囬柕蹇婃閹峰搫鈹戦悙璺鸿敿妞ゆ柨锕獮澶嬨偅閸愨晝鍘遍梺瑙勫劤閻°劑鎯冮幋鐘电＜妞ゆ棁妫勯崫铏光偓瑙勬穿缁绘繈骞冨▎鎾崇厸闁稿本绋掑鎴︽⒒閸屾瑧鍔嶉柟顔肩埣瀹曟洖顭ㄩ崼婵嗙獩濡炪倖鏋担绋垮闂佸疇顫夐崹鍧楀箖濞嗘挸绾ч柟瀵稿С濡楁捇姊绘担鍛婅础妞ゎ厼鐗撻獮妤€顭ㄩ崨顓炵亰闂佸搫鍟崐鎼佀夊鑸靛€甸柨婵嗗暙婵＄儤鎱?*/
.ide-main.article-layout {
    gap: 18px;
    min-height: calc(100vh - 40px);
}

.article-center {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.article-toc-aside {
    flex: 0 0 220px;
    width: 220px;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow: auto;
    align-self: flex-start;
    box-sizing: border-box;
}

.main-title {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--primary-text-color);
    margin: 20px 0 26px 20px;
    padding: 0 0 16px;
    letter-spacing: -0.5px;
    word-break: break-word;
}

.main-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 4px;
    border-radius: 2px;
    background: var(--primary-theme-color);
}

@media screen and (max-width: 768px) {
    .main-title {
        font-size: 22px;
    }
}

.article-left ul,
.article-left li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
}

.article-left {
    display: flex;
    flex-direction: column;
    flex: 0 0 280px;
    width: 280px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);

    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow: hidden;
    z-index: 10;
}


.side-nav-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 15px 20px;
    background: #f8fbff;
    border-bottom: 2px solid #eef2f6;
    font-weight: 600;
    font-size: 16px;
    color: #1e4663;
}

.side-nav-header-title {
    flex: 1;
    min-width: 0;
}

.article-nav-toggle,
.article-nav-backdrop,
.article-nav-close {
    display: none;
}

.nav-scroll-area {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    position: relative;
}

.side-fixed-ad {
    flex: 0 0 auto;
    padding: 15px;
    background: #fff;
    text-align: center;
    border-top: 1px solid #eee;
    z-index: 10;
}

.ad-label {
    font-size: 11px;
    color: #ccc;
    margin-bottom: 5px;
    display: block;
}


.article-left h2 {
    display: block;
    padding: 12px 15px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    background: #fcfcfc;
    border-bottom: 1px solid #f0f4fa;
    cursor: pointer;
    position: relative;
    user-select: none;
}

.article-left h2::after {
    content: '闂?;
    position: absolute;
    right: 15px;
    font-size: 10px;
    color: #ccc;
    transition: transform 0.3s;
}

.article-left h2.is-active::after {
    transform: rotate(180deg);
}

.article-left ul.list-unstyled {
    display: none;
    border-bottom: 1px solid #f0f4fa;
    padding: 5px 0;
}

.article-left ul.list-unstyled:has(.active),
.article-left ul.list-unstyled.open {
    display: block !important;
}

.article-left ul.list-unstyled li {
    display: block;
    width: 100%;
}

.article-left ul.list-unstyled li a {
    display: block !important;
    width: 100%;
    padding: 10px 20px 10px 30px;
    font-size: 14px;
    color: #555;
    text-decoration: none;
    transition: all 0.2s;
    box-sizing: border-box;
    line-height: 1.5;
}

.article-left ul.list-unstyled li a:hover {
    background-color: #f5f9ff;
    color: #008CBA;
}

.article-left ul.list-unstyled li a.active {
    background-color: #eef7fc;
    color: #008CBA;
    font-weight: 600;
    border-left: 4px solid #008CBA;
    padding-left: 26px;
}

.article-right {
    flex: none;
    width: 100%;
    min-width: 0;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 16px 20px 24px;
    box-sizing: border-box;
}

/* 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘ｅ亾妤犵偛顦甸弫鎾绘偐椤愮喎浜鹃柨鏇炲€搁悙濠囨煃鏉炴壆顦﹂柣蹇擄工椤啴濡堕崱娆忣潷缂備緡鍠栫粔鐟邦嚕閸愬樊鐓ラ柛顐ゅ枔閸樻捇鎮峰鍕煉鐎规洘绮岄埥澶愬閻橀潧濮︽俊鐐€栫敮鎺楀窗濮橆剦鐒介柟鎵閻撴瑩鏌涘☉姗堟敾闁稿﹥鍔欓弻鐔风暦閸パ勭亪濡炪們鍨洪惄顖炲箖濞嗘搩鏁傚ù锝夋櫜婢规洟姊洪崨濠傚Е闁绘挸鐗撻幃锟犲Ψ閳哄倻鍘卞銈嗗姧缁茶法绮诲Ο姹囦簻闁靛繒濮甸崵鍥ㄦ叏婵犲啯銇濇鐐村姈閹棃鏁愰崒娑辨綌闂備浇顕х€涒晠宕欒ぐ鎺戠闁绘梻鍘ц繚闂佺鏈粙鎾跺姬閳ь剙鈹戦鏂や緵闁告﹢绠栧畷銏＄鐎ｎ偀鎷洪梻鍌氱墛娓氭鎮炴ィ鍐╃厱閹兼番鍔嬮幉鐐亜閵忊剝顥堥柛鈺嬬節瀹曟帒螣閸︻厾娉块梻鍌欑劍鐎笛兾涙担鑲濇盯宕熼锝嗘櫔濠电姴锕ら悧濠囨偂濞嗘垟鍋撻悷鏉款伀濠⒀勵殜瀹曞疇銇愰幒鎾跺帗闁荤姴娲﹂悡锟犲矗閸曨剦娈介柣鎰綑濞搭喚鈧鍣崳锝呯暦閹烘埈娼╅柛鎾茬绾惧潡姊婚崒姘偓宄懊归崶褏鏆﹂柛顭戝亝閸欏繘鏌ｉ幋锝嗩棄缁炬儳娼￠弻鏇㈠醇濠靛洤顦╅悗瑙勬礃閻擄繝寮婚悢鍏肩劷闁挎洍鍋撻柡瀣枑閵?info 濠电姷鏁告慨鐢割敊閺嶎厼绐楁俊銈呭暞閺嗘粍淇婇妶鍛殶闁活厽鐟╅弻鐔兼倻濡晲绮堕梺閫炲苯澧剧紒鐘虫尭閻ｉ攱绺界粙璇俱劍銇勯弮鍥撴繛鍛Ф缁辨捇宕掑顑藉亾閻戣姤鍊块柨鏇氱劍閹冲苯鈹戦悙鑼憼闁搞倕閰ｅ畷鎰板冀閵娧€鏀虫繝鐢靛Т濞村倿寮鍡欑瘈濠电姴鍊归崳鍦磼濡ゅ纾跨紒?margin/padding/闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曚綅閸ヮ剦鏁嶉柣鎰綑娴滈亶姊虹憴鍕凡閹煎瓨绮庣槐鐐哄冀瑜滈悢鍡涙煠閹间焦娑у┑顔煎€块弻宥堫檨闁稿繑鐩幊妤呭醇閺囩偟鍔﹀銈嗗笒閿曪妇绮旈悽鍛婄厱闁绘ɑ鍓氬▓婊呪偓?*/
.article-right .main-title {
    margin: 4px 0 12px;
    padding: 0 0 10px;
}

.article-right .info.article-body,
.article-right .info {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}

/* 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘ｅ亾妤犵偛顦甸弫鎾绘偐閸愯弓鐢婚梻渚€娼чˇ顐﹀疾濞戙垹纾奸柕濞炬櫆閻撴稓鈧箍鍎辨鎼佺嵁閺嶎厽鐓熼柕鍫濐槺閻ｆ椽鏌＄仦鍓ф创妞ゃ垺娲熼弫鎰板幢濞嗘ɑ袣闂備浇顕х€涒晠鎳濇ィ鍏洦瀵奸弶鎳筹箓鏌涢弴銊ョ仩缂佺姵濞婇弻鐔衡偓娑欘焽缁犮儱霉閻樿櫕灏︽慨濠冩そ閺屽懘鎮欓懠璺侯伃婵犫拃灞芥灍闁靛洤瀚伴弫鍌炴倷椤掍焦鐦撴俊銈囧Х閸嬫稑螞濠靛棛鏆﹂柣鏃傗拡閺佸秹鏌ㄥ┑鍡橆棡婵炲懏鎹囧缁樻媴缁嬫寧鍊紓浣风劍閹稿啿顕ｉ幓鎺嗘斀闁糕剝顨堥ˇ?*/
.article-toc {
    margin: 0;
    padding: 12px 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.article-toc-aside:empty {
    /* 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘ｅ亾妤犵偞鐗犻、鏇㈡晝閳ь剟鎮块鈧弻锝呂旈埀顒勬偋婵犲洤鐭楅煫鍥ㄧ⊕閻撶喖鏌曡箛鏇炐ｉ柛鐔哄仱閺屾稓鈧綆浜跺Ο鈧梺鍝勮閸斿矂鍩為幋锕€骞㈡慨妤€鐗忓婵堢磽閸屾瑧鍔嶉柛鐐跺吹瀵板﹪鎮欓鍌楁敵婵犵數濮村ù鍌炲极瀹ュ棛绡€濠电姴鍊归崳鍦磼濡炵儵鍋撻幇浣瑰瘜闂侀潧娴傞崹顖滅矆娓氣偓瀹曘垽骞戦幇鈺€姹楅梺鍦劋閹稿憡绂嶈ぐ鎺撯拺闁兼祴鏂侀幏锟犳煕鎼达絽鍘村┑顔瑰亾闂佸啿鐏堥弲娑欑妤ｅ啯鍋℃繛鍡楃箰椤忣亞绱掗埀顒勫醇濠垫劗鍞甸悷婊冮叄閵嗗啯绻濋崶鈺佺ウ闂婎偄娲︾粙鎴濐啅濠靛洢浜滈柟鐐殔閸燁垶宕愰鐐粹拻濠电姴楠告禍婊勭箾鐠囇呯暠閻撱倖绻濇繝鍌滃悋闁搞儺鍓﹂弫瀣煃瑜滈崜娆擄綖韫囨洜纾兼俊顖濆亹閹虫繈姊洪幖鐐插妧闁告劗鍋撴禍銈夋⒒閸屾瑦绁版い鏇嗗懏宕查柟瀵稿У瀹曟煡鏌涢锝囩畼闁哄棴绠撻弻鏇＄疀鐎ｎ亖鍋撻弴鐐寸函闂傚倷鑳剁涵鍫曞礈濠靛鍋￠柕蹇嬪€曢崙鐘绘煛瀹擃喖鏈€靛矂姊洪棃娑氬婵☆偅鐟ф禍鎼侇敂閸喓鍘遍梺闈涱煭闂勫嫰濡靛┑瀣厸濞达絽鎽滄晥闂佽鍠撻崹钘夌暦閵婏妇绡€闁稿本鐭槐鐔封攽閻樺灚鏆╁┑顔芥尦閹ê顫濈捄铏诡唶闂佸憡鎸嗛崨顖滃幆濠电姷鏁告慨鐢靛枈瀹ュ鍋傛繛鎴欏灪閸婄敻鏌ㄥ┑鍡欏嚬缂併劌顭烽弻锟犲幢濡吋鍣梺闈涙搐鐎氭澘顕ｉ鍌涘磯闁靛ě灞芥櫔闂傚倷娴囧銊х矆娓氣偓瀹曨垶骞橀鍏兼К闂侀€炲苯澧柕鍥у楠炴帡骞嬪┑鍥吘濠电偛鐡ㄧ划宀€绱炴繝鍥ц摕婵炴垶菤閺€浠嬫煕閺囥劌浜滃┑顔芥礋閹鎲撮崟顒傤槬濡炪倧濡囬弫璇差嚕鐠囨祴妲堥柕蹇曞Х閻も偓婵＄偑鍊栭幐楣冨磻閻旇櫣鐭堥柣鎴ｅГ閸?*/
    visibility: hidden;
}

.article-toc-title {
    font-size: 14px;
    font-weight: 700;
    color: #1e4663;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eef2f6;
}

.article-toc ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.article-toc li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-indent: 0 !important;
}

.article-toc li::before {
    display: none !important;
    content: none !important;
}

.article-toc a {
    display: block;
    padding: 6px 8px;
    color: #334155;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.45;
    border-radius: 4px;
    border-left: 2px solid transparent;
}

.article-toc a:hover {
    color: #008CBA;
    background: #f5f9ff;
}

.article-toc .toc-h3 a {
    padding-left: 18px;
    font-size: 12.5px;
    color: #64748b;
}

.article-toc a.is-active {
    color: #008CBA;
    font-weight: 600;
    background: #eef7fc;
    border-left-color: #008CBA;
}

.info h2[id],
.info h3[id] {
    scroll-margin-top: 16px;
}

/* 闂傚倸鍊搁崐宄懊归崶褏鏆﹂柣銏㈩焾绾惧鏌ｉ幇顔芥毄闁活厽鐟╅悡顐﹀炊閵娧€妲堢紓浣插亾濠㈣泛澶囬崑鎾荤嵁閸喖濮庡銈忕細閸楀啿鐣烽幋鐘亾閿濆骸鏋熼柣鎾寸懇濮婂宕掑鐓庢闂佸憡鏌ㄧ粔褰掑蓟閿熺姴妞藉ù锝囶焾椤亪姊洪柅娑氣敀闁告柨鐭傞敐鐐差煥閸繂鑰垮┑掳鍊愰崑鎾绘煃闁垮绗掗柍瑙勫灴閸┿儵宕卞Δ鍐у摋婵犵妲呴崑鍛存偡閿斿墽鐭?+ 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌ｉ幇顒佲枙闁绘帟濮ょ换娑㈠幢濡纰嶇紓浣哄Х婵炩偓闁哄瞼鍠栭獮鍡氼檨闁搞倗鍠栭弻锝呪攽婵犲啰銆愰梺瀹狀潐閸ㄥ潡骞冮埡鍛闁圭儤绻€缁辨垹绱撴笟鈧粻鏍不閺嶎偆涓嶉柡宥庡幖閽冪喖鏌ｉ弮鍥モ偓鈧柛瀣崌閹棄鈻撶捄銊ュЪ濠电偛顕慨宥夊礃閸撗冩暩闂佽崵鍠愰悷銉р偓姘煎墯閹便劌顓兼径瀣幐闁诲繒鍋犻褎淇婃總鍛婄厓闁芥ê顦藉Σ鎼佹煃鐠囨煡鍙勬鐐差儔瀵噣鍩€椤掑嫸缍栫€广儱顦伴悡鐔兼煟閺傛寧鎲搁柣顓烆儐缁绘繈濮€閳浜為崣鍛存⒑闂堟稓澧曟い锔诲灦閹繝鍨鹃幇浣哄數闂佸吋鎮傚褎鎱ㄩ崶顒佲拺闁告鍋為崰姗€鏌＄仦鐐鐎垫澘瀚灒闁绘垶顭囨禍鍓佺磽閸屾瑧顦﹂柛濠冩倐瀹曨垶骞橀鑹版憰闂佹寧绻傞ˇ浼村磹閻戣姤鍊甸柣銏㈡暩閵嗗﹥淇婇幓鎺斿ⅵ婵﹤鎼叅閻犲洦褰冪粻宕囩磽娴ｈ棄鐓愮€光偓閹间礁违濞达絽澹婂鈺呮偣鏉炴壆绉跨憸宥夆€︾捄銊﹀磯闁绘碍娼欐慨娑橆渻閵堝繐鐦滈柛锝忕到椤繘鎼归崷顓狅紲濠殿喗顨呭Λ娑㈠礉閻戣姤鈷戦弶鐐村閸斿秹鏌熼鐓庘偓鍧楃嵁?*/
.ide-main .info table,
.article-right table,
.article-center table,
.article-right .info table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 12px 0 16px !important;
    border: 1px solid #d0d7de !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.ide-main .info table th,
.ide-main .info table td,
.article-right table th,
.article-right table td,
.article-center table th,
.article-center table td,
.article-right .info table th,
.article-right .info table td {
    padding: 10px 12px !important;
    border: none !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: left;
    vertical-align: top;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5;
    color: #334155;
}

.ide-main .info table th:last-child,
.ide-main .info table td:last-child,
.article-right table th:last-child,
.article-right table td:last-child {
    border-right: none !important;
}

.ide-main .info table tr:last-child th,
.ide-main .info table tr:last-child td,
.article-right table tr:last-child th,
.article-right table tr:last-child td {
    border-bottom: none !important;
}

.ide-main .info table tr:first-child,
.ide-main .info table tr:first-child th,
.ide-main .info table tr:first-child td,
.article-right table tr:first-child,
.article-right table tr:first-child th,
.article-right table tr:first-child td {
    font-weight: 400 !important;
    font-size: 13px !important;
}

.article-right table thead th,
.article-right .info table thead th,
.article-right table th,
.article-right .info table th {
    background: #f8fafc !important;
    font-weight: 600 !important;
    color: #1e293b;
}

.article-right table tbody tr:hover {
    background: #f8fbff;
}

@media screen and (max-width: 768px) {
    .ide-main {
        display: block !important;
        width: 100% !important;
        padding: 10px;
        overflow-x: hidden;
        position: relative;
    }

    .article-center {
        width: 100%;
    }

    /* 缂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴ｅГ閸婂潡鏌ㄩ弴鐐测偓鍝ョ矆婢舵劖鐓涢柛銉㈡櫅琚ラ梺绋款儐閹告悂锝炲┑瀣亗閹肩补妾ч幏顐︽⒒娴ｇ瓔鍤冮柛銊ゅ嵆閹囧箻瀹曞洦娈鹃梺鍛婎殘閸嬫劕危閸喓绠鹃柛鈩兠慨鍫ユ煟濠垫劕浜濈紒缁樼箓閳绘捇宕归鐣屼憾闂備焦瀵уú宥夊疾閻樿尙鏆︽繝濠傚暊閺嬪酣鏌熺€电啸闁绘帒鍚嬬换娑欐綇閸撗吷戦梺璇″枛閻栧ジ宕洪埀顒併亜閹哄秶顦︾紒妤佸笚閵囧嫰顢曢敐鍥╃杽闂佺硶鏂侀崑鎾愁渻閵堝棗绗掗悗姘煎墰缁牏鈧綆鍋佹禍婊堟煙閹规劖纭惧ù鐘欏洦鐓曢柡鍌濇硶缁夌儤鎱ㄦ繝鍌ょ吋鐎规洘甯掗～婵嬵敄閽樺澹曢梺褰掓？缁€浣虹不閻樿崵鍙撻柛銉ｅ妿閳藉绱掗埀顒佸緞鐎ｂ晝绠氬銈嗙墬閻熝呯矓閹稿海绠鹃柟瀵稿剱閻掍粙鏌￠崱妤侇棦闁哄本鐩鎾Ω閵夈儺娼芥繝鐢靛仜閹冲繘鎮ч悩璇茬畺婵°倕鎳庣粈鍌氼熆鐠虹尨姊楀瑙勬礋濮婄粯绗熼埀顒勫焵椤掑倸浠滈柤娲诲灡閺呭爼顢氶埀顒勫箖閿熺姴围濠㈣泛顑囬崢鐢告倵閻熸澘顏┑顖欑矙閿濈偤鏁冮埀顒勬箒濠电姴锕ら崯鎵矓濞差亝鐓涚€光偓鐎ｎ剛鐦堥悗瑙勬礀閻栧ジ宕洪埄鍐╁闁搞儵顥撶粔顕€鏌?JS 闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛顐ｆ礀缁犵娀鏌熼幆褜鍤熼柣婵婃硾閳规垿鎮╅幓鎺撴濡炪倐鏅涘鍓佹崲濠靛洨绡€闁稿本绮岄。娲⒑閸濆嫬顏ラ柛搴ｆ暬楠炲啫顫滈埀顒勫箖濞嗘挻鍋ㄩ柛顭戝亝閸熸帗绻濋悽闈涗槐婵☆偄娼″畷锟犲箮閽樺鎽曢梺闈涱焾閸庮噣寮ㄦ禒瀣厱闁斥晛鍠涙笟娑欎繆椤愵剛绡€婵﹨娅ｉ幏鐘诲箵閹烘梹袨闂備礁鎽滄慨鐢告偋閻樿鏄ラ柕澶涚畱缁剁偤鏌熼柇锕€澧版い鏃€甯炵槐鎾存媴閸︻収鐏卞銈庡亜椤﹂潧顕ｉ锝冨亝闁告劏鏂侀幏?*/
    .article-toc-aside {
        display: none !important;
    }

    .article-center > .article-toc {
        margin: 0 0 12px;
    }

    /* 缂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕闁芥ɑ绻堥弻鐔煎礈娴ｇ儤鎲橀梺杞扮椤戝洭骞夐崨濠冨劅闁靛鍎抽悿鍕⒑闂堟单鍫ュ疾濞戙垺鍋傛繛鎴欏灪閻撴洟鏌熼弶鍨倎缂併劏宕甸埀顒冾潐濞插繘宕曢柆宥佲偓鏃堝礃椤斿槈褔鏌涢埄鍐噧闁愁亞鏁诲铏圭矙閸栤剝鏁惧銈冨妼閻楀繘宕氶幒妤佹櫜闁告稑鍊瑰Λ鍐春閳ь剚銇勯幒鎴濐仼闁绘挴鈧剚鐔嗛柤鎼佹涧婵洨绱掗悩宸吋闁哄瞼鍠愰敍鎰媴閸濆嫬顬夐梺杞扮閻楁挸顫忕紒妯诲闁荤喐婢樻慨銏犫攽閳藉棗浜濈紒瀣尭鍗遍柟鐗堟緲缁犺櫕淇婇妶鍕槮闁逞屽墴閺€閬嶅Φ閸曨垰绠抽柛鈩冦仦婢规洘淇婇悙顏勨偓鏍哄Ο鐓庡灊鐎光偓閸曨偆鍘撮梺纭呮彧鐎靛矂寮繝鍥ㄧ厾婵炴潙顑嗗▍鍥煕閺冩垵鐏﹂柟顔筋殘閹叉挳宕熼鍌楁晬缂傚倸鍊哥粔宕囨濮樺墎宓侀柛鎰靛枛閻撴盯鏌涘☉鍗炲箻妞わ负鍔戝娲嚃閳圭偓瀚涢梺鍛婃尰瀹€鎼佸春閵忊剝鍎熼柕濠忚吂閹?*/
    .article-nav-toggle {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        margin: 0 0 12px;
        padding: 12px 14px;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        background: #fff;
        color: #1e4663;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
        box-sizing: border-box;
        text-align: left;
    }

    .article-nav-toggle-bars {
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
        width: 20px;
        height: 14px;
        flex: 0 0 auto;
    }

    .article-nav-toggle-bars span {
        display: block;
        height: 2px;
        width: 100%;
        border-radius: 1px;
        background: #1e4663;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .article-nav-toggle.is-open .article-nav-toggle-bars span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .article-nav-toggle.is-open .article-nav-toggle-bars span:nth-child(2) {
        opacity: 0;
    }

    .article-nav-toggle.is-open .article-nav-toggle-bars span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .article-nav-toggle-label {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .article-nav-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 998;
        background: rgba(15, 23, 42, 0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
    }

    body.article-nav-open .article-nav-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .article-nav-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 6px;
        background: transparent;
        color: #64748b;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
    }

    .article-nav-close:hover {
        background: #eef2f6;
        color: #1e4663;
    }

    /* 闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑﹦绋忔繝銏ｅ煐閸旀洜澹曢崸妤佺厽闁规儳鍟块鍌涚箾閹存瑥鐏╃紒鈧€ｎ偁浜滈柡宥冨妿閳藉鏌涢幘瑙勭彧缂佺粯绋撻埀顒傛暩椤牆鐡俊鐐€栭崹闈浳涘┑鍡╁殨闁哄被鍎洪弫鍡椕归敐鍥ㄥ殌鐎殿喖鐏濋埞鎴﹀煡閸℃浠╅梺鍦拡閸嬪﹪濡撮崒鐐茬闁兼亽鍎辨禒鍝勵渻閵堝棛澧紒瀣尭鐓ら柟缁㈠枟閻撴瑦銇勯弮鈧娆忣焽閹扮増鐓欑€瑰嫮澧楅崵鍥ㄤ繆椤愩垹鏆欓柍钘夘樀楠炴帡骞嬪鍐炬闂傚倷绀侀幖顐ょ矙娓氣偓瀹曘垺绺界粙鍨殤婵炴挻鍩冮崑鎾绘煛鐏炲墽娲撮柡浣稿€婚幏鐘诲箵閹烘棏鍟堥梻浣筋嚙缁绘劗鎹㈤幇鐗堢厐闁挎繂顦拑鐔哥箾閹存瑥鐏╃紒鐙呯稻缁绘盯宕卞Δ鍐暰闂佺顑嗛幐姝岀亙闂佸憡鍔︽禍鐐烘倿閸忚偐绡€闁靛骏绲介悡鎰版煕閺冣偓閻楃娀骞冮敓鐘冲亜闁稿繗鍋愰崢鐢告⒒娓氬洤寮跨紒鐘冲灴瀵悂鎮㈤崗鑲╁幈闂侀潧鐗嗛崐鍛婄妤ｅ啯鈷掗柛灞剧懅閸斿秹鏌熼鑲╁煟鐎规洘鍔欐俊鑸靛緞婵犲嫮宕堕梻浣告惈缁夋煡宕濆鍛瀺闊洦鎸撮弨浠嬫煟濮楀棗鏋涢柣蹇氶哺缁绘稒寰勭€ｎ剚鍒涢梺杞扮閸熸挳寮崒鐐村殟闁靛濡囪ぐ鍧楁⒒娴ｈ姤纭堕柛鐘虫尰閹便劑鎮界粙璺紮闂佸壊鍋呭ú姗€鎮￠悢鍏肩厵闂侇叏绠戞晶浼存煙閻ｅ苯啸缂佽鲸甯￠崺鈧い鎺戝閻掑灚銇勯幒鎴濃偓鑽ゅ?*/
    .article-left {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: min(86vw, 320px) !important;
        max-width: 320px !important;
        height: 100vh !important;
        max-height: none !important;
        margin: 0 !important;
        border-radius: 0 8px 8px 0 !important;
        z-index: 999 !important;
        transform: translateX(-105%);
        transition: transform 0.25s ease;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
    }

    body.article-nav-open .article-left {
        transform: translateX(0);
    }

    .nav-scroll-area {
        max-height: none;
        flex: 1;
    }

    .side-fixed-ad {
        display: none !important;
    }

    .article-right {
        width: 100% !important;
        flex: none !important;
        display: block !important;
        padding: 15px !important;
        margin-left: 0 !important;
    }

    .article-right img,
    .article-right pre,
    .article-right table,
    .article-right code {
        max-width: 100% !important;
        display: block;
        overflow-x: auto;
        box-sizing: border-box;
    }

    body.article-nav-open {
        overflow: hidden;
    }
}

/* 濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姴缍婇弻宥夊传閸曨剙娅ｉ梺绋胯閸斿矁鐏冮梺鎸庣箓閹冲酣寮抽悙鐑樼厱閻庯絻鍔岄埀顒佺箞瀵鎮㈢悰鈥充壕闁汇垺顔栭悞鍓ф偖閵夆晜鈷戠紒瀣儥閸庢劙鏌熼崨濠傚姢闁宠棄顦甸幃鐣岀矙閸喚鐛╂俊鐐€栧ú鏍箠韫囨蛋澶嬪緞閹邦厸鎷洪柣鐘叉搐瀵爼宕径瀣ㄤ簻妞ゆ劑鍩勫Σ鍦磼缂佹鈯曠紒缁樼箞瀹曟儼顦抽柣搴墴閹鐛崹顔煎闂佺懓鍢查鍛粹€﹂崶顒€鐓涢柛灞久肩花濠氭⒑鐟欏嫬绀冩繛澶嬬洴瀵悂骞嬮悙鏉戝伎闂佹寧绻傞幊蹇浰夐悩鐢电＜閺夊牄鍔嶇亸浼存煙瀹勭増鍤囬柟顔惧厴瀵泛鈻庨悙顒傜Ъ闂傚倷娴囬褏鈧稈鏅犲畷娆戞喆閸曨収娲搁梺缁樺姇閹碱偆绮婚弽銊ｄ簻闁哄啫娲よ缂傚倸绉村ú顓㈠蓟閺囩喓绠剧憸宥夊箠韫囨稑鍚圭€光偓閸曨剛鍘介梺缁樻煥閹芥粓鎯岀€ｎ剛纾奸悹鍥ㄥ絻椤忊晠宕￠柆宥嗙厵闂侇叏绠戦崢鎾煛閳ь剚绂掔€ｎ偆鍘遍梺闈涱槶閸ㄦ椽寮惰ぐ鎺撶厸閻庯綆鍋嗘晶顏呫亜椤忓嫬鏆ｅ┑鈥崇埣瀹曞崬螣妤︽寧鏆遍梻鍌欑劍閹爼宕濆鍜佹富濞寸姴顑呴弸浣衡偓骞垮劚椤︿即宕戦崟顖涚厱婵炴垶锕銉р偓娈垮枛閻忔繈鍩為幋锔藉亹闁肩⒈鍏涚划鐢告⒑閸︻収鐒惧褏鏅崚鎺戔枎閹邦喚鐦堝┑顔斤供閸橀箖宕㈤幖浣圭厽閹兼惌鍨崇粔闈浢瑰鍕煉鐎殿喗濞婇幃娆撴倻濡厧骞嶉柣搴ｆ嚀鐎氼喗鏅跺Δ鍛棷閻熸瑥瀚ㄦ禍婊堟煙閸撗冧缓闁稿鍨婚埀顒冾潐濞叉牠鎮ユ總绋挎槬闁跨喓濮寸壕鍏肩節瑜庨崕铏閻愵兙浜滈柟鎹愭硾閺嬫梻绱掗悩鑽ょ暫闁诡喗顨婇幃钘夆枔鐠恒劌濮奸柣搴㈢⊕缁诲嫮妲愰幘瀛樺闁告挸寮舵晥闂備胶顭堝锔界珶閸儱桅闁归偊鍘剧弧鈧梺鎼炲劘閸斿酣宕?*/
@media screen and (max-width: 1100px) and (min-width: 769px) {
    .article-toc-aside {
        flex-basis: 180px;
        width: 180px;
    }
    .article-left {
        flex-basis: 240px;
        width: 240px;
    }
}

/* 1024px 濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏焺閺佸銇勯幘璺烘瀾闁告瑥绻愰湁闁稿繐鍚嬬紞鎴犵棯閹勫仴闁哄瞼鍠庨埢鎾诲垂椤旂晫浜剧紓鍌欒兌婵潧螞閸愵喖钃熸繛鎴炃氬Σ鍫ユ煕濡ゅ啫浠﹂柣蹇撶墢缁辨挻鎷呯粙娆炬殺闂佺顑冮崐婵嗩嚕婵犳碍鍋勯柧蹇撴贡閿涙粓姊洪棃娑氱濠殿喚鏁婚幃姗€宕奸妷锔规嫼闂佸憡绋戦敃銉╂偂閻斿吋鐓曢幖杈剧稻閺嗩剛鈧鍠涢褔鍩ユ径濞㈢喎顭ㄩ崟顒夋閻庤娲橀敃銏′繆閹间礁绠涢柛鎾茬劍閸嬔囨⒑闁偛鑻晶顖涖亜閺冣偓閻楃姴鐣烽鐑嗘晝闁挎洍鍋撻柣鎰功閹叉瓕绠涘ù鏉挎穿椤﹁鎱ㄦ繝鍐┿仢婵☆偄鍟埥澶嬫綇閳轰礁歇闂傚倷鑳堕…鍫⑩偓娑掓櫅椤啴鎸婃径灞炬濡炪倖鐗楅崙褰掑触鐎ｎ亶鐔嗛悹杞拌閸庢垿鏌涘▎蹇旑棞闁宠鍨块幃娆撳级閹寸姳妗撻梺钘夊暢妞村摜鎹㈠┑瀣劦妞ゆ帊绀侀閬嶆倵濞戞瑯鐒介柛妯绘倐閺岋絾鎯旈婊呅ｆ繛瀛樼矋缁挸顕ｉ幎鑺ュ亜闁惧繐婀遍敍婊冾渻閵堝棙顥嗘い顐㈩槸閳诲秵绻濋崶銊у幍濡炪倖妫侀～澶娾枍婵犲洦鐓欓柣鎾虫捣缁夌儤銇勯姀鈩冪闁轰焦鍔栭幆鏃堝焺閸愨晝褰ｅ┑鐘垫暩婵兘寮幖浣哥；闁绘顕х粻鍨亜韫囨挻顥滅紒韬插€曡灃闁挎繂鎳庨弳娆戠磼閻樺崬宓嗛柡宀€鍠栧鑽も偓鍨摃缁愭姊烘潪鎵槮闁挎洦浜濠氭晸閻樿尙顦ㄩ梺鎸庣箓閹冲秵绔熼弴銏♀拻濞达絿鐡旈崵鍐煕閵娿儱鑸归摶鐐烘煕閹伴潧鏋涢柡瀣╃窔閺屾盯骞囬棃娑欑亪缂佺偓鍎抽崥瀣崲濞戙垹绠ｆ繝闈涙閸╃偤姊虹拠鈥虫灈闁瑰啿閰ｉ崺鐐哄箣閿旇棄鈧兘鏌℃径瀣仼濞寸姵鎮傚娲传閸曨噮娼堕梺鍛婃⒐閸ㄥ潡濡存笟鈧浠嬵敇閻愯尙鐛╅梻浣告贡閳峰牓宕㈡禒瀣柧妞ゅ繐瀚峰〒濠氭煏閸繃顥為柍閿嬪浮閺岋綁鍩勯崘鈺婃闂佽鍠楅〃濠傤嚕婵犳艾唯闁挎梹鍎抽獮宥夋⒒閸屾瑧璐伴柛娆忕箳缁骞嬮敃鈧崒銊╂⒒閸喕鈧€熴亹閹烘挸浜归梺鑲┾拡閸撴瑩鍩呴棃娑掓斀?*/
@media screen and (max-width: 1024px) {
    .ide-main {
        width: 100%;
    }
}

html.dark-mode .article-nav-toggle {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

html.dark-mode .article-nav-toggle-bars span {
    background: #e2e8f0;
}

html.dark-mode .article-left {
    background: #0f172a;
    border-color: #334155;
}

html.dark-mode .side-nav-header {
    background: #1e293b;
    border-bottom-color: #334155;
    color: #e2e8f0;
}

html.dark-mode .article-nav-close {
    color: #94a3b8;
}

html.dark-mode .article-nav-close:hover {
    background: #334155;
    color: #e2e8f0;
}

html.dark-mode .article-toc {
    background: #1e293b;
    border-color: #334155;
}

html.dark-mode .article-toc-title {
    color: #e2e8f0;
}

html.dark-mode .article-toc a {
    color: #cbd5e1;
}

html.dark-mode .article-toc .toc-h3 a {
    color: #94a3b8;
}

html.dark-mode .article-toc a:hover,
html.dark-mode .article-toc a.is-active {
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    border-left-color: #38bdf8;
}

html.dark-mode .article-right table,
html.dark-mode .article-right .info table {
    border-color: #334155 !important;
    background: #0f172a;
}

html.dark-mode .article-right table th,
html.dark-mode .article-right table td {
    border-color: #334155 !important;
    color: #e2e8f0;
}

html.dark-mode .article-right table tr:first-child th,
html.dark-mode .article-right table tr:first-child td {
    background: transparent;
}

html.dark-mode .article-right table thead th,
html.dark-mode .article-right table th {
    background: #1e293b !important;
    color: #f1f5f9;
}

/* 濠电姷鏁告慨鐑藉极閹间礁纾绘繛鎴欏焺閺佸銇勯幘璺烘瀻闁搞劍妫冮幃妤呮偨濞堣法鍔哥紓浣界堪閸婃繈寮诲☉婊庢Ъ濡炪們鍔屽Λ婵嗙暦閹寸偛绶為悗锝庡墰閻﹀牊绻濋悽闈浶㈤柛濠勭帛閺呭爼寮撮姀鈾€鎷洪柣鐔堕檷閸婃洟鍩€椤掍胶澧紒宀冮哺缁绘繈宕堕‖顑洦鐓曢悘鐐插⒔閻擃垰顭跨憴鍕濞ｅ洤锕幃娆擃敂閸曘劌浜剧憸鏂款潖娴犲绀嬫い鏍ㄧ☉娴滄姊洪悙钘夊姎缁剧虎鍙冨鎶芥晜閼恒儱寮垮┑鈽嗗灠閻忔繈鎮￠幇鐗堢厱闁靛牆鎷嬮崕鏃€鎱ㄦ繝鍌ょ吋鐎规洖銈搁幃銏ゅ箒閹哄棗浜鹃柟鐑樻尫缁诲棙銇勯弽銊ь暡妞ゃ儯鍨洪幈銊︾節閸曨厼绗￠梺鐟板槻閹虫﹢骞栭崷顓熷枂闁告洦鍓欓弲鐢告⒒閸屾瑧顦﹂柟鑺ョ矋閹便劑鎮介幖鐐╁亾閸愨晝绡€闁搞儜鍛毇闁荤喐绮嶉弻銊╂偩閻戣姤鏅搁柣妯哄暱閳ь剙顭烽弻娑㈠焺閸愮偓鐣峰?*/
.article-right pre {
    position: relative;
    background: #f8f9fa;
    border-radius: 0;
    overflow: hidden;
}

.copy-code-btn {
    position: absolute;
    top: 8px;
    right: 10px;
    padding: 3px 8px;
    font-size: 12px;
    color: #6c757d;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    cursor: pointer;
    z-index: 5;
}

.copy-code-btn:hover { background: #f0f0f0; color: #008CBA; }
.copy-code-btn.copied { color: #28a745; border-color: #28a745; }

/* 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘ｅ亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊虹粙璺ㄧ闁告艾顑夊畷锝堢疀濞戞瑧鍘梺鍓插亝缁诲秴危閸涘﹥鍙忛悷娆忓閸欌偓闂佸搫鐭夌紞浣割嚕椤曗偓瀹曟帒顫濋璺ㄥ笡闂傚倷鐒﹀鍧楀储娴犲鈧啯绻濋崶褑鎽曞┑鐐村灦閻喖鈻介鍫熺厱闁圭偓顨呴崰姘洪銏♀拻濞达絼璀﹂悞鐐亜閹存繃顥㈡鐐村灴瀹曟儼顦撮柡鍡檮閹便劌顪冪拠韫婵＄偑鍊戦崹娲晝閵忋倕绠栭柍杞拌閺嬫棃鏌涢…鎴濇灍闁哄棭鍙冨濠氬磼濮橆兘鍋撻悜鑺ュ€块柨鏇炲€哥粻鏍煕椤愶絾绀€缁炬儳娼￠弻鐔煎箚閻楀牜妫勭紒鐐劤椤兘寮婚弴銏犻唶婵犲灚鍔栫瑧缂傚倷鑳舵慨鎾箹椤愶箑鐓橀柟杈剧畱绾惧吋绻濇繝鍌涙崳闁告柨鎽滅槐?*/
.info .oc-reback {
    display: inline-block;
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 500;
    color: #4a7cff;
    text-decoration: none;
    line-height: 1.6;
}
.info h3 a {
    color: var(--primary-theme-color);
    text-decoration: none;
}
.info h3 a:hover {
    color: var(--primary-theme-hover);
    text-decoration: underline;
}
/* 濠电偞鍨堕幐鎼佹晝閿濆洨鍗氶悗鐢殿焾婵?/ 濠电偞鍨堕幐鎼侇敄閸曨厾鍗氶悗鐢殿焾婵剟鏌涢妷鎴濊嫰濞堝ジ姊?*/
.article-prev-next {
    display: flex;
    gap: 12px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
}
.article-prev-next a {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: var(--color-surface, #f8fafc);
    text-decoration: none;
    box-sizing: border-box;
    transition: border-color 0.2s, background 0.2s;
}
.article-prev-next a:hover {
    border-color: var(--primary-theme-color);
    background: #f0f8ff;
}
.article-prev-next .article-pn-label {
    font-size: 12px;
    color: var(--color-muted-text, #64748b);
}
.article-prev-next .article-pn-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.article-prev-next .article-pn-next {
    text-align: right;
}
html.dark-mode .article-prev-next a {
    background: #1e293b;
    border-color: #334155;
}
html.dark-mode .article-prev-next a:hover {
    border-color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
}
.info .oc-reback:hover {
    color: #2f5bd1;
    text-decoration: underline;
}
.info .oc-reback i {
    margin-right: 5px;
    color: inherit;
}
/* ===== 闂傚倸鍊搁崐鐑芥嚄閸洍鈧箓宕煎婵堟嚀椤繄鎹勯搹璇℃Ф婵犵數鍋涘Λ娆撳箰閹间焦鍎楁俊銈呮噺閻撳啴鏌曟径鍫濆鐞氾箓鏌ｉ悢鍝ユ噧閻庢凹鍘介崚濠囧箻椤旇棄浠╁┑鐐村灦鐢帗鏅堕弻銉︾厽闁规崘娉涢埢鍫熸叏婵犲啯銇濇鐐寸墵閹瑩骞撻幒鎳舵垿姊绘担渚劸妞ゆ垵妫濋獮鎴﹀炊椤掆偓缁犳牜鎲搁弬璺ㄦ殾闁跨喓濮甸崐濠氭煕閳╁喚娈曟い鎾虫健濮婄粯绻濇惔鈥茬盎濠电偛鐪伴崹钘夌暦閺囩偟鏆﹂柛銉㈡櫇閻掑ジ姊洪崨濠備刊婵炴彃宓€wchart闂?==== */
.fc-wrap {
    margin: 18px auto;
    max-width: 520px;
    text-align: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    overflow-x: auto;
    box-sizing: border-box;
}
.fc-svg {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
/* ===== 闂傚倸鍊搁崐鐑芥嚄閸洍鈧箓宕煎婵堟嚀椤繄鎹勯搹璇℃Ф婵犵數鍋涘Λ娆撳箰閹间焦鍎楁俊銈呮噺閻撳啴鏌曟径鍫濆鐞氾箓鏌ｉ悢鍝ユ噧閻庢凹鍘介崚濠囧箻椤旇棄浠╁┑鐐村灦鐢帗鏅堕弻銉︾厽闁规崘娉涢埢鍫熸叏婵犲啯銇濇鐐寸墵閹瑩骞撻幒鎳舵垿姊绘担渚劸妞ゆ垵妫濋獮鎴﹀炊椤掆偓缁犳牜鎲搁弬璺ㄦ殾闁跨喓濮甸崐濠氭煕閳╁喚娈曟い鎾虫健濮婄粯绻濇惔鈥茬盎濠电偛鐪伴崹钘夌暦閺囩偟鏆﹂柛銉㈡櫇閻掑ジ姊洪崨濠備刊婵炴彃宓€wchart闂?==== */
.fc-step {
    fill: #eef6ff;
    stroke: #4a7cff;
    stroke-width: 1.5;
}
.fc-start {
    fill: #e7f7ee;
    stroke: #2f9e44;
    stroke-width: 1.5;
}
.fc-diamond {
    fill: #fff8e6;
    stroke: #f0a500;
    stroke-width: 1.5;
}
.fc-text {
    font-size: 13px;
    fill: #1f2937;
    font-weight: 600;
    dominant-baseline: middle;
}
.fc-line {
    stroke: #94a3b8;
    stroke-width: 1.5;
    stroke-dasharray: none;
}
.fc-arrowhead {
    fill: #64748b;
}
.fc-label {
    font-size: 11px;
    fill: #64748b;
    font-weight: 600;
}
.fc-caption {
    margin: 10px 0 2px;
    font-size: 12.5px;
    color: #64748b;
    text-align: center;
    line-height: 1.5;
}
html.dark-mode .fc-wrap {
    background: #0f172a;
    border-color: #334155;
}
html.dark-mode .fc-caption {
    color: #94a3b8;
}
html.dark-mode .fc-step {
    fill: #1e293b;
    stroke: #4a7cff;
}
html.dark-mode .fc-start {
    fill: #0f2a1e;
    stroke: #2f9e44;
}
html.dark-mode .fc-diamond {
    fill: #2a2410;
    stroke: #f0a500;
}
html.dark-mode .fc-text {
    fill: #e2e8f0;
}
html.dark-mode .fc-line {
    stroke: #475569;
}
html.dark-mode .fc-arrowhead {
    fill: #94a3b8;
}
html.dark-mode .fc-label {
    fill: #94a3b8;
}


/* 闂佸搫鍊稿ú銊╂偟瀹勯偊娼伴柨婵嗘閻庮噣鎮跺☉妯垮闁哥偛鐡ㄧ粋鎺楁晲閸モ晛鐏ｉ梺鍝勭Т閸㈣尙妲愰敓鐘虫櫖?code>闂佹寧绋戞總鏃傜箔婢舵劕瑙?pre 婵炲濯寸徊鍧楁偉濠婂牆閿ゆ俊銈咁儑缁€?/*/
.article-right .info code:not(pre code),
.info code:not(pre code) {
    font-family: Consolas, Menlo, Monaco, 'Courier New', monospace;
    font-size: 0.9em;
    background: #f1f5f9;
    color: #c7254e;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 1px 5px;
    margin: 0 2px;
}
html.dark-mode .info code:not(pre code) {
    background: #1e293b;
    border-color: #334155;
    color: #f0a35e;
}


/* link code: clickable, theme color */
.info a code:not(pre code),
.article-right .info a code:not(pre code) {
    color: var(--primary-theme-color);
    background: rgba(0, 140, 186, 0.08);
    border-color: rgba(0, 140, 186, 0.25);
    text-decoration: underline;
    cursor: pointer;
}
.info a code:not(pre code):hover,
.article-right .info a code:not(pre code):hover {
    color: var(--primary-theme-hover);
    background: rgba(0, 140, 186, 0.14);
    border-color: rgba(0, 140, 186, 0.35);
}
html.dark-mode .info a code:not(pre code) {
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.3);
}
/* 示例代码块：一体化工具栏 + 运行按钮 */
.code-run-block {
    position: relative;
    margin: 14px 0;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    overflow: hidden;
}
.code-run-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px 6px 14px;
    background: #f6f8fa;
    border-bottom: 1px solid #d0d7de;
}
.code-run-lang {
    font-family: var(--hljs-font, Consolas, Menlo, monospace);
    font-size: 12px;
    color: #57606a;
    letter-spacing: 0.3px;
}
.run-code-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 13px;
    border-radius: 14px;
    background: #fff;
    color: #4a7cff;
    font-size: 13px;
    line-height: 1.5;
    text-decoration: none;
    border: 1px solid #d0d7de;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.run-code-btn i { font-size: 11px; }
.run-code-btn:hover {
    background: #f0f4ff;
    border-color: #4a7cff;
    color: #3a6ae8;
}
.code-run-block pre {
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
}
html.dark-mode .code-run-block {
    border-color: #30363d;
}
html.dark-mode .code-run-bar {
    background: #161b22;
    border-bottom-color: #30363d;
}
html.dark-mode .code-run-lang {
    color: #8b949e;
}
html.dark-mode .run-code-btn {
    background: #21262d;
    border-color: #30363d;
    color: #6e9bff;
}
html.dark-mode .run-code-btn:hover {
    background: #2d333b;
    border-color: #4a7cff;
    color: #8ab4ff;
}
