body {
    font-family: SimSun, "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", Georgia, "Times New Roman", serif;
    font-size: 1.0625em;
    line-height: 1.8;
    color: #333;
    background-color: #FFF;
    margin: 0;
    padding: 0;
}
a {
    color: #0000EE;
    text-decoration: underline;
}
a:visited {
    color: #551A8B;
}
a:hover {
    color: #B22222;
    text-decoration: underline;
}
a:active {
    color: #FF0000;
}
ol,ul {
    /**list-style-type:none;*/
    list-style-position:inside;
    margin:0 0 0 0;
    padding:0 0 0 0;
}
li {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
img {
    border:0;
}
p {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
dl {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
dd {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
dt {
    margin:0 0 0 0;
    padding:0 0 0 0;
}
h1,h2,h3,h4,h5,h6 {
    font-weight:normal;
}
.clear {
    clear:both;
}
strong {
    color:#B22222;
}
#divAll {
    width:1200px;
    margin: 0 auto 5em;
    padding:1em 0 3em 0;
    text-align:center;
}
#divPage {
    width:100%;
    margin:0 auto;
    padding:0 0 0 0;
    text-align:center;
    text-align:center;
}
#divMiddle {
    margin:0 auto;
    padding:0 2.5em 0 3em;
    text-align:left;
}
#divTop {
    text-align:left;
    float:left;
    clear:both;
}
#divSidebar {
    width:250px;
    margin:1em 0 0 0;
    text-align:left;
    float:right;
}
#divMain {
    width:816px;
    margin:1em 0 0 0;
    padding:0 0 0 0;
    text-align:left;
    float:left;
}
#divBottom {
    width:100%;
    margin:0 0 0 0;
    padding:4em 0 0 0;
    text-align:center;
    height:8em;
    clear:both;
    float:left;
}
#divNavBar {
    float:left;
    width:100%;
    padding:0 0;
    margin:0 0;
    clear:both;
}
#divNavBar hr {
    float:left;
    width:100%;
    border: none;
    border-top:1px solid #888;
    opacity:0.2;filter:alpha(opacity=20);
    height: 1px;
    padding: 0px;
    margin: 0px;
}
#divNavBar ul {
    margin:0;
    padding:0 0 0 0;
    float:left;
}
#divNavBar li {
    float:left;
    font-weight: bolder;
    padding:0 0 0 0;
    margin:0 0 0 0;
    height:3em;
}
#divNavBar a {
    float:left;
    margin:0 1em 0 1em;
    padding:0 1em;
    text-decoration:none;
    line-height:3em;
    font-weight:lighter;
}
#divNavBar a.on {
    font-weight:lighter;
    text-shadow:0 0  0.05em #888;
}
#divNavBar a:hover {
    color:#B22222;
    text-shadow:0 0  0.05em #888;
}
#divNavBar li {
  position: relative;
}
#divNavBar li ul {
  display: none;
  position: absolute;
  left: 0;
  white-space: nowrap;
  top: 3em;
  z-index: 1000;
  border-left:1px solid rgb(88,88,88,0.2);;
  border-right:1px solid rgb(88,88,88,0.2);;
  border-bottom:1px solid rgb(88,88,88,0.2);;
}

#divNavBar li:hover ul {
  display: block;
}

