* {
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
}

/* -------------------------------- */
.ff-monospace {
    font-family: 'JetBrains Sans', 'Source Code Pro', 'Inconsolata', 'Menlo', monospace;
}
/* -------------------------------- */

html, body {
    font-family: -apple-system, 'SF Pro Text', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif, 'PingFang SC', 'Noto Sans CJK SC', 'Source Han Sans CN', 'Hiragino Sans', 'Hiragino Sans GB', 'Microsoft YaHei';
    font-size: 16px;
    color: #000;
    background: #F8F8F8;
    padding: 0;
    margin: 0;
}

.grand-header,
.grand-body,
.grand-footer {
    padding: 1px 0;
}
.grand-header {
    background: #FFF;
}
.grand-body {
    background: #FFF;
    min-height: 60vh;
}
.grand-footer {
    color: #888;
    background: #F8F8F8;
}
.grand-header-inner,
.grand-body-inner,
.grand-footer-inner {
    max-width: 800px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}
.grand-header-inner {
    padding-top: 30px;
    padding-bottom: 0px;
}
.grand-body-inner {
    padding-top: 20px;
    padding-bottom: 80px;
}
.grand-footer-inner {
    padding-top: 60px;
    padding-bottom: 80px;
}
/* .. */
.grand-header h1 {
    font-size: 36px;
    line-height: 48px;
    padding: 0;
    margin: 0;
}
.grand-header a {
    color: #000;
    text-decoration: none;
}
.grand-header a:hover {
    color: #16D;
    text-decoration: none;
}
.grand-footer a {
    color: inherit;
    text-decoration: underline;
}
h2.h2-as-tabbar {
    font-weight: 400;
    color: #888;
}
h2 a {
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #000;
}
h2.h2-as-tabbar a:not(.current) {
    color: #888;
    border-bottom: 1px solid #888;
}
h2.h2-as-tabbar a.current {
    color: #000;
}


/* Page: Note */

.note-title h2 {
    font-size: 30px;
    line-height: 40px;
    padding: 0 0 20px;
    margin: 0;
}

.note-metadata {
    font-size: 16px;
    color: #666;
    line-height: 32px;
}

.note-content p {
    font-size: 20px;
}

/* Component: item_tag */

.item_tag {
    border-bottom: 1px solid #DDD;
    padding: 16px 0;
}
.item_tag-title {
    font-size: 24px;
    line-height: 34px;
}
.item_tag-anchor {
    font-weight: 600;
    color: #000;
    text-decoration: none;
    background: #F0F0F0;
    border-radius: 4px;
    display: inline-block;
    padding: 0 8px;
    margin: 0 8px 0 0;
}
.item_tag-anchor:hover {
    background: #E4E4E4;
}
.item_tag-count {
    color: #888;
}
.item_tag-count::before {
    content: "(";
}
.item_tag-count::after {
    content: ")";
}

/* Component: item_note */

.item_note {
    color: #666;
    border-bottom: 1px solid #DDD;
    padding: 16px 0;
}
.item_note-title {
    font-size: 24px;
    line-height: 34px;
    font-weight: 600;
}
.item_note-title a {
    color: #000;
    text-decoration: none;
}
.item_note-title a:hover {
    color: #16D;
}

/* Component: inline_tag */

.inline_tag {}
.inline_tag a {
    color: #666;
    line-height: 26px;
    text-decoration: none;
    background: #F0F0F0;
    border-radius: 4px;
    display: inline-block;
    padding: 0 8px;
    margin: 0 5px 0 0;
}
.inline_tag a:hover {
    /* color: #000; */
    background: #E4E4E4;
}
