/* ---------------------------------------------
Table of contents
------------------------------------------------
01. normal
02. file-index 文件索引(sidebar)
03. document-index 文件目录(top)
04. article
05. code
06. search
--------------------------------------------- */


/*----------------------------- 01. normal ------------------------------*/
a,abbr,acronym,address,applet,big,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,form,
  h1,h2,h3,h4,h5,h6,html,iframe,img,ins,kbd,label,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,
  table,tbody,td,tfoot,th,thead,tr,tt,ul,var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-family: inherit;
    font-size: 16px;
    vertical-align: baseline
}

body {
    line-height: 1;
    color: #000;
    background: #fff
}

ol,ul {
    list-style: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle
}

caption,td,th {
    text-align: left;
    font-weight: 400;
    vertical-align: middle
}

a img {
    border: none
}

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

*,:after,:before {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit
}

button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner {
    padding: 0;
    margin: 0;
    border: 0
}

button,input,select {
    margin: 0;
    padding: 0;
    border: 0
}

@media screen {
    body,html {
        height: 100%
    }
}

body {
    background: #171f26;
    font-size: 15px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #444;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden
}


/*----------------------------- 02. file-index 文件索引(sidebar) ------------------------------*/

#sidebar {
    width: 280px;
    float: left;
    padding-top: 60px;
    padding-bottom: 40px;
    opacity: .8;
    margin-left: -280px;
    display: none;
    position: sticky;
    top: 0;
}

@media screen and (min-width: 769px) {
    #sidebar {
        display:block
    }
}

.sidebar-title {
    margin-top: 20px;
    padding: 10px 0;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #0e83cd;
    display: inline-block;
    border-top: 1px solid #e3e3e3;
    line-height: 1
}

.sidebar-link,.sidebar-link2,.toc-link {
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    display: block;
    color: #444;
    text-decoration: none;
    padding: 7px 0;
    line-height: 1;
    position: relative;
    width: 100%;
}

.sidebar-link2 {
    padding: 7px 0px 7px 24px;
}

.sidebar-link.current,.sidebar-link2.current,.toc-link.current {
    color: #0e83cd
}

.sidebar-link:hover,.sidebar-link2:hover,.toc-link:hover {
    color: #1094e8
}

.sidebar-link-active {
    color: red;
    font-weight: 700;
    background-color: #80FFFF;
    border-radius: 0 1rem 1rem 0;
}


/*----------------------------- 03 document-index 文档目录(top) ---------------------------*/

#article-toc-inner:after,#article-toc-inner:before,.inner:after,.inner:before {
    content: "";
    display: table
}

#article-toc-inner:after,.inner:after {
    clear: both
}

@media screen {
    #article-toc-inner,.inner {
        padding: 0 20px
    }
}

#article-toc {
    display: none;
    float: right;
    width: 280px;
    margin-right: -280px;
    opacity: .8;
    position: sticky;
    top: 0
}

/* 屏幕宽度>=1000px时，显示文档目录 */
@media screen and (min-width: 1000px) {
    #article-toc {
        display:block;
    }
}

#article-toc-inner {
    overflow-x: hidden;
    overflow-y: hidden;
    margin-bottom: 40px;
    --height: calc(100vh - 80px);
    width: 320px
}

.toc-child {
    padding-left: 1em;
    font-size: .9em
}

#article-toc-top {
    margin-top: 2em;
    font-size: .9em;
    text-decoration: none;
    color: #444;
    display: block;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif
}

#article-toc-top:hover {
    color: #1094e8
}


.article-toc-title {
    margin-top: 80px;
    padding: 10px 0;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #0e83cd;
    display: inline-block;
    border-top: 1px solid #e3e3e3;
    line-height: 1
}

.article-toc-item a.read{
	/*color: #e06c75;*/
	color: red;
    background-color: #80FFFF;
    border-radius: 0 1rem 1rem 0;
	border-bottom: 0;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
}


/*----------------------------- article ------------------------------*/

.wrapper:after,.wrapper:before {
    content: "";
    display: table
}

.wrapper:after {
    clear: both
}

