:root{
  --accent-color:#1e88e5;
  --accent-hover:#1565c0;
  --blue-text:#1e88e5;
  --bg-image:url('https://img2024.cnblogs.com/blog/3728044/202603/3728044-20260327224455585-188301970.jpg');
  --content-overlay:rgba(0,0,0,.65);
  --text-color:#1e88e5;
  --muted-color:#9bb8e8;
  --border-color:#2a2a2a;
  --shadow:0 0 20px 10px rgba(0,0,0,.25);

  --layout-width:92%;
  --layout-max-width:1280px;
  --layout-gap:24px;

  --font-family:Merriweather,"Open Sans","Microsoft Yahei",sans-serif;
  --title-size:26px;
  --post-title-size:24px;
  --post-title-page-size:30px;
  --content-size:15px;

  --card-radius:10px;
  --link-color:#1e88e5;
  --selection-bg:#1976d2;
  --selection-text:#ffffff;

  --scrollbar-width:6px;
  --scrollbar-track:#0f0f10;
  --scrollbar-thumb:#1e88e5;
  --scrollbar-thumb-hover:#1565c0;

  --bannerbar-display:none;
  --sidebar-display:block;

  --code-bg:#000000;
  --code-text:#ffffff;
  --code-border:#222222;
  --code-font:Consolas,"SFMono-Regular",Menlo,monospace;
  --code-radius:6px;
  --code-copy-display:inline-block;

  --back-to-top-display:block;
  --progress-display:block;

  --sidebar-width:320px;
  --sidebar-gap:16px;
  --sidebar-section-gap:12px;
  --sidebar-card-bg:rgba(0,0,0,.6);
  --sidebar-card-border:#1f1f1f;
  --sidebar-card-radius:10px;
  --sidebar-card-shadow:0 8px 24px rgba(0,0,0,.35);
  --sidebar-title-size:16px;
  --sidebar-title-color:#9ec3ff;
  --sidebar-title-weight:600;
  --sidebar-divider:#1f1f1f;
  --sidebar-link:var(--link-color);
  --sidebar-link-hover:var(--accent-hover);
  --sidebar-sticky-top:62px;
  --sidebar-tag-bg:rgba(30,136,229,.18);
  --sidebar-tag-color:#a7c9ff;
  --sidebar-input-bg:rgba(0,0,0,.5);
  --sidebar-input-border:#1f1f1f;
  --sidebar-input-focus:var(--accent-color);
}

*{margin:0;padding:0}
html{font-size:62.5%;scroll-behavior:smooth;color-scheme:dark}
body{
  color:var(--text-color);
  font-family:var(--font-family);
  font-size:var(--content-size);
  background-color:#000;
  overflow:auto !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:var(--bg-image);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  z-index:-1;
  pointer-events:none;
}

a{color:var(--link-color);text-decoration:none}
a:hover{color:var(--accent-hover)}
::selection{background:var(--selection-bg);color:var(--selection-text)}
::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}
::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}
::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);min-height:80px}
::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}

#bannerbar{display:var(--bannerbar-display)}

#home{
  width:var(--layout-width);
  max-width:var(--layout-max-width);
  margin:0 auto;
  background-color:var(--content-overlay);
  padding:0 20px 30px;
  box-shadow:var(--shadow);
  border-radius:var(--card-radius);
}

