:root {
  --black: #000;
  --white: #fff;
  --red: #e65050;
  --green: #1aae19;
  color-scheme: light;
  color-scheme: light dark; 
  --ink: #1d1c1a;
  --soft-line: #eae7e1;
  --accent: #21556a;
  --accent-dark: #79231f;
  --accent-soft: #f5e6e3;
  --section-timestamp: #71d2ff;
  --section-title-color: #21546a;;
  --section-steps-dianzhui: #a2f2c2;
  --section-steps-border: #ade1f6;
  --border-color-pink: #ffd3d7;
  --border-color-gray: #e1e6ee;
  --text-q-gray: #a7a7a7;
  --bg-gray-color: #f7f7f7;
  --mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace; 
  --svg-dots: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 247.41 41.19"><path fill="%23e4f7fc" d="M0,.59H20.59v20.6H0ZM62.22,20.59H82.81v20.6H62.22ZM103.41,20.59H124v20.6H103.41ZM144.63,20.59h20.56v20.6H144.63ZM185.78,20.59h20.63v20.6H185.78ZM226.78,20.59h20.63v20.6H226.78ZM41.59,0H62.22V20.59H41.59ZM124,0h20.63V20.59H124ZM165.19,0h20.59V20.59H165.19ZM206.41,0H227V20.59H206.41ZM21,20.59H41.59v20.6H21Z"/></svg>');
  --svg-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34.54 29.02'%3E%3Cpath d='M12.91,0C6,3.2,0,9.52,0,18.78,0,24.48,3.47,29,8.28,29c4.63,0,7.48-3.12,7.48-7S13.08,15,9.17,15a5.19,5.19,0 0 0-1.6.27c0-2.14,2.58-7.3,8.28-9.88ZM31.6,0C24.66,3.2,18.69,9.52,18.69,18.78,18.69,24.48,22.16,29,27,29c4.63,0,7.48-3.12,7.48-7S31.78,15,27.86,15a5.25,5.25,0 0 0-1.6.27c0-2.14,2.58-7.3,8.28-9.88Z' fill='%23a2f2c2'/%3E%3C/svg%3E");
  --bg-overlay-filter: blur(5px);
  --bg-overlay: rgba(0, 0, 0, 0.4); 
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-size: 15px; margin: 0; background: var(--white); color: var(--ink); font-family: var(--body); line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a ,a:hover { color: var(--accent); }
img { display: block; height: auto; max-width: 100%; vertical-align: middle; }
svg { display: block; }
.visible { visibility: visible; }
h1 , h2 , h3 , p { text-wrap: auto; }
h1 , h2 , h3 { font-family: var(--display); }
.layout { width: min(100% - 48px, 848px); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 820px); justify-content: center; min-width: 0; }
.article { padding-top: 25px; counter-reset: part-counter; }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/* 顶部导航栏
--------------------------------------------------------------*/
.site-header { position: sticky; top: 0; z-index: 100; background-color: rgba(255, 255, 255, 0.9); -webkit-backdrop-filter: saturate(180%) blur(10px); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid rgba(75, 75, 75, 0.1); }
.header-container { max-width: 820px; margin: 0 auto; 
  height: 66px; display: flex; align-items: center; justify-content: space-between; }