@media screen {
    .wrapper {
        max-width: 1500px;
        margin: 0 auto
    }
}

#content-wrap {
    background: #fff;
    border-top: 1px solid #f3f5f9;
    border-bottom: 1px solid #f3f5f9;
    /* padding-top: 50px; */
    margin: -1px 0
}

#content {
    position: relative
}

#content:after,#content:before {
    content: "";
    display: table
}

#content:after {
    clear: both
}

#content-inner:after,#content-inner:before {
    content: "";
    display: table
}

#content-inner:after {
    clear: both
}

@media screen and (min-width: 769px) {
    #content-inner {
        margin-left:280px
    }
}

@media screen and (min-width: 769px) {
    .article-container {
        /* float:right; */
        width: 100%
    }
}

.article-inner:after,.article-inner:before {
    content: "";
    display: table
}

.article-inner:after {
    clear: both
}

/* 屏幕宽度>=1000px时，显示文档目录 */
@media screen and (min-width: 1000px) {
    .article-inner {
        margin-right: 280px;
    }
}

.article {
    float: left;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 30px;
}

@media print {
    .article {
        padding: 0
    }
}

.article-header {
    padding-bottom: 20px
}

.article-header:after,.article-header:before {
    content: "";
    display: table
}

.article-header:after {
    clear: both
}

.article-title {
    float: left;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 36px;
    font-weight: 300;
    text-decoration: none;
    color: #444;
    -webkit-transition: .2s;
    -moz-transition: .2s;
    -ms-transition: .2s;
    transition: .2s
}

a.article-title:hover {
    color: #1094e8
}

.post .article-title {
    float: none
}

.article-date {
    color: #999;
    text-decoration: none;
    display: inline-block;
    margin-top: 1em
}

.article-date:hover {
    color: #1094e8
}

.article-edit-link {
    float: right;
    color: #bbb;
    font-size: 24px;
    line-height: 36px;
    -webkit-transition: .2s;
    -moz-transition: .2s;
    -ms-transition: .2s;
    transition: .2s;
    display: none
}

.article-edit-link:hover {
    color: #1094e8
}

@media screen and (min-width: 769px) {
    .article-edit-link {
        display:block
    }
}

.article-anchor {
    margin-left: 10px;
    display: none
}

.article-anchor:before {
    content: "#"
}

@media print {
    .article-anchor {
        display: none!important
    }
}

.article-heading:hover .article-anchor {
    display: inline-block
}

.article-content {
    background: url("data:image/svg+xml,%3Csvg width='250' height='250' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='50%' y='50%' font-size='18' fill-opacity='0.06' text-anchor='middle' dominant-baseline='middle' transform='rotate(-45, 100 100)'%3EGraphAnywhere%3C/text%3E%3C/svg%3E");
    line-height: 1.6em;
    color: #444
}

@media print {
    .article-content {
        font-size: 12pt
    }
}

.article-content .highlight,.article-content blockquote,.article-content dl,.article-content iframe,.article-content ol,.article-content p,.article-content table,.article-content ul {
    margin: 1em 0;
}

.article-content .highlight {
    background: url("data:image/svg+xml,%3Csvg%20width%3D'250'%20height%3D'250'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'%23EEE'%20%2F%3E%3Ctext%20x%3D'50%25'%20y%3D'50%25'%20font-size%3D'18'%20fill-opacity%3D'0.06'%20text-anchor%3D'middle'%20transform%3D'rotate(-45%2C%20100%20100)'%3EGraphAnywhere%3C%2Ftext%3E%3C%2Fsvg%3E")
}

.article-content h1 {
    font-size: 2em
}

.article-content h2 {
    font-size: 1.5em
}

.article-content h3 {
    font-size: 1.3em
}

.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6 {
    line-height: 1em;
    font-weight: 700;
    margin: 1em 0
}

.article-content a {
    color: #0e83cd;
    text-decoration: none
}

.article-content a:hover {
    color: #1094e8;
    text-decoration: underline
}

@media print {
    .article-content a {
        color: #444;
        text-decoration: underline
    }

    .article-content a:after {
        content: " (" attr(href) ")";
        font-size: 80%
    }
}

