@charset "UTF-8";
* {
    user-select: none;
}
::-webkit-scrollbar {
    width: 2.5px;
    height: 5px;
    background-color: transparent; 
}
::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #1bcce8;
}
.inner ul li {
    margin: 0 auto;
}
.search-field {
    padding: 1px 0 1px 20px;
}
.dark,
:root {
    --farallon-griedent-start: #007cf0;
    --farallon-griedent-end: #00dfd8
}

.dark .link-item,
.dark .post--card,
.dark .post--item,
.dark .post--single__related__item,
sub,
sup {
    position: relative
}

button,
hr,
input {
    overflow: visible
}

a,
legend {
    color: inherit
}

img,
legend {
    max-width: 100%
}

progress,
sub,
sup {
    vertical-align: baseline
}

.fixed--theme,
.main {
    background-color: var(--farallon-background-white)
}

.site--footer nav ul li,
.site--url .avatar {
    margin-right: 10px
}

.post--card .post--title+.meta,
.post--item .post--title+.meta {
    margin-top: 10px
}

.commentlist,
.link-items,
ol,
ul {
    list-style: none
}

.link--item .description,
.post-navigation .post-title {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.backToTop,
.button--like,
.cnav-item,
.comment-form .submit,
.comment-form label,
.db--genreItem,
.db--navItem,
.fixed--theme span,
.link--action,
.map--tools,
.marker,
.meta--map,
.post--share,
.site--header .svgIcon,
.toc summary,
.tooltip,
.u-cursorPointer {
    cursor: pointer
}

:root {
    --farallon-main-color: #4370f5;
    --farallon-hover-color: #3a5f9a;
    --farallon-text-color: rgba(0, 0, 0, 0.84);
    --farallon-text-light: rgba(0, 0, 0, 0.68);
    --farallon-text-gray: rgba(0, 0, 0, 0.6);
    --farallon-text-gray-lightest: rgba(0, 0, 0, 0.5);
    --farallon-background-white: rgba(255, 255, 255, 1);
    --farallon-background-gray: rgba(250, 250, 250, 1);
    --farallon-border-color: rgba(0, 0, 0, 0.1);
    --farallon-border-color-light: rgba(0, 0, 0, 0.05)
}

@media(prefers-color-scheme:dark) {

    .auto .site--header__center,
    .auto .tag--list a {
        --tw-ring-shadow: 0 0 0 calc(1px + 0px) hsla(0, 0%, 100%, 0.1);
        box-shadow: 0 0 #0000, var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
    }

    .auto {
        --farallon-main-color: rgba(253, 186, 116, 1);
        --farallon-hover-color: rgba(255, 237, 213, 1);
        --farallon-text-color: #a1a1aa;
        --farallon-text-light: rgba(161, 161, 170, 1);
        --farallon-text-gray: rgba(113, 113, 122, 1);
        --farallon-text-gray-lightest: rgba(113, 113, 122, 0.95);
        --farallon-background-white: #1e1e1e;
        --farallon-background-gray: #000;
        --farallon-griedent-start: #007cf0;
        --farallon-griedent-end: #00dfd8;
        --farallon-border-color: rgba(63, 63, 70, 0.6);
        --farallon-border-color-light: rgba(63, 63, 70, 0.4)
    }

    .auto .site--header__center {
        background-color: rgba(39, 39, 42, .9);
        border-color: rgba(0, 0, 0, .5);
        backdrop-filter: saturate(180%) blur(5px);
        color: #e4e4e7
    }

    .auto .comment-form .submit {
        background-color: #3f3f46
    }

    .auto .comment-form .submit:hover {
        background-color: #52525b
    }

    .auto .tag--list a {
        background-color: #27272a;
        color: #71717a
    }

    .auto .tag--list a:hover {
        --tw-ring-shadow: 0 0 0 calc(1px + 0px) hsla(0, 0%, 100%, 0.2)
    }

    .auto .post--item .post--title,
    .auto .post--single__title {
        color: #f4f4f5
    }

    .auto .main {
        box-shadow: rgba(212, 212, 216, .2) 0 0 0 1px
    }

    .auto .main::after {
        display: none
    }

    .auto .archive--list .archive--item:hover,
    .auto .link-item:hover,
    .auto .post--card:hover,
    .auto .post--item:hover,
    .auto .post--single__related__item:hover {
        background: linear-gradient(180deg, #1e1e1e, #121212)
    }

    .auto .link-item,
    .auto .post--card,
    .auto .post--item,
    .auto .post--single__related__item {
        position: relative
    }

    .auto .link-item:hover::after,
    .auto .post--card:hover::after,
    .auto .post--item:hover::after,
    .auto .post--single__related__item:hover::after {
        content: "";
        pointer-events: none;
        position: absolute;
        inset: 0;
        border-radius: 12px;
        border: 1px solid #333
    }

    .auto .nav-links .page-numbers.current:after,
    .auto .nav-links .post-page-numbers.current:after {
        background-image: none
    }

    .auto .doulist-item {
        background-color: rgba(63, 63, 70, .15)
    }

    .auto .comment-form input,
    .auto .comment-form textarea {
        background-color: rgba(63, 63, 70, .15);
        border-color: #3f3f46
    }
}

.dark .site--header__center,
.dark .tag--list a {
    --tw-ring-shadow: 0 0 0 calc(1px + 0px) hsla(0, 0%, 100%, 0.1);
    box-shadow: 0 0 #0000, var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.post--title .sticky--post {
    font-size: 12px;
    color: #fff;
    font-weight: 400;
    background: linear-gradient(90deg, #8a63d2, #f81ce5);
    padding: 3px 5px;
    border-radius: 5px;
    line-height: 1;
    display: inline-block;
    vertical-align: middle
}

.dark {
    --farallon-main-color: rgba(253, 186, 116, 1);
    --farallon-hover-color: rgba(255, 237, 213, 1);
    --farallon-text-color: #a1a1aa;
    --farallon-text-light: rgba(161, 161, 170, 1);
    --farallon-text-gray: rgba(113, 113, 122, 1);
    --farallon-text-gray-lightest: rgba(113, 113, 122, 0.95);
    --farallon-background-white: #1e1e1e;
    --farallon-background-gray: #000;
    --farallon-border-color: rgba(63, 63, 70, 0.6);
    --farallon-border-color-light: rgba(63, 63, 70, 0.4)
}

.dark .site--header__center {
    background-color: rgba(39, 39, 42, .9);
    border-color: rgba(0, 0, 0, .5);
    backdrop-filter: saturate(180%) blur(5px);
    color: #e4e4e7
}

.dark .doulist-item {
    background: rgba(63, 63, 70, .15)
}

.dark .comment-form .submit {
    background-color: #3f3f46
}

.dark .comment-form .submit:hover {
    background-color: #52525b
}

.dark .tag--list a {
    background-color: #27272a;
    color: #71717a
}

.dark .tag--list a:hover {
    --tw-ring-shadow: 0 0 0 calc(1px + 0px) hsla(0, 0%, 100%, 0.2)
}

.dark .post--item .post--title,
.dark .post--single__title {
    color: #f4f4f5
}

.nav-links .page-numbers:hover,
.nav-links .post-page-numbers:hover,
.post--item .post--title:hover,
.post--item__status header a:hover,
.post-navigation .post-title:hover,
.site--footer__info a:hover,
.site--header__center ul li a:hover {
    color: var(--farallon-hover-color)
}

.dark .main {
    box-shadow: rgba(212, 212, 216, .2) 0 0 0 1px
}

.site--header .avatar,
.site--header.is-active .avatar {
    box-shadow: 0 2px 4px 0 var(--farallon-border-color)
}

.dark .main::after,
.u-xs-show,
[hidden],
template {
    display: none
}

.site--footer__info.active,
details,
main {
    display: block
}

.dark .archive--list .archive--item:hover,
.dark .graph blockquote,
.dark .link-item:hover,
.dark .post--card:hover,
.dark .post--item:hover,
.dark .post--single__related__item:hover {
    background: linear-gradient(180deg, #1e1e1e, #121212)
}

.dark .link-item:hover::after,
.dark .post--card:hover::after,
.dark .post--item:hover::after,
.dark .post--single__related__item:hover::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    border-radius: 12px;
    border: 1px solid #333
}

.dark .nav-links .page-numbers.current:after,
.dark .nav-links .post-page-numbers.current:after {
    background-image: none
}

.dark .comment-form input,
.dark .comment-form textarea {
    background-color: rgba(63, 63, 70, .15);
    border-color: #3f3f46
}

/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    background-color: var(--farallon-background-gray)
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

h1,
h2,
h3,
h4,
h5,
p {
    margin-top: 0;
    margin-bottom: 0
}

hr {
    box-sizing: content-box;
    height: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    text-decoration: none
}

.fixed--theme span.is-active,
body {
    background-color: var(--farallon-background-gray)
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

.post--card .meta a:hover,
.post--item .meta a:hover,
.site--footer nav ul li a:hover,
.site--footer__info a,
.translatedCard ul li a {
    text-decoration: underline
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    height: auto
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

body,
button,
input,
textarea {
    font-family: open sans, PingFang SC, Hiragino Sans GB, Microsoft YaHei, STHeiti, WenQuanYi Micro Hei, Helvetica, Arial, sans-serif;
    font-size: 16px
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

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

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: ButtonText dotted 1px
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    display: table;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

body {
    margin: 0;
    letter-spacing: 0;
    font-weight: 400;
    font-style: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-feature-settings: "liga"on;
    color: var(--farallon-text-color);
    line-height: 1.8
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: 400
}

ol,
ul {
    margin: 0;
    padding: 0
}

button,
input,
textarea {
    appearance: none;
    outline: 0;
    -webkit-tap-highlight-color: transparent;
    color: var(--text-main-color)
}

.main {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    min-height: 100vh
}

.main::after {
    aspect-ratio: 1/3;
    background-image: linear-gradient(to right, var(--farallon-griedent-start), var(--farallon-griedent-end));
    content: ""
}

.site--main {
    padding: 50px 80px;
    min-height: 70vh
}

.site--main__gears .post--single__title {
    margin-bottom: 5px
}

.fixed--theme span:last-child,
.post--item__status .description {
    margin-bottom: 0
}

.site--main__gears .post--single__subtitle {
    font-size: 18px;
    color: var(--farallon-text-gray);
    line-height: 1.5
}

@media(max-width:820px) {
    .site--main {
        padding: 40px
    }
}

@media(max-width:768px) {
    .site--main {
        padding: 3.5%
    }
}

.site--footer {
    font-size: 14px;
    padding: 20px 80px;
    border-top: 1px dotted var(--farallon-border-color);
    color: var(--farallon-text-light)
}

.site--footer__content {
    display: flex;
    align-items: center
}

.site--footer__info {
    display: none;
    text-align: center;
    color: var(--farallon-text-light)
}

.fixed--theme span.is-active,
.fixed--theme span:hover {
    color: var(--farallon-text-color)
}

.site--footer .copyright {
    margin-left: auto;
    display: flex;
    align-items: center
}

.site--footer .copyright svg {
    fill: var(--farallon-text-light);
    margin-left: 8px;
    cursor: pointer
}

.author--card .author--sns svg:hover,
.backToTop:hover .svgIcon,
.post--single__action .button--like.is-active svg,
.post--single__action .button--like:hover svg,
.site--footer .copyright svg:hover,
.site--footer__sns svg:hover {
    fill: var(--farallon-hover-color)
}

.site--footer nav ul {
    display: flex;
    align-items: center
}

.site--footer__sns {
    display: flex;
    align-items: center
}

.site--footer__sns a {
    margin: 0 12px 0 0;
    display: flex
}

.post--card .meta svg,
.post--item .meta svg,
.post--single__meta svg {
    margin-right: 4px;
    margin-left: 10px
}

.site--footer__sns svg {
    fill: var(--farallon-text-color);
    width: 18px;
    height: 18px
}

.site--footer__sns svg.sns {
    fill: none;
    stroke: var(--farallon-text-color)
}

@media(max-width:768px) {
    .site--footer__content {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-right: 3.5%;
        padding-left: 3.5%
    }

    .site--footer__content .copyright {
        margin-left: 0
    }

    .site--footer__content nav {
        margin-bottom: 10px
    }
}

.fixed--theme {
    position: fixed;
    right: 10px;
    top: 40%;
    display: flex;
    flex-direction: column;
    height: max-content;
    box-shadow: 0 0 0 1px var(--farallon-border-color);
    border-radius: 999rem;
    width: max-content;
    padding: 3px
}

.fixed--theme span {
    width: 32px;
    height: 32px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--farallon-text-gray-lightest);
    margin-bottom: 5px
}

@keyframes toTop {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(-50%)
    }
}

.backToTop {
    position: fixed;
    bottom: 25px;
    right: -25px;
    background-color: var(--border-color);
    z-index: 10;
    transition: .3s
}

.backToTop .svgIcon {
    width: 17px;
    height: 17px;
    fill: var(--farallon-main-color);
    animation: 1s ease-in infinite alternate toTop
}

.post--card .meta svg,
.post--item .meta svg,
.post--single__meta svg,
.site--header .svgIcon {
    fill: var(--farallon-text-gray-lightest)
}

.backToTop:hover .svgIcon {
    animation-play-state: paused
}

.backToTop.is-active {
    right: 25px
}

.site--header {
    padding: 20px 80px;
    position: relative;
    display: flex;
    align-items: center
}

.site--header .svgIcon {
    margin-left: auto;
    position: relative
}

.site--header .avatar {
    height: 48px;
    width: 48px;
    border: 3px var(--farallon-background-white) solid;
    border-radius: 100%;
    transition: .5s ease-in-out
}

.site--header__center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 39px;
    top: 25px;
    z-index: 1;
    box-shadow: 0 0 #fff, 0 0 0 1px rgba(244, 244, 245, .1), 0 10px 15px -3px rgba(39, 39, 42, 5%), 0 4px 6px -4px rgba(39, 39, 42, 5%);
    backdrop-filter: blur(12px);
    background-color: rgba(255, 255, 255, .5);
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999rem;
    overflow: hidden
}

.graph code,
.toc {
    background-color: var(--farallon-background-gray)
}

.site--header__center ul {
    display: flex;
    align-items: center;
    height: 39px;
    box-sizing: border-box;
    padding: 5px 30px
}

.site--header__center ul li {
    padding: 0 15px;
    flex: none
}

.site--header__center .inner {
    display: flex;
    flex-direction: column;
    transition: transform .5s
}

.site--header__center .inner .search--area {
    height: 39px;
    display: flex;
    justify-content: center;
    align-items: center
}

.site--header__center .inner .search--area .search-field {
    background-color: transparent;
    border: 0;
    font-size: 14px
}

.site--header__center .inner .search--area .search-submit {
    background-color: #fff;
    border: 0;
    display: none
}

.site--header__center .inner.search--active {
    transform: translate(0, -39px)
}

.site--url {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 700
}

@media(max-width:820px) {
    .site--header {
        padding-left: 40px;
        padding-right: 40px;
        padding-top: 59px
    }

    .site--header__center {
        left: 0;
        right: 0;
        transform: translate3d(0, 0, 0);
        border-radius: 0;
        top: 0;
        box-shadow: 0 0 #fff, 0 0 0 1px rgba(244, 244, 245, .1), 3px -8px 15px -3px rgba(39, 39, 42, 5%), 0 4px 6px -4px rgba(39, 39, 42, 5%)
    }

    .site--header__center ul {
        overflow-x: auto;
        padding-left: 40px;
        padding-right: 40px
    }

    .site--header__center ul li {
        flex: none
    }

    .site--header__center .inner .search--area,
    .site--header__center .inner .search--area .search-field {
        width: 100%
    }
}

@media(max-width:768px) {
    .site--header {
        padding-left: 3.5%;
        padding-right: 3.5%;
        padding-bottom: 0
    }

    .site--header .avatar {
        width: 40px;
        height: 40px
    }

    .site--header__center ul {
        padding-left: 20px;
        padding-right: 20px
    }

    .u-xs-show {
        display: inline
    }
}

.top--bar {
    padding: 0 40px 30px
}

.top--bar .widget-card-content {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2
}

.top--bar .widget-card-description {
    color: var(--farallon-text-gray);
    font-size: 18px
}

.post--item {
    padding: 25px 40px;
    border-radius: 5px;
    display: flex;
    align-items: center
}

.post--item:hover {
    background-color: rgba(234, 243, 255, .5);
    background-image: linear-gradient(12deg, #fff 50%, rgba(255, 255, 255, 0));
    border-radius: 18px;
    transform: none;
    transform-origin: 50% 50% 0
}

.post--item__status {
    border-radius: 5px;
    margin-top: 10px;
    margin-bottom: 10px
}

.post--item__status .avatar {
    border-radius: 100%;
    margin-right: 10px
}

.post--item__status header {
    display: flex;
    align-items: center;
    margin-bottom: 10px
}

.post--item__status header a {
    color: var(--farallon-text-gray);
    display: flex;
    align-items: center;
    font-size: 14px
}

.post--item .post--title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 5px
}

.post--item .post--title .icon--sticky {
    width: 18px;
    margin-left: 0;
    line-height: 1;
    display: inline-block;
    vertical-align: -5px;
    stroke: #f87171
}

.post--item .content {
    flex: auto
}

.comment.parent:last-child,
.comment:last-child>.comment-body,
.post--item:last-child {
    border-bottom: 0
}

.post--item .description {
    font-size: 15px;
    color: var(--farallon-text-light);
    line-height: 1.6
}

.post--item .meta {
    font-size: 14px;
    color: var(--farallon-text-gray-lightest);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2px
}

.nav-links .page-numbers.dots,
.nav-links .post-page-numbers.dots,
.nav-links span,
.post-navigation .meta-nav {
    color: var(--farallon-text-gray)
}

.post--item .meta time {
    display: flex;
    align-items: center
}

.post--item .meta svg:first-child {
    margin-left: 0
}

.post--item .cover--link {
    position: relative;
    width: 150px;
    flex: none;
    margin-left: 20px;
    display: flex;
    align-items: center;
    height: 100px;
    border-radius: 5px;
    overflow: hidden
}

.post--item .cover--link:hover .cover {
    transform: scale(1.1)
}

.post--item .cover--link .marker--tips {
    left: auto;
    right: 8px;
    top: 8px
}

.post--item .cover {
    width: 150px;
    height: 100px;
    object-fit: cover;
    border-radius: 5px;
    aspect-ratio: 150/100;
    transition: .5s
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center
}

.nav-links .page-numbers,
.nav-links .post-page-numbers,
.nav-links a {
    padding: 20px;
    position: relative
}

.nav-links .page-numbers.current,
.nav-links .post-page-numbers.current {
    font-size: 20px;
    font-weight: 700;
    cursor: not-allowed
}

.nav-links .page-numbers.current:after,
.nav-links .post-page-numbers.current:after {
    border: 12px solid transparent;
    background-clip: padding-box;
    content: "";
    filter: blur(36px);
    height: 50%;
    opacity: .8;
    position: absolute;
    width: 50%;
    background-image: linear-gradient(165deg, #007cf0, #00dfd8);
    left: 0
}

.hidden {
    display: none !important
}

.nav-links__comment .page-numbers,
.nav-links__comment .post-page-numbers {
    padding: 10px;
    line-height: 1;
    font-size: 14px
}

.nav-links__comment .page-numbers.current,
.nav-links__comment .post-page-numbers.current {
    font-size: 16px
}

.nav-links__comment .page-numbers.current:after,
.nav-links__comment .post-page-numbers.current:after {
    border: 6px solid transparent;
    background-clip: padding-box;
    content: "";
    filter: blur(10px);
    height: 50%;
    opacity: .8;
    position: absolute;
    width: 50%;
    background-image: linear-gradient(165deg, #007cf0, #00dfd8);
    left: 0
}

@media(max-width:820px) {
    .post--item {
        padding: 15px 25px
    }
}

@media(max-width:768px) {
    .post--item {
        padding: 15px 0
    }

    .post--item__status {
        padding: 10px
    }

    .post--item__status .avatar {
        width: 32px;
        height: 32px
    }

    .post--item:hover {
        background-color: transparent
    }

    .post--item:not(.post--item__status) .description {
        min-height: 2.6em;
        line-height: 1.3em;
        font-size: 14px;
        letter-spacing: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: 5px
    }

    .post--item .cover--link {
        width: 75px;
        height: 75px;
        margin-left: 10px
    }

    .post--item .cover {
        width: 75px;
        height: 75px;
        aspect-ratio: 1/1
    }

    .post--item .post--title {
        font-size: 18px
    }

    .post--item .meta {
        font-size: 12px
    }
}

.post-navigation {
    overflow: hidden;
    padding-top: 20px
}

.post-navigation.is-active .nav-links {
    transform: translate3d(0, 0, 0)
}

.post-navigation .nav-links {
    position: relative;
    transform: translate3d(0, 150%, 0);
    display: flex;
    justify-content: space-between;
    transition: .5s
}

.post-navigation .nav-links>div:only-child {
    text-align: center !important;
    width: 100%
}

.post-navigation .nav-next,
.post-navigation .nav-previous {
    padding: 15px;
    background-color: var(--farallon-background-white);
    width: 48%;
    box-sizing: border-box;
    text-align: right;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    border: 1px solid transparent
}

.post-navigation .nav-next a,
.post-navigation .nav-previous a {
    display: flex;
    flex-direction: column
}

.post-navigation .nav-previous {
    text-align: left
}

.post-navigation .meta-nav {
    font-size: 12px;
    text-transform: uppercase
}

.post-navigation .post-title {
    font-size: 14px;
    min-height: 3em;
    display: -webkit-box
}

.post--cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
    padding-bottom: 20px
}

.post--card {
    border: 1px solid var(--farallon-border-color);
    padding: 20px;
    border-radius: 18px;
    display: flex;
    flex-direction: column
}

.post--card .cover--link,
.post--card .meta {
    align-items: center;
    display: flex
}

.post--card:hover {
    background-color: #fafafa;
    background: linear-gradient(90deg, rgba(255, 233, 244, .3) 0, rgba(234, 243, 255, .5) 100%);
    border-radius: 18px;
    transform: none;
    transform-origin: 50% 50% 0
}

.post--card .cover {
    border-radius: 10px;
    margin-bottom: 12px;
    object-fit: cover;
    aspect-ratio: 60/36
}

.post--card .post--title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 5px
}

.post--card .post--title:hover,
.translatedCard ul li a:hover {
    color: var(--farallon-hover-color)
}

.post--card .content {
    position: relative
}

.post--card .content .date {
    height: 36px;
    width: 36px;
    background-color: var(--farallon-background-white);
    border-radius: 100%;
    position: absolute;
    font-weight: 700;
    font-size: 24px;
    line-height: 36px;
    text-align: center;
    color: var(--farallon-text-gray);
    right: 15px;
    top: -30px;
    box-shadow: 0 0 0 5px var(--farallon-border-color-light)
}

.button--like.is-active .count,
.button--like:hover .count,
.category--card:hover .category--card__title,
.graph--mixtapeEmbed .mixtapeContent .markup--strong:hover {
    color: var(--farallon-hover-color)
}

.post--card .description {
    font-size: 15px;
    color: var(--farallon-text-light);
    line-height: 1.6
}

.post--card .meta {
    font-size: 14px;
    color: var(--farallon-text-gray-lightest);
    flex-wrap: wrap;
    margin-top: 2px
}

.post--single__copyright,
.post--single__meta {
    color: var(--farallon-text-gray)
}

.post--card .meta time {
    display: flex;
    align-items: center
}

.post--card .meta svg:first-child,
.post--single__meta svg:first-child {
    margin-left: 0
}

.comment--parent__link,
.doulist-item .doulist-subject .doulist-title a,
.graph--mixtapeEmbed a {
    text-decoration: none !important
}

@media(max-width:414px) {
    .site--header__center ul {
        padding-left: 0;
        padding-right: 0
    }

    .top--bar {
        padding: 0
    }

    .top--bar .widget-card-content {
        font-size: 18px
    }

    .top--bar .widget-card-description {
        font-size: 14px
    }

    .post--cards {
        display: grid;
        grid-template-columns: repeat(1, 1fr)
    }

    .post--card {
        padding: 15px
    }
}

.post--single {
    max-width: 678px;
    margin-left: auto;
    margin-right: auto
}

.post--single__title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px
}

.post--single__meta {
    font-size: 14px;
    display: flex;
    align-items: center
}

.post--single__action {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0
}

.post--single__action .button--like svg {
    fill: var(--farallon-text-gray)
}

.post--single__related {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
    padding-top: 10px
}

.post--single__related__item {
    padding: 10px;
    border: 1px solid var(--farallon-border-color);
    border-radius: 10px;
    display: flex;
    flex-direction: column
}

.post--single__related__item .cover {
    border-radius: 8px;
    width: 100%;
    height: 160px;
    object-fit: cover
}

.post--single__related__item__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 5px
}

.post--single__related__item:hover {
    background-color: #fafafa;
    background: linear-gradient(90deg, rgba(255, 233, 244, .3) 0, rgba(234, 243, 255, .5) 100%)
}

.post--single__related__item .meta {
    font-size: 12px;
    color: var(--farallon-text-gray);
    line-height: 1
}

.author--card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid var(--farallon-border-color);
    margin-top: 20px
}

