/* ============================================================
   博客园 Obsidian 风格定制 CSS
   适用皮肤：Custom
   作者：为 Sharkmooon 定制
   ============================================================ */

/* ── Google Fonts 导入 ── */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ════════════════════════════════════════════════════════════
   0. CSS 变量 / 设计令牌
════════════════════════════════════════════════════════════ */
:root {
  --obs-bg-primary:    #1e1e2e;
  --obs-bg-secondary:  #181825;
  --obs-bg-tertiary:   #13131f;
  --obs-bg-surface:    #252535;
  --obs-bg-hover:      #2d2d42;
  --obs-bg-active:     #363654;

  --obs-text-primary:  #cdd6f4;
  --obs-text-muted:    #a6adc8;
  --obs-text-faint:    #585b70;
  --obs-text-heading:  #f5f5f7;

  --obs-purple:        #cba6f7;
  --obs-purple-dim:    #9d79c9;
  --obs-blue:          #89b4fa;
  --obs-cyan:          #89dceb;
  --obs-green:         #a6e3a1;
  --obs-yellow:        #f9e2af;
  --obs-orange:        #fab387;
  --obs-red:           #f38ba8;
  --obs-pink:          #f5c2e7;
  --obs-teal:          #94e2d5;

  --obs-border:        rgba(203, 166, 247, 0.15);
  --obs-border-active: rgba(203, 166, 247, 0.4);

  --obs-radius-sm:     4px;
  --obs-radius-md:     8px;
  --obs-radius-lg:     12px;

  --obs-font-ui:       'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --obs-font-mono:     'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  --obs-shadow-sm:     0 2px 8px rgba(0,0,0,0.4);
  --obs-shadow-md:     0 4px 20px rgba(0,0,0,0.5);
  --obs-shadow-lg:     0 8px 40px rgba(0,0,0,0.6);

  --obs-transition:    0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ════════════════════════════════════════════════════════════
   1. 全局重置 / Body
════════════════════════════════════════════════════════════ */
* { box-sizing: border-box; }

body {
  background: var(--obs-bg-tertiary) !important;
  color: var(--obs-text-primary) !important;
  font-family: var(--obs-font-ui) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 0 !important;
}

a, a:visited {
  color: var(--obs-blue) !important;
  text-decoration: none !important;
  transition: color var(--obs-transition) !important;
}
a:hover {
  color: var(--obs-purple) !important;
  text-decoration: none !important;
}

/* ════════════════════════════════════════════════════════════
   2. 布局容器
════════════════════════════════════════════════════════════ */
#home {
  background: var(--obs-bg-tertiary) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

#header {
  background: var(--obs-bg-secondary) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

#header_title,
#header .blogTitle {
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  text-align: left !important;
}

#header_title a,
#header_title a.noborder,
#header .blogTitle a {
  color: var(--obs-text-heading) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  display: inline-block !important;
  padding: 12px 24px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
}
#header_title a::before,
#header_title a.noborder::before {
  content: '\27E6 ';
  color: var(--obs-purple);
}
#header_title a::after,
#header_title a.noborder::after {
  content: ' \27E7';
  color: var(--obs-purple);
}

#header_title .description,
#header .blogTitle p,
#blog_nav_rss_text {
  display: none !important;
}

#navigator {
  background: var(--obs-bg-secondary) !important;
  border-top: 1px solid var(--obs-border) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  padding: 0 16px !important;
  margin: 0 !important;
}
#navigator ul,
#navList {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#navigator ul li,
#navList li {
  display: inline-flex !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  list-style: none !important;
}
#navigator li::before,
#navigator li::marker {
  content: none !important;
  display: none !important;
}
#navigator ul li a,
#navList li a {
  color: var(--obs-text-muted) !important;
  font-size: 13px !important;
  font-family: var(--obs-font-ui) !important;
  padding: 8px 14px !important;
  display: inline-block !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border-radius: var(--obs-radius-sm) !important;
  transition: color var(--obs-transition), background var(--obs-transition) !important;
}
#navigator ul li a:hover,
#navList li a:hover {
  color: var(--obs-purple) !important;
  background: rgba(203,166,247,0.08) !important;
}