.article-content a code {
    color: #0e83cd
}

.article-content strong {
    font-weight: 700
}

.article-content em {
    font-style: italic
}

.article-content dl,.article-content ol,.article-content ul {
    margin-left: 20px
}

.article-content dl dl,.article-content dl ol,.article-content dl ul,.article-content ol dl,.article-content ol ol,.article-content ol ul,.article-content ul dl,.article-content ul ol,.article-content ul ul {
    margin-top: 0;
    margin-bottom: 0
}

.article-content ul {
    list-style: disc
}

.article-content ol {
    list-style: decimal
}

.article-content dl {
    list-style: square
}

.article-content li p {
    margin: 0
}

.article-content li .highlight,.article-content li blockquote,.article-content li iframe,.article-content li table {
    margin: 1em 0
}

.article-content img,.article-content video {
    max-width: 100%
}

.article-content blockquote {
    padding: 0 20px;
    position: relative;
    border: 1px solid #e3e3e3;
    border-left: 5px solid #ddd
}

.article-content blockquote footer {
    margin: 1em 0;
    font-style: italic
}

.article-content blockquote footer cite:before {
    content: "—";
    padding: 0 .3em
}

.article-content blockquote footer cite a {
    color: color-grey
}

.article-content .note.tip {
    border-left-color: #fa0
}

.article-content .note.info {
    border-left-color: #0af
}

.article-content .note.warn {
    border-left-color: red
}

.article-content .note-title {
    margin: 1em 0;
    display: block;
    font-size: 1.3em;
    font-weight: 700
}

.article-content table {
    max-width: 100%;
    border: 1px solid #e3e3e3;
    display: block;
    overflow: auto
}

.article-content table th {
    font-weight: 700
}

.article-content table td,.article-content table th {
    padding: 5px 15px
}

.article-content table tr:nth-child(2n) {
    background: #eee
}

.article-footer {
    background-image: none;
    margin: 1em 0;
    background-color: rgb(30, 71, 179) !important;
    border-top: 1px solid #e3e3e3;
    text-align: center;
    color: #FFF;
    line-height: 1em;
    padding-top: 1em;
    position: relative
}

.article-footer:after,.article-footer:before {
    content: "";
    display: table
}

.article-footer:after {
    clear: both
}

@media print {
    .article-footer {
        display: none
    }
}

.article-footer-next,.article-footer-prev {
    color: #FFF;
    text-decoration: none;
    font-weight: 700;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    text-transform: uppercase;
    position: absolute
}

.article-footer-next:hover,.article-footer-prev:hover {
    color: #1094e8
}

@media print {
    .article-footer-next,.article-footer-prev {
        display: none
    }
}

.article-footer-next span,.article-footer-prev span {
    padding: 0 16px
}

.article-footer-prev {
    left: 0
}

.article-footer-next {
    right: 0
}

.article-footer-updated {
    font-size: 1em
}

@media print {
    #comments {
        display: none
    }
}

/*----------------------------- post ------------------------------*/

.post {
    margin: 0 auto;
    float: none
}

@media screen {
    .post {
        max-width: 800px
    }
}

blockquote {
    font-size: .8rem;
    opacity: .7;
    background: #fffee5;
    padding: 0 10px 10px 20px;
    position: relative;
    border: 1px solid #e3e3e3;
    border-left: 5px solid #ddd
}

.note.warn {
    border-left-color: #ffe2ac
}

.note-title {
    margin: .7em 0;
    display: block;
    font-size: 1.2em;
    font-weight: 700
}

.archive-post {
    padding: 1em 0;
    border-top: 1px solid #e3e3e3
}

.archive-post:last-child {
    padding-bottom: 40px
}

.archive-post-link {
    display: block;
    color: #444;
    text-decoration: none;
    line-height: 1.6em
}

.archive-post-link:after,.archive-post-link:before {
    content: "";
    display: table
}

.archive-post-link:after {
    clear: both
}

.archive-post-link:hover {
    color: #1094e8
}

.archive-post-title {
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    float: left;
    font-weight: 700
}

.archive-post-date {
    color: #999;
    float: right;
    font-size: .9em
}

