 :root {
  --code-bg: #ffffff;
  --code-surface: #ffffff;
  --code-text: #1f2937;
  --code-muted: #6b7280;
  --code-border: #d0d7de;
  --code-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  --code-scrollbar-track: #e5e7eb;
  --code-scrollbar-thumb: #94a3b8;
  --code-scrollbar-thumb-hover: #64748b;
  --code-keyword: #8250df;
  --code-link: #0969da;
  --code-builtin: #0f766e;
  --code-number: #b45309;
  --code-string: #0a7a35;
  --code-regexp: #bc4c00;
  --code-subst: #111827;
  --code-comment: #6e7781;
  --code-doctag: #6f42c1;
  --code-meta: #57606a;
  --code-variable: #b42318;
  --code-attr: #0550ae;
  --code-section: #9a6700;
  --code-addition: #dafbe1;
  --code-deletion: #ffebe9;
  --code-copy-bg: rgba(255, 255, 255, 0.92);
  --code-copy-text: #334155;
  --code-copy-hover-bg: #e2e8f0;
}

html[data-theme='dark'] {
  --code-bg: #0b1220;
  --code-surface: #0b1220;
  --code-text: #d4d4d8;
  --code-muted: #94a3b8;
  --code-border: #334155;
  --code-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
  --code-scrollbar-track: #1f2937;
  --code-scrollbar-thumb: #64748b;
  --code-scrollbar-thumb-hover: #94a3b8;
  --code-keyword: #7dd3fc;
  --code-link: #7dd3fc;
  --code-builtin: #5eead4;
  --code-number: #c4f1a4;
  --code-string: #f2b38f;
  --code-regexp: #f59e0b;
  --code-subst: #e5e7eb;
  --code-comment: #4ade80;
  --code-doctag: #86efac;
  --code-meta: #a1a1aa;
  --code-variable: #d8b4fe;
  --code-attr: #93c5fd;
  --code-section: #facc15;
  --code-addition: #12351d;
  --code-deletion: #5a1111;
  --code-copy-bg: rgba(15, 23, 42, 0.9);
  --code-copy-text: #e2e8f0;
  --code-copy-hover-bg: #1e293b;
}

/*codecopy*/
.codecopy-btn {position: absolute;transition: all 0.5s;top: 10px;right: 20px;width: 90px;border-radius: 5px;background-color: rgba(221,221,221,.1);color: #999;text-align: center;font-weight: 700;font-size: 14px}
.codecopy-btn:hover {background-color: rgba(221,221,221,.2);top:9px}
/*语法高亮*/
.hljs{position:relative;display:block;overflow-x:hidden;background:var(--code-bg);color:var(--code-text);padding:30px 5px 2px 5px !important;box-shadow: var(--code-shadow);border:1px solid var(--code-border);border-radius:14px}
.hljs::before{content:"";position:absolute;left:15px;top:10px;overflow:visible;width:12px;height:12px;border-radius:16px;box-shadow:20px 0 #fdbc40, 40px 0 #35cd4b;-webkit-box-shadow:20px 0 #fdbc40, 40px 0 #35cd4b;background-color:#fc625d;white-space:nowrap;text-indent: 75px;font-size: 16px;line-height: 12px;font-weight: 700}
.hljs-ln{display:inline-block;overflow-x:auto;padding-bottom:5px}
.hljs-ln td {padding: 0;background-color: var(--code-surface)}
.hljs-ln::-webkit-scrollbar {height: 10px;border-radius: 5px;background: var(--code-scrollbar-track);}
.hljs-ln::-webkit-scrollbar-thumb {background-color: var(--code-scrollbar-thumb);border-radius: 5px;}
.hljs-ln::-webkit-scrollbar-thumb:hover {background: var(--code-scrollbar-thumb-hover);}
.hljs table tbody tr{border:none}
.hljs .hljs-ln-line {padding: 1px 10px;border:none}
td.hljs-ln-line.hljs-ln-numbers {border-right: 1px solid var(--code-border);}
.hljs-keyword,.hljs-literal,.hljs-symbol,.hljs-name{color:var(--code-keyword)}
.hljs-link{color:var(--code-link);text-decoration:underline}
.hljs-built_in,.hljs-type{color:var(--code-builtin)}
.hljs-number,.hljs-class{color:var(--code-number)}
.hljs-string,.hljs-meta-string{color:var(--code-string)}
.hljs-regexp,.hljs-template-tag{color:var(--code-regexp)}
.hljs-subst,.hljs-function,.hljs-title,.hljs-params,.hljs-formula{color:var(--code-subst)}
.hljs-comment,.hljs-quote{color:var(--code-comment);font-style:italic}
.hljs-doctag{color:var(--code-doctag)}
.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:var(--code-meta)}
.hljs-variable,.hljs-template-variable{color:var(--code-variable)}
.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:var(--code-attr)}
.hljs-section{color:var(--code-section)}
.hljs-emphasis{font-style:italic}
.hljs-strong{font-weight:bold}
.hljs-bullet,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:var(--code-section)}
.hljs-addition{background-color:var(--code-addition);display:inline-block;width:100%}
.hljs-deletion{background-color:var(--code-deletion);display:inline-block;width:100%}
.hljs.language-html::before,.hljs.language-xml::before{content:"HTML/XML"}
.hljs.language-javascript::before{content:"JavaScript"}
.hljs.language-c::before{content:"C"}
.hljs.language-cpp::before{content:"C++"}
.hljs.language-java::before{content:"Java"}
.hljs.language-asp::before{content:"ASP"}
.hljs.language-actionscript::before{content:"ActionScript/Flash/Flex"}
.hljs.language-bash::before{content:"Bash"}
.hljs.language-css::before{content:"CSS"}
.hljs.language-asp::before{content:"ASP"}
.hljs.language-cs::before,
.hljs.language-csharp::before{content:"C#"}
.hljs.language-d::before{content:"D"}
.hljs.language-golang::before,.hljs.language-go::before{content:"Go"}
.hljs.language-json::before{content:"JSON"}
.hljs.language-lua::before{content:"Lua"}
.hljs.language-less::before{content:"LESS"}
.hljs.language-md::before,
.hljs.language-markdown::before,
.hljs.language-mkdown::before,
.hljs.language-mkd::before{content:"Markdown"}
.hljs.language-mm::before,
.hljs.language-objc::before,
.hljs.language-obj-c::before,
.hljs.language-objective-c::before{content:"Objective-C"}
.hljs.language-php::before{content:"PHP"}
.hljs.language-perl::before,
.hljs.language-pl::before,
.hljs.language-pm::before{content:"Perl"}
.hljs.language-python::before,
.hljs.language-py::before,
.hljs.language-gyp::before,
.hljs.language-ipython::before{content:"Python"}
.hljs.language-r::before{content:"R"}
.hljs.language-ruby::before,
.hljs.language-rb::before,
.hljs.language-gemspec::before,
.hljs.language-podspec::before,
.hljs.language-thor::before,
.hljs.language-irb::before{content:"Ruby"}
.hljs.language-sql::before{content:"SQL"}
.hljs.language-sh::before,
.hljs.language-shell::before,
.hljs.language-Session::before,
.hljs.language-shellsession::before,
.hljs.language-console::before{content:"Shell"}
.hljs.language-swift::before{content:"Swift"}
.hljs.language-vb::before{content:"VB/VBScript"}
.hljs.language-yaml::before{content:"YAML"}
