/* Keep Chinese publication glyphs in KaiTi while setting Latin text in Helvetica. */
@font-face {
    font-family: 'Publication Chinese';
    src: local('KaiTi'), local('STKaiti'), local('DFKai-SB'), local('BiauKai');
    font-style: normal;
    font-weight: 100 900;
    unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
}

body,
button,
input,
select,
textarea {
    font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
}

/* The sidebar card spans the home page; its contents remain visible on scroll. */
@media (min-width: 769px) {
    .home-layout {
        align-items: stretch;
    }

    .home-sidebar {
        position: relative;
        top: auto;
        display: block;
        align-self: stretch;
        padding: 0;
        max-height: none;
        overflow: visible;
    }

    .home-sidebar-inner {
        position: sticky;
        top: 84px;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 1.5rem 1.2rem;
    }
}

@media (max-width: 768px) {
    .home-sidebar-inner {
        display: contents;
    }
}

/* Peer-review journals follow the site's body typography and normal text flow. */
.services-card-content .journal-list {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75;
    letter-spacing: normal;
    color: var(--text-secondary);
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-align: left;
}

.services-card-content .journal-list .journal-link {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: none;
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-decoration: none;
}

.services-card-content .journal-list .journal-link:hover,
.services-card-content .journal-list .journal-link:focus-visible {
    color: var(--accent-color);
    text-decoration: underline;
    transform: none;
}

/* Keep the review list compact within the existing Services card. */
.peer-review-card .services-card-content {
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
}

.journal-list .journal-name-zh {
    font-family: 'KaiTi', 'STKaiti', 'BiauKai', 'DFKai-SB', serif;
    font-size: 1em;
    font-weight: 400;
    font-style: normal;
}

@media (max-width: 768px) {
    .peer-review-card .services-card-header,
    .peer-review-card .services-card-content {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
}

/* Preserve the site's original KaiTi styling for Chinese names and citations. */
.text-kaiti,
.chinese-name,
.journal-list .journal-name-zh {
    font-family: 'KaiTi', '\6977\4F53', 'STKaiti', '\534E\6587\6977\4F53', 'DFKai-SB', 'BiauKai', cursive;
    font-style: normal;
}

#publications .publication-authors,
#publications .publication-title,
#publications .publication-venue,
#publications .publication-authors a,
#publications .publication-title a,
#publications .publication-venue em {
    font-family: 'Publication Chinese', Helvetica, "Helvetica Neue", Arial, sans-serif;
}

#publications .text-kaiti {
    font-size: 1.1em;
    font-family: 'KaiTi', 'STKaiti', 'BiauKai', 'DFKai-SB', serif;
    font-style: normal;
    font-weight: 400;
}

/* Titles without a URL share the linked publication title typography. */
.publication-title .publication-title-text {
    color: var(--accent-color);
    font-size: 1rem;
}

/* Degree thesis titles sit between the institution and timeline metadata. */
.edu-thesis {
    max-width: 52rem;
    margin: 0 0 0.45rem;
    color: var(--text-secondary);
    font-size: 0.86rem;
    line-height: 1.45;
}

.edu-thesis span {
    color: var(--text-muted);
    font-weight: 600;
}

/* Allow long publication citations to wrap within the existing flex layout. */
#publications .publication-details {
    min-width: 0;
    overflow-wrap: break-word;
}

/* Let the restored visitor globe use its own size and rotation transforms. */
.globe-container * {
    transform: none;
}