/*----------------------------- search ------------------------------*/

#container {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -ms-transition: .4s;
    transition: .4s;
    /* modify 2024-12-25 注释 height: 100%;，因为还需要显示脚注栏*/
    /* height: 100%; */
    -webkit-overflow-scrolling: touch
}

#searchInput {
    border: 0px;
    background-color: #171f26;
    outline: none;
    color:#fff;
}

.searchResult-modal{
    width: 500px;
    position: absolute;
    background-color: #FFF;
    z-index: 1;
    height: 500px;
    overflow: auto;
    display: none;
}

.search-keyword{
    color: #c7254e;
}


#search-input {
    background: 0 0;
    font-size: inherit;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #fff;
    outline: 0;
    -webkit-appearance: none
}

/*----------------------------- code高亮 ------------------------------*/

code,pre {
    font-family: "Source Code Pro",Monaco,Menlo,Consolas,monospace;
    color: #4d4d4c;
    background: #eeeeee;
    font-size: .95em
}

code {
    --background: #DFFFFF;
    padding: 0 5px;
    color: #c7254e;
}

pre {
    padding: 10px 15px;
    line-height: 22px
}

pre code {
    border: none;
    display: block;
    padding: 0
}

td.gutter {
    z-index: 1;
    text-align: right;
    padding-right: 20px;
	color: #666;
    border-right: solid 1px #CCC;
    font-size: 0.85em;
}

.highlight {
    background: #eee;
    padding: 10px 15px;
    color: #4d4d4c;
    overflow: auto;
    margin: 0
}

.highlight table {
    margin: 0!important;
    border: 0
}

.highlight table td,.highlight table th {
    padding: 10px 15px;
}

.highlight figcaption {
    margin: -5px 0 5px;
    font-size: .9em;
    color: #999
}

.highlight figcaption:after,.highlight figcaption:before {
    content: "";
    display: table
}

.highlight figcaption:after {
    clear: both
}

.highlight figcaption a {
    float: right
}

.highlight pre {
    padding: 0;
    border: none;
    background: 0 0
}

.highlight .line {
    height: 22px
}

pre .comment,pre .title {
    color: #8e908c
}

pre .attribute,pre .css .class,pre .css .id,pre .css .pseudo,pre .html .doctype,pre .regexp,pre .ruby .constant,pre .tag,pre .variable,pre .xml .doctype,pre .xml .pi,pre .xml .tag .title {
    color: #c82829
}

pre .built_in,pre .constant,pre .literal,pre .number,pre .params,pre .preprocessor {
    color: #f5871f
}

pre .class,pre .css .rules .attribute,pre .ruby .class .title {
    color: #718c00
}

pre .header,pre .inheritance,pre .ruby .symbol,pre .string,pre .value,pre .xml .cdata {
    color: #718c00
}

pre .css .hexcolor {
    color: #3e999f
}

pre .coffeescript .title,pre .function,pre .javascript .title,pre .perl .sub,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword {
    color: #4271ae
}

pre .javascript .function,pre .keyword {
    color: #8959a8
}

pre .marked {
    background: #283542;
    color: rgba(255,255,255,.8)
}

pre .deletion {
    background: #ffeef0;
    color: #b31d28
}

pre .addition {
    background: #f0fff4;
    color: #22863a
}

/*----------------------------- 尝试一下 ------------------------------*/
/* 尝试一下样式 start */
.--try_button {
    display: inline-block;
    background-color: #9ab782;
    color: #fff !important;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 4px;
    padding-bottom: 4px;
    text-decoration: none !important;
    margin-left: 5px;
    margin-top: 0;
    margin-bottom: 5px;
    border-radius: 2px;
    white-space: nowrap;
}

/* 代码块边框样式 */
.--codeframe{
    border: 1px solid #39d30b;
    border-radius: 16px;
    padding: 20px 24px 12px;
    line-height: 1.7;
    font-size: 14px;
    font-weight: 500;
    margin: 24px 0;
}

/* 代码块背景颜色 */
.--codeframe table{
    /* background-color: #39d30b; */ 
    border-radius: 16px;
    margin: 24px 0;
    contain: content;
}