.function {
    float:left;
    width:100%;
    margin:0 0 1em 0;
    padding:0;
    text-align:left;
    line-height:1.5em;
    overflow:hidden;
}
.function .function_t {
    font-size:1.15em;
    height:1.5em;
    line-height:1.5em;
    margin:0 0 0 0;
    padding:0.33em 0 0.33em 0.9em;
}
.function ul {
    text-align:left;
    width:auto;
    margin:0 0 0 0;
    padding:0 0 0 1em;
    list-style-type:disc;
    list-style-position:inside;
}
.function li {
    font-size:1em;
    margin:0 0 0 0;
    padding:0.33em 0 0.33em 0;
    width:auto;
}
.function .function_c div {
    padding:0.4em 0 0.4em 1em;
}
.function a {
    margin-left:-0.3em;
    line-height:1.66em;
}
@-moz-document url-prefix(){
.function a {
    margin-left:-0.1em;
}
}
#divMisc li {
    padding-left:1em;
    background:none;
    list-style-type:none;
    list-style-position:outside;
}
#divContorPanel a {
    margin-left:-0;
}
#divCatalog li span.feed-icon {
    display:none;
}
#divCatalog li.li-subcate {
    margin:0 0 0 1em;
}
#divCatalog ul.ul-subcates {
    padding:0.5em 0 0 0;
    margin-bottom:-0.5em;
}
#divSearchPanel input[type="text"] {
    height:1.4em;
    width:10em;
    font-size:0.9em;
}
#divSearchPanel input[type="submit"] {
    height:1.8em;
    font-size:0.9em;
}
#divTags {
    padding:0 0 0 0;
}
#divTags .tag-count {
    display:none;
}
#divTags li {
    float:left;
    background:none;
    padding:0.5em 1em 0.5em 0;
    display:inline;
    clear:none;
}
#divComments li, #divPrevious li {
    text-overflow:ellipsis;
    overflow:hidden;
    max-height:1.5em;
    word-break:break-all;
}
div.post {
    width:98%;
    margin:0 0 0 0;
    padding:0;
    text-align:left;
    clear:both;
    word-break:break-all;
}
div.istop-post {
    padding-top:0;
    padding-bottom:2.5em;
}
div.pagebar {
    clear: both;
    padding:2em 1% 0.33em 1%;
    text-align:center;
}
div.post-nav {
    width:100%;
    height:1.5em;
    margin:0 0 0.66em 0;
    clear:both;
    font-size:1em;
}

/* ========== Post Title ========== */
/* Single article/page: very prominent h1 */
body.single h1.post-title,
h1.post-title {
    margin:0 0 0.2em 0;
    padding:0 0 0.3em 0;
    font-size: 2em;
    font-weight: bold;
    line-height:1.35;
    text-align:left;
    width:100%;
    color:#1a1a1a;
    border-bottom: 2px solid #e0e0e0;
}

/* Homepage listing: small inline titles */
div.post.multi .post-title {
    font-size: 1.15em;
    font-weight: normal;
    line-height:1.6em;
    border-bottom: none;
    margin:0 0 0.3em 0;
    padding:0 0 0.3em 0;
    color:#333;
}
div.post.multi .post-title a {
    text-decoration: none;
    color:#0000EE;
}
div.post.multi .post-title a:visited {
    color:#551A8B;
}
div.post.multi .post-title a:hover {
    color:#B22222;
    text-decoration: underline;
}

/* Homepage listing: hide empty elements that create excessive spacing */
div.post.multi .post-date:empty,
div.post.multi .post-footer:empty {
    display: none;
}

div.istop-post .post-title {
    text-align:left;
    border-bottom:none;
    margin:0 0 0 0;
    padding-bottom:0;
}
h2.post-title:before {
    content:"";
}
div.post .post-date {
    height:1em;
    line-height:1em;
    margin:0 0 0 0;
    padding:0.66em 0 0 0;
    font-size:0.85em;
    font-weight:normal;
    text-align:left;
    float:none;
    opacity:0.6;
    color:#888;
}
div.post .post-footer {
    width:100%;
    margin:0.66em 0 3em 0;
    padding:0 0 0.33em 0;
    font-size:0.85em;
    font-weight:normal;
    text-align:right;
    opacity:0.6;
    color:#888;
}
div.post .post-tags {
    width:100%;
    margin:1.5em 0 0 0;
    padding:0.5em 0 0 0;
    font-size:0.85em;
    font-weight:normal;
    height:auto;
    text-align:left;
    text-indent:0;
    opacity:0.7;
    border-top: 1px solid #eee;
    color:#888;
}
div.post .post-tags a {
    color: #888;
    text-decoration: none;
    margin: 0 0.3em;
}
div.post .post-tags a:hover {
    color: #B22222;
    text-decoration: underline;
}

/* ========== Article Content Body ========== */
/* Force SimSun for all post body text: Markdown editors inject inline
   font-family that beats normal specificity, so !important is required.
   Monospace is re-asserted right after so code blocks stay unaffected. */