.author--card .avatar {
    border-radius: 100%
}

.author--card .author--name {
    font-weight: 700;
    margin-top: 10px;
    font-size: 18px
}

.author--card .author--description,
.tag--list a {
    font-size: 14px;
    color: var(--farallon-text-gray)
}

.author--card .author--sns {
    margin-top: 12px;
    display: flex;
    align-items: center
}

.author--card .author--sns a {
    margin: 0 10px 0 0
}

.author--card .author--sns a:last-child {
    margin-right: 0
}

.author--card .author--sns svg {
    fill: var(--farallon-text-color);
    width: 24px;
    height: 24px
}

.author--card .author--sns svg.sns {
    fill: none;
    stroke: var(--farallon-text-color)
}

.cnav-item:hover,
.comment--author .comment-reply-link:hover svg {
    fill: var(--farallon-hover-color)
}

.tag--list {
    display: flex;
    align-items: center;
    padding: 15px 0 5px;
    flex-wrap: wrap
}

.tag--list a {
    margin-right: 10px;
    margin-bottom: 10px;
    background: #f2f4f6;
    padding: 2px 12px;
    border-radius: 5px
}

.tag--list a:hover {
    background-color: #e0e0e0
}

.related--posts__title {
    font-size: 18px;
    font-weight: 600
}

