/* Shared author profile, aligned with Search, Browse, Library and Watch. */
#page-author {
    --author-bg: #F6FBFF;
    --author-surface: #FFFFFF;
    --author-ink: #222222;
    --author-muted: #64748B;
    --author-border: #E0E0E0;
    --author-link: #0174B1;
    --author-tint: #E6F7FF;
    --author-on-accent: #FFFFFF;
    min-height: 70vh;
    padding: calc(112px + var(--topnav-inset-top, 0px)) 24px 64px;
    background: var(--author-bg);
    color: var(--author-ink);
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.dark-mode #page-author, html.dark-mode #page-author {
    --author-bg: #0F1620;
    --author-surface: #1B2330;
    --author-ink: #F1F5F9;
    --author-muted: #CBD3DC;
    --author-border: #2E3A4A;
    --author-link: #00B4FF;
    --author-tint: #12374B;
    --author-on-accent: #0F1620;
}
#page-author *, #page-author *::before, #page-author *::after { box-sizing: border-box; }
#page-author .author-container { max-width: 1040px; margin: 0 auto; }
#page-author a { color: var(--author-link); }
#page-author :is(button, a):focus-visible { outline: 3px solid var(--author-link); outline-offset: 3px; }
#page-author .author-breadcrumb { margin: 0 0 16px -8px; }
#page-author .author-breadcrumb a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px; border-radius: 8px; text-decoration: none; font-size: 14px; font-weight: 500; }
#page-author .author-breadcrumb a:hover { background: var(--author-tint); }
#page-author .author-breadcrumb i { font-size: 12px; }
#page-author .author-profile { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 24px; row-gap: 8px; align-items: start; }
#page-author .author-portrait { grid-column: 1; grid-row: 1 / span 2; width: 96px; height: 96px; border: 1px solid var(--author-border); border-radius: 50%; object-fit: cover; background: var(--author-surface); box-shadow: 0 2px 6px rgb(15 23 42 / 5%); }
#page-author .author-initials { display: flex; align-items: center; justify-content: center; color: var(--author-muted); font-size: 30px; font-weight: 700; }
#page-author .author-heading { grid-column: 2; min-width: 0; }
#page-author .author-name { margin: 0; color: var(--author-ink); font-size: 32px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: anywhere; }
#page-author .author-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 4px; color: var(--author-muted); font-size: 14px; font-weight: 500; line-height: 1.5; }
#page-author .author-social-links { display: inline-flex; margin: -8px 0; }
#page-author .author-social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 8px; }
#page-author .author-social-link:hover { background: var(--author-tint); }
#page-author .author-biography { grid-column: 2; min-width: 0; max-width: 720px; }
#page-author .author-bio { color: var(--author-ink); font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; white-space: normal; }
#page-author .author-bio-plain { white-space: pre-line; }
#page-author .author-bio p { margin: 0 0 12px; }
#page-author .author-bio > :last-child { margin-bottom: 0; }
#page-author .author-bio img { max-width: 100%; height: auto; }
#page-author .author-bio-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 4px 0 0 -12px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--author-link); font: 600 15px/1.4 'Inter', system-ui, sans-serif; cursor: pointer; }
#page-author .author-bio-toggle i { font-size: 12px; }
#page-author .author-bio-toggle:hover { background: var(--author-tint); }
#page-author .author-books-section { margin-top: 24px; }
#page-author .author-books-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 18px; }
#page-author .author-books-heading h2 { margin: 0; color: var(--author-ink); font-size: 22px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; overflow-wrap: anywhere; }
#page-author .author-books-heading > span { color: var(--author-muted); font-size: 14px; font-weight: 500; }
#page-author .author-books-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 216px)); justify-content: space-between; align-items: start; gap: 36px 28px; }
#page-author .author-books-grid .book-card { min-width: 0; }
#page-author .author-state, #page-author .author-catalog-state { padding: 32px 28px; border: 1px solid var(--author-border); border-radius: 16px; background: var(--author-surface); }
#page-author .author-state { max-width: 720px; margin: 24px 0; }
#page-author .author-state h1 { margin: 12px 0 8px; color: var(--author-ink); font-size: 28px; font-weight: 700; line-height: 1.25; }
#page-author .author-catalog-state h3 { margin: 12px 0 8px; color: var(--author-ink); font-size: 20px; font-weight: 600; }
#page-author .author-state p, #page-author .author-catalog-state p { margin: 0 0 16px; color: var(--author-muted); font-size: 16px; line-height: 1.5; }
#page-author .author-catalog-state p:last-child { margin-bottom: 0; }
#page-author .author-state-icon { color: var(--author-muted); font-size: 32px; }
#page-author .author-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 8px; background: var(--author-link); color: var(--author-on-accent); font: 600 15px/1.4 'Inter', system-ui, sans-serif; text-decoration: none; cursor: pointer; }
#page-author .author-button:hover { opacity: .9; }
#page-author .author-loading { display: flex; align-items: center; gap: 12px; min-height: 160px; color: var(--author-muted); }
#page-author .author-loading p { margin: 0; }
#page-author .author-loading-spinner { display: block; width: 24px; height: 24px; border: 3px solid var(--author-border); border-top-color: var(--author-link); border-radius: 50%; animation: author-spin .8s linear infinite; }
@keyframes author-spin { to { transform: rotate(360deg); } }
@media (max-width: 700px) {
    #page-author { padding: calc(96px + var(--topnav-inset-top, 0px)) 20px calc(112px + env(safe-area-inset-bottom)); }
    #page-author .author-breadcrumb { margin-bottom: 12px; }
    #page-author .author-profile { grid-template-columns: 72px minmax(0, 1fr); column-gap: 16px; row-gap: 12px; }
    #page-author .author-portrait { grid-row: 1; width: 72px; height: 72px; }
    #page-author .author-initials { font-size: 24px; }
    #page-author .author-heading { align-self: center; }
    #page-author .author-name { font-size: 28px; }
    #page-author .author-biography { grid-column: 1 / -1; }
    #page-author .author-bio { font-size: 15px; line-height: 1.55; }
    #page-author .author-books-section { margin-top: 20px; }
    #page-author .author-books-heading h2 { font-size: 20px; }
    #page-author .author-books-heading > span { display: none; }
    #page-author .author-books-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
    #page-author .author-state, #page-author .author-catalog-state { padding: 24px 20px; }
}
@media (max-width: 359px) {
    #page-author { padding-inline: 16px; }
    #page-author .author-name { font-size: 25px; }
    #page-author .author-books-grid { gap: 24px 12px; }
}
@media (prefers-reduced-motion: reduce) {
    #page-author *, #page-author *::before, #page-author *::after { animation: none !important; transition: none !important; }
}
