/* base.css — 全站基础样式
   合并自：colors.css / reset.css / nav.css / home.css(全局部分) / style-global.css */

:root
{
    --brand-color: #5694f1;
    --ink-color: #3c3c3c;
    --white-color: #ffffff;
    --text-primary: #1f2020;
    --text-secondary: #464646;  
    --text-tertiary: #6c6c6c;
    --text-quaternary: #aaadb1;
    --border-light: #f2f4f7;
    --border-regular: #eef1f3;
    --border-tertiary: #dddddd;
    --selection-color: #1d1d1d;

    --table-hover: #f8f8f8;
    --font-color-toc: #81808b;
    --font-size-regular: 0.9375rem;

    --font-color-0: #04077e;
    --font-color-1: #000;
    --font-color-2: #666;
    --font-color-3: #aaa;
    --bg-color-1: #eee;
    --line-1: #ccc;
    --line-2: #ddd;
    --line-3: #f2f2f2;
    

}

html,body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    padding: 0;
    margin: 0;
    border: 0;
    vertical-align: baseline;
    /* -webkit-text-size-adjust: none; */
}

html,
body
{
    scroll-behavior: smooth;
}
    
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust:100%;
}

body {
    font-family: "Helvetica", -apple-system, "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;
    -webkit-font-smoothing: antialiased;
    word-wrap: break-word;
    word-break: break-all;
    /* Georgia, Cambria, "Times New Roman", charter, */
}

img {
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

ul li {
    list-style-type: none;
}

a {
    color: var(--ink-color);
    text-decoration: none;
}

a:hover {
    color: var(--brand-color);
}

hr {
    border: 1px solid #f5f5f5;
}

ul,
ol
{
    list-style: none;
}

ul
{
    padding-inline-start: 0;
}

a:not([class])
{
    text-decoration-skip-ink: auto;
}

img,
picture
{
    width: auto;
    max-width: 100%;
    display: block;
}

input,
button,
textarea,
select
{
    font: inherit;
}

@media (prefers-reduced-motion: reduce)
{
    html:focus-within
    {
        scroll-behavior: auto;
    }
}


/* 全局::selection样式 */
span::selection,
th::selection, 
tr::selection, 
td::selection,
h1::selection, 
h2::selection, 
h3::selection, 
h4::selection, 
h5::selection, 
p::selection, 
a::selection,
section::selection {
   background: var(--selection-color);
   color: #ffffff;
}
 
P > span::selection, 
u::selection, 
code::selection,
em::selection, 
strong::selection,
li::selection {
   background: var(--selection-color);
   color: #ffffff;
}

.label-yellow::selection,
.title::selection, 
.post-date::selection,
.post-except::selection,
.post-main-title::selection,
.post-meta::selection {
   background: var(--selection-color);
   color: #ffffff;
}

/* -------------------------------  顶部导航  ------------------------------- */
#nav {
    z-index: 102;
    width: 100%;
    margin-bottom: 20px;
    padding: 2px 0;
    background-color: rgba(255,255,255,.9);
    backdrop-filter: saturate(176%) blur(40px);
    -webkit-backdrop-filter: saturate(176%) blur(40px);
    top: 0px;
}
@media screen and (max-width: 600px){
    #nav {
        position: absolute;
        margin-bottom: 24px;
        padding: 20px 0px 4px 0px;
    }
}
@media screen and (min-width: 600px){
    #nav {
        position: fixed;
        box-shadow: 0 1px 2px -1px rgba(38, 38, 38, 0.1);
    }
}

#nav .nav-content {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      max-width: 960px;
      margin: 0 auto;
      padding: 0 8vw;
}
@media screen and (max-width: 600px){
    #nav .nav-content {
        display: flex;
        flex-direction: column;
    }
}

.nav-content .logo img {
    width: 32px;
}

.logo:hover img {
    transform: scale(1.08);
    transition: all ease-in-out .5s;;
}

.nav-content .menu-group {
    display: flex;
    text-align: right;
    padding: 10px 0;
    line-height: 28px;
 }
.menu {
    font-size: 0.9375rem;
    line-height: 24px;
    color: var(--text-secondary);
    opacity: 0.7;
    transition: opacity ease-in-out .5s;
}

.menu:hover {
    color: var(--text-secondary);
    opacity: 0.9;
    transition: opacity ease-in-out .5s;
}

.z-active {
    position: relative;
    color: var(--text-primary);
    opacity: 1;
    transition: opacity ease-in-out .5s;
}

.menu-detail {
    margin-left: 24px;
}
.menu-detail:first-child {
    margin-left: 0;
}
.splash {
    color: #d3d9e0;
    font-size: 16px;
    font-weight: 200;;
    padding-left: 20px;
}
.menu-detail:last-child>.splash {
    display: none;
}

body
{
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.6px;
    color: var(--font-color-2);
}

p
{
    word-wrap: break-word;
    white-space: pre-wrap;
}

a
{
    text-decoration: none;
    color: var(--text-secondary);
}

a:hover {
    color: var(--brand-color);
}

.paper
{
    padding:0vw;
}
.paper-main
{
    max-width: 960px;
    margin: 0 auto;
    padding: 100px 8vw 24px;
    border-radius: 24px;
    background: #fff;
}


/* iconfont 图标基础样式 */
.icon {
    width: 1em; height: 1em;
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
}

/* 标签-蓝 */
.label-blue {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 17px;
    color: #1173C0;
    background-color: #F2FBFF;
    border: 1px solid #e0eef5;
    border-radius: 3px;
    letter-spacing: 0.03rem;
  }

/* 标签-黄 */
.label-yellow {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 17px;
    color: #E78040;
    background-color: #FFF9EB;
    border: 1px solid #FFE5AD;
    border-radius: 3px;
    letter-spacing: 0.03rem;
  }
  
  /* 标签-绿 */
  .label-green {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 17px;
    color: #37a76f;
    background-color: #eff9f1;
    border: 1px solid #cce0d4;
    border-radius: 3px;
    letter-spacing: 0.03rem;
  }

/* 标签-深绿 */
.label-darkgreen {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 17px;
    color: #108074;
    background-color: #E6F5F2;
    border: 1px solid #cce0de;
    border-radius: 3px;
    letter-spacing: 0.03rem;
    }
  
  /* 标签-灰 */
  .label-gray {
    display: inline-block;
    text-align: center;
    padding: 4px 6px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 17px;
    color: #404040;
    background-color: #F4F4F6;
    border: 1px solid #E7E7E8;
    border-radius: 3px;
    letter-spacing: 0.03rem;
  }
