.author-profile-page {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(
            circle at top left,
            rgba(105,82,180,.13),
            transparent 34rem
        ),
        #111018;
    color: #eeeaf8;
}

.author-profile-page *,
.author-profile-page *::before,
.author-profile-page *::after {
    box-sizing: border-box;
}

.ap-topbar,
.ap-shell,
.ap-footer {
    width: min(
        1180px,
        calc(100% - 40px)
    );
    margin-left: auto;
    margin-right: auto;
}

.ap-topbar {
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ap-brand {
    color: #fff;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 850;
}

.ap-nav {
    display: flex;
    gap: 22px;
}

.ap-nav a {
    color: #aaa4b8;
    text-decoration: none;
}

.ap-nav a:hover {
    color: #fff;
}

.ap-shell {
    margin-top: 12px;
    margin-bottom: 80px;
}

.ap-hero {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 34px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
}

.ap-eyebrow,
.ap-section-label,
.ap-small-label {
    color: #a89ae4;
    text-transform: uppercase;
    letter-spacing: .11em;
    font-size: .72rem;
    font-weight: 800;
}

.ap-hero h1 {
    margin: 8px 0 7px;
    font-size: clamp(
        2.3rem,
        6vw,
        4.7rem
    );
    line-height: .98;
    letter-spacing: -.045em;
}

.ap-commercial-name {
    margin-top: 12px;
    color: #aaa4b8;
    font-size: 1.05rem;
}

.ap-commercial-name strong {
    color: #e5dff2;
}

.ap-primary-link {
    display: inline-block;
    margin-top: 20px;
    color: #c7baf8;
    text-decoration: none;
    font-weight: 750;
}

.ap-primary-link:hover {
    text-decoration: underline;
}

.ap-identity-card {
    min-width: 190px;
    align-self: center;
    padding: 20px;
    border-radius: 14px;
    background: rgba(168,154,228,.07);
    border: 1px solid rgba(168,154,228,.13);
}

.ap-identity-id {
    margin: 6px 0;
    font-size: 1.7rem;
    font-weight: 850;
}

.ap-muted {
    color: #928b9f;
}

.ap-stat-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(160px, 1fr)
        );
    gap: 10px;
    margin: 18px 0;
}

.ap-stat {
    padding: 19px;
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.07);
}

.ap-stat-accent {
    border-color: rgba(168,154,228,.2);
}

.ap-stat-value {
    font-size: 1.55rem;
    font-weight: 850;
    letter-spacing: -.025em;
}

.ap-stat-label {
    margin-top: 4px;
    color: #8e8798;
    font-size: .79rem;
}

.ap-layout {
    display: grid;
    grid-template-columns:
        minmax(0,2fr)
        minmax(270px,.85fr);
    gap: 18px;
}

.ap-main,
.ap-sidebar {
    min-width: 0;
}

.ap-panel {
    margin-bottom: 18px;
    padding: 26px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.035);
}

.ap-panel h2 {
    margin: 7px 0 20px;
    font-size: 1.45rem;
}

.ap-panel h3 {
    margin: 0;
}

.ap-story-list {
    display: grid;
    gap: 10px;
}

.ap-story {
    display: grid;
    grid-template-columns: 62px minmax(0,1fr);
    gap: 15px;
    padding: 14px;
    border-radius: 13px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.055);
}

.ap-story-cover-wrap,
.ap-story-cover {
    width: 62px;
}

.ap-story-cover {
    aspect-ratio: 2/3;
    border-radius: 7px;
    object-fit: cover;
}

.ap-story-cover-empty {
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.06);
    color: #777080;
    font-size: .8rem;
    font-weight: 800;
}

.ap-story h3 a {
    color: #eeeaf8;
    text-decoration: none;
}

.ap-story h3 a:hover {
    color: #c7baf8;
}

.ap-chips,
.ap-aliases {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ap-chips {
    margin-top: 8px;
}

.ap-chip {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.07);
    color: #bcb5c8;
    font-size: .74rem;
}

.ap-chip-commercial {
    background: rgba(168,154,228,.08);
    border-color: rgba(168,154,228,.16);
    color: #c7baf8;
}

.ap-story-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 16px;
    margin-top: 10px;
    color: #918a9c;
    font-size: .8rem;
}

.ap-story-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 12px;
}

.ap-story-links a {
    color: #b9aaf0;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 700;
}

.ap-story-links a:hover {
    text-decoration: underline;
}

.ap-audience-number {
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
}

.ap-definition-list {
    margin: 20px 0 0;
}