.toc,
.translatedCard {
    margin-bottom: 20px;
    font-size: 14px
}

.related--content {
    padding-top: 15px
}

.toc {
    padding: 10px 15px;
    border-radius: 10px
}

.toc-title {
    font-weight: 600
}

.toc ul {
    padding-left: 10px;
    margin-bottom: 10px
}

.toc ul li::before {
    content: "·";
    margin-right: 5px
}

.toc ul li>ul {
    margin-left: 10px;
    font-size: 12px
}

.translatedCard h4 {
    font-weight: 700
}

.translatedCard ul {
    list-style: square;
    margin-left: 30px
}

.category--card {
    padding: 15px 0;
    display: flex;
    align-items: center
}

.category--card__list {
    border-top: 1px solid var(--farallon-border-color-light)
}

.category--card__image {
    margin-right: 15px;
    width: 64px;
    flex: none;
    display: flex
}

.category--card__image img {
    border-radius: 4px;
    height: 64px;
    object-fit: cover;
    width: 64px
}

.category--card__content,
.doulist-item .doulist-subject .doulist-content {
    flex: auto
}

.category--card__title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1
}

.category--card__description {
    font-size: 14px;
    color: var(--farallon-text-gray);
    line-height: 1.2
}

.category--card+.category--card,
.main {
    position: relative
}