div.post-body,
div.post-body * {
    font-family: SimSun, "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", Georgia, "Times New Roman", serif !important;
}
div.post-body pre,
div.post-body code,
div.post-body kbd,
div.post-body samp,
div.post-body var,
div.post-body pre * {
    font-family: Consolas, Monaco, "Courier New", monospace !important;
}
div.post div.post-body {
    font-family: SimSun, "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", Georgia, "Times New Roman", serif;
    width:100%;
    margin:0.5em 0 1em 0;
    padding:0 0 0 0;
    font-size:1em;
    text-align:justify;
    line-height:1.9;
    clear:both;
    word-break:break-word;
}
div.post-body a {
    text-decoration:underline;
    color:#0000EE;
}
div.post-body a:visited {
    color:#551A8B;
}
div.post-body a:hover {
    color:#B22222;
}
div.post-body p {
    margin:0.3em 0 0.8em 0;
    padding:0;
    text-indent:2em;
    line-height:1.9;
}
div.post-body .tags-cloud {
    margin:0.66em 0 1em 0;
}
.tags-cloud .tag-name {
    margin:0 0.33em;
    line-height:1.2;
}
.tags-cloud .tag-name-size-0 {
    font-size:1.1em;
}
.tags-cloud .tag-name-size-1 {
    font-size:1.3em;
}
.tags-cloud .tag-name-size-2 {
    font-size:1.6em;
}
.tags-cloud .tag-name-size-3 {
    font-size:2.0em;
}
.tags-cloud .tag-name-size-4 {
    font-size:2.5em;
}
.tags-cloud .tag-name-size-5 {
    font-size:3.1em;
}
.tags-cloud .tag-name-size-6 {
    font-size:3.8em;
}
.tags-cloud .tag-name-size-7 {
    font-size:4.6em;
}
div.post-body ul,div.post-body ol {
    margin-left:2em;
    padding-left:1em;
    list-style-position:outside;
    line-height:1.9;
}
div.post-body li {
    margin:0.3em 0;
}
div.post-body img {
    max-width:100%;
    height:auto;
}
div.post-body table {
    border-collapse:collapse;
    line-height:1.6;
    width:100%;
}
div.post-body th, div.post-body td {
    margin:0;
    padding:0.5em 0.6em;
    text-indent:0;
    border: 1px solid #ddd;
}
div.post-body th {
    background: #f5f5f5;
    font-weight: bold;
}

/* ========== Content Headings (h1-h6) ========== */
/* Note: post-title is h1, so content h1 is intentionally styled as a sub-level */
div.post-body h1,
div.post-body h2,
div.post-body h3,
div.post-body h4,
div.post-body h5,
div.post-body h6 {
    font-weight: bold;
    color: #222;
    line-height: 1.5;
    margin: 1.8em 0 0.6em 0;
    padding: 0;
    text-indent: 0;
}
div.post-body h1,
div.post-body h2 {
    font-size: 1.3em;
    border-bottom: 1px solid #eee;
    padding-bottom: 0.25em;
}
div.post-body h3 {
    font-size: 1.15em;
}
div.post-body h4 {
    font-size: 1.05em;
}
div.post-body h5 {
    font-size: 0.95em;
}
div.post-body h6 {
    font-size: 0.85em;
    color: #555;
}

div.post-body>p>code {
    width:95%;
    margin:0;
    padding:1em;
    opacity:1;
    border-left:3px solid #ccc;
    background:#f8f8f8;
}
div.post-body blockquote {
    width:95%;
    margin:1em 0.33em;
    padding:0.5em 1em;
    opacity:1;
    color: #555;
    font-style: normal;
    border-left:3px solid #ccc;
    background:#f8f8f8;
}
div.post-body>pre.prism-highlight {
    opacity:1;
    border-left:3px solid #ccc;
    background:#f8f8f8;
}
div.post-body>pre.prism-highlight code *{
    text-shadow: none;
}
div.post-body>pre.prism-highlight .prism-token.prism-operator{
    background: none;
}
.article-date {
    display:none;
}