/* ════════════════════════════════════════════════════════════
   3. 主体 / 内容区域
════════════════════════════════════════════════════════════ */
#main {
  background: transparent !important;
  padding-top: 24px !important;
}
#mainContent { background: transparent !important; }

.day {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-lg) !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  overflow: hidden;
  transition: border-color var(--obs-transition), box-shadow var(--obs-transition);
}
.day:hover {
  border-color: var(--obs-border-active) !important;
  box-shadow: var(--obs-shadow-md) !important;
}
.day .dayTitle {
  background: var(--obs-bg-hover) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  color: var(--obs-text-faint) !important;
  font-family: var(--obs-font-mono) !important;
  letter-spacing: 0.05em;
}
.day .dayTitle::before { content: '📅 '; }

.post { padding: 24px !important; }

.postTitle { margin-bottom: 12px !important; }
.postTitle a {
  color: var(--obs-text-heading) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  transition: color var(--obs-transition) !important;
}
.postTitle a:hover { color: var(--obs-purple) !important; }
.postTitle a::before {
  content: '# ';
  color: var(--obs-purple-dim);
  font-family: var(--obs-font-mono);
  font-weight: 400;
  font-size: 16px;
}

.c_b_p_desc {
  color: var(--obs-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 16px !important;
}
.postBody {
  color: var(--obs-text-primary) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}
.postDesc {
  background: rgba(0,0,0,0.2) !important;
  border-top: 1px solid var(--obs-border) !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  color: var(--obs-text-faint) !important;
  font-family: var(--obs-font-mono) !important;
}
.postDesc a { color: var(--obs-text-faint) !important; font-size: 12px !important; }
.postDesc a:hover { color: var(--obs-cyan) !important; }

/* ════════════════════════════════════════════════════════════
   4. 文章正文排版
════════════════════════════════════════════════════════════ */
#cnblogs_post_body h1,
#cnblogs_post_body h2,
#cnblogs_post_body h3,
#cnblogs_post_body h4,
#cnblogs_post_body h5,
#cnblogs_post_body h6 {
  font-family: var(--obs-font-ui) !important;
  color: var(--obs-text-heading) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin-top: 2em !important;
  margin-bottom: 0.6em !important;
  padding-left: 12px !important;
  border-left: 3px solid var(--obs-purple) !important;
}
#cnblogs_post_body h1 { font-size: 1.8em !important; }
#cnblogs_post_body h2 { font-size: 1.5em !important; border-left-color: var(--obs-blue) !important; }
#cnblogs_post_body h3 { font-size: 1.2em !important; border-left-color: var(--obs-cyan) !important; }
#cnblogs_post_body h4 { font-size: 1.05em !important; border-left-color: var(--obs-teal) !important; }

#cnblogs_post_body p {
  color: var(--obs-text-primary) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  margin: 0.8em 0 !important;
}
#cnblogs_post_body blockquote {
  background: rgba(137,180,250,0.06) !important;
  border-left: 3px solid var(--obs-blue) !important;
  border-radius: 0 var(--obs-radius-md) var(--obs-radius-md) 0 !important;
  color: var(--obs-text-muted) !important;
  font-style: italic !important;
  margin: 1.5em 0 !important;
  padding: 12px 20px !important;
}
#cnblogs_post_body hr {
  border: none !important;
  border-top: 1px dashed var(--obs-border-active) !important;
  margin: 2em 0 !important;
  opacity: 0.6;
}
#cnblogs_post_body ul,
#cnblogs_post_body ol {
  color: var(--obs-text-primary) !important;
  padding-left: 1.5em !important;
  margin: 0.8em 0 !important;
}
#cnblogs_post_body li {
  margin: 4px 0 !important;
  line-height: 1.75 !important;
}
#cnblogs_post_body li::marker { color: var(--obs-purple-dim) !important; }

#cnblogs_post_body code:not([class]) {
  background: rgba(203,166,247,0.12) !important;
  border: 1px solid rgba(203,166,247,0.2) !important;
  border-radius: var(--obs-radius-sm) !important;
  color: var(--obs-pink) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 0.88em !important;
  padding: 2px 6px !important;
}
#cnblogs_post_body strong, #cnblogs_post_body b {
  color: var(--obs-yellow) !important;
  font-weight: 600 !important;
}
#cnblogs_post_body em, #cnblogs_post_body i { color: var(--obs-cyan) !important; }