.category--card+.category--card::before {
    position: absolute;
    left: 15px;
    right: 15px;
    top: 0;
    height: 1px;
    background-color: var(--farallon-border-color-light);
    content: ""
}

@media(max-width:768px) {
    .post--single__title {
        font-size: 28px;
        margin-bottom: 10px
    }

    .author--card {
        padding: 20px 0
    }

    .category--card {
        padding: 12px 0
    }

    .category--card__image {
        width: 48px
    }

    .category--card__image img {
        height: 48px;
        width: 48px
    }

    .category--card__title {
        font-size: 16px
    }

    .category--card__description {
        font-size: 12px
    }
}

.db--image,
.db--item {
    width: var(--db-item-width)
}

.button--like {
    border: 0;
    background-color: transparent;
    display: flex;
    align-items: center
}

.button--like .count {
    font-size: 14px;
    margin-left: 3px;
    font-weight: 700;
    color: var(--farallon-text-gray)
}

.button--like.is-active svg {
    fill: var(--farallon-main-color)
}

.button--like.is-active .icon--active {
    display: block
}

.button--like .icon--active,
.button--like .icon--block,
.button--like.is-active .icon--default,
.comment-form-cookies-consent #wp-comment-cookies-consent,
.footer-map.is-loaded .lds-ripple {
    display: none
}

.graph {
    color: var(--farallon-text-color);
    word-break: break-all;
    font-size: 16px
}

.graph code {
    margin-left: 4px;
    margin-right: 4px;
    border-radius: 4px;
    font-size: 75%;
    padding: 2px 4px;
    word-break: break-word;
    color: var(--farallon-text-light)
}

.graph blockquote,
.graph pre {
    margin-left: -3.5%;
    margin-right: -3.5%;
    background-color: var(--farallon-background-gray);
    color: var(--farallon-text-light)
}

.graph pre {
    word-break: break-all;
    white-space: break-spaces;
    padding: 20px 30px;
    border-radius: 4px;
    font-size: 12px;
    border: 1px solid var(--farallon-border-color);
    line-height: 1.4
}

.graph pre code {
    background-color: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0
}

.graph--mixtapeEmbed {
    margin-bottom: 25px;
    border: 1px solid var(--farallon-border-color);
    border-radius: 4px;
    display: flex
}

.graph--mixtapeEmbed a {
    box-shadow: none !important
}

.graph--mixtapeEmbed a:hover {
    color: inherit !important
}

.graph--mixtapeEmbed .mixtapeImage {
    width: 120px;
    height: 120px;
    background-size: cover;
    flex: none;
    margin-left: 30px;
    border-radius: 0 4px 4px 0
}

