/* Polish pass (2026-10-12): every section page reads as the home feed, in the Slate & copper palette, with no hard dark slabs. */

/* ---- Feed labels ---- */
/* Time as section titles; an empty kind label takes no space; news under 24 hours old is marked. */
.onyx-design .eg-when {margin:10px 4px 12px;font:800 clamp(22px,2.6vw,30px)/1.1 var(--font-family-sansSerif);letter-spacing:-.04em;color:var(--eg-bone)}
.onyx-design .eg-feed-grid>.eg-when {margin:22px 4px 0}
.onyx-design .eg-post-kind:empty {display:none}
.onyx-design .eg-post-kind.is-breaking {background:var(--eg-live);border-color:var(--eg-live);color:#fff;font-weight:700}

/* ---- Footer: brand light blue ---- */
.onyx-design .lf-footer :is(.lf-footer-brand p,.lf-legal) {color:var(--lf-on-brand)}
.onyx-design .lf-footer .lf-legal {border-top-color:rgb(11 37 64/.3)}

/* ---- "Preferred on Google" button, as news sites show it ---- */
.onyx-design .c-tag-preferred-btn {display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;padding:8px 22px 8px 14px;border-radius:999px;border:1px solid #dadce0;background:#fff;color:#202124;font:600 14px/1.3 var(--font-family-sansSerif);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.onyx-design .c-tag-preferred-btn:is(:hover,:focus-visible) {background:#f8f9fa;border-color:#c6c6c6;box-shadow:0 1px 2px rgb(60 64 67/.2);text-decoration:none}
.onyx-design .c-tag-preferred-btn__icon {width:18px;height:18px;flex-shrink:0}

/* ---- Author pages, including Press Releases ---- */
.onyx-design .eg-author-head {display:flex;align-items:center;gap:22px}
.onyx-design .eg-author-portrait {flex:none;width:112px;height:112px;border-radius:50%;object-fit:cover;background:var(--eg-media)}
.onyx-design .eg-author-head h1 {font-size:clamp(34px,4.6vw,56px)}
.onyx-design .eg-author-links {display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font:600 13px/1.3 var(--font-family-sansSerif)}
.onyx-design .eg-author-links:empty {display:none}
.onyx-design .eg-author-links a {color:var(--eg-bone)}
/* Press releases: compact rows with the company logo, and no picture poster for the first one. */
.onyx-design [data-eg-author="press"] .eg-post--wire {grid-template-columns:92px minmax(0,1fr);column-gap:16px;align-items:start;background:var(--eg-panel);border-style:solid}
.onyx-design [data-eg-author="press"] .eg-post--wire>* {grid-column:2}
.onyx-design [data-eg-author="press"] .eg-post--wire .eg-post-media {display:block;grid-column:1;grid-row:1/span 5;aspect-ratio:1;border-radius:12px;background:#fff;border:1px solid var(--eg-rule)}
.onyx-design [data-eg-author="press"] .eg-post--wire .eg-post-media img {object-fit:contain;padding:8px;transform:none}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child {min-height:0;padding:14px 18px;align-content:start;border-color:var(--eg-rule);--eg-bone:var(--lf-ink);--eg-dim:var(--lf-muted);--eg-rule:var(--lf-line)}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-media {position:relative;inset:auto;z-index:auto;border-radius:12px;aspect-ratio:1}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-media::after {content:none}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-head {position:static}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-kind {background:none}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-title {font-size:17px;letter-spacing:-.015em}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-deck {display:none}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-go {padding:9px 16px;font-size:13px}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .dz-fact {background:var(--eg-panel2);border-color:var(--lf-line);backdrop-filter:none}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .dz-stamp {background:var(--lf-ink);color:var(--eg-panel)}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .dz-bar i {background:var(--lf-line)}
.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .dz-bar i.is-on {background:var(--lf-ink)}
@media (max-width:700px) {
  .onyx-design .eg-author-head {align-items:flex-start;gap:14px}
  .onyx-design .eg-author-portrait {width:72px;height:72px}
  .onyx-design [data-eg-author="press"] .eg-post--wire {grid-template-columns:64px minmax(0,1fr);column-gap:12px}
}

/* ---- TLDR Biotech ---- */
.onyx-design .eg-home--tldr .lf-tldr {grid-template-columns:auto minmax(0,1fr);gap:16px 22px;margin:0 0 18px;padding:20px 22px;border-radius:22px;background:var(--eg-panel);border:1px solid var(--eg-rule);color:var(--eg-bone)}
.onyx-design .eg-home--tldr .lf-tldr-mark {color:var(--eg-violet)}
.onyx-design .eg-home--tldr :is(.lf-tldr-mark small,.lf-tldr-mark span,.lf-tldr-editor,.lf-tldr-copy em) {color:var(--eg-dim)}
.onyx-design .eg-home--tldr .lf-tldr-editor strong {color:var(--eg-bone)}
.onyx-design .eg-home--tldr .lf-tldr-copy {grid-column:1/-1}
.onyx-design .eg-home--tldr a.lf-tldr-button {grid-column:1/-1;justify-self:start;border-radius:24px}
.onyx-design .eg-tldr-list {display:grid;gap:10px}
.onyx-design .eg-tldr .eg-post--wire {background:var(--eg-panel);border-style:solid}
.onyx-design .eg-tldr .eg-post--wire .eg-post-deck {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
.onyx-design .eg-tldr-lead {margin-bottom:6px}
.onyx-design .eg-tldr-media {aspect-ratio:2/1;background:#fff}
.onyx-design .eg-tldr-media img {object-fit:contain}
.onyx-design .eg-tldr-note {margin:0;padding:24px 4px;color:var(--eg-dim)}

/* ---- Onyx Live page: paper and panels instead of dark slabs ---- */
.onyx-design .lf-broadcast {background:transparent;color:var(--lf-ink)}
.onyx-design .lf-broadcast-head h1 span {color:var(--eg-violet)}
.onyx-design .lf-broadcast :is(.lf-broadcast-intro p,.lf-broadcast-nav p,.lf-broadcast-meta,.lf-broadcast-deck,.lf-broadcast-byline) {color:var(--lf-muted)}
.onyx-design .lf-broadcast-nav {border-block-color:var(--lf-line)}
.onyx-design .lf-broadcast-nav a {border-color:var(--lf-line);background:var(--eg-panel)}
.onyx-design .lf-broadcast-nav a:hover {background:var(--lf-ink);border-color:var(--lf-ink);color:var(--lf-paper)}
.onyx-design .lf-broadcast-latest {margin:28px 38px;padding:32px;border-radius:22px;background:var(--eg-panel);border:1px solid var(--eg-rule)}
.onyx-design .lf-broadcast-feature-grid>.lf-broadcast-item:not(:first-child) {border-top-color:var(--lf-line)}
.onyx-design .lf-broadcast-collections {background:transparent}
.onyx-design .lf-broadcast-image {border-radius:16px;background:var(--eg-media);margin-bottom:16px}
.onyx-design .lf-broadcast-image.eg-post-video img {height:100%}
.onyx-design .lf-broadcast-grid .eg-play,.onyx-design .lf-broadcast-feature-grid>.lf-broadcast-item:not(:first-child) .eg-play {transform:scale(.7)}
.onyx-design .lf-broadcast-card .dz-arm {margin:0 0 14px;padding:8px 12px;gap:6px 12px}
.onyx-design .lf-broadcast-card .dz-arm-lead {font-size:10px;max-width:none}
.onyx-design .lf-broadcast-card .dz-arm img {height:28px}
.onyx-design .lf-broadcast-sponsors {border-radius:16px;border:1px solid var(--eg-rule)}
.onyx-design .lf-broadcast-connect {margin:0 38px 38px;border-radius:22px;background:var(--eg-panel2)}
.onyx-design .lf-broadcast-connect img {border-radius:12px}
@media (max-width:600px) {
  .onyx-design .lf-broadcast-latest {margin:16px 12px;padding:20px 16px}
  .onyx-design .lf-broadcast-connect {margin:0 12px 24px}
}

/* ---- Interview quotes: two or three, stepped through like stories ---- */
.onyx-design .dz-slide {display:none;gap:12px}
.onyx-design .dz-slide.is-on {display:grid;animation:dz-in .35s ease}
@keyframes dz-in {from {opacity:0;transform:translateX(8px)} to {opacity:1;transform:none}}
.onyx-design .dz-dots {position:absolute;top:12px;left:14px;right:14px;display:flex;gap:5px}
.onyx-design .dz-dots i {flex:1;height:3px;border-radius:2px;background:var(--eg-on-scrim-rule)}
.onyx-design .dz-dots i.is-on {background:var(--eg-on-scrim)}
.onyx-design .dz-quote--many {padding-inline:clamp(40px,7vw,56px)}
.onyx-design .dz-step {position:absolute;top:24px;bottom:0;width:clamp(36px,6vw,48px);display:grid;place-items:center;cursor:pointer;color:var(--eg-on-scrim);opacity:.55;transition:opacity .2s,background .2s}
.onyx-design .dz-step--prev {left:0}
.onyx-design .dz-step--next {right:0}
.onyx-design .dz-step::before {content:'‹';font:400 34px/1 var(--font-family-sansSerif)}
.onyx-design .dz-step--next::before {content:'›'}
.onyx-design .dz-step:hover {opacity:1;background:rgb(255 255 255/.08)}
.onyx-design .dz-has-quote:not(.is-quote) .dz-step {pointer-events:none}
.onyx-design .dz-quote--inline.dz-quote--many {position:relative;display:grid;gap:12px;padding:18px clamp(40px,7vw,56px) 0}
.onyx-design .dz-quote--inline .dz-dots {top:0;left:0;right:0}
.onyx-design .dz-quote--inline .dz-step {top:10px}
@media (prefers-reduced-motion:reduce) {.onyx-design .dz-slide.is-on {animation:none}}

/* ==== Fixes from the fresh-eyes critique (2026-10-12) ==== */

/* One header everywhere: the quiet Subscribe pill and pale rule of the feed pages, not a navy pill and navy rule elsewhere. */
.onyx-design .lf-subscribe,.onyx-design:has(.eg-home) .lf-subscribe {background:transparent;color:var(--lf-ink)!important;border:1px solid var(--lf-line)}
.onyx-design .lf-header .lf-nav {border-top-color:var(--lf-line)}

/* Fewer repeated labels: no "Onyx / Section" line, and a card does not restate the section it is listed under. */
.onyx-design .eg-section-kicker {display:none}
.onyx-design .eg-post-section[hidden] {display:none}
.onyx-design [data-eg-author="press"] .eg-post-kind,.onyx-design .eg-tldr .eg-post--wire .eg-post-section {display:none}
.onyx-design .eg-post-head time {white-space:nowrap}
.onyx-design .eg-home--tldr .eg-section-dek {display:none}

/* Time headings: one spacing rule, aligned to the card edge. */
.onyx-design .eg-when {margin:36px 0 12px}
.onyx-design .eg-feedcol>.eg-when:first-of-type,.onyx-design .eg-hot+.eg-since+.eg-when {margin-top:22px}
.onyx-design .eg-feed-grid>.eg-when {margin:26px 0 0}
.onyx-design .eg-tldr .eg-when {margin:28px 0 12px}

/* The big number: a little air above it, slightly smaller, caption on the numeral's baseline. */
.onyx-design .dz-figure {margin-top:4px;align-items:baseline}
.onyx-design .dz-figure strong {font-size:clamp(40px,6vw,60px)}
.onyx-design .dz-next .dz-cap {white-space:nowrap}

/* Organiser band: a one-line label, and on the hot strip a full row with the logo at the right. */
.onyx-design .dz-arm-lead {max-width:none;white-space:nowrap}
.onyx-design .dz-arm--hot {width:100%;margin-left:0}

/* Press releases: the logo no longer stretches the card, and headlines get the feed's weight. */
.onyx-design [data-eg-author="press"] .eg-post--wire,.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child {display:grid;grid-template-columns:minmax(0,1fr);padding:14px 18px 14px 126px;min-height:120px;align-content:start}
.onyx-design [data-eg-author="press"] .eg-post--wire>* {grid-column:1}
.onyx-design [data-eg-author="press"] .eg-post--wire .eg-post-media,.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-media {position:absolute;left:18px;top:14px;right:auto;bottom:auto;width:92px;height:92px;grid-area:auto}
.onyx-design [data-eg-author="press"] .eg-post--wire .eg-post-title,.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-title {font-weight:650;line-height:1.22}
.onyx-design .lf-broadcast-card h3 {font-weight:700}
@media (max-width:700px) {
  .onyx-design [data-eg-author="press"] .eg-post--wire,.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child {padding-left:84px;min-height:84px}
  .onyx-design [data-eg-author="press"] .eg-post--wire .eg-post-media,.onyx-design [data-eg-author="press"] .eg-feed-grid>.eg-post--wire:first-child .eg-post-media {left:14px;width:56px;height:56px}
}

/* ---- Event credit: event name, then place and dates, then host. Fitted to its content, no spare white space. ---- */
.onyx-design .dz-event {position:relative;z-index:2;justify-self:start;display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px 22px;width:fit-content;max-width:100%;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--eg-rule);color:#14213a}
.onyx-design .dz-event-main {display:grid;gap:3px;min-width:0}
.onyx-design .dz-event .dz-cap {color:#5a6475}
.onyx-design .dz-event-name {font:800 clamp(18px,2vw,21px)/1.08 var(--font-family-sansSerif);letter-spacing:-.04em;color:#14213a}
.onyx-design .dz-event-meta {font:600 14px/1.3 var(--font-family-sansSerif);letter-spacing:-.01em;color:#3a4558}
.onyx-design .dz-event a.dz-event-host,.onyx-design .eg-post .dz-event a.dz-event-host {display:grid;gap:4px;padding-left:22px;border-left:1px solid #dcd5ca;color:#14213a;text-decoration:none}
.onyx-design .dz-event-host img {display:block;height:34px;width:auto;max-width:100%;transition:transform .2s}
.onyx-design .dz-event-host:hover img {transform:translateY(-1px)}
.onyx-design .dz-event-host img[src*="ISCT"] {height:54px}
/* Second card onwards in a run from the same event: name and host logo only. */
.onyx-design .dz-event--compact {padding:8px 14px;gap:8px 16px}
.onyx-design .dz-event--compact .dz-event-name {font-size:15px;letter-spacing:-.02em}
.onyx-design .dz-event--compact a.dz-event-host {padding-left:16px}
.onyx-design .dz-event--compact .dz-event-host img {height:26px}
.onyx-design .dz-event--compact .dz-event-host img[src*="ISCT"] {height:34px}
/* Under a heading that already names the event. */
.onyx-design .dz-event--noname .dz-event-meta {font:800 clamp(16px,1.6vw,18px)/1.15 var(--font-family-sansSerif);letter-spacing:-.03em;color:#14213a}
.onyx-design .eg-hot>.dz-event {margin:0 0 14px}
.onyx-design .lf-broadcast-collection>.dz-event {margin:-12px 0 26px}
.onyx-design .dz-event--article {margin:18px 0 0}
@media (max-width:700px) {
  .onyx-design .dz-event {padding:10px 12px;gap:8px 14px}
  .onyx-design .dz-event a.dz-event-host {padding-left:14px}
  .onyx-design .dz-event-host img {height:30px}
  .onyx-design .dz-event-host img[src*="ISCT"] {height:42px}
}

/* Scroll-up pill: it was navy text on a navy pill (in this palette --eg-bone and --eg-ink are the same colour), so it
   showed as a blank dark lozenge. Now a light pill with an arrow and a plain label. */
.onyx-design .eg-uppill {display:inline-flex;align-items:center;gap:8px;padding:10px 18px 10px 14px;background:var(--eg-panel);color:var(--lf-ink)!important;border:1px solid var(--eg-rule);box-shadow:0 6px 22px var(--eg-shadow);font:500 13px/1.2 var(--font-family-sansSerif)}
.onyx-design .eg-uppill strong {font-weight:800}
.onyx-design .eg-uppill-icon {flex:none}
.onyx-design .eg-uppill-title {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onyx-design .eg-uppill:hover {border-color:var(--eg-focus-rule)}
/* Same fault on the play badge of the in-article Onyx Live clip: navy icon on a navy disc. */
.onyx-design .eg-clip-play {background:var(--eg-panel);color:var(--lf-ink);box-shadow:0 4px 14px rgb(0 0 0/.3)}

/* And on the end-of-article reading milestone: navy text on a navy box, with only the highlighted words visible. */
.onyx-design .eg-milestone {background:var(--eg-panel2);color:var(--lf-ink);border:1px solid var(--eg-rule)}
.onyx-design .eg-milestone strong {color:var(--eg-violet)}

/* "About Onyx": a quiet text link under Search / Subscribe on desktop, and an item in the phone Menu. */
.onyx-design .lf-header .lf-top-actions a.lf-about-link {order:6;padding:2px 0;font:500 11px/1.2 var(--eg-mono);letter-spacing:.02em;color:var(--lf-muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.onyx-design .lf-header .lf-top-actions a.lf-about-link:hover {color:var(--lf-ink)}
.onyx-design .lf-nav .lf-nav-about {display:none}
@media (max-width:650px) {
  .onyx-design .lf-header .lf-top-actions a.lf-about-link {display:none}
  .onyx-design .lf-nav .lf-nav-about {display:block}
}

/* Event strip badge: printed only once the script knows how recent the event is. */
.onyx-design .eg-hot-badge[hidden],.onyx-design .eg-hot[hidden] {display:none}

/* ---- Card hover: a quick pop, then still. No slow zooms or drifting pictures anywhere. ---- */
.onyx-design :is(.eg-post-media img,.eg-hot-img img,.eg-card-img img,.lf-lead-slab .lf-thumb img,.lf-archive-image img) {transition:transform .17s ease-out}
.onyx-design .eg-clip-frame img {animation:none}
.onyx-design .eg-post-media {transition:box-shadow .17s ease-out,transform .17s ease-out}
@media (hover:hover) {
  .onyx-design .eg-post:hover .eg-post-media img,.onyx-design .eg-hot-row a:hover img {transform:scale(1.03)}
  .onyx-design .eg-post:hover .eg-post-media:not(.eg-post-video) {box-shadow:0 10px 26px var(--eg-shadow);transform:translateY(-2px)}
  /* A big "Read" in the middle of the picture says it can be clicked. Video cards keep their play button; the lead poster,
     press logo tiles and a card showing its quote are left alone. */
  .onyx-design .eg-post .eg-post-media:not(.eg-post-video)::before {content:'Read';position:absolute;z-index:1;left:50%;top:50%;padding:14px 30px;border-radius:30px;background:var(--eg-panel);color:var(--lf-ink);font:800 18px/1 var(--font-family-sansSerif);letter-spacing:-.02em;box-shadow:0 8px 26px rgb(0 0 0/.3);opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .17s ease-out,transform .17s ease-out;pointer-events:none}
  .onyx-design .eg-post:hover .eg-post-media:not(.eg-post-video)::before,.onyx-design .eg-post:focus-within .eg-post-media:not(.eg-post-video)::before {opacity:1;transform:translate(-50%,-50%) scale(1)}
  .onyx-design .eg-feed-grid>.eg-post:not(.eg-post--clip):first-child .eg-post-media::before,
  .onyx-design .eg-post--wire .eg-post-media::before,
  .onyx-design .eg-post .eg-post-media.dz-has-quote.is-quote::before,
  .onyx-design .eg-post--story.is-compact .eg-post-media::before {content:none}
  .onyx-design .eg-feed-grid>.eg-post:not(.eg-post--clip):first-child:hover .eg-post-media,.onyx-design [data-eg-author="press"] .eg-post:hover .eg-post-media {box-shadow:none;transform:none}
}
@media (prefers-reduced-motion:reduce) {
  .onyx-design .eg-post:hover .eg-post-media img,.onyx-design .eg-hot-row a:hover img,.onyx-design .eg-post:hover .eg-post-media:not(.eg-post-video) {transform:none}
}

/* How old the piece is: small and grey, under the button. */
.onyx-design .eg-post-age {grid-column:1/-1;margin:-4px 0 0;text-align:right;font:500 11px/1.3 var(--eg-mono);color:var(--eg-dim)}
.onyx-design .eg-post--clip .eg-post-age {text-align:left}

/* Home strip: the place kicker can be long, so it may wrap; the credit under it has no place line of its own. */
.onyx-design .eg-hot-badge {white-space:nowrap}

/* Article progress: a brand-blue bar on a faint full-width track, so the length still to read is visible; it restarts
   for each article in the chain. A quiet "N min left" shows under its right end while scrolling. */
.onyx-design .eg-progress {height:4px;z-index:90;background:rgb(20 33 58/.1)}
.onyx-design .eg-progress span {background:var(--lf-brand);transition:transform .12s linear}
.onyx-design .eg-progress.is-swap span {transition:none}
.onyx-design .eg-progress-left {position:absolute;right:10px;top:8px;padding:4px 9px;border-radius:10px;background:var(--eg-panel);border:1px solid var(--eg-rule);color:var(--lf-muted);font:500 11px/1.2 var(--eg-mono);font-style:normal;opacity:0;transition:opacity .25s}
.onyx-design .eg-progress.is-moving .eg-progress-left:not(:empty) {opacity:1}
@media (prefers-reduced-motion:reduce) {.onyx-design .eg-progress span,.onyx-design .eg-progress-left {transition:none}}

/* Up-next dock: a light panel like everything else, not a navy slab. */
.onyx-design .eg-dock {background:var(--eg-panel);color:var(--lf-ink);border:1px solid var(--eg-rule);box-shadow:0 14px 40px var(--eg-shadow)}
.onyx-design .eg-dock :is(.eg-hook,.eg-dock-hook) {color:var(--lf-brand-ink)}
.onyx-design .eg-dock-go,.onyx-design .eg-dock.is-live .eg-dock-img::after {background:var(--lf-brand);color:var(--lf-on-brand)}
.onyx-design .eg-dock-close {background:var(--eg-panel);color:var(--lf-ink);border-color:var(--eg-rule);opacity:1}

/* A plain "Earlier" where a group has no theme of its own. */
.onyx-design .eg-when--quiet {font-size:clamp(17px,1.8vw,20px);font-weight:700;letter-spacing:-.02em;color:var(--eg-dim)}

/* End-of-feed links: light panels, not navy boxes. */
.onyx-design .eg-doors a,.onyx-design .eg-home .eg-doors a {background:var(--eg-panel);color:var(--lf-ink)!important;border:1px solid var(--eg-rule)}
.onyx-design .eg-doors .eg-hook {color:var(--lf-brand-ink)}
/* A feed page that failed to load offers a retry instead of ending the feed. */
.onyx-design .eg-sentinel:has(.eg-retry) {height:auto;padding:24px 0;text-align:center}
.onyx-design .eg-retry {appearance:none;padding:12px 22px;border-radius:24px;border:1px solid var(--eg-rule);background:var(--eg-panel);color:var(--lf-ink);font:700 14px/1.2 var(--font-family-sansSerif);cursor:pointer}
.onyx-design .eg-retry:hover {border-color:var(--eg-focus-rule)}

/* Reading memory is opt-in: a quiet text switch where the counter sits. */
.onyx-design .lf-top-actions button.eg-track {padding:2px 0;font:500 11px/1.2 var(--eg-mono);letter-spacing:.02em;color:var(--lf-muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.onyx-design .lf-top-actions button.eg-track:hover {color:var(--lf-ink)}

/* Human-written pieces carry no authorship label; the empty marker takes no space. */
.onyx-design .eg-provenance[hidden] {display:none}

/* Article contents box: rounded like everything else. */
.onyx-design .lf-article .c-table-of-contents {border-radius:16px}

/* Phones: two fact labels per row, no wrapped buttons, and the section title keeps clear of the edge. */
@media (max-width:700px) {
  .onyx-design .dz-fact {padding:7px 11px 8px}
  .onyx-design .dz-fact strong {font-size:15px}
  .onyx-design .eg-post-go {white-space:nowrap}
  .onyx-design .eg-section-head h1 {font-size:clamp(30px,9vw,40px)}
  .onyx-design .dz-arm {flex-direction:column;align-items:flex-start}
  .onyx-design .dz-arm-lead {white-space:normal}
  .onyx-design .eg-hot-row li {flex:0 0 78%}
}