#cnblogs_post_body img {
  border-radius: var(--obs-radius-md) !important;
  border: 1px solid var(--obs-border) !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 1.5em auto !important;
  box-shadow: var(--obs-shadow-md) !important;
  transition: transform var(--obs-transition), box-shadow var(--obs-transition);
}
#cnblogs_post_body img:hover {
  transform: scale(1.01);
  box-shadow: var(--obs-shadow-lg) !important;
}

#cnblogs_post_body table {
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 1.5em 0 !important;
  font-size: 14px !important;
  border-radius: var(--obs-radius-md);
  overflow: hidden;
  border: 1px solid var(--obs-border) !important;
}
#cnblogs_post_body th {
  background: var(--obs-bg-hover) !important;
  color: var(--obs-text-heading) !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--obs-border-active) !important;
}
#cnblogs_post_body td {
  color: var(--obs-text-primary) !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid var(--obs-border) !important;
}
#cnblogs_post_body tr:last-child td { border-bottom: none !important; }
#cnblogs_post_body tr:hover td { background: rgba(203,166,247,0.04) !important; }

/* ════════════════════════════════════════════════════════════
   5. 代码块
════════════════════════════════════════════════════════════ */
.cnblogs-markdown pre,
.cnblogs_code_block,
pre[class*="language-"],
div.cnblogs_code,
.cnblogs_code,
.cnblogs_code pre,
pre,
.hljs {
  background: #11111b !important;
  border: 1px solid rgba(203,166,247,0.2) !important;
  border-radius: var(--obs-radius-md) !important;
  color: var(--obs-text-primary) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin: 1.5em 0 !important;
  overflow-x: auto !important;
  padding: 16px 20px !important;
  position: relative;
  box-shadow: var(--obs-shadow-md) !important;
  scrollbar-width: thin;
  scrollbar-color: var(--obs-purple-dim) transparent;
}
.cnblogs_code div,
.cnblogs_code span { background: transparent !important; }

pre[style],
.cnblogs_code[style] { background: #11111b !important; }

code {
  background: #313244 !important;
  color: #f5c2e7 !important;
}

.cnblogs_code_block::before,
div.cnblogs_code::before {
  content: '● ● ●';
  display: block;
  color: var(--obs-text-faint);
  font-size: 10px;
  letter-spacing: 4px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--obs-border);
}

.hljs-keyword, .kwd       { color: var(--obs-purple) !important; font-weight: 500 !important; }
.hljs-string, .str        { color: var(--obs-green) !important; }
.hljs-number, .num        { color: var(--obs-orange) !important; }
.hljs-comment, .com       { color: var(--obs-text-faint) !important; font-style: italic !important; }
.hljs-function,
.hljs-title               { color: var(--obs-blue) !important; }
.hljs-class               { color: var(--obs-yellow) !important; }
.hljs-built_in,
.hljs-type                { color: var(--obs-cyan) !important; }
.hljs-variable, .var      { color: var(--obs-text-primary) !important; }
.hljs-operator, .pun      { color: var(--obs-pink) !important; }
.hljs-punctuation         { color: var(--obs-text-muted) !important; }
.hljs-literal, .lit       { color: var(--obs-orange) !important; }
.hljs-attribute, .atn     { color: var(--obs-cyan) !important; }
.hljs-tag, .tag           { color: var(--obs-red) !important; }
.hljs-selector-class,
.hljs-selector-id         { color: var(--obs-yellow) !important; }
.hljs-meta                { color: var(--obs-text-faint) !important; }
.hljs-params              { color: var(--obs-orange) !important; }
.hljs-symbol              { color: var(--obs-teal) !important; }
.hljs-deletion            { color: var(--obs-red) !important; background: rgba(243,139,168,0.12) !important; }
.hljs-addition            { color: var(--obs-green) !important; background: rgba(166,227,161,0.12) !important; }