.codeTitle{
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 16px;
    color: #399c70;
}

.codeframe {
    background-color: #eee;
    border: solid 2px #f5871f;
    border-radius: 1rem;
    --padding: 20px 24px 12px;
    line-height: 1.7;
    margin: 12px 0;
}

.try_button {
    margin: 0 20px 0 auto;
    width: 100px;
    height: 40px;
    color: #fff !important;
    padding: 5px 10px;
    font-weight: bold;
    cursor: pointer;
    outline: none;
    border-radius: 5px;
    border: none;
    background-color: #9ab782;
}

.try_button p {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.try_button:hover {
    background-position: right center;
}

.try_button:active {
    top: 2px;
}


/*----------------------------- 页面样式 ------------------------------*/
.article-main {
    text-indent: 2em;
}

.article-box {  
    margin: 25px 0;
    border-radius: 5px;
}
    
  .article-tabs {  
    display: flex;  
  }  
    
  .article-tab-link {  
    font-size: 18px;
    font-weight: 700;
    outline: none;  
    cursor: pointer;  
    margin-right: 20px;
    padding: 10px 20px;  
    border: 1px solid transparent; 
    border-color: #e3e3e3 #e3e3e3 #f0f0f0; 
    transition: 0.3s background-color ease;  
    border-radius: 5px 5px 0 0;
  }  
  
@media (max-width: 767px) {
    .article-tab-link {  
        font-size: 12px;
    }
}

  .article-tab-link:hover {  
    color: #3679e7;
    background-color: #ddd;  
  }  
    
  .article-tab-link.active {  
    background-color: #fff;  
    color: #3679e7;
    font-weight: 700;
    margin-bottom: -1px;
    border-color: #e3e3e3 #e3e3e3 #fff;
  }  
    
  .article-tab-content {  
    display: none;  
    padding: 20px;  
    line-height: 2em;
    border: 1px solid #e3e3e3;  
    box-shadow: 5px 5px 10px #eee;
  }  
    
  .article-tab-content.active {  
    display: block;  
  }


  .article-summary p {
    /* text-indent: 2em; */
    line-height: 2em;
  }

  /* .article-tab-content p {
    text-indent: 2em;
  } */

.article-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 4px #0000000f;
    border: 1px solid #c2e3e7;
}


/*----------------------------- article-head 文章信息 ------------------------------*/

.article-header {
    width: 100%;
    padding-top: 20px;
}

.article-title {
    padding: 20px;
}

.article-title h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 0;
}

.article-info {
    overflow: hidden;
    clear: both;
    padding: 10px 20px;
    /* margin: 0 20px; */
    background-color: #f3f5f9;
    border-radius: 0;
}

.article-info ul {
    margin: 0;
    display: flex;
    justify-content: flex-start;
    /* modify 2024-12-25 去除左边间距 */
    padding: 0;
}

.article-info li {
    display: flex;
    align-items: center;
    margin-right: 20px;
}

.article-info img {
    margin-right: 5px;
    width: 16px;
    height: 16px;
}

.article-tags-list {
    display: flex;
    margin-top: 10px;
}

.article-tag {
    background: #3690cf;
    padding: 0px 10px;
    margin: 0 5px 0 0;
    color: #fff;
    display: block;
    float: left;
    border-radius: 12px;
    font-size: 12px;
}

@media (max-width: 767px) {
    .article-info ul {
        flex-direction: column;
    }
    .article-tags-list {
        display: flex;
        margin-top: 10px;
        flex-wrap: wrap;
    }
  }

/*----------------------------- 难易度评级 ------------------------------*/


.star {  
    display: inline-block;  
    font-family: FontAwesome; 
    font-style: normal;  
    font-weight: normal;  
    line-height: 1;  
    -webkit-font-smoothing: antialiased;  
    -moz-osx-font-smoothing: grayscale;  
    color: #ddd;
}  
  
.star.filled::before {  
    content: "\f005"; 
    color: #f1c40f; 
}  
  
.star::before {  
    content: "\f006";
    color: #ddd; 
}  
  