#BlogTitle {
    font-size:2.8em;
    margin:0;
    padding:0 0 0 0;
    font-weight:normal;
    clear:both;
    line-height:1.5em;
    text-align:center;
    letter-spacing :0.05em;
}
#BlogTitle a {

}
#BlogTitle a:hover {

}
#BlogSubTitle {
    margin:0;
    padding:0.5em 0;
    line-height:1.5em;
}
#BlogPowerBy {
    font-size:0.85em;
    height:2em;
    margin:0;
    padding:0;
    text-align:center;
    font-weight:normal;
    clear: both;
    color: #aaa;
}
#BlogCopyRight {
    font-size:0.85em;
    height:2em;
    margin:0;
    padding:0;
    text-align:center;
    font-weight:normal;
    clear: both;
    color: #aaa;
}
#divCalendar {
    padding:0 0 0 0;
    text-align:center;
}
#divCalendar div {
    width:96%;
    margin:0 auto;
    padding:0.33em 2%;
    float:left;
}
#divCalendar table {
    width:100%;
    padding:0;
}
#divCalendar table a{
    margin-left:0;
}
a.l {
    text-align:left;
    float:left;
}
a.r {
    text-align:right;
    float:right;
}
ul.msg {
    width:98%;
    margin:0.66em 0 1.5em 0;
    padding:0.33em 1% 0.33em 1%;
    text-align:left;
    list-style-position:outside;
    table-layout:fixed;
    word-wrap:break-word;
}
li.msgname {
    padding:0 0 0.66em 0;
    margin:0;
    font-weight:bold;
    font-size:1em;
}
li.msgname * {
    }li.msgurl {
    text-align:right;
    padding:0.2em 0.66em 0.2em 0.66em;
    margin:0;
    font-size:1em;
}
li.msggravatar {
    display:block;
    float:left;
    margin-right:0.33em;
}
li.msgarticle {
    list-style-position:outside;
    margin:0 0 0 0;
    line-height:150%;
}
li.msgtime {
    padding:0.33em 0 0 0;
    font-weight:normal;
    font-size:0.8em;
}
img.avatar {
    width:3em;
    height:3em;
    float:left;
    padding:0 0.33em 0 0;
}
ul.msg ul.msg {
    padding:0 0 0 3em;
    margin:2em 0 0 0;
    border-bottom:none;
    width:auto;
}
ul.msg ul.msg li.msgarticle {
    padding-bottom:0;
}
ul.msg ul.msg li.msgname {
    padding:0;
}
ul.mutuality,ul.pagebar,ul.msghead {
    border:none;
    margin-bottom:0;
}
ul.mutuality li.tbname,ul.msghead li.tbname {
    padding-bottom:0;
}
ul.mutuality li.msgarticle {
    padding-left:0;
    border:none;
}
li.msgarticle div.quote {
    margin:0.66em 0 0 0;
    padding:0.66em;
    border:1px #F4F4F4 solid;
}
li.msgarticle div.quote-title {
    margin:0;
    padding:0;
    font-size:1em;
    color:#B22222;
}
#divCommentPost {
    width:98%;
    margin:0 0 0 0;
    padding:0 1% 0 1%;
}
#divCommentPost p {
    margin-top:0.66em;
}
#divCommentPost label {
    margin-top:0.33em;
}
#divCommentPost form {
    padding-bottom:0.66em;
}
#divCommentPost a[name='comment'] {

}
#divCommentPost img {
    margin-bottom:-0.5em;
}
#cancel-reply {
    float:right;
    margin-right:2em;
}
div.reply-frm {
    border:1px solid #ccc;
    margin:1em 1% !important;
    padding:.3em .8em !important;
    min-width:8em;
}
input.text {
    border:1px solid #888;
    line-height:2em;
    height:2em;
    padding:0.2em 0.33em 0.2em 0.33em;
    width:15em;
}
#txaArticle {
    padding:0.5em 1%;
    width:98%;
    height:10em;
    border:1px solid #888;
}
input.button {
    font-size:0.9em;
    width:8em;
    height:2em;
    cursor:pointer;
}
input[type=button]:hover,input[type=submit]:hover {
    cursor:pointer;
}
span.page {
    font-weight:bolder;
    padding:0.3em 0.35em;
    margin:0.3em 0.35em;
    line-height:2.8em;
    height:2.8em;
}
span.now-page {
    color:#B22222;
    font-weight:bolder;
    line-height:2.8em;
    height:2.8em;
}
a:hover span.page {
    color:#B22222;
}
span.sh {
    border:1px solid #CCC;
    padding:0 0.2em;
    margin-right:0.33em;
    font-size:.5em;
    font-family:monospace;
    cursor:pointer;
}

/* ========== Single Article Page Layout ========== */
body.single #divSidebar {
    display: none;
}
body.single #divMain {
    float: none;
    margin: 0 auto;
    max-width: 780px;
    width: auto;
    padding: 0 1em;
}