.cnblogs_code ol li {
  color: var(--obs-text-faint) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 13px !important;
  padding-left: 8px !important;
}

/* ════════════════════════════════════════════════════════════
   6. 侧边栏
════════════════════════════════════════════════════════════ */
#sideBar { background: transparent !important; }

#sideBar .catListSub,
#sideBar .catList,
#sideBar #sidebar_search,
#sideBar #sidebar_toptags,
#sideBar #sidebar_taglist,
#sideBar #sidebar_categories,
#sideBar #sidebar_recentposts,
#sideBar #sidebar_recentcomments,
#sideBar #sidebar_archive,
#sideBar #sidebar_topviewposts,
#sideBar #sidebar_blogStats {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-lg) !important;
  margin-bottom: 16px !important;
  overflow: hidden;
  transition: border-color var(--obs-transition);
}
#sideBar .catListSub:hover,
#sideBar .catList:hover { border-color: var(--obs-border-active) !important; }

#sideBar .catListTitle,
#sideBar h3 {
  background: var(--obs-bg-hover) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  color: var(--obs-text-heading) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  padding: 10px 16px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
#sideBar .catListTitle::before,
#sideBar h3::before { content: '⌘ '; color: var(--obs-purple); }

#sideBar li,
#sideBar .catListItem {
  border-bottom: 1px solid rgba(203,166,247,0.07) !important;
  padding: 6px 16px !important;
  font-size: 13px !important;
  transition: background var(--obs-transition);
}
#sideBar li:hover,
#sideBar .catListItem:hover { background: var(--obs-bg-hover) !important; }
#sideBar li:last-child,
#sideBar .catListItem:last-child { border-bottom: none !important; }

#sideBar li a,
#sideBar .catListItem a { color: var(--obs-text-muted) !important; font-size: 13px !important; }
#sideBar li a:hover,
#sideBar .catListItem a:hover { color: var(--obs-purple) !important; }

#sidebar_search_box { padding: 12px 16px !important; }
#q {
  background: var(--obs-bg-tertiary) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-md) !important;
  color: var(--obs-text-primary) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 13px !important;
  padding: 8px 12px !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color var(--obs-transition);
}
#q:focus {
  border-color: var(--obs-purple) !important;
  box-shadow: 0 0 0 3px rgba(203,166,247,0.1) !important;
}
#q::placeholder { color: var(--obs-text-faint) !important; }

/* ════════════════════════════════════════════════════════════
   7. 分页
════════════════════════════════════════════════════════════ */
#nav_next_page a,
#nav_prev_page a,
.pager a {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-md) !important;
  color: var(--obs-text-muted) !important;
  display: inline-block !important;
  font-size: 13px !important;
  padding: 8px 20px !important;
  transition: all var(--obs-transition) !important;
}
#nav_next_page a:hover,
#nav_prev_page a:hover,
.pager a:hover {
  background: var(--obs-bg-active) !important;
  border-color: var(--obs-purple) !important;
  color: var(--obs-purple) !important;
}

/* ════════════════════════════════════════════════════════════
   8. 评论区
════════════════════════════════════════════════════════════ */
#blog-comments-placeholder {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-lg) !important;
  margin-top: 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.commentbox_title {
  background: var(--obs-bg-hover) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  color: var(--obs-text-heading) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  padding: 10px 20px !important;
  text-transform: uppercase !important;
}
.commentbox_title::before { content: '💬 '; }