#main{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--sidebar-width);
  column-gap:var(--layout-gap);
  align-items:start;
  margin-top:20px;
}
#mainContent{float:none !important;width:auto !important;min-height:200px}
#mainContent .forFlow{float:none !important;width:100% !important;margin-left:0 !important}
#sideBar{float:none !important;display:var(--sidebar-display);width:var(--sidebar-width)}
@supports (position:sticky){#sideBar{position:sticky;top:var(--sidebar-sticky-top)}}

#header{padding-bottom:6px;margin-top:10px}
#blogTitle{height:auto;clear:both;padding:10px 0}
#blogTitle h1{font-size:var(--title-size);font-weight:700;line-height:1.4;color:var(--blue-text)}
#blogTitle h1 a{color:var(--blue-text)}
#blogTitle h2{font-weight:400;font-size:13px;line-height:1.85;color:var(--muted-color)}

#navigator{display:none !important}
.blogStats{display:none !important}

.day{position:relative;margin:2.4rem 0;padding-bottom:2rem;border-bottom:1px solid #1c1c1c;word-wrap:break-word}
.dayTitle{font-size:20px;font-weight:600;margin:10px 0 16px 0;color:var(--blue-text);text-align:left}

.postTitle a{color:var(--blue-text);font-size:var(--post-title-size);line-height:1.4}
.postTitle a:hover{color:var(--accent-hover)}
.entrylistTitle a{font-size:var(--post-title-size);line-height:1.4}
#cb_post_title{font-size:var(--post-title-page-size);line-height:1.25;color:var(--blue-text)}

.postDesc{color:var(--muted-color);font-size:12px;margin-top:8px}
.postBody{font-size:15px;line-height:1.9;color:var(--blue-text)}
.postBody img{max-width:100%;border-radius:6px}

#EntryTag a,#BlogPostCategory a{
  background:var(--accent-color);
  color:#fff;
  border-radius:999px;
  padding:2px 10px;
  margin-right:6px;
  display:inline-block;
  font-size:12px;
}

/* 侧栏模块与目录 */
#sideBar .module,#sideBar .sidebar-block,#sideBar .panel,#sideBar .newsItem,#sideBar .catList,#sideBar .recent_comment,#sideBar .recent_post,#sideBar .mySearch,#sideBar .myLinks,#sideBar>div{
  background:var(--sidebar-card-bg);
  border:1px solid var(--sidebar-card-border);
  border-radius:var(--sidebar-card-radius);
  box-shadow:var(--sidebar-card-shadow);
  padding:12px 14px;
  margin-bottom:var(--sidebar-gap);
}
#sideBar h3,#sideBar .sb-title,#sideBar .catListTitle,#sideBar .module h2{
  font-size:var(--sidebar-title-size);
  font-weight:var(--sidebar-title-weight);
  color:var(--sidebar-title-color);
  margin-bottom:var(--sidebar-section-gap);
  display:flex;align-items:center;
}
#sideBar h3::before,#sideBar .sb-title::before,#sideBar .catListTitle::before,#sideBar .module h2::before{
  content:"";display:inline-block;width:6px;height:16px;margin-right:8px;border-radius:3px;background:var(--accent-color);
}
#sideBar ul{list-style:none;margin:0;padding:0}
#sideBar li{padding:8px 0;border-bottom:1px solid var(--sidebar-divider)}
#sideBar li:last-child{border-bottom:none}
#sideBar a{color:var(--sidebar-link);text-decoration:none}
#sideBar a:hover{color:var(--sidebar-link-hover)}

