/* Publication-specific hierarchy, with full-width titles on small screens. */
.publication-page .publication-header {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: 0;
}

.publication-page .publication-header h1 {
    margin: 0;
    font-size: 36px;
}

.publication-page .publication-scholar {
    min-height: 32px;
    padding: 4px 0;
    border: 0;
    border-radius: 2px;
    background: transparent;
}

.publication-page .publication-scholar:hover {
    background: transparent;
    text-decoration: underline;
}

.publication-page .publication-filters {
    margin: 16px 0;
}

.publication-page .publication-topics {
    gap: 8px;
}

.publication-page .publication-topics button {
    position: relative;
    min-height: 34px;
    padding: 6px 10px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--minimal-muted);
    font-size: 14px;
    font-weight: 500;
}

.publication-page .publication-topics button[aria-pressed="true"] {
    background: transparent;
    color: var(--minimal-blue);
    font-weight: 600;
}

.publication-page .publication-topics button[aria-pressed="true"]::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 0;
    left: 10px;
    height: 2px;
    border-radius: 1px;
    background: var(--minimal-blue);
}

.publication-page .publication-topics button:hover {
    background: var(--site-surface);
}

.publication-page .publication-topics button:focus-visible {
    outline: 2px solid var(--minimal-blue);
    outline-offset: 3px;
}

.publication-page .topic-count {
    color: #6b7379;
    font-size: 12px;
    font-weight: 400;
    opacity: 1;
}

.publication-topic-picker {
    display: none;
}

.publication-page .publications {
    margin-top: 20px;
}

.publication-page .publications h2 {
    margin: 28px 0 8px;
    font-family: var(--site-ui-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
}

.publication-page .publications h2:first-child {
    margin-top: 0;
}

.publication-page .publications .publication-entry {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    padding: 12px 0;
}

.publication-page .publication-entry + .publication-entry {
    border-top: 1px solid #f0f1f1;
}

/* Without year headings, a filtered list reads as one run with even separators. */
.publication-page .publications[data-filtered] ol {
    margin: 0;
}

.publication-page .publications[data-filtered] .publication-entry {
    border-top: 1px solid #f0f1f1;
}

.publication-page .publications[data-filtered] .publication-entry.is-first-shown {
    border-top: 0;
}

.publication-page .publication-copy {
    padding-left: 30px;
    font-size: 14.5px;
}

.publication-page .publication-title {
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 8px;
    margin: 0 0 5px -30px;
    font-size: 17px;
    line-height: 1.4;
}

.publication-page .publication-number {
    font-size: 12px;
    font-weight: 400;
    color: var(--minimal-muted);
}

.publication-details {
    display: grid;
    gap: 3px;
    min-width: 0;
    overflow-wrap: break-word;
}

.publication-authors {
    color: var(--minimal-muted);
    font-size: 14.5px;
    line-height: 1.5;
}

.publication-venue {
    font-size: 14px;
    line-height: 1.5;
}

.publication-page .author-self {
    text-decoration: none;
}

.publication-page .publication-thumbnail {
    height: 80px;
}

@media (max-width: 759px) {
    .publication-page .publication-header h1 {
        font-size: 32px;
    }

    .publication-page .publication-scholar {
        min-height: 44px;
        gap: 5px;
        font-size: 12px;
    }

    .publication-page .publication-scholar i {
        font-size: 14px;
    }

    .publication-page .publication-filters {
        margin: 12px 0 8px;
    }

    .publication-page .publication-topics {
        display: none;
    }

    .publication-topic-picker {
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--minimal-muted);
        font-family: var(--site-ui-font);
        font-size: 14px;
    }

    .publication-topic-picker select {
        min-width: 0;
        min-height: 44px;
        flex: 1;
        padding: 8px 12px;
        border: 1px solid var(--site-rule);
        border-radius: 6px;
        background: #fff;
        color: var(--minimal-ink);
        font: inherit;
        cursor: pointer;
    }

    .publication-topic-picker select:focus-visible {
        outline: 2px solid var(--minimal-blue);
        outline-offset: 3px;
    }

    .publication-page .publications {
        margin-top: 16px;
    }

    .publication-page .publications h2 {
        font-size: 18px;
        margin-bottom: 6px;
    }

    .publication-page .publications .publication-entry {
        grid-template-columns: 72px minmax(0, 1fr);
        grid-template-areas: "title title" "thumbnail details";
        align-items: start;
        gap: 8px 12px;
        padding: 16px 0;
    }

    .publication-page .publication-copy {
        display: contents;
    }

    .publication-page .publication-title {
        grid-area: title;
        grid-template-columns: 18px minmax(0, 1fr);
        column-gap: 6px;
        margin: 0;
        font-size: 16px;
        line-height: 1.4;
    }

    .publication-page .publication-thumbnail {
        grid-area: thumbnail;
        height: 64px;
        margin: 0;
    }

    .publication-details {
        grid-area: details;
    }
}

/* Remove audited blank margins in the preview; enlargement links keep the originals. */
.publication-page .publication-thumbnail {
    --thumbnail-height: 80px;
}

.publication-thumbnail-frame {
    position: relative;
    display: block;
    flex: none;
    width: min(100%, calc(var(--thumbnail-height) * var(--thumb-aspect)));
    aspect-ratio: var(--thumb-aspect);
    overflow: hidden;
}

.publication-page .publication-thumbnail-frame img {
    position: absolute;
    width: var(--thumb-image-width);
    max-width: none;
    height: auto;
    left: var(--thumb-left);
    top: var(--thumb-top);
}

@media (max-width: 759px) {
    .publication-page .publication-thumbnail {
        --thumbnail-height: 64px;
    }
}