.feedbackItem {
  border-bottom: 1px solid var(--obs-border) !important;
  padding: 16px 20px !important;
}
.feedbackItem:hover { background: rgba(203,166,247,0.03) !important; }
.feedbackListSubtitle {
  color: var(--obs-text-muted) !important;
  font-size: 12px !important;
  font-family: var(--obs-font-mono) !important;
  margin-bottom: 6px !important;
}
.feedbackCon {
  color: var(--obs-text-primary) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

#comment_form_container { padding: 20px !important; }

#comment_form_container,
#comment_form_container > div,
#comment_form_container > div > div,
.comment-editor-wrap,
.comment-edit-box {
  background: var(--obs-bg-surface) !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
#comment_form_container .editor,
#comment_form_container .editor-wrap,
#comment_form_container [class*="editor"],
.comment-body,
.comment-editor {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-md) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#comment_form_container .editor-toolbar,
#comment_form_container [class*="toolbar"],
#comment_form_container .tab-bar,
.comment-toolbar {
  background: var(--obs-bg-hover) !important;
  border-bottom: 1px solid var(--obs-border) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}
#comment_form_container .editor-toolbar button,
#comment_form_container [class*="toolbar"] button {
  color: var(--obs-text-faint) !important;
  background: transparent !important;
  border: none !important;
  transition: color var(--obs-transition) !important;
}
#comment_form_container .editor-toolbar button:hover,
#comment_form_container [class*="toolbar"] button:hover {
  color: var(--obs-purple) !important;
  background: rgba(203,166,247,0.08) !important;
}
#comment_form_container textarea,
#comment_form_container [contenteditable],
#tbCommentBody {
  background: var(--obs-bg-tertiary) !important;
  border: none !important;
  border-top: 1px solid var(--obs-border) !important;
  color: var(--obs-text-primary) !important;
  font-family: var(--obs-font-ui) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  padding: 14px !important;
  resize: vertical !important;
  outline: none !important;
  box-shadow: none !important;
  caret-color: var(--obs-purple) !important;
}
#btn_comment_submit,
#comment_form_container button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 90px !important;
  height: 36px !important;
  padding: 0 20px !important;
  background: var(--obs-purple) !important;
  border: none !important;
  border-radius: var(--obs-radius-md) !important;
  color: #1e1e2e !important;
  font-family: var(--obs-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: opacity var(--obs-transition), transform var(--obs-transition) !important;
  box-shadow: none !important;
}
#btn_comment_submit:hover,
#comment_form_container button[type="submit"]:hover {
  opacity: 0.88 !important;
  transform: translateY(-1px) !important;
}
#comment_form_container *:not(textarea):not([contenteditable]):not(button):not(a):not(input) {
  background-color: transparent !important;
}
#comment_form_container .editor,
#comment_form_container [class*="editor"] {
  background: var(--obs-bg-surface) !important;
}

/* ════════════════════════════════════════════════════════════
   9. 标签云
════════════════════════════════════════════════════════════ */
#sidebar_taglist .tagItem a {
  background: rgba(137,180,250,0.1) !important;
  border: 1px solid rgba(137,180,250,0.25) !important;
  border-radius: 20px !important;
  color: var(--obs-blue) !important;
  display: inline-block !important;
  font-size: 12px !important;
  margin: 3px !important;
  padding: 3px 10px !important;
  transition: all var(--obs-transition) !important;
}
#sidebar_taglist .tagItem a:hover {
  background: rgba(203,166,247,0.15) !important;
  border-color: var(--obs-purple) !important;
  color: var(--obs-purple) !important;
}

/* ════════════════════════════════════════════════════════════
   10. 滚动条
════════════════════════════════════════════════════════════ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(203,166,247,0.25);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(203,166,247,0.45); }

/* ════════════════════════════════════════════════════════════
   11. 文章标签徽章
════════════════════════════════════════════════════════════ */
.postDesc .post_tag,
.postDesc a[href*="/tag/"] {
  background: rgba(203,166,247,0.1) !important;
  border: 1px solid rgba(203,166,247,0.2) !important;
  border-radius: 20px !important;
  color: var(--obs-purple) !important;
  font-size: 11px !important;
  padding: 2px 9px !important;
  transition: all var(--obs-transition) !important;
}
.postDesc .post_tag:hover,
.postDesc a[href*="/tag/"]:hover { background: rgba(203,166,247,0.2) !important; }

/* ════════════════════════════════════════════════════════════
   12. 博客园自带返回顶部按钮（隐藏，用自己的）
════════════════════════════════════════════════════════════ */
#lnkBlog,
.go-to-top { display: none !important; }

/* ════════════════════════════════════════════════════════════
   13. 阅读量 / 点赞数
════════════════════════════════════════════════════════════ */
.post-view-count, .viewCount {
  background: rgba(166,227,161,0.1) !important;
  border-radius: 10px !important;
  color: var(--obs-green) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 12px !important;
  padding: 2px 8px !important;
}