.graph--mixtapeEmbed .mixtapeContent {
    padding: 0 20px;
    flex: auto;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.graph--mixtapeEmbed .mixtapeContent .markup--em {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: var(--farallon-text-light)
}

.graph--mixtapeEmbed .mixtapeContent .markup--strong {
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 5px
}

.graph p {
    margin-bottom: 25px;
    hyphens: auto
}

.comment-form p:last-of-type,
.graph blockquote p:last-child,
.graph p:last-child {
    margin-bottom: 0
}

.graph blockquote {
    border-color: var(--farallon-border-color-light);
    margin-bottom: 35px;
    background: linear-gradient(90deg, rgba(255, 233, 244, .3) 0, rgba(234, 243, 255, .5) 100%);
    padding: 30px;
    border-radius: 10px
}

.graph a {
    text-decoration: none;
    box-shadow: inset 0 -3px 0 var(--farallon-main-color);
    transition: .2s
}

.comment--author a:hover,
.comment--parent__link:hover,
.comment-content a,
.db--title a:hover {
    text-decoration: underline
}

.graph a[href*=JPEG],
.graph a[href*=JPEG]:hover,
.graph a[href*=JPG],
.graph a[href*=JPG]:hover,
.graph a[href*=PNG],
.graph a[href*=PNG]:hover,
.graph a[href*=gif],
.graph a[href*=gif]:hover,
.graph a[href*=jpeg],
.graph a[href*=jpeg]:hover,
.graph a[href*=jpg],
.graph a[href*=jpg]:hover,
.graph a[href*=png],
.graph a[href*=png]:hover {
    box-shadow: none
}

.graph a:hover {
    box-shadow: inset 0 -5px 0 var(--farallon-hover-color)
}

.graph h2 {
    margin-bottom: 15px;
    margin-top: 30px;
    font-size: 24px;
    font-weight: 700;
    color: var(--farallon-text-light);
    line-height: 1.3;
    position: relative
}

.graph h3,
.graph h4 {
    margin-bottom: 10px;
    margin-top: 30px;
    line-height: 1.3;
    font-weight: 700
}

.graph h2+h3 {
    margin-top: 15px
}

.graph h2 :before {
    content: "";
    position: absolute;
    top: .5em;
    bottom: -2px;
    left: -10px;
    width: 3.4em;
    z-index: -1;
    background: var(--farallon-hover-color);
    opacity: .3;
    transform: skew(-35deg);
    transition: opacity .2s;
    border-radius: 3px 8px 10px 6px
}

.graph h3 {
    font-size: 20px;
    color: var(--farallon-text-gray)
}

.graph h4 {
    font-size: 18px;
    color: var(--farallon-text-gray-lightest)
}

.graph hr {
    border: 0;
    text-align: center;
    font-size: 32px;
    height: auto;
    margin-top: 0;
    margin-bottom: 15px
}

.graph hr:before {
    content: "...";
    letter-spacing: .6em;
    text-indent: .6em
}

.graph b,
.graph strong {
    font-weight: 700
}

.graph ol,
.graph ul {
    margin-bottom: 25px;
    padding-left: 5px
}

.graph ol li,
.graph ul li {
    margin-left: 25px;
    margin-bottom: 5px
}

.graph ol li:before,
.graph ul li:before {
    content: "•";
    box-sizing: border-box;
    font-size: 18px;
    margin-left: -35px;
    padding-right: 10px;
    display: inline-block;
    text-align: right;
    width: 32px;
    color: var(--farallon-main-color)
}

.graph ol {
    counter-reset: item;
    margin-left: 30px
}

.graph ol>li:before {
    content: counter(item);
    counter-increment: item;
    font-size: 11.4px;
    font-weight: 700;
    align-items: center;
    background-color: rgba(195, 218, 254, .43);
    border: 0 solid #999;
    border-radius: 9999px;
    box-sizing: border-box;
    color: rgba(85, 134, 210, .8);
    display: inline-flex;
    height: 19px;
    justify-content: center;
    margin-left: -44px !important;
    margin-right: 14px;
    margin-top: 4px;
    transform: translateY(-1px);
    width: 30px;
    padding-right: 0
}

.colonel--figure,
.grap--figure {
    margin: 0 -50px 25px;
    position: relative;
    line-height: 1
}

.colonel--figure img,
.grap--figure img {
    border-radius: 4px
}

.colonel--figure .imageCaption,
.grap--figure .imageCaption {
    font-size: 12px;
    text-align: center;
    position: absolute;
    bottom: 12px;
    left: 12px;
    color: #fff;
    background-color: rgba(18, 18, 18, .8);
    border-radius: 5px;
    padding: 8px 10px
}

.children,
.post--error .meta svg:first-child {
    margin-left: 0
}

.comment-form label {
    display: block;
    margin-bottom: .5rem;
    font-size: 14px;
    line-height: 1.4
}

.comment-form label .required {
    color: red
}

.comment-form input,
.comment-form textarea {
    width: 100%;
    resize: none;
    border-radius: 5px;
    box-sizing: border-box;
    border: 1px solid #999;
    padding: 8px 15px;
    font-size: 14px
}

.comment-form .submit {
    background-color: #000;
    color: #fff;
    border: 0;
    font-size: 14px;
    padding: 8px 30px;
    border-radius: 5px;
    width: auto
}

.comment-form .submit:hover {
    background-color: var(--farallon-text-light)
}

.comment-form p {
    margin-bottom: 15px
}

.comment-form .comment-notes,
.comment-form .logged-in-as {
    font-size: 12px;
    color: var(--farallon-text-gray)
}

.cnav-item:hover,
.comment--author a:hover,
.comment--parent__link:hover,
.comment-content a:hover {
    color: var(--farallon-hover-color)
}

.comment-reply-title {
    font-weight: 700;
    font-size: 18px;
    display: flex;
    align-items: center
}

.children .comment-content,
.comment-meta,
.doulist-item .doulist-subject .abstract {
    font-size: 14px
}

.comment-reply-title small {
    margin-left: auto;
    font-weight: 400;
    font-size: 14px
}

.commentlist {
    border-top: 1px solid var(--farallon-border-color-light);
    padding-top: 10px
}

.commentlist .comment {
    padding: 0
}

.commentlist .comment-respond {
    margin-top: 20px;
    padding: 20px;
    background-color: var(--farallon-background-gray);
    border-radius: 5px
}

@keyframes comment--fresh {
    0% {
        background-color: #fff
    }

    100% {
        background-color: #fffee0
    }
}

.comment.parent {
    border-bottom: 1px solid var(--farallon-border-color-light)
}

.comment-body {
    padding: 25px 0
}

.comment-body__fresh {
    animation: 1.5s ease-in-out infinite alternate comment--fresh;
    border-radius: 5px
}

.comment-body .avatar {
    transition: box-shadow .5s
}

.comment-body:hover .avatar {
    box-shadow: 0 0 3px 0 var(--farallon-hover-color)
}

.comment--avatar {
    flex: none;
    margin-right: 10px;
    display: flex
}

.comment--author {
    flex: auto;
    display: flex;
    align-items: center
}

.comment--author .comment-reply-link {
    margin-left: auto
}

.comment--author .comment-reply-link svg {
    fill: var(--farallon-text-gray);
    width: 15px;
    height: 15px
}

.comment--author a {
    color: var(--farallon-main-color)
}

.comment--meta {
    display: flex;
    align-items: center;
    flex: auto
}

.comment-meta,
.comments--title {
    margin-bottom: 10px;
    align-items: center;
    display: flex
}

.comment--time {
    color: var(--farallon-text-light)
}

.comment-meta .avatar {
    border-radius: 100%
}

.comment-content {
    color: var(--farallon-text-light)
}

.children {
    padding-bottom: 10px
}

.children .avatar {
    width: 32px;
    height: 32px
}

.children .comment-body {
    border-bottom: 0;
    padding: 15px 0
}

.parent>.children {
    margin-left: 50px
}

.comment-meta .comment-metadata {
    margin-left: auto
}

.comment-reply-link {
    font-size: 12px
}

.no--comment {
    text-align: center;
    padding: 30px 0
}

.comments--title {
    margin-top: 30px;
    font-size: 18px;
    font-weight: 700
}

.comments--title svg {
    width: 24px;
    height: 24px;
    margin-right: 5px;
    position: relative;
    transform: translate3d(0, 1px, 0);
    fill: var(--farallon-text-color)
}

.cnav-item,
.post--share svg {
    fill: var(--farallon-text-gray)
}

.archive-header+.site--main,
.comment-respond {
    padding-top: 30px
}

.comment-form-cookies-consent label {
    font-size: 14px;
    color: var(--farallon-text-gray);
    display: flex;
    align-items: center;
    position: relative
}

.comment-form-cookies-consent label::before {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 100%;
    height: 16px;
    margin-right: 6px;
    vertical-align: middle;
    width: 16px;
    content: "";
    flex: none
}

.comment-form-cookies-consent input:checked+label::after {
    background-color: var(--farallon-main-color);
    border-radius: 100%;
    content: "";
    position: absolute;
    left: 1px;
    height: 12px;
    margin: 2px;
    width: 12px;
    flex: none
}

.post--share {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px 0 15px;
    font-size: 14px;
    color: var(--farallon-text-gray);
    line-height: 1.2
}

.post--share svg {
    height: 16px;
    width: 16px;
    margin-right: 4px
}

.post--share .link {
    margin-left: 4px;
    border-bottom: 1px dotted var(--farallon-hover-color)
}

.comment--parent__link {
    margin-right: 5px;
    color: var(--farallon-main-color)
}

.commentnav {
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center
}

.cnav-item {
    font-size: 16px;
    color: var(--farallon-text-gray);
    line-height: 32px;
    display: flex;
    align-items: center
}

.cnav-item .svgIcon {
    transform: translate3d(0, -1px, 0)
}

.cnav-item.disabled {
    cursor: not-allowed;
    opacity: .25;
    pointer-events: none
}

.chartPage-verticalDivider {
    border-right: 1px solid var(--border-color);
    height: 25px;
    margin: 0 10px
}

.archive-header__search {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 20px
}

.archive-header__search .search-form {
    border: 1px solid #eee;
    border-radius: 999rem;
    padding: 5px
}

.archive-header__search .search-form .search-field {
    border: 0;
    background-color: transparent;
    padding: 0 15px;
    font-size: 14px;
    width: 250px
}

.archive-header__search .search-form .search-submit {
    border-radius: 999rem;
    border: 0;
    background: gredient(to right, #007cf0, #00dfd8);
    font-size: 14px;
    color: rgba(0, 0, 0, .6);
    padding: 8px 18px
}

@media(max-width:768px) {
    .archive-header {
        padding-left: 3.5%;
        padding-right: 3.5%
    }

    .archive-header h1 {
        font-size: 20px
    }

    .archive-header .taxonomy-description {
        font-size: 16px
    }

    .archive-header+.site--main {
        padding-top: 20px
    }
}

.archive--title__year,
.archive-header h1 {
    font-size: 24px;
    font-weight: 700
}

.page--archive {
    padding-top: 20px;
    padding-left: 80px;
    padding-right: 80px
}

.archive--title__month {
    font-size: 20x;
    color: var(--farallon-text-gray)
}

.archive--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    padding: 20px 0
}

.archive--list .archive--item {
    border: 1px solid var(--farallon-border-color-light);
    padding: 15px;
    border-radius: 10px
}

.archive--list .archive--item .archive--title {
    line-height: 1.4;
    font-size: 14px
}

.archive--list .archive--item .archive--meta {
    font-size: 12px;
    color: rgba(0, 0, 0, .6)
}

.archive--list .archive--item:hover,
.link-item:hover {
    background-color: #fafafa;
    background: linear-gradient(90deg, rgba(255, 233, 244, .3) 0, rgba(234, 243, 255, .5) 100%)
}

.archive--list .archive--item:hover .archive--title {
    color: var(--jl-hover-color)
}

@media(max-width:820px) {

    .graph blockquote,
    .graph pre {
        margin-left: 0;
        margin-right: 0
    }

    .graph blockquote,
    .graph p {
        margin-bottom: 15px
    }

    .graph blockquote {
        padding-top: 20px;
        background-position: 10px 0
    }

    .graph h2,
    .graph h3 {
        font-size: 20px
    }

    .graph ul {
        padding-left: 0
    }

    .graph ul li {
        line-height: 1.6
    }

    .graph--mixtapeEmbed {
        margin-bottom: 25px;
        padding: 15px 0;
        border: 1px solid var(--farallon-border-color);
        border-radius: 4px;
        display: flex
    }

    .graph--mixtapeEmbed .mixtapeImage {
        display: none
    }

    .graph--mixtapeEmbed .mixtapeContent {
        padding: 0 15px
    }

    .graph--mixtapeEmbed .mixtapeContent .markup--em {
        font-style: normal;
        font-size: 12px;
        line-height: 1.4;
        color: var(--farallon-text-light)
    }

    .graph--mixtapeEmbed .mixtapeContent .markup--strong {
        line-height: 1.3;
        margin-bottom: 5px;
        font-size: 16px
    }

    .colonel--figure,
    .grap--figure {
        margin: 0 -3.5% 20px
    }

    .colonel--figure img,
    .grap--figure img {
        border-radius: 0
    }

    .page--archive {
        padding-left: 40px;
        padding-right: 40px
    }

    .archive--list {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:414px) {
    .page--archive {
        padding-left: 3.5%;
        padding-right: 3.5%
    }

    .archive--list {
        grid-template-columns: repeat(1, 1fr)
    }
}

.db--container {
    --db-item-width: 150px;
    --db-item-height: 215px;
    --db-music-width: 150px;
    --db-music-height: 150px;
    --db-primary-color: var(--farallon-hover-color);
    --db-background-white: var(--farallon-background-white);
    --db-background-gray: var(--farallon-background-gray);
    --db-border-color: var(--farallon-border-color);
    --db-text-light: var(--farallon-text-light)
}

.db--nav {
    padding: 30px 0 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.db--navItem {
    font-size: 20px;
    border-bottom: 1px solid transparent;
    transition: border-color .5s;
    display: flex;
    align-items: center;
    text-transform: capitalize;
    margin-right: 20px
}

.db--navItem.current,
.db--navItem:hover {
    border-color: inherit
}

.db--score svg {
    fill: #f5c518;
    margin-right: 5px
}

.db--list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

.db--image {
    height: var(--db-item-height);
    object-fit: cover;
    border-radius: 4px
}

.db--image:hover {
    box-shadow: 0 0 10px var(--db-border-color)
}

.db--title {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.4
}

.db--title a:hover {
    color: var(--db-primary-color)
}

.db--genreItem {
    background: var(--db-background-gray);
    font-size: 12px;
    padding: 5px 12px;
    border-radius: 4px;
    margin-right: 6px;
    margin-bottom: 10px;
    line-height: 1.4
}

.db--genreItem.is-active,
.db--genreItem:hover {
    background-color: var(--db-primary-color);
    color: var(--db-background-white)
}

.doulist-item .doulist-subject .db--viewTime:after,
.ipc-signpost:after {
    top: 0;
    background: inherit;
    position: absolute;
    width: .75rem;
    content: "";
    height: 100%
}

.archive--tagItem:hover,
.category--list .category--item .category--content a:hover {
    color: var(--farallon-hover-color)
}

.db--genres {
    padding-bottom: 15px;
    display: flex;
    flex-wrap: wrap
}

.db--genres.u-hide+.db--list {
    padding-top: 10px
}

.db--score {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: var(--db-text-light)
}

.db--item {
    margin-right: 20px;
    margin-bottom: 20px;
    position: relative
}

.doulist-item .doulist-subject .db--viewTime,
.ipc-signpost {
    background: #f5c518;
    color: #000;
    margin-bottom: 2px;
    display: flex;
    font-weight: 900;
    font-size: 12px
}

.db--item__music img {
    width: var(--db-music-width);
    height: var(--db-music-height);
    object-fit: cover
}

.ipc-signpost {
    position: relative;
    border-radius: 4px;
    line-height: 1;
    padding: 3px 5px;
    width: 58%
}

.ipc-signpost:after {
    right: 0;
    margin-right: -.2rem;
    border-radius: 4px;
    transform: skewX(-20deg)
}

.doulist-item {
    margin: 30px 0;
    color: #666;
    border: 1px solid #eee;
    border-radius: 4px
}

.doulist-item:hover {
    box-shadow: 0 3px 12px var(--farallon-border-color-light)
}

.doulist-item .doulist-subject {
    display: flex;
    align-items: flex-start;
    line-height: 1.6;
    padding: 12px;
    position: relative
}

.doulist-item .doulist-subject .db--viewTime {
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 4px 4px 0;
    line-height: 1;
    padding: 3px 5px 3px 10px
}

.db--card__list .title,
.doulist-item .doulist-subject .doulist-title {
    font-size: 18px;
    margin-bottom: 5px
}

.doulist-item .doulist-subject .db--viewTime:after {
    left: 0;
    margin-left: -.2rem;
    border-radius: 0 4px 4px;
    transform: skewX(20deg)
}

.doulist-item .doulist-subject .doulist-post {
    width: 96px;
    margin-right: 15px;
    display: flex;
    flex: none
}

.doulist-item .doulist-subject .rating {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center
}

.db--card__list .rating .allstardark,
.doulist-item .doulist-subject .rating .allstardark {
    margin-right: 5px;
    color: #f99b01;
    height: 16px;
    background-repeat: repeat;
    background-size: auto 100%;
    width: 80px;
    position: relative
}

.doulist-item .doulist-subject .rating .allstarlight {
    position: absolute;
    left: 0;
    color: #f99b01;
    height: 16px;
    overflow: hidden;
    background-repeat: repeat;
    background-size: auto 100%
}

.doulist-item .doulist-subject img {
    width: 96px !important;
    height: 96px !important;
    border-radius: 4px;
    object-fit: cover
}

.db--date {
    position: relative;
    font-size: 20px;
    color: var(--farallon-text-light);
    font-weight: 900;
    line-height: 1;
    margin-top: 30px;
    margin-bottom: 10px
}

.db--date:before {
    content: "";
    position: absolute;
    top: .5em;
    bottom: -2px;
    left: -10px;
    width: 3.4em;
    z-index: -1;
    background: var(--farallon-hover-color);
    opacity: .3;
    transform: skew(-35deg);
    transition: opacity .2s;
    border-radius: 3px 8px 10px 6px
}

.db--dateList {
    padding-left: 15px;
    padding-top: 5px;
    padding-right: 15px
}

.db--card__list {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px dotted var(--farallon-border-color);
    font-size: 14px;
    color: rgba(0, 0, 0, .55)
}

.db--card__list:last-child {
    border-bottom: 0
}

.db--card__list .rating {
    margin: 0;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center
}

.db--card__list .rating .allstarlight {
    position: absolute;
    left: 0;
    color: #f99b01;
    height: 16px;
    overflow: hidden;
    background-repeat: repeat;
    background-size: auto 100%
}

.db--card__list img {
    width: 80px;
    border-radius: 4px;
    height: 80px;
    object-fit: cover;
    flex: none;
    margin-right: 15px
}

.db--titleDate {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    margin-bottom: 10px;
    flex: none;
    margin-right: 15px;
    align-items: center
}

.db--list__card,
.meta--map.active .meta--mapPop,
.tooltip:hover::after {
    display: block
}

.db--titleDate__day {
    font-weight: 900;
    font-size: 44px
}

.archive--tagItem,
.db--titleDate__month {
    font-size: 14px;
    color: var(--farallon-text-light)
}

.db--titleDate__month {
    font-weight: 900
}

.db--dateList__card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start
}

.db--listBydate {
    display: flex;
    align-items: flex-start;
    margin-top: 15px
}

.category--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px
}

.error--posts,
.link-items {
    grid-gap: 20px
}

.category--list .category--item {
    border: 1px solid var(--farallon-border-color);
    border-radius: 8px;
    display: flex;
    flex-direction: column
}

.category--list .category--item .category--content {
    line-height: 1.6;
    padding: 8px 12px
}

.category--list .category--item .category--content a {
    font-size: 16px;
    font-weight: 600
}

.category--list .category--item .category--content .category--desc {
    font-size: 12px;
    color: #999
}

.category--list .category--item .category--cover {
    width: 100%;
    height: 128px;
    object-fit: cover;
    border-radius: 8px 8px 0 0
}

.archive--tagList {
    display: flex;
    flex-wrap: wrap
}

.archive--tagItem {
    margin: 10px;
    background-color: var(--farallon-background-gray);
    padding: 3px 18px;
    border-radius: 999rem
}

.archive--header {
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 15px
}

.archive--header .post--single__title {
    margin-bottom: 0
}

.archive--header .post--single__subtitle {
    line-height: 1.4;
    font-size: 18px;
    color: var(--farallon-text-light)
}

.archive-header {
    text-align: center;
    padding-top: 30px;
    padding-left: 80px;
    padding-right: 80px
}

.feature--header,
.template--linksWrap,
.template--map {
    padding: 50px 0
}

.archive-header .taxonomy-description {
    font-size: 18px;
    color: rgba(0, 0, 0, .6)
}

.archive-title {
    display: flex;
    align-items: center
}

.archive-title svg {
    margin-right: 10px
}

.main::after {
    aspect-ratio: 1/3;
    background-image: linear-gradient(to right, #007cf0, #00dfd8);
    border: 0 solid #e5e5e5;
    border-radius: 9999px;
    bottom: calc(100% - 100px);
    filter: blur(44px);
    opacity: .2;
    position: absolute;
    right: 0;
    left: 0;
    content: ""
}

.template--douban .hero--title,
.template--links .hero--title,
.template--map .hero--title {
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(90deg, #007cf0, #00dfd8);
    font-weight: 700;
    text-align: center
}

.template--map .hero--title {
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 26px
}

.footer-map {
    border: 0
}

.template--links .hero--title {
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 26px
}

.link-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

.link-item {
    border-radius: 10px;
    padding: 15px
}

.link-item .sitename {
    font-size: 12px;
    color: var(--farallon-text-gray);
    display: flex;
    flex-direction: column;
    line-height: 1.5
}

.link-item .sitename strong {
    font-size: 16px;
    color: var(--farallon-text-color);
    margin-bottom: 10px
}

.markerPro--post {
    padding-top: 30px;
    padding-bottom: 30px
}

.template--douban {
    padding: 50px 75px
}

.template--douban .hero--title {
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 26px
}

.doulist-item {
    background: linear-gradient(90deg, rgba(255, 233, 244, .3) 0, rgba(234, 243, 255, .5) 100%);
    border-color: rgba(0, 0, 0, 2%)
}

.mapHeader {
    display: flex;
    align-items: center;
    padding: 30px 0
}

.mapHeader--title {
    font-size: 28px
}

.mapHeader--image {
    width: 64px;
    height: 64px;
    margin-right: 20px
}

.footer-map {
    height: 550px;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    border-radius: 4px
}

.footer-map .lds-ripple {
    position: absolute;
    z-index: 10;
    top: calc(50% - 40px);
    left: calc(50% - 40px)
}

.map--tools {
    position: absolute;
    left: 10px;
    top: 10px;
    background-color: #fff;
    width: 32px;
    height: 32px;
    z-index: 20px
}

.map--tools.active {
    background-color: var(--main-bg-color)
}

.map--tools--mark {
    top: 52px
}

.header-map-note {
    margin-top: 30px
}

.feature--header h1 {
    font-size: 48px
}

.feature--header p {
    font-size: 18px;
    padding-right: 40%;
    color: rgba(0, 0, 0, .6)
}

.linkGroup {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding-top: 50px;
    grid-column-gap: 20px;
    column-gap: 20px
}

.link--item {
    margin-bottom: 40px;
    padding: 10px 0
}

.link--item .title {
    font-size: 18px;
    font-weight: 700
}

.link--item .description {
    line-height: 1.6;
    font-size: 14px;
    color: var(--text-gray-light);
    max-height: 3.2em;
    display: -webkit-box
}

.link--action,
.link--item .link {
    color: var(--main-bg-color);
    font-weight: 700
}

.link--item .link {
    font-size: 12px;
    margin-top: 5px;
    position: relative;
    transition: .5s;
    fill: var(--main-bg-color)
}

.link--item .link a {
    display: flex;
    align-items: center
}

.link--item .link:hover {
    transform: translate3d(10px, 0, 0);
    color: var(--main-hover-color)
}

@media(max-width:600px) {
    .db--listBydate {
        flex-direction: column
    }

    .category--list {
        grid-template-columns: repeat(1, 1fr)
    }

    .feature--header {
        padding: 30px 0
    }

    .feature--header h1 {
        font-size: 32px
    }

    .feature--header p {
        font-size: 16px;
        padding-right: 0;
        color: var(--text-gray-light)
    }

    .linkGroup {
        grid-template-columns: repeat(2, 1fr);
        padding-top: 30px
    }

    .link--item {
        margin-bottom: 10px;
        padding: 0
    }

    .mapHeader--title {
        font-size: 18px
    }

    .mapHeader--image {
        width: 32px;
        height: 32px;
        margin-right: 10px
    }
}

.link--action {
    border: 2px solid var(--main-bg-color);
    font-size: 16px;
    padding: 3px 20px;
    border-radius: 2px
}

.link--action:hover {
    background-color: var(--main-hover-color);
    border-color: var(--main-hover-color);
    color: var(--text-white)
}

.link--actions {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 0
}

.tooltip {
    position: relative;
    display: flex;
    align-items: center
}

.tooltip:after {
    content: "忠实读者";
    position: absolute;
    background-color: var(--text-main-color);
    color: var(--text-white);
    font-size: 12px;
    border-radius: 2px;
    top: -30px;
    padding: 3px;
    width: 60px;
    text-align: center;
    left: -14px;
    display: none
}

.marker {
    background: linear-gradient(180deg, #cf6609, #c00);
    box-shadow: 0 16px 60px rgba(0, 0, 0, 8%), 0 6px 12px rgba(0, 0, 0, .1);
    background-size: cover;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    transition: width .2s ease-out, height .2s ease-out;
    border: 2px solid #fff
}

.marker::before {
    position: absolute;
    border-radius: 100%;
    content: "";
    width: 100%;
    height: 100%;
    background-image: var(--photo);
    background-position: 50%;
    background-size: cover;
    transition: opacity .5s ease-out;
    opacity: 0
}

.footer--icon:hover,
.marker:not(.no-hover):hover::before {
    opacity: 1
}

.marker:not(.no-hover):hover {
    width: 64px;
    height: 64px;
    z-index: 100
}

.marker.no-post {
    background: linear-gradient(180deg, #89a9cd 0, #485f81)
}

.cluster::after {
    content: attr(data-cardinality);
    color: #fff;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    height: 100%;
    font-size: 12px;
    font-weight: 700;
    transition: font-size .2s ease-out
}

.post--error .meta,
.post--error .meta time {
    display: flex;
    align-items: center
}

.cluster:hover::after {
    font-size: 32px
}

.mapboxgl-popup {
    width: 200px
}

.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right {
    display: none
}

.mapboxgl-popup-content {
    padding: 5px 10px 10px;
    line-height: 1.6;
    font-size: 14px
}

.mapboxgl-popup-content h3 {
    font-weight: 700;
    padding: 5px 0 0
}

.footer-map-note {
    font-size: 14px;
    color: rgba(0, 0, 0, .56);
    margin-bottom: 100px
}

.markder {
    position: absolute;
    height: 150px;
    width: 150px;
    top: var(--y);
    left: var(--x);
    border: 2px solid var(--main-bg-color);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    will-change: top, left;
    transition: border-color .3s linear, opacity .6s ease-out;
    opacity: .3;
    z-index: 1000
}

.meta--map {
    position: relative
}

.meta--mapPop {
    position: absolute;
    background-color: rgba(254, 254, 254, .88);
    border: 12px solid rgba(254, 254, 254, .88);
    border-radius: 12px;
    width: 226px;
    height: 226px;
    box-sizing: border-box;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
    z-index: 10;
    display: none
}

.error--posts,
.good--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

.footer--map {
    height: 300px;
    border-radius: 4px;
    margin-bottom: 20px;
    overflow: hidden
}

.marker--posts {
    max-height: 200px;
    overflow-y: auto;
    padding-top: 10px
}

.marker--posts::-webkit-scrollbar {
    width: 1px
}

.template--404 {
    padding: 0 80px 80px
}

.template--404 .error--text {
    font-size: 120px;
    text-align: center;
    color: var(--farallon-text-gray)
}

.good--name .brand,
.post--error .meta {
    color: var(--farallon-text-gray-lightest)
}

.post--error {
    border: 1px solid var(--farallon-border-color-light);
    padding: 8px;
    border-radius: 10px
}

.post--error .post--title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px
}

.post--error .cover {
    width: 100%;
    height: 150px;
    object-fit: cover
}

.post--error .meta {
    font-size: 12px;
    flex-wrap: wrap
}

.post--error .meta svg {
    margin-right: 4px;
    fill: var(--farallon-text-gray-lightest);
    margin-left: 10px
}

.post--error .meta a:hover {
    text-decoration: underline
}

.footer--icon {
    width: 20px;
    margin-left: 5px;
    opacity: .7;
    cursor: no-drop
}

.template--about {
    padding-top: 20px
}

.good--list {
    grid-gap: 10px;
    padding: 30px 0 20px
}

.good--item,
.good--item:hover .good--actions,
.good--item:hover .good--review {
    display: flex
}

.good--item {
    position: relative;
    align-items: center;
    justify-content: center;
    background: var(--farallon-background-gray);
    border-radius: 10px;
    padding: 30px 0 0;
    flex-direction: column
}

.good--item .img-spacer {
    width: 50%;
    position: relative;
    transition: .5s
}

.good--item:hover .img-spacer {
    transform: translate3d(0, -5px, 0)
}

.good--name {
    font-size: 14px;
    padding-bottom: 10px;
    color: var(--farallon-text-color);
    margin-top: 10px;
    line-height: 1.4;
    width: 92%
}

@media(max-width:600px) {
    .link--actions {
        padding: 15px 0
    }

    .good--list {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 15px;
        padding: 10px 0 30px
    }
}

.dot::before {
    content: "·";
    margin-left: 4px;
    margin-right: 4px
}

.notice--wrapper {
    background-color: rgba(0, 0, 0, .9);
    color: #fff;
    font-size: 12px;
    max-width: 800px;
    padding: 10px 15px;
    border-radius: 8px;
    position: fixed;
    z-index: 1000;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    transition: transform .5s
}

@media(max-width:768px) {
    .page--archive {
        padding-left: 3.5%;
        padding-right: 3.5%
    }

    .notice--wrapper {
        width: 80%
    }
}

.comment-body a {
    word-wrap: break-word;
    word-break: break-all
}