.header-left { display: flex; align-items: center; gap: 32px; flex: 1; min-width: 0; }
.header-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 22px; font-weight: bold; color: #3858f6; flex-shrink: 0; }
.header-nav { display: flex; align-items: center; flex: 1; min-width: 0; position: relative; opacity: 0; animation: fadeInNav 0.2s forwards; }
@keyframes fadeInNav { 
  to { opacity: 1; }
}
.nav-main { display: flex; align-items: center; gap: 20px; white-space: nowrap; overflow: hidden; padding-right: 10px; transition: width 0.3s; }
.nav-main a { text-decoration: none; color: var(--ink); font-size: 15px; transition: color 0.2s; padding: 8px 0; flex-shrink: 0; }
.nav-main a:hover, .nav-main a.active { color: var(--accent); }
.header-actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; padding-left: 20px;}
.action-btn { background: transparent; border: none; cursor: pointer; color: var(--text-q-gray); display: flex; padding: 4px; transition: color 0.2s; }
.menu-btn { display: none; }
/* 下拉折叠菜单 */
.nav-more { display: none; position: relative; }
.nav-more.show { display: block; }
.nav-more-btn { background: transparent; border: none; cursor: pointer; color: #666; display: flex; align-items: center; font-size: 12px; padding: 8px; transition: color 0.2s; }
.nav-more-btn:hover { color: var(--accent); }
.nav-more-btn svg { transition: transform 0.3s; }
.nav-more:hover .nav-more-btn svg { transform: rotate(180deg); }
.nav-more-dropdown { display: none; position: absolute; top: 100%; right: 0; background: var(--white); box-shadow: 0 4px 15px rgba(0,0,0,0.1); border: 1px solid var(--border-color-gray); border-radius: 8px; padding: 8px 0; min-width: 140px; z-index: 200; }
.nav-more:hover .nav-more-dropdown { display: flex; flex-direction: column; }
.nav-more-dropdown a { padding: 10px 20px; text-decoration: none; color: var(--ink); font-size: 14px; text-align: left; }
.nav-more-dropdown a:hover { background: var(--bg-gray-color); color: var(--accent); }
/*--------------------------------------------------------------
/* 搜索弹窗样式
--------------------------------------------------------------*/
.search-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--bg-overlay); backdrop-filter: var(--bg-overlay-filter); z-index: 10000; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.search-overlay.show { opacity: 1; visibility: visible; }
.search-overlay.no-overlay-bg { background: transparent !important; backdrop-filter: none !important; }
.search-panel { position: fixed; top: 80px; left: 50%; width: calc(100% - 32px); max-width: 640px; background: var(--white); z-index: 10001; padding: 24px; border: 1px solid var(--bg-gray-color); border-radius: 10px; opacity: 0; visibility: hidden; transform: translate(-50%, 0); }
.search-panel.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); animation: searchPopIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes searchPopIn { 
  from { opacity: 0; transform: translate(-50%, 10px) scale(0.96); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
.search-container { width: 100%; margin: 0 auto; }
.search-input-group { display: flex; align-items: center; background: #f8f9fa; border-radius: 8px; padding: 8px 16px; border: 1px solid var(--border-color-gray); transition: border-color 0.2s, background 0.2s, box-shadow 0.2s; }
.search-input-group:focus-within { background: var(--white); border-color: var(--accent); box-shadow: 0 0 0 3px rgba(56, 88, 246, 0.1); }
.search-icon { color: #888; margin-right: 12px; flex-shrink: 0; }
#searchInput { flex: 1; border: none; background: transparent; font-size: 16px; color: var(--ink); outline: none; padding: 8px 0; }
#searchInput::placeholder { color: #aaa; }
.search-close-btn { background: transparent; border: none; color: #888; cursor: pointer; padding: 4px; display: flex; align-items: center; justify-content: center; transition: color 0.2s; }
.search-close-btn:hover { color: var(--ink); }
.hint-header { display: flex; justify-content: space-between; align-items: center; margin: 15px auto 12px; }
.clear-history-btn { display: flex; align-items: center; background: transparent; border: none; font-size: 13px; color: #888; cursor: pointer; padding: 0; transition: color 0.2s; }
.clear-history-btn:hover { color: var(--red); }
.hint-tag { display: inline-block; padding: 4px 10px; background: #f5f5f5; border-radius: 4px; font-size: 13px; color: var(--ink); cursor: pointer; transition: background 0.2s, color 0.2s; margin: 0px 6px 6px 0px; }
.hint-tag:hover { background: var(--accent); color: var(--white); }
/*--------------------------------------------------------------
/* 移动端侧边栏菜单
--------------------------------------------------------------*/
.menu-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--bg-overlay); backdrop-filter: var(--bg-overlay-filter); z-index: 9988; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.menu-overlay.show { opacity: 1; visibility: visible; }
.side-menu-drawer { position: fixed; top: 0; bottom: 0; left: 0; width: 280px; max-width: 80vw; height: 100vh; height: 100dvh; background: var(--white); z-index: 9999; display: flex; flex-direction: column; transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.side-menu-drawer.no-transition { transition: none !important; }
.side-menu-drawer.show { transform: translateX(0); }
.side-menu-topbar { display: flex; justify-content: space-between; align-items: center; padding: 20px 20px 10px; }
.side-menu-brand img { height: 26px; width: auto; }
.side-close { background: transparent; border: none; color: #666; cursor: pointer; padding: 4px; display: flex; align-items: center; transition: color 0.2s; }
.side-close:hover { color: #3858f6; }
.side-menu-search { padding: 8px 16px 10px; }
.side-search-box { display: flex; align-items: center; gap: 10px; background: var(--bg-gray-color); border-radius: 5px; padding: 12px 16px; color: #999; font-size: 14px; cursor: pointer; border: 1px solid var(--border-color-gray); transition: all 0.2s; }
.side-menu-body { flex: 1; overflow-y: auto; padding: 0 15px 20px; display: flex; flex-direction: column; gap: 12px; }
.mobile-menu-inner { margin: 0px; padding: 0px; }
.mobile-menu-inner li { list-style-type: none; }
.mobile-menu-inner li a { display: block; padding: 12px 15px; color: var(--ink); text-decoration: none; border-radius: 5px; font-size: 16px; }
.mobile-menu-inner li.active a { background-color: var(--bg-gray-color); color: var(--accent); font-weight: bold; }
.mobile-menu-inner li a::before{ content: "✧"; font-weight: normal; margin-right: 10px; font-size: 14px; color: #aaa; }
.mobile-menu-inner li.active a::before{ content: "✦"; color: var(--accent); }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/* 文章头部作者模块
--------------------------------------------------------------*/
.article-header h1 { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; box-sizing: border-box; min-width: 0; white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; color: #6c757d; font-family: var(--mono); font-size: 12px; margin-top: 10px; }
/*--------------------------------------------------------------
/* 文章头部作者模块
--------------------------------------------------------------*/
.article-author-header{ border-bottom: 1px solid #ececec; }
.flex-avatar { position: relative; display: flex; justify-content: center; align-items: center; flex-shrink: 0; line-height: 1; white-space: nowrap; font-weight: bold; border-radius: 100%; width: 40px; height: 40px; margin-right: .5rem !important; }
.flex-avatar img { width: inherit; height: inherit; border-radius: inherit; -o-object-fit: cover; object-fit: cover; }
.text-data { color: #6c757d !important; font-size: 12px; }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/* 文章内容板块
--------------------------------------------------------------*/
.article-section { padding: 10px 0 10px; }
.article-section p { margin: 6px 0; }
.article-section a { padding-left: 12px; position: relative; }
.article-section a::before { content: "\e687"; position: absolute; left: 1px; top: 0px; font-family: "iconfont" !important; font-style: normal; -webkit-font-smoothing: antialiased; font-size: 11px; font-weight: normal; }
.article-section a , .article-toc a { color: var(--accent); text-decoration: none; box-shadow: inset 0 -1.1px 0 #d0d2d6; padding-right: 2px; }
.article-section a:hover , .article-toc a:hover { color: var(--accent); box-shadow: inset 0 -1.2px 0 var(--accent); }
.ui-label{ border: 1px solid #dae1eb;; border-radius: 3px; background: #f7f6f3; padding: 0px 4px; color: #555; display: inline-block; line-height: 1.25; letter-spacing: -0.25px; white-space: nowrap; }
.article-figure { margin: 10px 0 8px; }
.article-figure img { width: 100%; border: 1px solid var(--soft-line); border-radius: 6px; background: #171614; }
.article-figure figcaption { margin-top: 8px; color: var(--text-q-gray); font-size: 12px; }
.table-wrap { overflow-x: auto; margin: 12px 0px 15px; }
.table-wrap table { border-spacing: 0; border-collapse: collapse; display: block; width: max-content; max-width: 100%; overflow: auto; }
.table-wrap th { background: #f7f7fb; }
.table-wrap table th, .table-wrap table td { padding: 6px 13px; border: 1px solid #e0e3e6; }
.article-section h3 { font-size: 18px; margin: 25px 0px 10px; padding-left: 14px; position: relative; }
.article-section h3::before { content: "\e601"; font-family: "iconfont" !important; font-size: 12px; position: absolute; left: 0px; top: 3px; color: #338eba; }
.article-section h3:first-child { margin-top: 10px; }
.article-section ul li h3,.article-section ol li h3 { padding-left: 0px; }
.article-section ul li h3::before, .article-section ol li h3::before { content: ""; }


pre { position: relative; padding: 30px 0 0 0; background: #1b1f27; border: 1px solid #404040; border-radius: 4px; margin: 8px 0; overflow: hidden; }
pre.has-line-numbers { display: grid; grid-template-columns: max-content 1fr; padding: 36px 0 6px; }
pre code, pre code.hljs { display: contents !important; color: #d8deea; font-family: var(--mono, monospace); font-size: 13px; }
.code-line { display: contents !important; }
.line-num { padding: 0 8px; text-align: right; color: #5c6370; user-select: none; border-right: 1px solid #2d323c; line-height: 1.6; letter-spacing: -0.85px; }
.line-text { padding: 0 10px; white-space: pre-wrap !important; word-break: break-word !important; overflow-wrap: break-word !important; line-height: 1.6; }
pre::before ,pre::after { position: absolute; top: 0px; height: 32px; line-height: 32px; padding: 0 12px; font-size: 12px; color: #999; }
pre::before { content: "\e606\00a0" attr(data-lang); left: 0; right: 0; text-transform: uppercase; font-family: "iconfont" !important; background-color: #2b303b; border-bottom: 1px solid #404040; z-index: 1; }
pre::after { content: "\e63d\00a0复制"; right: 0; cursor: pointer; transition: all 0.2s ease; font-family: "iconfont" !important; }z
pre::after, [data-lang]::before, [data-lang]::after { z-index: 2; }


pre.copied::after { content: "\eaf1\00a0已复制"; color: var(--green); background: transparent !important; font-family: "iconfont" !important; }
blockquote { padding: 0px 12px; margin: 6px 0; background-color: #fafafa; border: 1px solid #dae1eb; border-radius: 4px; }
.steps { margin: 0; padding: 5px 0 5px; list-style: none; counter-reset: step-main; }
.steps > li { position: relative; padding: 0 0 10px 26px; counter-increment: step-main; }
.steps > li:last-child { padding-bottom: 0px; }
.steps > li::before { position: absolute; top: 0px; left: 0px; display: grid; width: 20px; height: 20px; place-items: center; line-height: 1; background: linear-gradient(to bottom, #c9d8e5 0%, #7192b0 35%, #5e7a92 65%, #5e7a92 100%); border: 1px solid #566f86; border-radius: 4px; color: var(--white); content: counter(step-main); font-family: var(--mono); font-size: 12px; font-weight: 700; box-sizing: border-box; text-shadow: 0 -1px 0px rgba(0, 0, 0, 0.3); } 
.steps li h3 { margin: 0; font-size: 17px; padding-left: 0px; position: relative; }
.steps li h3::before{ content: ""; width: 5px; height: 100%; border-radius: 3px; background: none;  position: absolute; left: 0px; top: 0px; }
.steps ul { padding-left: 18px; }
.steps ul li { margin: 4px 0; }
.steps > li > ol { margin-left: -8px; padding-top: 5px; padding-bottom: 8px; counter-reset: step-sub; }
.steps > li > ol > li { position: relative; padding: 4px 0 0; list-style-type: none; counter-increment: step-sub; }
.steps > li > ol > li::before { position: absolute; top: 6px; left: -23px; display: grid; width: 25px; height: 20px; align-items: center; content: counter(step-sub) "."; text-align: left; line-height: 1; letter-spacing: -0.45px; box-sizing: border-box; }
.steps > li > ul > li { list-style-type: disc; }
.steps > li > ol > li::marker { text-align: left; color: #999; }
.steps > li > ol > li > :where(pre, figure, blockquote) { margin-left: -24px; }
.steps > li > ol > li > blockquote { margin-top: 10px; }
.steps > li > blockquote > ul { padding: 10px 0 10px 18px; }
.steps > li > ol > li > blockquote > ul { padding: 6px 0 6px 18px; }
.steps > li > blockquote :where(ul, ol) li { margin: 0; padding: 0; }
.steps > li > ol > li > blockquote :where(ul, ol) li { margin: 0; padding: 1px 0; }
.steps blockquote ul > li { list-style-type: disc; }
.steps blockquote ul li ul > li { list-style-type: circle; }
.steps blockquote ul li ul li ul > li { list-style-type: square; }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/* 分割线标题
--------------------------------------------------------------*/
.article-split-line { display: flex; align-items: center; justify-content: center; margin: 10px auto; width: 100%;  }
.article-split-line::before, .article-split-line::after { content: ""; flex: 1; border-top: 1px dashed #c39b73;  }
.article-split-text { display: flex; align-items: center; padding: 0 4px; color: #cf8d4c; font-size: 17px; white-space: nowrap;  }
.article-split-text strong { white-space: nowrap; font-weight: bold;  }
.article-split-text::before, .article-split-text::after { content: ""; width: 7px; height: 7px; border: 1px dashed #c39b73; border-radius: 50%; box-sizing: border-box; flex-shrink: 0; margin: 0 4px;  }
/*--------------------------------------------------------------
/* 蓝色Chat主题 - 标题
--------------------------------------------------------------*/
.article-section h2 { display: block; text-align: center; margin: 20px auto 0px; padding: 50px 0px 5px; font-size: 18px; color: var(--section-title-color); font-weight: 700; line-height: 1.5; position: relative; counter-increment: part-counter; }
.article-section h2::before { content: "Part." counter(part-counter, decimal-leading-zero); position: absolute; top: 0; left: 50%; transform: translateX(-50%); background-color: var(--section-timestamp); color: var(--white); border-radius: 50% / 50%; padding: 8px 15px; font-family: var(--mono, monospace); font-size: 16px; font-weight: bolder; letter-spacing: -0.05em; line-height: 1.5; }
.article-section h2::after { content: ""; position: absolute; top: 39px; left: 50%; transform: translateX(-50%); border-width: 7px 7px 0; border-style: solid; border-color: var(--section-timestamp) transparent transparent transparent; }
/*--------------------------------------------------------------
/* 橙色圆圈主题 - 标题
--------------------------------------------------------------*/
.article-section h2.number-title { display: block; text-align: center; margin: 20px auto 0px; padding: 55px 0px 5px; color: #ef7060; font-weight: 700; line-height: 1.5; position: relative;  counter-increment: part-counter; }
.article-section h2.number-title::before { content: "" counter(part-counter, decimal-leading-zero); position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; line-height: 1; border-radius: 50%; background-color: #fcb42b; color: #ffffff; font-size: 20px; font-weight: bold; font-family: var(--mono, monospace); box-shadow: 4px 0px 0px 0px var(--white), 9px 0px 0px 0px #ffcb68; }
.article-section h2.number-title::after { display: none; }
/*--------------------------------------------------------------
/* Love主题 - 标题
--------------------------------------------------------------*/
.article-section h2.title-love-tag { display: block; max-width: 85%; text-align: center; margin: 10px auto; padding-top: 22px; width: fit-content; position: relative; counter-increment: part-counter; }
.article-section h2.title-love-tag span { display: block; padding: 6px 30px; font-size: 16px; color: var(--white); font-weight: 700; background-color: #fe7fa8; border-radius: 5px; position: relative; z-index: 1; }
.article-section h2.title-love-tag::before { content: ""; position: absolute; top: 20px; left: 4px; width: calc(100% - 8px); height: calc(100% - 24px); background-color: #e0f3ff; border-radius: 8px; transform: rotate(-3deg); z-index: 0; }
.article-section h2.title-love-tag::after { content: "Part." counter(part-counter, decimal-leading-zero); position: absolute; top: 2px; left: -16px; width: 68px; height: 28px; line-height: 28px; text-align: center; background-color: var(--section-timestamp); color: var(--white); font-size: 12px; font-weight: 700; border-radius: 50% / 50%; transform: rotate(-15deg); z-index: 4; border: none; letter-spacing: -0.45px; }
.article-section h2.title-love-tag span::before { content: ""; position: absolute; top: 6px; left: -6px; width: 24px; height: 24px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 99.81 85.76"><polyline fill="none" stroke="%23141013" stroke-miterlimit="10" stroke-width="4px" points="82.46 54.2 97.03 68.77 82.46 84.39"/><path fill="none" stroke="%23141013" stroke-miterlimit="10" stroke-width="4px" d="M97,69.3c-4.46.06-37,.48-50.61,0a50.74,50.74,0,0,1-6.34-.68C36.14,68,29,66.8,21.82,62.24A40.79,40.79,0,0,1,7.33,45.8C3.64,38.41,3,31.52,2.46,26.53,2.22,24,2.16,21.3,2.07,16,2,9.32,2,3.82,2.07,0"/></svg>'); background-size: contain; background-repeat: no-repeat; z-index: 3; pointer-events: none; }
/*--------------------------------------------------------------
/* 橙色火 - 标题
--------------------------------------------------------------*/
.article-section h2.title-gradient-tag { display: block; text-align: center; margin: 25px auto 20px; padding: 8px 20px; font-size: 16px; color: #ffffff; font-weight: 700; line-height: 1.3; background: linear-gradient(to right, #ff2821, #ff7c38); border-radius: 4px; position: relative; width: fit-content; max-width: 85%; counter-increment: none; z-index: 1; }
.article-section h2.title-gradient-tag::before { content: ""; position: absolute; top: -9px; left: 5px; width: 24px; height: 25px; padding: 0px; background-color: transparent; background-image: url('data:image/png;base64,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'); background-size: contain; background-repeat: no-repeat; z-index: 2; }
.article-section h2.title-gradient-tag::after { border: none;}

/*--------------------------------------------------------------
/* 开始前准备 - 卡片
--------------------------------------------------------------*/
.article-before-start-card { position: relative; margin: 16px auto 0px; }
.article-before-start-card ul li{ padding: 4px 0 0; }
/*--------------------------------------------------------------
/* 提醒点 - 卡片
--------------------------------------------------------------*/
.article-remind-dots-card { position: relative; margin: 15px auto; border: 1px solid var(--border-color-pink); border-radius: 0 15px; padding: 15px 15px; box-sizing: border-box; background-color: #fff8f8; }
.article-remind-dots-card::before, .article-remind-dots-card::after { content: ""; position: absolute; width: 48px; height: 14px; z-index: 2; background-image: radial-gradient(circle at center, #ffda75 0 4.9px, #fff 5px 7px, transparent 7.1px), radial-gradient(circle at center, #ff9f6a 0 4.9px, #fff 5px 7px, transparent 7.1px), radial-gradient(circle at center, #ffda75 0 4.9px, #fff 5px 7px, transparent 7.1px); background-size: 14px 14px; background-position: left center, center center, right center; background-repeat: no-repeat; }
.article-remind-dots-card::before { top: -7px; left: 10px; }
.article-remind-dots-card::after { bottom: -7px; right: 10px; }
/*--------------------------------------------------------------
/* 星星 - 卡片
--------------------------------------------------------------*/
.article-star-card { position: relative; margin: 15px 0px; padding: 12px 15px; border: 1px solid var(--section-steps-border); border-bottom-color: var(--border-color-pink); border-right-color: var(--border-color-pink); box-sizing: border-box; border-radius: 8px 0px 8px; }
.article-star-card::before, .article-star-card::after { content: ""; position: absolute; width: 11px; height: 14px; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain; box-shadow: 0 0 0 3px #fff; }
.article-star-card::before { top: -6px; right: -5px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55.02 73.02"><path fill="%23fed4d8" d="M27.62,0S25.75,30.91,0,36.62c0,0,22.42,2,27.62,36.4,0,0,4.08-33.11,27.4-35.94C55,37.08,33.75,35.53,27.62,0Z"/></svg>'); }
.article-star-card::after { bottom: -5px; left: -6px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55.02 73.02"><path fill="%2396d8ff" d="M27.62,0S25.75,30.91,0,36.62c0,0,22.42,2,27.62,36.4,0,0,4.08-33.11,27.4-35.94C55,37.08,33.75,35.53,27.62,0Z"/></svg>'); }
/*--------------------------------------------------------------
/* 引号主题 - 卡片
--------------------------------------------------------------*/
.article-quote-card { position: relative; margin: 15px 0px; padding: 15px 15px; border: 1px solid var(--section-steps-border); border-radius: 0 15px; background-color: var(--white); z-index: 1; }
.article-quote-card::before, .article-quote-card::after { content: ""; position: absolute; width: 20px; height: 20px; background-color: var(--white); box-shadow: 0 0 0 4px var(--white); background-image: var(--svg-quote); background-size: contain; background-repeat: no-repeat; z-index: 2; }
.article-quote-card::before { top: -10px; left: 12px; }
.article-quote-card::after { bottom: -10px; right: 12px; transform: rotate(180deg); }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/*  标签 + 上一篇/下一篇
--------------------------------------------------------------*/
.article-tags-read { padding: 0px 0px 20px; }
/* Tags */
.article-tags-wrap { padding: 10px 0px 10px 6px; display: flex; flex-direction: row; flex-wrap: wrap; }
.article-tags-wrap a { height: 24px; line-height: 24px; position: relative; display: inline-block; font-size: 13px; padding: 0px 8px 0px 24px; margin: 4px 5px 2px 0; border-radius: 20px;  background-color: #f5f5f5; text-decoration: none; letter-spacing: -0.15px; color: #666; }
.article-tags-wrap a::before { content: '\e608'; position: absolute; left: 6px; top: 5px; line-height: 1; width: 14px; height: 14px; background-color: var(--accent); border-radius: 100%; font-size: 8px; color: #fff; font-weight: bold; display: flex; justify-content: center; align-items: center; font-family: "iconfont" !important; }
.article-tags-wrap a:hover { text-decoration: underline; }
/* 上一篇/下一篇 */
.album-read-nav-wrap { margin: 10px auto; position: relative; background-color: var(--white); border-radius: 10px; padding: 15px 5px; overflow: hidden; border: 1px solid var(--border-color-gray); }
.album-read-nav-cont { display: flex; }
.album-read-nav-cont::before, .album-read-nav-cont::after { content: ""; position: absolute; width: 120px; height: 20px; background: var(--svg-dots) no-repeat right top / contain; pointer-events: none; opacity: 0.5; }
.album-read-nav-cont::before { top: 0; right: 0; }
.album-read-nav-cont::after { top: auto; bottom: 0; right: auto; left: 0; transform: rotate(180deg); }
.album-read-source { display: flex; align-items: center; gap: 6px; padding: 5px 10px; cursor: pointer; font-size: 14px; font-weight: bold; color: #888; margin-bottom: 5px; transition: all 0.2s; }
.album-read-source::after { content: "\e6f2"; font-family: "iconfont" !important; opacity: 0.65; font-size: 12px; }
.album-read-nav-cont-prev, .album-read-nav-cont-next { min-width: 0; flex: 1; position: relative; padding: 10px 16px; text-decoration: none; }
.album-read-nav-cont-prev { text-align: left; }
.album-read-nav-cont-next { text-align: right; }
.album-read-nav-cont-next:first-child { text-align: left; }
.album-read-nav-cont-next::before { content: ""; position: absolute; top: 4px; bottom: 0px; left: 0; width: 1px; background: #efefef; }
.album-read-nav-cont-next:first-child::before { display: none; }
.nav-label { display: block; font-weight: 400; position: relative; color: #999; }
.nav-label::before, .nav-label::after { content: ""; display: inline-block; width: 7px; height: 7px; transform: rotate(45deg); margin-bottom: 1px; }
.album-read-nav-cont-prev .nav-label::before { border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; margin-right: 6px; }
.album-read-nav-cont-next .nav-label::after { border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; margin-left: 6px; }
.album-read-nav-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; margin-top: 6px; line-height: 1.4; word-break: break-all; color: var(--ink); }
/*.album-read-nav-cont a:hover .album-read-nav-title { text-decoration: underline; }*/
/*--------------------------------------------------------------
/*  上一篇/下一篇：弹窗样式
--------------------------------------------------------------*/
body.modal-open { overflow: hidden !important; touch-action: none; }
.toc-modal { position: fixed; top: auto !important; bottom: 0; left: 0; right: 0; margin: 0 auto !important; width: 100%; max-width: 100%; max-height: 80vh; height: auto; background: var(--white); border-radius: 15px 15px 0 0; padding: 0; border: none !important; outline: none !important; box-shadow: 0 -4px 20px rgba(0,0,0,0.1); display: none; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; transform: translateY(100%); }
.toc-modal[open] { display: grid; animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.toc-modal.closing { display: grid; animation: slideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.toc-modal::backdrop { background: var(--bg-overlay); backdrop-filter: var(--bg-overlay-filter); animation: fadeIn 0.3s ease forwards; }
.toc-modal.closing::backdrop { animation: fadeOut 0.3s ease forwards; }
.toc-modal-header { position: relative; display: flex; align-items: center; justify-content: center; padding: 16px 20px; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; }
.toc-modal-header h3 { margin: 0; font-size: 16px; font-weight: 600; color: #333; }
.toc-close { position: absolute; left: 16px; background: #f5f5f5; border: none; outline: none; border-radius: 50%; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #666; transition: background 0.2s; }
.toc-close:hover { background: #e8e8e8; }
.toc-detail-link { position: absolute; right: 16px; font-size: 14px; color: var(--accent); text-decoration: none; }
.toc-list { overflow-y: auto; -webkit-overflow-scrolling: touch; display: block; flex-direction: column; gap: 0px; flex: 1; min-height: 0; position: relative; }
.toc-list::after { content: "── • ──"; margin: 10px auto 30px; display: block; text-align: center; color: #d1d1d1; }
.toc-list a { display: block; padding: 16px 20px; font-size: 17px; line-height: 1.4; color: var(--ink); text-decoration: none; transition: background 0.2s; }
.toc-list a span{ overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical;  -webkit-line-clamp: 2; }
.toc-list a.active { background: var(--bg-gray-color); font-weight: 600; }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes slideDown { from { transform: translateY(0); } to { transform: translateY(100%); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
/*--------------------------------------------------------------
/*  文章结尾
--------------------------------------------------------------*/
.article-ending { text-align: center; color: #d1d1d1; font-size: 13px; padding: 8px 0px 25px; }

/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/*  评论区
--------------------------------------------------------------*/
.comments { border-top: 8px solid #f2f2f2; margin: 10px auto; max-width: 848px; }
.comments-body { margin: 10px auto 0px; padding: 10px 16px 0px; }
.comments-header h2{ font-size: 17px; }
.comments-card-body { padding: 12px 0px 0px; }
.comments .comment-respond { position: relative; }
.comments .comment-form, .comments .comment { position: relative; padding-left: 48px;}
.comments .comment { margin-bottom: 30px; }
.comments .comment-avatar { position: absolute; left: 0; width: 34px; height: 34px; border-radius: 4px; }
.comment-list { margin-top: 35px; }
ul.children li.comment { padding-left: 40px; margin-bottom: 0px; }
ul.children li .comment-avatar{ width: 30px; height: 30px; }
.form-control { font-size: 14px; padding: 6px 10px; color: var(--ink); background-color: var(--white); border-color: var(--border-color-gray); border-radius: 4px; }
.form-control::placeholder, .form-control::-webkit-input-placeholder { color: var(--text-q-gray); }
.form-control:focus { color: var(--ink); background-color: var(--white); border-color: var(--accent); box-shadow: none; }
.btn-primary { color: var(--white); background-color: var(--green); border: none; font-size: 13px; border-radius: 3px; }
.comments ul, .comments ol { list-style: none; margin: 0; padding: 0; }
.comments .bg-light { --bs-bg-opacity: 0; }
.comment-info { font-size: 13px; }
.comment-left { flex: 1; min-width: 0; color: var(--text-q-gray); gap: 0 6px; align-items: center; }
.comment-author { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comment-date { flex-shrink: 0; }
.comment-reply { cursor: pointer; color: var(--text-q-gray); }
.comment-text { margin: 4px 0px 15px; box-sizing: border-box; text-align: justify; text-align-last: left; text-justify: inter-ideograph; overflow-wrap: anywhere; word-break: break-word; white-space: normal; line-break: strict; }
.comment-text p { margin-bottom: 0px; }


/*+++++++++++++++++++++++++++++++++*/
/*--------------------------------------------------------------
/*  页面底部
--------------------------------------------------------------*/
.site-footer { border-top: 8px solid #f2f2f2; margin: 10px auto; padding: 20px 0px 20px; max-width: 848px; font-size: 13px; }
.footer-logo { display: flex; align-items: center; justify-content: center; margin: 0 auto; min-width: 0; }
.footer-logo a { padding: 10px 0px; }
.footer-logo img{ width: 110px; height: auto; filter: grayscale(100%); opacity: 0.6; transition: filter 0.3s ease, opacity 0.3s ease; }
.footer-logo:hover img { filter: grayscale(0%); opacity: 1; }



/*+++++++++++++++++++++++++++++++++*/
/* 夜间模式的适配 */
@media (prefers-color-scheme: dark) { 
  :root {
    --accent: #7894d2;
    --bgcolor:  #191919;
    --ink: #989898;
    --soft-line: #343434;
    --section-timestamp: #3c97c2;
    --section-title-color: #60a4c0;;
    --section-steps-dianzhui: #74ae8b;
    --section-steps-border: #536e79;
    --border-color-pink: #90595e;
    --border-color-gray: #545557;
    --text-q-gray: #676767;
    --bg-gray-color: #2a2a2a;
    --svg-dots: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 247.41 41.19"><path fill="%23545557" d="M0,.59H20.59v20.6H0ZM62.22,20.59H82.81v20.6H62.22ZM103.41,20.59H124v20.6H103.41ZM144.63,20.59h20.56v20.6H144.63ZM185.78,20.59h20.63v20.6H185.78ZM226.78,20.59h20.63v20.6H226.78ZM41.59,0H62.22V20.59H41.59ZM124,0h20.63V20.59H124ZM165.19,0h20.59V20.59H165.19ZM206.41,0H227V20.59H206.41ZM21,20.59H41.59v20.6H21Z"/></svg>');
  }

  body { background: var(--bgcolor); color: var(--ink); }

  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /* 顶部导航栏
  --------------------------------------------------------------*/
  .site-header { background-color: rgba(25, 25, 25, 0.85); -webkit-backdrop-filter: saturate(180%) blur(10px); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid rgba(115, 115, 115, 0.1); }
  .nav-more-dropdown { background: #1e1e1e; border-color: #333; }
  .nav-more-dropdown a { color: var(--ink); }
  .nav-more-dropdown a:hover { background: #2a2a2a; }
  /*--------------------------------------------------------------
  /* 搜索弹窗样式
  --------------------------------------------------------------*/
  .search-panel { background: var(--bgcolor); }
  .search-input-group { background: var(--bg-gray-color); }
  .search-input-group:focus-within { background: var(--bgcolor); }
  #searchInput { color: #eee; }
  .search-close-btn:hover { color: #eee; }
  .hint-tag { background: var(--bg-gray-color); color: #aaa; }
  .hint-tag:hover { background: #7894d2; color: #fff; }
  /*--------------------------------------------------------------
  /* 移动端侧边栏菜单
  --------------------------------------------------------------*/
  .side-search-box { background: var(--bg-gray-color); border: 1px solid var(--border-color-gray); }
  .side-menu-drawer { background: var(--bgcolor); }
  .side-close { color: #888; }

  /*--------------------------------------------------------------
  /* 文章头部作者模块
  --------------------------------------------------------------*/
  .article-header h1 { color: rgba(255, 255, 255, 0.75); }
  /*--------------------------------------------------------------
  /* 文章头部作者模块
  --------------------------------------------------------------*/
  .article-author-header { border-bottom-color: #333; }
  .article-meta { color: #5f5f5f; }

  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /* 文章内容板块
  --------------------------------------------------------------*/
  .article-section a , .article-toc a { box-shadow: inset 0 -1.2px 0 #404040; }
  .table-wrap th { background-color: #2b2b2b; }
  .table-wrap table th, .table-wrap table td { border-color: var(--border-color-gray); }
  .ui-label { background-color: #212121; border-color: #404040; color: #9e9e9e; }
  .article-figure img { border: 1px solid var(--soft-line); background: #171614; }
  blockquote { background-color: #212121; border-color: #404040; }
  .steps > li::before { background: linear-gradient(to bottom, #31363a 0%, #486176 35%, #4b6275 65%, #4b6275 100%); border: 1px solid #868d97; color: #e1e1e1; text-shadow: 0 -1px 0px rgba(0, 0, 0, 0.4); } 

  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /* 蓝色Chat主题 - 标题
  --------------------------------------------------------------*/
  .article-section h2 { color: var(--section-title-color); }
  .article-section h2::before { background-color: var(--section-timestamp); color: rgba(255, 255, 255, 0.7); }
  .article-section h2::after { border-color: var(--section-timestamp) transparent transparent transparent; }
  /*--------------------------------------------------------------
  /* 橙色圆圈主题 - 标题
  --------------------------------------------------------------*/
  .article-section h2.number-title { color: #ef7060; }
  .article-section h2.number-title::before { background-color: #fcb42b; color: rgba(255, 255, 255, 0.9); font-size: 20px; font-weight: bold; box-shadow: 4px 0px 0px 0px var(--bgcolor), 9px 0px 0px 0px #aa7a1e; }
  /*--------------------------------------------------------------
  /* Love主题 - 标题
  --------------------------------------------------------------*/
  .article-section h2.title-love-tag span { color: rgba(255, 255, 255, 0.9); background-color: #fe7fa8; }
  .article-section h2.title-love-tag::before { background-color: #163e5a; }
  .article-section h2.title-love-tag::after { background-color: var(--section-timestamp); color: rgba(255, 255, 255, 0.7); }
  .article-section h2.title-love-tag span::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 99.81 85.76"><polyline fill="none" stroke="%23ccc" stroke-miterlimit="10" stroke-width="4px" points="82.46 54.2 97.03 68.77 82.46 84.39"/><path fill="none" stroke="%23ccc" stroke-miterlimit="10" stroke-width="4px" d="M97,69.3c-4.46.06-37,.48-50.61,0a50.74,50.74,0,0,1-6.34-.68C36.14,68,29,66.8,21.82,62.24A40.79,40.79,0,0,1,7.33,45.8C3.64,38.41,3,31.52,2.46,26.53,2.22,24,2.16,21.3,2.07,16,2,9.32,2,3.82,2.07,0"/></svg>'); }
  /*--------------------------------------------------------------
  /* 橙色火 - 标题
  --------------------------------------------------------------*/
  .article-section h2.title-gradient-tag { color: rgba(255, 255, 255, 0.9); }
  /*--------------------------------------------------------------
  /* 文章提醒点 - 卡片
  --------------------------------------------------------------*/
  .article-remind-dots-card { border: 1px solid var(--border-color-pink); background-color: #261f1f; }
  .article-remind-dots-card::before, .article-remind-dots-card::after { background-image: radial-gradient(circle at center, #ffda75 0 4.9px, var(--bgcolor) 5px 7px, transparent 7.1px), radial-gradient(circle at center, #ff9f6a 0 4.9px, var(--bgcolor) 5px 7px, transparent 7.1px), radial-gradient(circle at center, #ffda75 0 4.9px, var(--bgcolor) 5px 7px, transparent 7.1px); }
  /*--------------------------------------------------------------
  /* 星星 - 卡片
  --------------------------------------------------------------*/
  .article-star-card { border: 1px solid var(--section-steps-border); border-bottom-color: var(--border-color-pink); border-right-color: var(--border-color-pink); }
  .article-star-card::before, .article-star-card::after { background-color: var(--bgcolor); box-shadow: 0 0 0 3px var(--bgcolor); }
  /*--------------------------------------------------------------
  /* 引号主题 - 卡片
  --------------------------------------------------------------*/
  .article-quote-card { border: 1px solid var(--section-steps-border); background-color: var(--bgcolor); }
  .article-quote-card::before, .article-quote-card::after { background-color: var(--bgcolor); box-shadow: 0 0 0 4px var(--bgcolor); background-image: var(--svg-quote); }


  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /*  标签 + 上一篇/下一篇
  --------------------------------------------------------------*/
  /* Tags */
  .article-tags-wrap a { background-color: #242424; color: var(--ink); }
  /* 上一篇/下一篇 */
  .album-read-nav-wrap { background-color: #202020; border: 1px solid var(--border-color-gray); }
  .album-read-nav-cont::before, .album-read-nav-cont::after { opacity: 0.1; }
  .album-read-nav-cont-next::before { background-color: #313131; }
  .album-read-source { color: var(--ink); }
  /*--------------------------------------------------------------
  /*  上一篇/下一篇：弹窗样式
  --------------------------------------------------------------*/
  .toc-modal { background: var(--bgcolor); }
  .toc-modal-header { border-bottom-color: rgba(255, 255, 255, 0.1); }
  .toc-modal-header h3 { color: var(--ink); }
  .toc-close { background: #333; color: #ccc; }
  .toc-list a.active { background: var(--bg-gray-color); }
  .toc-list::after { color: #555; }
  /*--------------------------------------------------------------
  /*  文章结尾
  --------------------------------------------------------------*/
  .article-ending { color: #555; }

  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /*  评论区
  --------------------------------------------------------------*/
  .comments { border-top-color: rgba(255, 255, 255, 0.03); }
  .form-control { color: var(--ink); background-color: #252525; border-color: #383839; }
  .form-control::placeholder, .form-control::-webkit-input-placeholder { color: var(--text-q-gray); }
  .form-control:focus { color: var(--ink); background-color: #252525; border-color: var(--accent); box-shadow: none; }
  .comment-text { color: var(--ink); }

  /*+++++++++++++++++++++++++++++++++*/
  /*--------------------------------------------------------------
  /*  页面底部
  --------------------------------------------------------------*/
  .site-footer { border-top-color: rgba(255, 255, 255, 0.03); }

}


/*+++++++++++++++++++++++++++++++++*/
@media (max-width: 820px) { 
  .layout { width: min(100% - 32px ,  680px); } 
  /* 顶部导航栏 */
  .header-container { padding: 0 16px; height: 56px; }
  .header-nav { display: none; }
  .menu-btn { display: flex; }
  .header-logo { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) { 
  html { scroll-behavior: auto; } 
  * ,  *::before ,  *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; } 
}