/* ════════════════════════════════════════════════════════════
   14. 公告区
════════════════════════════════════════════════════════════ */
#blog_news {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-lg) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

/* ════════════════════════════════════════════════════════════
   15. Footer
════════════════════════════════════════════════════════════ */
#footer {
  background: var(--obs-bg-secondary) !important;
  border-top: 1px solid var(--obs-border) !important;
  color: var(--obs-text-faint) !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 12px !important;
  margin-top: 32px !important;
  padding: 24px !important;
  text-align: center !important;
}

/* ════════════════════════════════════════════════════════════
   16. 阅读进度条
════════════════════════════════════════════════════════════ */
#obs-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--obs-purple), var(--obs-blue), var(--obs-cyan));
  z-index: 9999;
  transition: width 0.1s linear;
  width: 0%;
}

/* ════════════════════════════════════════════════════════════
   17. 打印优化
════════════════════════════════════════════════════════════ */
@media print {
  body { background: white !important; color: black !important; }
  #header, #sideBar, #footer { display: none !important; }
  .day { border: none !important; background: white !important; }
}

/* ════════════════════════════════════════════════════════════
   18. 响应式
════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  #home { padding: 0 12px !important; }
  .post { padding: 16px !important; }
  .postTitle a { font-size: 17px !important; }
  #cnblogs_post_body h1 { font-size: 1.5em !important; }
  #cnblogs_post_body h2 { font-size: 1.3em !important; }
  #cnblogs_post_body pre { font-size: 12px !important; }
}

/* ════════════════════════════════════════════════════════════
   19. 日历组件
════════════════════════════════════════════════════════════ */
#blog-calendar, #calendar, .calendar,
table#BlogCalendar, #sideBar table {
  background: var(--obs-bg-surface) !important;
  border: 1px solid var(--obs-border) !important;
  border-radius: var(--obs-radius-md) !important;
  color: var(--obs-text-muted) !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  font-family: var(--obs-font-mono) !important;
  font-size: 12px !important;
}
#sideBar table th {
  background: var(--obs-bg-hover) !important;
  color: var(--obs-purple) !important;
  border: none !important;
  padding: 6px 4px !important;
  font-weight: 500 !important;
  text-align: center !important;
}
#sideBar table td {
  background: transparent !important;
  border: none !important;
  color: var(--obs-text-muted) !important;
  padding: 4px !important;
  text-align: center !important;
}
#sideBar table td a { color: var(--obs-blue) !important; font-weight: 500 !important; }
#sideBar table td a:hover { color: var(--obs-purple) !important; }
#sideBar table td.day_selected,
#sideBar table td.today {
  background: rgba(203,166,247,0.15) !important;
  border-radius: var(--obs-radius-sm) !important;
  color: var(--obs-purple) !important;
  font-weight: 600 !important;
}
#sideBar table td[colspan],
#sideBar table caption {
  background: var(--obs-bg-hover) !important;
  color: var(--obs-text-heading) !important;
  padding: 8px !important;
  text-align: center !important;
  font-weight: 500 !important;
}
#sideBar table td[colspan] a { color: var(--obs-purple) !important; }

/* ════════════════════════════════════════════════════════════
   20. 白天模式 —— Catppuccin Latte
   !! 修复：[data-theme] 和 @media 分开写，不能混用 !!
════════════════════════════════════════════════════════════ */