.sidebar-toc{
  background:var(--sidebar-card-bg);
  border:1px solid var(--sidebar-card-border);
  border-radius:6px;
  box-shadow:var(--sidebar-card-shadow);
  padding:12px 14px;
  margin-bottom:var(--sidebar-gap);
}
.sidebar-toc h3{
  font-size:var(--sidebar-title-size);
  font-weight:var(--sidebar-title-weight);
  color:var(--sidebar-title-color);
  margin-bottom:var(--sidebar-section-gap);
}
.sidebar-toc ul{list-style:none;margin:0;padding:0;max-height:calc(100vh - var(--sidebar-sticky-top) - 120px);overflow:auto}
.sidebar-toc li{padding:6px 0;border-bottom:1px solid var(--sidebar-divider)}
.sidebar-toc li:last-child{border-bottom:none}
.sidebar-toc li.toc-h2{padding-left:12px;font-size:13px}
.sidebar-toc li.toc-h3{padding-left:24px;font-size:12px}
.sidebar-toc li.toc-h4{padding-left:36px;font-size:12px}
.sidebar-toc a{color:#a7c9ff;text-decoration:none}
.sidebar-toc a.active{color:#fff;font-weight:600}

/* 浮动目录 */
#toc-floating{
  position:fixed;
  right:36px;
  top:var(--sidebar-sticky-top);
  width:300px;
  max-height:calc(100vh - var(--sidebar-sticky-top) - 24px);
  overflow:auto;
  background:rgba(0,0,0,.6);
  border:1px solid var(--sidebar-card-border);
  border-radius:6px;
  box-shadow:var(--sidebar-card-shadow);
  padding:12px;
  z-index:9998;
  display:block;
}
#toc-floating .toc-title{
  font-size:var(--sidebar-title-size);
  font-weight:var(--sidebar-title-weight);
  color:var(--sidebar-title-color);
  margin-bottom:var(--sidebar-section-gap);
}
#toc-floating ul{list-style:none;margin:0;padding:0}
#toc-floating li{padding:6px 0;border-bottom:1px solid var(--sidebar-divider)}
#toc-floating li:last-child{border-bottom:none}
#toc-floating li.toc-h2{padding-left:12px;font-size:13px}
#toc-floating li.toc-h3{padding-left:24px;font-size:12px}
#toc-floating li.toc-h4{padding-left:36px;font-size:12px}
#toc-floating a{color:#a7c9ff;text-decoration:none}
#toc-floating a.active{color:#fff;font-weight:600}

/* 右上角导航条 */
#top-right-toolbar{
  position:fixed;
  top:12px;
  right:12px;
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(0,0,0,.6);
  border:1px solid #1f1f1f;
  border-radius:6px;
  padding:6px 12px;
  z-index:10000;
}
#top-right-toolbar .trt-nav a{margin:0 6px;color:#a7c9ff;text-decoration:none;font-size:12px}
#top-right-toolbar .trt-nav a:hover{color:#fff}
#top-right-toolbar .trt-stats{color:var(--muted-color);font-size:12px}

/* 代码块与复制按钮 */
.cnblogs_code,pre{
  background:var(--code-bg);
  color:var(--code-text);
  border:1px solid var(--code-border);
  border-radius:var(--code-radius);
  position:relative;
}
.cnblogs_code pre,pre{
  padding:12px 14px;
  overflow:auto;
  font-family:var(--code-font);
  font-size:13px;
  line-height:1.7;
}
.postBody code{
  background:#111;
  color:#fff;
  border:1px solid #222;
  border-radius:4px;
  padding:0 4px;
}
.code-copy-btn{
  position:absolute;
  top:8px;
  right:8px;
  display:var(--code-copy-display);
  background:#1e88e5;
  color:#fff;
  border:none;
  border-radius:4px;
  padding:4px 8px;
}