/* ========== TOC - 文章目录导航 ========== */
.toc-floating {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 210px;
    max-height: 70vh;
    overflow-y: auto;
    background: #FFF;
    border: 1px solid #e5e5e5;
    padding: 14px 16px;
    z-index: 999;
    font-family: SimSun, "Songti SC", STSong, serif;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
    right: -280px;
    transition: right 0.35s ease;
}
.toc-floating::-webkit-scrollbar { width: 4px; }
.toc-floating::-webkit-scrollbar-thumb { background: #ccc; border-radius: 2px; }

/* Desktop: always visible, positioned to the right of the content area */
@media screen and (min-width: 1201px) {
    .toc-floating {
        right: 20px !important;
        transition: none;
    }
}

/* Tablet: hidden by default, slides in on interaction (toggled by JS) */
@media screen and (min-width: 769px) and (max-width: 1200px) {
    .toc-floating.toc-hide {
        right: -280px !important;
    }
    .toc-floating.toc-hide.toc-show {
        right: 10px !important;
    }
}

/* Shared TOC styles across all breakpoints */
.toc-header {
    font-size: 0.9em;
    font-weight: bold;
    color: #333;
    padding-bottom: 6px;
    margin-bottom: 6px;
    border-bottom: 1px solid #eee;
    letter-spacing: 0.05em;
}
.toc-nav {
    font-size: 0.85em;
    line-height: 1.7;
}
.toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.toc-item {
    margin: 1px 0;
}
.toc-link {
    display: block;
    padding: 2px 6px;
    color: #0000EE;
    text-decoration: none;
    border-radius: 2px;
    border-left: 2px solid transparent;
}
.toc-link:visited {
    color: #551A8B;
}
.toc-link:hover {
    color: #333;
    text-decoration: underline;
    border-left-color: #999;
}
.toc-link.active {
    color: #333;
    font-weight: bold;
    border-left-color: #333;
    background: rgba(0,0,0,0.03);
}
.toc-level-1 { padding-left: 0; }
.toc-level-2 { padding-left: 0.5em; }
.toc-level-3 { padding-left: 1.8em; }
.toc-level-4 { padding-left: 3em; }
.toc-level-5 { padding-left: 4em; }
.toc-level-6 { padding-left: 5em; }

/* Inline TOC (mobile fallback) */
.toc-inline {
    display: none; /* shown by JS on mobile */
    background: #FAFAFA;
    border: 1px solid #e5e5e5;
    padding: 12px 16px;
    margin: 0 0 1.5em 0;
    font-size: 0.9em;
}
.toc-inline .toc-header {
    font-size: 1em;
    margin-bottom: 6px;
}
.toc-inline .toc-link {
    padding: 3px 6px;
}

/* ========== Responsive ========== */
@media screen and (max-width:1200px) {
    #divAll {
        width:auto;
        margin:1em 0.5em;
    }
    #divMain {
        width:98%;
    }
    #divMiddle {
        padding:0 2%;
    }
    dl.function {
        width:50%;
    }
    #divSidebar {
        width:auto;
    }
    body.single #divMain {
        max-width: 100%;
        padding: 0 0.5em;
        margin-right: 0;
    }
}

@media screen and (max-width: 768px) {
    body.single #divMain {
        padding: 0;
    }
}

 /* ========== Layout Styles (Header/Nav) ========== */
    .container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px 0;
    }

    .left-side {
      display: flex;
      align-items: center;
    }

    .site-title {
      font-size: 24px;
      font-weight: bold;
      margin: 0 20px 0 0;
    }

    .site-subtitle {
      font-size: 16px;
      margin: 5px 0 0 0;
      color: #888;
    }

    .search-box {
      padding: 8px 12px;
      border-radius: 4px;
      font-size: 16px;
      width: 200px;
    }

    .nav-container ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
      display: flex;
    }

    .nav-container li {
      margin-left: 20px;
    }

    .nav-container a {
      text-decoration: none;
      color: #333;
    }

    .nav-container a.active {
      font-weight: bold;
    }

    @media (max-width: 768px) {
      .container {
        flex-direction: column;
        align-items: flex-start;
      }

      .left-side {
        margin-bottom: 20px;
        display:block;
      }

      .nav-container {
          display:flex;
          width:100%;
      }

      .nav-container ul {
        display: flex;
        flex-wrap: wrap;
      }

      .nav-container li {
        display: flex;
        margin-right: 10px;
        margin-bottom: 10px;
      }

      .nav-container a {
        flex-grow: 1;
      }

      .search-box {
        width: 100%;
      }
    }
