.anchorjs-link { text-decoration: none !important; transition: opacity 0.2s ease-in-out; } .markdown-body h1:hover > .anchorjs-link, h2:hover > .anchorjs-link, h3:hover > .anchorjs-link, h4:hover > .anchorjs-link, h5:hover > .anchorjs-link, h6:hover > .anchorjs-link { opacity: 1; } .banner { height: 100%; position: relative; overflow: hidden; cursor: default; } .banner .mask { position: absolute; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); } .banner[parallax="true"] { will-change: transform; -webkit-transform-style: preserve-3d; -webkit-backface-visibility: hidden; transition: transform 0.05s ease-out; } @media (max-width: 100vh) { .header-inner { max-height: 100vw; } #board { margin-top: -1rem !important; } } @media (max-width: 79.99vh) { .scroll-down-bar { display: none; } } #board { position: relative; margin-top: -2rem; padding: 3rem 0; background-color: var(--board-bg-color); transition: background-color 0.2s ease-in-out; border-radius: 0.5rem; z-index: 3; -webkit-box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19); box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19); } .code-widget { display: inline-block; background-color: transparent; font-size: 0.75rem; line-height: 1; font-weight: bold; padding: 0.3rem 0.1rem 0.1rem 0.1rem; position: absolute; right: 0.45rem; top: 0.15rem; z-index: 1; } .code-widget-light { color: #999; } .code-widget-dark { color: #bababa; } .copy-btn { cursor: pointer; user-select: none; -webkit-appearance: none; outline: none; } .copy-btn > i { font-size: 0.75rem !important; font-weight: 400; margin-right: 0.15rem; opacity: 0; transition: opacity 0.2s ease-in-out; } .markdown-body pre:hover > .copy-btn > i { opacity: 0.9; } .markdown-body pre:hover > .copy-btn, .markdown-body pre:not(:hover) > .copy-btn { outline: none; } .license-box { background-color: rgba(27,31,35,0.05); transition: background-color 0.2s ease-in-out; border-radius: 4px; font-size: 0.9rem; overflow: hidden; padding: 1.25rem; position: relative; z-index: 1; } .license-box .license-icon { position: absolute; top: 50%; left: 100%; } .license-box .license-icon::after { content: "\e8e4"; font-size: 12.5rem; line-height: 1; opacity: 0.1; position: relative; left: -0.85em; bottom: 0.5em; z-index: -1; } .license-box .license-title { margin-bottom: 1rem; } .license-box .license-title div:nth-child(1) { line-height: 1.2; margin-bottom: 0.25rem; } .license-box .license-title div:nth-child(2) { color: var(--sec-text-color); font-size: 0.8rem; } .license-box .license-meta { align-items: center; display: flex; flex-wrap: wrap; justify-content: flex-start; } .license-box .license-meta .license-meta-item { align-items: center; justify-content: center; margin-right: 1.5rem; } .license-box .license-meta .license-meta-item div:nth-child(1) { color: var(--sec-text-color); font-size: 0.8rem; font-weight: normal; } .license-box .license-meta .license-meta-item i.iconfont { font-size: 1rem; } @media (max-width: 575px) and (min-width: 425px) { .license-box .license-meta .license-meta-item { display: flex; justify-content: flex-start; flex-wrap: wrap; font-size: 0.8rem; flex: 0 0 50%; max-width: 50%; margin-right: 0; } .license-box .license-meta .license-meta-item div:nth-child(1) { margin-right: 0.5rem; } .license-box .license-meta .license-meta-date { order: -1; } } @media (max-width: 424px) { .license-box::after { top: -65px; } .license-box .license-meta { flex-direction: column; align-items: flex-start; } .license-box .license-meta .license-meta-item { display: flex; flex-wrap: wrap; font-size: 0.8rem; } .license-box .license-meta .license-meta-item div:nth-child(1) { margin-right: 0.5rem; } } .footer-inner { padding: 3rem 0 1rem 0; text-align: center; } .footer-inner > div:not(:first-child) { margin: 0.25rem 0; font-size: 0.85rem; } .footer-inner .statistics { display: flex; flex-direction: row; justify-content: center; } .footer-inner .statistics > span { flex: 1; margin: 0 0.25rem; } .footer-inner .statistics > *:nth-last-child(2):first-child { text-align: right; } .footer-inner .statistics > *:nth-last-child(2):first-child ~ * { text-align: left; } .footer-inner .beian { display: flex; flex-direction: row; justify-content: center; } .footer-inner .beian > * { margin: 0 0.25rem; } .footer-inner .beian-police { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: left; } .footer-inner .beian-police img { margin-right: 3px; width: 1rem; height: 1rem; margin-bottom: 0.1rem; } @media (max-width: 424px) { .footer-inner .statistics { flex-direction: column; } .footer-inner .statistics > *:nth-last-child(2):first-child { text-align: center; } .footer-inner .statistics > *:nth-last-child(2):first-child ~ * { text-align: center; } .footer-inner .beian { flex-direction: column; } .footer-inner .beian .beian-police { justify-content: center; } .footer-inner .beian > *:nth-last-child(2):first-child { text-align: center; } .footer-inner .beian > *:nth-last-child(2):first-child ~ * { text-align: center; } } sup > a::before, .footnote-text::before { display: block; content: ""; margin-top: -5rem; height: 5rem; width: 1px; visibility: hidden; } sup > a::before, .footnote-text::before { display: inline-block; } .footnote-item::before { display: block; content: ""; margin-top: -5rem; height: 5rem; width: 1px; visibility: hidden; } .footnote-list ol { list-style-type: none; counter-reset: sectioncounter; padding-left: 0.5rem; font-size: 0.95rem; } .footnote-list ol li:before { font-family: "Helvetica Neue", monospace, "Monaco"; content: "[" counter(sectioncounter) "]"; counter-increment: sectioncounter; } .footnote-list ol li+li { margin-top: 0.5rem; } .footnote-text { padding-left: 0.5em; } .navbar { background-color: transparent; font-size: 0.875rem; box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); } .navbar .navbar-brand { color: var(--navbar-text-color); } .navbar .navbar-toggler .animated-icon span { background-color: var(--navbar-text-color); } .navbar .nav-item .nav-link { display: block; color: var(--navbar-text-color); transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } .navbar .nav-item .nav-link:hover { color: var(--link-hover-color); } .navbar .nav-item .nav-link:focus { color: var(--navbar-text-color); } .navbar .nav-item .nav-link i { font-size: 0.875rem; } .navbar .nav-item .nav-link i:only-child { margin: 0 0.2rem; } .navbar .navbar-toggler { border-width: 0; outline: 0; } .navbar.scrolling-navbar { will-change: background, padding; -webkit-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out; transition: background 0.5s ease-in-out, padding 0.5s ease-in-out; } @media (min-width: 600px) { .navbar.scrolling-navbar { padding-top: 12px; padding-bottom: 12px; } .navbar.scrolling-navbar .navbar-nav > li { -webkit-transition-duration: 1s; transition-duration: 1s; } } .navbar.scrolling-navbar.top-nav-collapse { padding-top: 5px; padding-bottom: 5px; } .navbar .dropdown-menu { font-size: 0.875rem; color: var(--navbar-text-color); background-color: rgba(0,0,0,0.3); border: none; min-width: 8rem; -webkit-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out; transition: background 0.5s ease-in-out, padding 0.5s ease-in-out; } @media (max-width: 991.98px) { .navbar .dropdown-menu { text-align: center; } } .navbar .dropdown-item { color: var(--navbar-text-color); } .navbar .dropdown-item:hover, .navbar .dropdown-item:focus { color: var(--link-hover-color); background-color: rgba(0,0,0,0.1); } @media (min-width: 992px) { .navbar .dropdown:hover > .dropdown-menu { display: block; } .navbar .dropdown > .dropdown-toggle:active { pointer-events: none; } .navbar .dropdown-menu { top: 95%; } } .navbar .animated-icon { width: 30px; height: 20px; position: relative; margin: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; -o-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; cursor: pointer; } .navbar .animated-icon span { display: block; position: absolute; height: 3px; width: 100%; border-radius: 9px; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: 0.25s ease-in-out; -moz-transition: 0.25s ease-in-out; -o-transition: 0.25s ease-in-out; transition: 0.25s ease-in-out; background: #fff; } .navbar .animated-icon span:nth-child(1) { top: 0; } .navbar .animated-icon span:nth-child(2) { top: 10px; } .navbar .animated-icon span:nth-child(3) { top: 20px; } .navbar .animated-icon.open span:nth-child(1) { top: 11px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); } .navbar .animated-icon.open span:nth-child(2) { opacity: 0; left: -60px; } .navbar .animated-icon.open span:nth-child(3) { top: 11px; -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg); } @supports (-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px)) { .navbar .dropdown-collapse, .top-nav-collapse, .navbar-col-show { background: rgba(47,65,84,0.7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); } } @supports not ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))) { .navbar .dropdown-collapse, .top-nav-collapse, .navbar-col-show { background: #2f4154; } } @media (max-width: 767px) { .navbar { font-size: 1rem; line-height: 2.5rem; } } .banner-text { color: var(--subtitle-color); max-width: calc(960px - 6rem); width: 80%; overflow-wrap: break-word; } .banner-text .typed-cursor { margin: 0 0.2rem; } @media (max-width: 767px) { #subtitle, .typed-cursor { font-size: 1.5rem; } } @media (max-width: 575px) { .banner-text { font-size: 0.9rem; } #subtitle, .typed-cursor { font-size: 1.35rem; } } .modal-dialog .modal-content { background-color: var(--board-bg-color); border: 0; border-radius: 0.125rem; -webkit-box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); } .modal-dialog .modal-content .modal-header { border-bottom-color: var(--line-color); transition: border-bottom-color 0.2s ease-in-out; } .close { color: var(--text-color); } .close:hover { color: var(--link-hover-color); } .close:focus { outline: 0; } .modal-dialog .modal-content .modal-header { border-top-left-radius: 0.125rem; border-top-right-radius: 0.125rem; border-bottom: 1px solid #dee2e6; } .md-form { position: relative; margin-top: 1.5rem; margin-bottom: 1.5rem; } .md-form input[type] { -webkit-box-sizing: content-box; box-sizing: content-box; background-color: transparent; border: none; border-bottom: 1px solid #ced4da; border-radius: 0; outline: none; -webkit-box-shadow: none; box-shadow: none; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } .md-form input[type]:focus:not([readonly]) { border-bottom: 1px solid #4285f4; -webkit-box-shadow: 0 1px 0 0 #4285f4; box-shadow: 0 1px 0 0 #4285f4; } .md-form input[type]:focus:not([readonly]) + label { color: #4285f4; } .md-form input[type].valid, .md-form input[type]:focus.valid { border-bottom: 1px solid #00c851; -webkit-box-shadow: 0 1px 0 0 #00c851; box-shadow: 0 1px 0 0 #00c851; } .md-form input[type].valid + label, .md-form input[type]:focus.valid + label { color: #00c851; } .md-form input[type].invalid, .md-form input[type]:focus.invalid { border-bottom: 1px solid #f44336; -webkit-box-shadow: 0 1px 0 0 #f44336; box-shadow: 0 1px 0 0 #f44336; } .md-form input[type].invalid + label, .md-form input[type]:focus.invalid + label { color: #f44336; } .md-form input[type].validate { margin-bottom: 2.5rem; } .md-form input[type].form-control { height: auto; padding: 0.6rem 0 0.4rem 0; margin: 0 0 0.5rem 0; color: var(--text-color); background-color: transparent; border-radius: 0; } .md-form label { font-size: 0.8rem; position: absolute; top: -1rem; left: 0; color: #757575; cursor: text; transition: color 0.2s ease-out; } .modal-open[style] { padding-right: 0 !important; overflow: auto; } .modal-open[style] #navbar[style] { padding-right: 1rem !important; } #nprogress .bar { height: 3px !important; background-color: #29d !important; } #nprogress .peg { box-shadow: 0 0 14px #29d, 0 0 8px #29d !important; } @media (max-width: 575px) { #nprogress .bar { display: none; } } .noscript-warning { background-color: #f55; color: #fff; font-family: sans-serif; font-size: 1rem; font-weight: bold; position: fixed; left: 0; bottom: 0; text-align: center; width: 100%; z-index: 99; } .pagination { margin-top: 3rem; justify-content: center; } .pagination .space { align-self: flex-end; } .pagination .page-number, .pagination .current, .pagination .extend { outline: 0; border: 0; background-color: transparent; font-size: 0.9rem; padding: 0.5rem 0.75rem; line-height: 1.25; border-radius: 0.125rem; } .pagination .page-number { margin: 0 0.05rem; } .pagination .page-number:hover, .pagination .current { transition: background-color 0.2s ease-in-out; background-color: var(--link-hover-bg-color); } .qr-trigger { cursor: pointer; position: relative; } .qr-trigger:hover .qr-img { display: block; transition: all 0.3s; } .qr-img { max-width: 12rem; position: absolute; right: -5.25rem; z-index: 99; display: none; border-radius: 0.2rem; background-color: transparent; box-shadow: 0 0 20px -5px rgba(158,158,158,0.2); } .scroll-down-bar { position: absolute; width: 100%; height: 6rem; text-align: center; cursor: pointer; bottom: 0; } .scroll-down-bar i.iconfont { font-size: 2rem; font-weight: bold; display: inline-block; position: relative; padding-top: 2rem; color: var(--subtitle-color); transform: translateZ(0); animation: scroll-down 1.5s infinite; } #scroll-top-button { position: fixed; z-index: 99; background: var(--board-bg-color); transition: background-color 0.2s ease-in-out, bottom 0.3s ease; border-radius: 4px; min-width: 40px; min-height: 40px; bottom: -60px; outline: none; display: flex; display: -webkit-flex; align-items: center; box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); } #scroll-top-button i { font-size: 32px; margin: auto; color: var(--sec-text-color); } #scroll-top-button:hover i, #scroll-top-button:active i { animation-name: scroll-top; animation-duration: 1s; animation-delay: 0.1s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-fill-mode: forwards; animation-direction: alternate; } #local-search-result .search-list-title { border-left: 3px solid #0d47a1; } #local-search-result .search-list-content { padding: 0 1.25rem; } #local-search-result .search-word { color: #ff4500; } #toc { visibility: hidden; } .toc-header { margin-bottom: 0.5rem; font-weight: bold; line-height: 1.2; } .toc-header, .toc-header > i { font-size: 1.25rem; } .toc-body { max-height: 75vh; overflow-y: auto; overflow: -moz-scrollbars-none; -ms-overflow-style: none; } .toc-body ol { list-style: none; padding-inline-start: 1rem; } .toc-body::-webkit-scrollbar { display: none; } .tocbot-list { position: relative; } .tocbot-list ol { list-style: none; padding-left: 1rem; } .tocbot-list a { font-size: 0.95rem; } .tocbot-link { color: var(--text-color); } .tocbot-active-link { font-weight: bold; color: var(--link-hover-color); } .tocbot-is-collapsed { max-height: 0; } .tocbot-is-collapsible { overflow: hidden; transition: all 0.3s ease-in-out; } .toc-list-item { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .toc-list-item.is-active-li::before { height: 1rem; margin: 0.25rem 0; visibility: visible; } .toc-list-item::before { width: 0.15rem; height: 0.2rem; position: absolute; left: 0.25rem; content: ""; border-radius: 2px; margin: 0.65rem 0; background: var(--link-hover-color); visibility: hidden; transition: height 0.1s ease-in-out, margin 0.1s ease-in-out, visibility 0.1s ease-in-out; } .sidebar { position: -webkit-sticky; position: sticky; top: 2rem; padding: 3rem 0; } html { font-size: 16px; letter-spacing: 0.02em; } html, body { height: 100%; font-family: var(--font-family-sans-serif); overflow-wrap: break-word; } body { transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; background-color: var(--body-bg-color); color: var(--text-color); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body a { color: var(--text-color); text-decoration: none; cursor: pointer; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } body a:hover { color: var(--link-hover-color); text-decoration: none; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; } code { color: inherit; } table { font-size: inherit; color: var(--post-text-color); } img[lazyload] { object-fit: cover; } *[align="left"] { text-align: left; } *[align="center"] { text-align: center; } *[align="right"] { text-align: right; } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-thumb { background-color: var(--scrollbar-color); border-radius: 6px; } ::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbar-hover-color); } ::-webkit-scrollbar-corner { background-color: transparent; } label { margin-bottom: 0; } i.iconfont { font-size: 1em; line-height: 1; } :root { --color-mode: "light"; --body-bg-color: #eee; --board-bg-color: #fff; --text-color: #3c4858; --sec-text-color: #718096; --post-text-color: #2c3e50; --post-heading-color: #1a202c; --post-link-color: #0366d6; --link-hover-color: #30a9de; --link-hover-bg-color: #f8f9fa; --line-color: #eaecef; --navbar-bg-color: #2f4154; --navbar-text-color: #fff; --subtitle-color: #fff; --scrollbar-color: #c4c6c9; --scrollbar-hover-color: #a6a6a6; --button-bg-color: transparent; --button-hover-bg-color: #f2f3f5; --highlight-bg-color: #f6f8fa; --inlinecode-bg-color: rgba(175,184,193,0.2); } @media (prefers-color-scheme: dark) { :root { --color-mode: "dark"; } :root:not([data-user-color-scheme]) { --body-bg-color: #181c27; --board-bg-color: #252d38; --text-color: #c4c6c9; --sec-text-color: #a7a9ad; --post-text-color: #c4c6c9; --post-heading-color: #c4c6c9; --post-link-color: #1589e9; --link-hover-color: #30a9de; --link-hover-bg-color: #364151; --line-color: #435266; --navbar-bg-color: #1f3144; --navbar-text-color: #d0d0d0; --subtitle-color: #d0d0d0; --scrollbar-color: #687582; --scrollbar-hover-color: #9da8b3; --button-bg-color: transparent; --button-hover-bg-color: #46647e; --highlight-bg-color: #303030; --inlinecode-bg-color: rgba(99,110,123,0.4); } :root:not([data-user-color-scheme]) img { -webkit-filter: brightness(0.9); filter: brightness(0.9); transition: filter 0.2s ease-in-out; } @supports (-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px)) { :root:not([data-user-color-scheme]) .navbar .dropdown-collapse, :root:not([data-user-color-scheme]) .top-nav-collapse, :root:not([data-user-color-scheme]) .navbar-col-show { background: rgba(31,49,68,0.7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); } } @supports not ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))) { :root:not([data-user-color-scheme]) .navbar .dropdown-collapse, :root:not([data-user-color-scheme]) .top-nav-collapse, :root:not([data-user-color-scheme]) .navbar-col-show { background: #1f3144; } } :root:not([data-user-color-scheme]) .license-box { background-color: rgba(62,75,94,0.35); transition: background-color 0.2s ease-in-out; } :root:not([data-user-color-scheme]) .gt-comment-admin .gt-comment-content { background-color: transparent; transition: background-color 0.2s ease-in-out; } } @media not print { [data-user-color-scheme="dark"] { --body-bg-color: #181c27; --board-bg-color: #252d38; --text-color: #c4c6c9; --sec-text-color: #a7a9ad; --post-text-color: #c4c6c9; --post-heading-color: #c4c6c9; --post-link-color: #1589e9; --link-hover-color: #30a9de; --link-hover-bg-color: #364151; --line-color: #435266; --navbar-bg-color: #1f3144; --navbar-text-color: #d0d0d0; --subtitle-color: #d0d0d0; --scrollbar-color: #687582; --scrollbar-hover-color: #9da8b3; --button-bg-color: transparent; --button-hover-bg-color: #46647e; --highlight-bg-color: #303030; --inlinecode-bg-color: rgba(99,110,123,0.4); } [data-user-color-scheme="dark"] img { -webkit-filter: brightness(0.9); filter: brightness(0.9); transition: filter 0.2s ease-in-out; } @supports (-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px)) { [data-user-color-scheme="dark"] .navbar .dropdown-collapse, [data-user-color-scheme="dark"] .top-nav-collapse, [data-user-color-scheme="dark"] .navbar-col-show { background: rgba(31,49,68,0.7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); } } @supports not ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))) { [data-user-color-scheme="dark"] .navbar .dropdown-collapse, [data-user-color-scheme="dark"] .top-nav-collapse, [data-user-color-scheme="dark"] .navbar-col-show { background: #1f3144; } } [data-user-color-scheme="dark"] .license-box { background-color: rgba(62,75,94,0.35); transition: background-color 0.2s ease-in-out; } [data-user-color-scheme="dark"] .gt-comment-admin .gt-comment-content { background-color: transparent; transition: background-color 0.2s ease-in-out; } } @media print { :root { --color-mode: "light"; } } .fade-in-up { -webkit-animation-name: fade-in-up; animation-name: fade-in-up; } .hidden-mobile { display: block; } .visible-mobile { display: none; } @media (max-width: 575px) { .hidden-mobile { display: none; } .visible-mobile { display: block; } } .nomargin-x { margin-left: 0 !important; margin-right: 0 !important; } .nopadding-x { padding-left: 0 !important; padding-right: 0 !important; } @media (max-width: 767px) { .nopadding-x-md { padding-left: 0 !important; padding-right: 0 !important; } } .flex-center { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .hover-with-bg { display: inline-block; line-height: 1; } .hover-with-bg:hover { background-color: var(--link-hover-bg-color); transition-duration: 0.2s; transition-timing-function: ease-in-out; border-radius: 0.2rem; } @-moz-keyframes fade-in-up { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-webkit-keyframes fade-in-up { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-o-keyframes fade-in-up { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes fade-in-up { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-moz-keyframes scroll-down { 0% { opacity: 0.8; top: 0; } 50% { opacity: 0.4; top: -1em; } 100% { opacity: 0.8; top: 0; } } @-webkit-keyframes scroll-down { 0% { opacity: 0.8; top: 0; } 50% { opacity: 0.4; top: -1em; } 100% { opacity: 0.8; top: 0; } } @-o-keyframes scroll-down { 0% { opacity: 0.8; top: 0; } 50% { opacity: 0.4; top: -1em; } 100% { opacity: 0.8; top: 0; } } @keyframes scroll-down { 0% { opacity: 0.8; top: 0; } 50% { opacity: 0.4; top: -1em; } 100% { opacity: 0.8; top: 0; } } @-moz-keyframes scroll-top { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 50% { -webkit-transform: translateY(-0.35rem); transform: translateY(-0.35rem); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes scroll-top { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 50% { -webkit-transform: translateY(-0.35rem); transform: translateY(-0.35rem); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @-o-keyframes scroll-top { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 50% { -webkit-transform: translateY(-0.35rem); transform: translateY(-0.35rem); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes scroll-top { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 50% { -webkit-transform: translateY(-0.35rem); transform: translateY(-0.35rem); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @media print { header, footer, .side-col, #scroll-top-button, .post-prevnext, #comments { display: none !important; } .markdown-body a:not([href^='#']):not([href^='javascript:']):not(.print-no-link)::after { content: ' (' attr(href) ')'; font-size: 0.8rem; color: var(--post-text-color); opacity: 0.8; } .markdown-body > h1, .markdown-body h2 { border-bottom-color: transparent !important; } .markdown-body > h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 1.25em !important; margin-bottom: 0.25em !important; } .markdown-body [data-anchorjs-icon]::after { display: none; } .markdown-body figure.highlight table, .markdown-body figure.highlight tbody, .markdown-body figure.highlight tr, .markdown-body figure.highlight td.code, .markdown-body figure.highlight td.code pre { width: 100% !important; display: block !important; } .markdown-body figure.highlight pre > code { white-space: pre-wrap; } .markdown-body figure.highlight .gutter, .markdown-body figure.highlight .code-widget { display: none !important; } .post-metas a { text-decoration: none; } } @media not print { #seo-header { display: none; } } .index-card { margin-bottom: 2.5rem; } .index-img img { display: block; width: 100%; height: 10rem; object-fit: cover; box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); border-radius: 0.25rem; background-color: transparent; } .index-info { display: flex; flex-direction: column; justify-content: space-between; padding-top: 0.5rem; padding-bottom: 0.5rem; } .index-header { color: var(--text-color); font-size: 1.5rem; font-weight: bold; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; } .index-header .index-pin { color: var(--text-color); font-size: 1.5rem; margin-right: 0.15rem; } .index-btm { color: var(--sec-text-color); } .index-btm a { color: var(--sec-text-color); } .index-excerpt { color: var(--sec-text-color); margin: 0.5rem 0 0.5rem 0; height: calc(1.4rem * 3); overflow: hidden; display: flex; } .index-excerpt > div { width: 100%; line-height: 1.4rem; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; } .index-excerpt__noimg { height: auto; max-height: calc(1.4rem * 3); } @media (max-width: 767px) { .index-info { padding-top: 1.25rem; } .index-header { font-size: 1.25rem; white-space: normal; overflow: hidden; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } .index-header .index-pin { font-size: 1.25rem; } } #valine.v[data-class=v] .status-bar, #valine.v[data-class=v] .veditor, #valine.v[data-class=v] .vinput, #valine.v[data-class=v] .vbtn, #valine.v[data-class=v] p, #valine.v[data-class=v] pre code { color: var(--text-color); } #valine.v[data-class=v] .vinput::placeholder { color: var(--sec-text-color); } #valine.v[data-class=v] .vicon { fill: var(--text-color); } .gt-container .gt-comment-content:hover { -webkit-box-shadow: none; box-shadow: none; } .gt-container .gt-comment-body { color: var(--text-color) !important; transition: color 0.2s ease-in-out; } #remark-km423lmfdslkm34-back { z-index: 1030; } #remark-km423lmfdslkm34-node { z-index: 1031; } .markdown-body .highlight pre, .markdown-body pre { padding: 1.45rem 1rem; } .markdown-body pre code.hljs { padding: 0; } .markdown-body pre[class*="language-"] { padding-top: 1.45rem; padding-bottom: 1.45rem; padding-right: 1rem; line-height: 1.5; margin-bottom: 1rem; } .markdown-body .code-wrapper { position: relative; border-radius: 4px; margin-bottom: 1rem; } .markdown-body .hljs, .markdown-body .highlight pre, .markdown-body .code-wrapper pre, .markdown-body figure.highlight td.gutter { transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; background-color: var(--highlight-bg-color); } pre[class*=language-].line-numbers { position: initial; } figure { margin: 1rem 0; } figure.highlight { position: relative; } figure.highlight table { border: 0; margin: 0; width: auto; border-radius: 4px; } figure.highlight td { border: 0; padding: 0; } figure.highlight tr { border: 0; } figure.highlight td.code { width: 100%; } figure.highlight td.gutter { display: table-cell; position: -webkit-sticky; position: sticky; left: 0; z-index: 1; } figure.highlight td.gutter pre { text-align: right; padding: 0 0.75rem; border-radius: initial; border-right: 1px solid #999; } figure.highlight td.gutter pre span.line { color: #999; } figure.highlight td.code > pre { border-top-left-radius: 0; border-bottom-left-radius: 0; } .markdown-body { font-size: 1rem; line-height: 1.6; font-family: var(--font-family-sans-serif); margin-bottom: 2rem; color: var(--post-text-color); } .markdown-body > h1, .markdown-body h2 { border-bottom-color: var(--line-color); } .markdown-body > h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: var(--post-heading-color); transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; font-weight: bold; margin-bottom: 0.75em; margin-top: 2em; } .markdown-body > h1::before, .markdown-body h2::before, .markdown-body h3::before, .markdown-body h4::before, .markdown-body h5::before, .markdown-body h6::before { display: block; content: ""; margin-top: -5rem; height: 5rem; width: 1px; visibility: hidden; } .markdown-body > h1:focus, .markdown-body h2:focus, .markdown-body h3:focus, .markdown-body h4:focus, .markdown-body h5:focus, .markdown-body h6:focus { outline: none; } .markdown-body a { color: var(--post-link-color); } .markdown-body strong { font-weight: bold; } .markdown-body code { tab-size: 4; background-color: var(--inlinecode-bg-color); transition: background-color 0.2s ease-in-out; } .markdown-body table tr { background-color: var(--board-bg-color); transition: background-color 0.2s ease-in-out; } .markdown-body table tr:nth-child(2n) { background-color: var(--board-bg-color); transition: background-color 0.2s ease-in-out; } .markdown-body table th, .markdown-body table td { border-color: var(--line-color); transition: border-color 0.2s ease-in-out; } .markdown-body pre { font-size: 85% !important; } .markdown-body pre .mermaid { text-align: center; } .markdown-body pre .mermaid > svg { min-width: 100%; } .markdown-body p > img, .markdown-body p > a > img, .markdown-body figure > img, .markdown-body figure > a > img { max-width: 90%; margin: 1.5rem auto; display: block; box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); border-radius: 4px; background-color: transparent; } .markdown-body blockquote { color: var(--sec-text-color); } .markdown-body details { cursor: pointer; } .markdown-body details summary { outline: none; } hr, .markdown-body hr { background-color: initial; border-top: 1px solid var(--line-color); transition: border-top-color 0.2s ease-in-out; } .markdown-body hr { height: 0; margin: 2rem 0; } .markdown-body figcaption.image-caption { font-size: 0.8rem; color: var(--post-text-color); opacity: 0.65; line-height: 1; margin: -0.75rem auto 2rem; text-align: center; } .markdown-body figcaption:not(.image-caption) { display: none; } .post-content, post-custom { box-sizing: border-box; padding-left: 10%; padding-right: 10%; } @media (max-width: 767px) { .post-content, post-custom { padding-left: 2rem; padding-right: 2rem; } } @media (max-width: 424px) { .post-content, post-custom { padding-left: 1rem; padding-right: 1rem; } .anchorjs-link-left { opacity: 0 !important; } } .page-content strong, .post-content strong { font-weight: bold; } .page-content > *:first-child, .post-content > *:first-child { margin-top: 0; } .page-content img, .post-content img { object-fit: cover; max-width: 100%; } @media (max-width: 767px) { .page-content, .post-content { overflow-x: hidden; } } .post-metas { display: flex; flex-wrap: wrap; font-size: 0.9rem; } .post-meta > *:not(.hover-with-bg) { margin-right: 0.2rem; } .post-prevnext { display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 0.9rem; margin-left: -0.35rem; margin-right: -0.35rem; } .post-prevnext .post-prev, .post-prevnext .post-next { display: flex; padding-left: 0; padding-right: 0; } .post-prevnext .post-prev i, .post-prevnext .post-next i { font-size: 1.5rem; } .post-prevnext .post-prev a, .post-prevnext .post-next a { display: flex; align-items: center; } .post-prevnext .post-prev .hidden-mobile, .post-prevnext .post-next .hidden-mobile { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; } @media (max-width: 575px) { .post-prevnext .post-prev .hidden-mobile, .post-prevnext .post-next .hidden-mobile { display: none; } } .post-prevnext .post-prev:hover i, .post-prevnext .post-prev:active i, .post-prevnext .post-next:hover i, .post-prevnext .post-next:active i { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-delay: 0.1s; animation-delay: 0.1s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-direction: alternate; animation-direction: alternate; } .post-prevnext .post-prev:hover i, .post-prevnext .post-prev:active i { -webkit-animation-name: post-prev-anim; animation-name: post-prev-anim; } .post-prevnext .post-next:hover i, .post-prevnext .post-next:active i { -webkit-animation-name: post-next-anim; animation-name: post-next-anim; } .post-prevnext .post-next { justify-content: flex-end; } .post-prevnext .fa-chevron-left { margin-right: 0.5rem; } .post-prevnext .fa-chevron-right { margin-left: 0.5rem; } #seo-header { color: var(--post-heading-color); font-weight: bold; margin-top: 0.5em; margin-bottom: 0.75em; border-bottom-color: var(--line-color); border-bottom-style: solid; border-bottom-width: 2px; line-height: 1.5; } .custom, #comments { margin-top: 2rem; } #comments noscript { display: block; text-align: center; padding: 2rem 0; } .visitors { font-size: 0.8em; padding: 0.45rem; float: right; } a.fancybox:hover { text-decoration: none; } mjx-container, .mjx-container { overflow-x: auto; overflow-y: hidden !important; padding: 0.5em 0; } mjx-container:focus, .mjx-container:focus, mjx-container svg:focus, .mjx-container svg:focus { outline: none; } .mjx-char { line-height: 1; } .katex-block { overflow-x: auto; } .katex, .mjx-mrow { white-space: pre-wrap !important; } .footnote-ref [class*=hint--][aria-label]:after { max-width: 12rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } @-moz-keyframes post-prev-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(-0.35rem); transform: translateX(-0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes post-prev-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(-0.35rem); transform: translateX(-0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-o-keyframes post-prev-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(-0.35rem); transform: translateX(-0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes post-prev-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(-0.35rem); transform: translateX(-0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-moz-keyframes post-next-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(0.35rem); transform: translateX(0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-webkit-keyframes post-next-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(0.35rem); transform: translateX(0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @-o-keyframes post-next-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(0.35rem); transform: translateX(0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes post-next-anim { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 50% { -webkit-transform: translateX(0.35rem); transform: translateX(0.35rem); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } .note { padding: 0.75rem; border-left: 0.35rem solid; border-radius: 0.25rem; margin: 1.5rem 0; color: var(--text-color); transition: color 0.2s ease-in-out; font-size: 0.9rem; } .note a { color: var(--text-color); transition: color 0.2s ease-in-out; } .note *:last-child { margin-bottom: 0; } .note-primary { background-color: rgba(183,160,224,0.25); border-color: #6f42c1; } .note-secondary, note-default { background-color: rgba(187,187,187,0.25); border-color: #777; } .note-success { background-color: rgba(174,220,174,0.25); border-color: #5cb85c; } .note-danger { background-color: rgba(236,169,167,0.25); border-color: #d9534f; } .note-warning { background-color: rgba(248,214,166,0.25); border-color: #f0ad4e; } .note-info { background-color: rgba(160,197,228,0.25); border-color: #428bca; } .note-light { background-color: rgba(254,254,254,0.25); border-color: #0f0f0f; } .label { display: inline; border-radius: 3px; font-size: 85%; margin: 0; padding: 0.2em 0.4em; color: var(--text-color); transition: color 0.2s ease-in-out; } .label-default { background: rgba(187,187,187,0.25); } .label-primary { background: rgba(183,160,224,0.25); } .label-info { background: rgba(160,197,228,0.25); } .label-success { background: rgba(174,220,174,0.25); } .label-warning { background: rgba(248,214,166,0.25); } .label-danger { background: rgba(236,169,167,0.25); } .markdown-body .btn { border: 1px solid var(--line-color); background-color: var(--button-bg-color); color: var(--text-color); transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border-color 0.2s ease-in-out; border-radius: 0.25rem; display: inline-block; font-size: 0.875em; line-height: 2; padding: 0 0.75rem; margin-bottom: 1rem; } .markdown-body .btn:hover { background-color: var(--button-hover-bg-color); text-decoration: none; } .group-image-container { margin: 1.5rem auto; } .group-image-container img { margin: 0 auto; border-radius: 3px; background-color: transparent; box-shadow: 0 3px 9px 0 rgba(0,0,0,0.15), 0 3px 9px 0 rgba(0,0,0,0.15); } .group-image-row { margin-bottom: 0.5rem; display: flex; justify-content: center; } .group-image-wrap { flex: 1; display: flex; justify-content: center; } .group-image-wrap:not(:last-child) { margin-right: 0.25rem; } input[type=checkbox] { margin: 0 0.2em 0.2em 0; vertical-align: middle; } .list-group a ~ p.h5 { margin-top: 1rem; } .list-group-item { display: flex; background-color: transparent; border: 0; } .list-group-item time { flex: 0 0 5rem; } .list-group-item .list-group-item-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } @media (max-width: 575px) { .list-group-item { font-size: 0.95rem; padding: 0.5rem 0.75rem; } .list-group-item time { flex: 0 0 4rem; } } .list-group-item-action { color: var(--text-color); } .list-group-item-action:focus, .list-group-item-action:hover { color: var(--link-hover-color); background-color: var(--link-hover-bg-color); } .about-avatar { position: relative; margin: -8rem auto 1rem; width: 10rem; height: 10rem; z-index: 3; } .about-avatar img { width: 100%; height: 100%; border-radius: 50%; background-color: transparent; object-fit: cover; box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); } .about-info > div { margin-bottom: 0.5rem; } .about-name { font-size: 1.75rem; font-weight: bold; } .about-intro { font-size: 1rem; } .about-icons > a:not(:last-child) { margin-right: 0.5rem; } .about-icons > a > i { font-size: 1.5rem; } .category-bar .category-list { max-height: 85vh; overflow-y: auto; overflow-x: hidden; } .category-bar .category-list::-webkit-scrollbar { display: none; } .category-bar .category-list > .category-sub > a { font-weight: bold; font-size: 1.2rem; } .category-bar .category-list .category-item-action i { margin: 0; } .category-bar .category-list .category-subitem.list-group-item { padding-left: 0.5rem; padding-right: 0; } .category-bar .category-list .category-collapse .category-post-list { margin-top: 0.25rem; margin-bottom: 0.5rem; } .category-bar .category-list .category-collapse .category-post { font-size: 0.9rem; line-height: 1.75; } .category-bar .category-list .category-item-action:hover { background-color: initial; } .category-bar .list-group-item { padding: 0; } .category-bar .list-group-item.active { color: var(--link-hover-color); background-color: initial; font-weight: bold; font-family: "iconfont"; font-style: normal; -webkit-font-smoothing: antialiased; } .category-bar .list-group-item.active::before { content: "\e61f"; font-weight: initial; margin-right: 0.25rem; } .category-bar .list-group-count { margin-left: 0.2rem; margin-right: 0.2rem; font-size: 0.9em; } .category-bar .list-group-item-action:focus, .category-bar .list-group-item-action:hover { background-color: initial; } .category-chains { display: flex; flex-wrap: wrap; } .category-chains > *:not(:last-child) { margin-right: 1em; } .category:not(:last-child) { margin-bottom: 1rem; } .category .category-item, .category .category-subitem { font-weight: bold; display: flex; align-items: center; } .category .category-item { font-size: 1.25rem; } .category .category-subitem { font-size: 1.1rem; } .category .category-collapse { padding-left: 1.25rem; width: 100%; } .category .category-count { font-size: 0.9rem; font-weight: initial; min-width: 1.3em; line-height: 1.3em; display: flex; align-items: center; } .category .category-count i { padding-right: 0.25rem; } .category .category-count span { width: 2rem; } .category .category-post { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .category .category-item-action:not(.collapsed) > i { transform: rotate(90deg); transform-origin: center center; } .category .category-item-action i { transition: transform 0.3s ease-out; display: inline-block; margin-left: 0.25rem; } .category .category-item-action .category:hover { z-index: 1; color: var(--link-hover-color); text-decoration: none; background-color: var(--link-hover-bg-color); } .category .row { margin-left: 0; margin-right: 0; } .tagcloud { padding: 1rem 5%; } .tagcloud a { display: inline-block; padding: 0.5rem; } .tagcloud a:hover { color: var(--link-hover-color) !important; } .links .card { box-shadow: none; min-width: 33%; background-color: transparent; border: 0; } .links .card-body { margin: 1rem 0; padding: 1rem; border-radius: 0.3rem; display: block; width: 100%; height: 100%; } .links .card-body:hover .link-avatar { transform: scale(1.1); } .links .card-content { display: flex; flex-wrap: nowrap; width: 100%; height: 3.5rem; } .link-avatar { flex: none; width: 3rem; height: 3rem; margin-right: 0.75rem; object-fit: cover; transition-duration: 0.2s; transition-timing-function: ease-in-out; } .link-avatar img { width: 100%; height: 100%; border-radius: 50%; background-color: transparent; object-fit: cover; } .link-text { flex: 1; display: grid; flex-direction: column; line-height: 1.5; } .link-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-color); font-weight: bold; } .link-intro { max-height: 2rem; font-size: 0.85rem; line-height: 1.2; color: var(--sec-text-color); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; } @media (max-width: 767px) { .links { display: flex; flex-direction: column; justify-content: center; align-items: center; } .links .card { padding-left: 2rem; padding-right: 2rem; } } @media (min-width: 768px) { .link-text:only-child { margin-left: 1rem; } }