/* highlight.js 深色适配 */
.hljs{background:#000 !important;color:#e6e6e6}
.hljs-comment,.hljs-quote{color:#9aa4b2}
.hljs-keyword,.hljs-selector-tag,.hljs-doctag{color:#82aaff}
.hljs-built_in,.hljs-type,.hljs-attr{color:#7dcfff}
.hljs-string,.hljs-symbol,.hljs-bullet{color:#c3e88d}
.hljs-number,.hljs-literal{color:#f78c6c}
.hljs-title,.hljs-section,.hljs-name{color:#ffd700}
.hljs-variable,.hljs-template-variable{color:#ffcb6b}
.hljs-meta{color:#89ddff}
.hljs-link{color:#8bd5ff;text-decoration:underline}

/* 回到顶部与进度条 */
.back-to-top{
  position:fixed;
  bottom:24px;
  right:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--accent-color);
  color:#fff;
  display:var(--back-to-top-display);
  box-shadow:0 6px 20px rgba(0,0,0,.35);
  cursor:pointer;
  border:none;
  font-size:18px;
  z-index:9999;
}
#read-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  background:var(--accent-color);
  width:0;
  display:var(--progress-display);
  z-index:9999;
  will-change:width;
}

/* 移除评论与推荐黑框 */
#comments,#comment_form,.feedback_area,.comments,.post-comment,
.comment_toolbar,.editor-toolbar,.comment-tools,.comment-preview,.preview-box,#comment_preview,
.comment_suggest,.autocomplete-suggestions,#div_digg,#post_digg,.digg,.recommend,#green_channel{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
#comments .feedbackItem,#comments .feedbackCon,.feedbackList li,.comment_item{border-bottom:none !important}
#tbCommentBody,#comment_textarea,textarea[name="comment"],#tbEmail,#tbQQ,#tbUrl,
.comment_form input[type="text"],.comment_form input[type="email"],.comment_form input[type="url"],.comment_form textarea{
  background:transparent !important;
  color:inherit !important;
  border:1px solid #ddd !important;
  border-radius:6px !important;
}
#btn_comment_submit,.comment_form input[type="button"],.comment_form input[type="submit"],.comment_submit_btn,.comment_btn{
  background:var(--accent-color) !important;
  color:#fff !important;
  border:none !important;
}
#mobile-menu-btn,#mobile-toc-btn{display:none}

@media (max-width:768px){
  #home{width:100%;max-width:100%;padding:0 12px 24px}
  #main{grid-template-columns:1fr;column-gap:0}
  #sideBar{display:none !important}

  #toc-floating{
    position:fixed;
    right:0;top:0;
    width:min(86vw,320px);
    height:100vh;max-height:none;
    overflow:auto;
    background:rgba(0,0,0,.9);
    border-left:1px solid var(--sidebar-card-border);
    border-radius:0;
    box-shadow:var(--sidebar-card-shadow);
    padding:16px;
    transform:translateX(100%);
    transition:transform .25s ease;
    z-index:10000;
  }
  body.toc-open #toc-floating{transform:translateX(0)}

  #mobile-overlay{
    position:fixed;inset:0;
    background:rgba(0,0,0,.4);
    z-index:9999;display:none;
  }
  body.toc-open #mobile-overlay,
  body.menu-open #mobile-overlay{display:block}

  #top-right-toolbar{
    position:fixed;right:0;top:0;
    width:min(86vw,320px);
    height:100vh;
    background:rgba(0,0,0,.9);
    border-left:1px solid #1f1f1f;
    border-radius:0;
    transform:translateX(100%);
    transition:transform .25s ease;
    display:flex;flex-direction:column;align-items:stretch;gap:8px;
    padding:16px;
    z-index:10001;
  }
  body.menu-open #top-right-toolbar{transform:translateX(0)}
  #top-right-toolbar .trt-nav a{
    display:block;margin:0 !important;
    padding:10px 12px;border-radius:6px;
    background:rgba(255,255,255,.06);
  }
  #top-right-toolbar .trt-nav a + a{margin-top:8px !important}

  #mobile-menu-btn,#mobile-toc-btn{
    position:fixed;z-index:10002;
    border:none;border-radius:999px;color:#fff;
    background:var(--accent-color);
    box-shadow:0 6px 20px rgba(0,0,0,.35);
  }
  #mobile-menu-btn{
    top:12px;right:12px;width:44px;height:44px;
    font-size:18px;display:inline-flex;align-items:center;justify-content:center;
  }
  #mobile-toc-btn{
    right:24px;bottom:84px;
    padding:8px 12px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;
  }
}
@media (max-width: 768px){
  #home{ background-color: transparent !important; }

  body::before{ z-index: -2 !important; }

  body::after{
    content: "";
    position: fixed;
    inset: 0;
    background: var(--content-overlay);
    z-index: -1;
    pointer-events: none;
  }
}