/* 跟随系统浅色模式 */
@media (prefers-color-scheme: light) {
  :root {
    --obs-bg-primary:    #eff1f5;
    --obs-bg-secondary:  #e6e9ef;
    --obs-bg-tertiary:   #dce0e8;
    --obs-bg-surface:    #eff1f5;
    --obs-bg-hover:      #e6e9ef;
    --obs-bg-active:     #ccd0da;
    --obs-text-primary:  #4c4f69;
    --obs-text-muted:    #6c6f85;
    --obs-text-faint:    #9ca0b0;
    --obs-text-heading:  #303446;
    --obs-purple:        #8839ef;
    --obs-purple-dim:    #7287fd;
    --obs-blue:          #1e66f5;
    --obs-cyan:          #179299;
    --obs-green:         #40a02b;
    --obs-yellow:        #df8e1d;
    --obs-orange:        #fe640b;
    --obs-red:           #d20f39;
    --obs-pink:          #ea76cb;
    --obs-teal:          #179299;
    --obs-border:        rgba(124,127,147,0.2);
    --obs-border-active: rgba(136,57,239,0.35);
    --obs-shadow-sm:     0 2px 8px rgba(76,79,105,0.1);
    --obs-shadow-md:     0 4px 20px rgba(76,79,105,0.15);
    --obs-shadow-lg:     0 8px 40px rgba(76,79,105,0.2);
  }
}

/* 手动切换到浅色（优先级高于系统） */
[data-theme="light"] {
  --obs-bg-primary:    #eff1f5 !important;
  --obs-bg-secondary:  #e6e9ef !important;
  --obs-bg-tertiary:   #dce0e8 !important;
  --obs-bg-surface:    #eff1f5 !important;
  --obs-bg-hover:      #e6e9ef !important;
  --obs-bg-active:     #ccd0da !important;
  --obs-text-primary:  #4c4f69 !important;
  --obs-text-muted:    #6c6f85 !important;
  --obs-text-faint:    #9ca0b0 !important;
  --obs-text-heading:  #303446 !important;
  --obs-purple:        #8839ef !important;
  --obs-purple-dim:    #7287fd !important;
  --obs-blue:          #1e66f5 !important;
  --obs-cyan:          #179299 !important;
  --obs-green:         #40a02b !important;
  --obs-yellow:        #df8e1d !important;
  --obs-orange:        #fe640b !important;
  --obs-red:           #d20f39 !important;
  --obs-pink:          #ea76cb !important;
  --obs-teal:          #179299 !important;
  --obs-border:        rgba(124,127,147,0.2) !important;
  --obs-border-active: rgba(136,57,239,0.35) !important;
  --obs-shadow-sm:     0 2px 8px rgba(76,79,105,0.1) !important;
  --obs-shadow-md:     0 4px 20px rgba(76,79,105,0.15) !important;
  --obs-shadow-lg:     0 8px 40px rgba(76,79,105,0.2) !important;
}

/* 手动切换回深色（覆盖系统浅色）*/
[data-theme="dark"] {
  --obs-bg-primary:    #1e1e2e !important;
  --obs-bg-secondary:  #181825 !important;
  --obs-bg-tertiary:   #13131f !important;
  --obs-bg-surface:    #252535 !important;
  --obs-bg-hover:      #2d2d42 !important;
  --obs-bg-active:     #363654 !important;
  --obs-text-primary:  #cdd6f4 !important;
  --obs-text-muted:    #a6adc8 !important;
  --obs-text-faint:    #585b70 !important;
  --obs-text-heading:  #f5f5f7 !important;
  --obs-purple:        #cba6f7 !important;
  --obs-purple-dim:    #9d79c9 !important;
  --obs-blue:          #89b4fa !important;
  --obs-cyan:          #89dceb !important;
  --obs-green:         #a6e3a1 !important;
  --obs-yellow:        #f9e2af !important;
  --obs-orange:        #fab387 !important;
  --obs-red:           #f38ba8 !important;
  --obs-pink:          #f5c2e7 !important;
  --obs-teal:          #94e2d5 !important;
  --obs-border:        rgba(203,166,247,0.15) !important;
  --obs-border-active: rgba(203,166,247,0.4) !important;
  --obs-shadow-sm:     0 2px 8px rgba(0,0,0,0.4) !important;
  --obs-shadow-md:     0 4px 20px rgba(0,0,0,0.5) !important;
  --obs-shadow-lg:     0 8px 40px rgba(0,0,0,0.6) !important;
}