.ap-definition-list > div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.ap-definition-list dt {
    color: #8f889a;
}

.ap-definition-list dd {
    margin: 0;
    font-weight: 750;
}

.ap-explainer {
    margin: 19px 0 0;
    color: #7f7988;
    font-size: .8rem;
    line-height: 1.55;
}

.ap-commercial-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 17px;
}

.ap-commercial-summary > div {
    padding: 10px 13px;
    border-radius: 10px;
    background: rgba(168,154,228,.06);
    color: #9991a6;
    font-size: .82rem;
}

.ap-commercial-summary strong {
    color: #e5dff2;
}

.ap-series-list {
    display: grid;
    gap: 10px;
}

.ap-series-card {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 17px;
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.055);
}

.ap-series-stats {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 5px;
    color: #918a9c;
    font-size: .8rem;
    white-space: nowrap;
}

.ap-alias-block {
    margin-top: 17px;
}

.ap-aliases {
    margin-top: 7px;
}

.ap-identity-evidence {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.06);
    color: #8d8697;
    font-size: .82rem;
    line-height: 1.5;
}

.ap-data-date {
    margin-top: 12px;
    color: #6e6877;
    font-size: .75rem;
}

.ap-footer {
    padding: 20px 0 40px;
    border-top: 1px solid rgba(255,255,255,.06);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #716b79;
    font-size: .8rem;
}

@media (max-width: 760px) {

    .ap-topbar,
    .ap-shell,
    .ap-footer {
        width: min(
            100% - 24px,
            1180px
        );
    }

    .ap-nav {
        gap: 12px;
        font-size: .85rem;
    }

    .ap-hero {
        padding: 20px;
        flex-direction: column;
    }

    .ap-identity-card {
        width: 100%;
        min-width: 0;
    }

    .ap-layout {
        grid-template-columns: 1fr;
    }

    .ap-panel {
        padding: 20px;
    }

    .ap-series-card {
        flex-direction: column;
    }

    .ap-series-stats {
        align-items: flex-start;
    }

    .ap-footer {
        flex-direction: column;
    }

}


/* ============================================================
   SCRYKEEPER AUTHOR AUDIENCE INTELLIGENCE V1
   ============================================================ */

.ap-section-copy {
    max-width: 700px;
    margin:
        -7px
        0
        20px;
    color: #8f889a;
    font-size: .88rem;
    line-height: 1.55;
}


/* Audience-neighbor authors */

.ap-neighbor-list {
    display: grid;
    gap: 9px;
}

.ap-neighbor-card {
    display: grid;
    grid-template-columns:
        32px
        minmax(0, 1fr)
        auto;
    gap: 13px;
    align-items: center;
    padding: 15px;
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.055);
}

.ap-neighbor-rank {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: rgba(168,154,228,.08);
    color: #a89ae4;
    font-size: .77rem;
    font-weight: 850;
}

.ap-neighbor-main h3 {
    margin: 0;
}

.ap-neighbor-main h3 a {
    color: #eeeaf8;
    text-decoration: none;
}

.ap-neighbor-main h3 a:hover {
    color: #c7baf8;
}

.ap-neighbor-lead {
    margin-top: 5px;
    color: #b7afc3;
    font-size: .87rem;
    line-height: 1.45;
}

.ap-neighbor-lead strong {
    color: #ded6ff;
}

.ap-neighbor-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    margin-top: 7px;
    color: #807988;
    font-size: .75rem;
}

.ap-neighbor-link {
    color: #b9aaf0;
    text-decoration: none;
    font-size: .79rem;
    font-weight: 750;
    white-space: nowrap;
}

.ap-neighbor-link:hover {
    text-decoration: underline;
}


/* Story-to-story catalogue overlap */

.ap-pair-list {
    display: grid;
    gap: 9px;
}

.ap-pair-card {
    padding: 15px;
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.055);
}

.ap-pair-titles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-weight: 750;
}

.ap-pair-titles a {
    color: #eeeaf8;
    text-decoration: none;
}

.ap-pair-titles a:hover {
    color: #c7baf8;
}

.ap-pair-arrow {
    color: #716a7b;
}

.ap-pair-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
    margin-top: 8px;
    color: #888191;
    font-size: .79rem;
}

.ap-pair-stats strong {
    color: #bdb5c9;
}


@media (max-width: 680px) {

    .ap-neighbor-card {
        grid-template-columns:
            28px
            minmax(0,1fr);
    }

    .ap-neighbor-link {
        grid-column: 2;
    }

}
