/* Keep the existing card proportions while making the entire author area tappable. */
.tpn-publisher-trigger { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #17252f; text-align: left; font: 700 14px/1.4 Arial, sans-serif; cursor: pointer; }
.tpn-publisher-trigger > img, .tpn-publisher-avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.tpn-publisher-avatar { display: grid; place-items: center; background: #fce9e9; color: #bd1717; }
.tpn-publisher-copy { display: flex; flex-direction: column; min-width: 0; }
.tpn-publisher-name { overflow-wrap: anywhere; }
.tpn-publisher-location { font-size: 12px; color: #5c6975; }
.tpn-publisher-trigger:hover .tpn-publisher-name { text-decoration: underline; }
.tpn-publisher-trigger:disabled { cursor: default; }
.tpn-publisher-badge { display: inline-block; margin-left: 6px; padding: 2px 6px; border-radius: 4px; color: #a32424; background: #fff0f0; font-size: 11px; }
.tpn-publisher-byline { display: inline-flex; flex: none; gap: 4px; font-size: 12px; }

/* A native dialog stays above the sticky header and fits narrow phone screens. */
.tpn-publisher-dialog { box-sizing: border-box; width: min(620px, calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: 20px; border: 1px solid #dfe4e9; border-radius: 12px; background: #fff; color: #17252f; font: 14px/1.5 Arial, sans-serif; overflow: auto; overscroll-behavior: contain; }
.tpn-publisher-dialog::backdrop { background: rgb(10 20 30 / 55%); }
.tpn-publisher-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tpn-publisher-dialog h2 { font-size: 20px; margin: 0; }
.tpn-publisher-dialog button { min-height: 44px; padding: 8px 14px; border: 1px solid #d8dfe6; border-radius: 6px; background: #f5f7f9; color: #17252f; font: 600 14px/1.4 Arial, sans-serif; cursor: pointer; }
.tpn-publisher-dialog button:disabled { opacity: .5; cursor: default; }
.tpn-publisher-summary { display: flex; align-items: center; gap: 14px; margin: 22px 0; overflow-wrap: anywhere; }
.tpn-publisher-summary img { border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.tpn-publisher-summary h3 { font-size: 19px; margin: 0; }
.tpn-publisher-summary p { margin: 3px 0 0; color: #5c6975; }
.tpn-publisher-summary .tpn-publisher-badge { margin: 5px 0 0; }
.tpn-publisher-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 14px 0; border-block: 1px solid #e3e7eb; text-align: center; }
.tpn-publisher-stats dt { color: #5c6975; font-size: 12px; }
.tpn-publisher-stats dd { margin: 4px 0 0; font-size: 20px; font-weight: 700; }
.tpn-publisher-posts { list-style: none; padding: 0; margin: 0; }
.tpn-publisher-posts li { padding: 14px 0; border-bottom: 1px solid #e3e7eb; }
.tpn-publisher-posts a { display: block; color: #17252f; font-size: 16px; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.tpn-publisher-posts a:hover { color: #bd1717; text-decoration: underline; }
.tpn-publisher-posts span { display: block; margin-top: 5px; color: #5c6975; font-size: 12px; }
.tpn-publisher-more { margin-top: 16px; width: 100%; }
.tpn-publisher-dialog :is(button, a):focus-visible, .tpn-publisher-trigger:focus-visible { outline: 3px solid #1367bc; outline-offset: 3px; }