/* 浅色模式：body 补丁（博客园有 hardcode 颜色）*/
@media (prefers-color-scheme: light) {
  body { background: #dce0e8 !important; color: #4c4f69 !important; }
  #header, #navigator, #footer, #obs-footer-custom {
    background: #e6e9ef !important;
    border-color: rgba(124,127,147,0.2) !important;
  }
}
[data-theme="light"] body { background: #dce0e8 !important; color: #4c4f69 !important; }
[data-theme="light"] #header,
[data-theme="light"] #navigator,
[data-theme="light"] #footer,
[data-theme="light"] #obs-footer-custom {
  background: #e6e9ef !important;
  border-color: rgba(124,127,147,0.2) !important;
}

/* 浅色模式：代码块 —— Catppuccin Latte */
@media (prefers-color-scheme: light) {
  .cnblogs_code, .cnblogs_code pre, pre, .hljs, pre[style], .cnblogs_code[style] {
    background: #e6e9ef !important; color: #4c4f69 !important;
    border-color: rgba(124,127,147,0.25) !important;
  }
  .cnblogs_code div, .cnblogs_code span { background: transparent !important; }
  code { background: #ccd0da !important; color: #ea76cb !important; }
  .cnblogs_code_block::before, div.cnblogs_code::before {
    color: #9ca0b0 !important; border-bottom-color: rgba(124,127,147,0.2) !important;
  }
  .hljs-keyword, .kwd    { color: #8839ef !important; }
  .hljs-string,  .str    { color: #40a02b !important; }
  .hljs-number,  .num    { color: #fe640b !important; }
  .hljs-comment, .com    { color: #9ca0b0 !important; font-style: italic !important; }
  .hljs-function, .hljs-title { color: #1e66f5 !important; }
  .hljs-class            { color: #df8e1d !important; }
  .hljs-built_in, .hljs-type  { color: #179299 !important; }
  .hljs-operator, .pun   { color: #ea76cb !important; }
  .hljs-punctuation      { color: #6c6f85 !important; }
  .hljs-tag, .tag        { color: #d20f39 !important; }
  .hljs-deletion         { color: #d20f39 !important; background: rgba(210,15,57,0.1) !important; }
  .hljs-addition         { color: #40a02b !important; background: rgba(64,160,43,0.1) !important; }
}
[data-theme="light"] .cnblogs_code,
[data-theme="light"] .cnblogs_code pre,
[data-theme="light"] pre,
[data-theme="light"] .hljs,
[data-theme="light"] pre[style],
[data-theme="light"] .cnblogs_code[style] {
  background: #e6e9ef !important; color: #4c4f69 !important;
  border-color: rgba(124,127,147,0.25) !important;
}
[data-theme="light"] .cnblogs_code div,
[data-theme="light"] .cnblogs_code span { background: transparent !important; }
[data-theme="light"] code { background: #ccd0da !important; color: #ea76cb !important; }
[data-theme="light"] .cnblogs_code_block::before,
[data-theme="light"] div.cnblogs_code::before {
  color: #9ca0b0 !important; border-bottom-color: rgba(124,127,147,0.2) !important;
}
[data-theme="light"] .hljs-keyword, [data-theme="light"] .kwd    { color: #8839ef !important; }
[data-theme="light"] .hljs-string,  [data-theme="light"] .str    { color: #40a02b !important; }
[data-theme="light"] .hljs-number,  [data-theme="light"] .num    { color: #fe640b !important; }
[data-theme="light"] .hljs-comment, [data-theme="light"] .com    { color: #9ca0b0 !important; font-style: italic !important; }
[data-theme="light"] .hljs-function,
[data-theme="light"] .hljs-title    { color: #1e66f5 !important; }
[data-theme="light"] .hljs-class    { color: #df8e1d !important; }
[data-theme="light"] .hljs-built_in,
[data-theme="light"] .hljs-type     { color: #179299 !important; }
[data-theme="light"] .hljs-operator,
[data-theme="light"] .pun           { color: #ea76cb !important; }
[data-theme="light"] .hljs-punctuation { color: #6c6f85 !important; }
[data-theme="light"] .hljs-tag,
[data-theme="light"] .tag           { color: #d20f39 !important; }
[data-theme="light"] .hljs-deletion { color: #d20f39 !important; background: rgba(210,15,57,0.1) !important; }
[data-theme="light"] .hljs-addition { color: #40a02b !important; background: rgba(64,160,43,0.1) !important; }