/* ============================================================
   PREMIUM · polish that does not touch the navigation (the top bar stays exactly as it was)
   Each rule answers something seen in a rendered page.
   ============================================================ */

/* the floating "Ask the agent": a small square paper chip with the mark; the label appears on hover or focus */
.hx-fab { padding: 4px !important; gap: 0 !important; width: auto !important; border-radius: 0 !important; background: var(--raise) !important; border: 1px solid var(--ink) !important; box-shadow: none !important; color: var(--ink) !important; overflow: visible !important; }
.hx-fab::before, .hx-fab::after { display: none !important; }
.hx-fab:hover { transform: none !important; background: var(--ground) !important; }
.hx-fab .hx-avatar, .hx-fab .hx-avatar svg { width: 38px !important; height: 38px !important; }
.hx-fab .hx-fab-text { display: none !important; }
.hx-fab:hover .hx-fab-text, .hx-fab:focus-visible .hx-fab-text { display: flex !important; flex-direction: column; position: absolute; right: calc(100% + 8px); bottom: 0; padding: 8px 12px; background: var(--raise); border: 1px solid var(--ink); white-space: nowrap; color: var(--ink); }
.hx-fab .hx-fab-label { font: 600 11px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.hx-fab .hx-fab-sub { font: 400 11px/1.3 var(--sans, var(--body)); color: var(--ink-dim); }

/* a heading is followed by air, then the lede (the h2 on Launch/Agents/Oracle had none) */
.view :is(h1, h2) + p.lede, .view :is(h1, h2) + .lede, .hero :is(h1, h2) + p { margin-top: 22px !important; }
.hero .lede, .sect > .wrap > .lede, .view .lede { max-width: 66ch; font-size: 18px; line-height: 1.6; }

/* the eyebrow never cuts a word: a long note wraps to its own line */
.eyebrow { flex-wrap: wrap; gap: 4px 20px; }
.eyebrow > span { min-width: 0; }

/* figure frames: one square, ruled frame (Agents had a rounded grey gradient, Launch a square one) */
.pv-plate, .wl-plate, .ag-plate, .rc-plate, .agh-plate { border-radius: 0 !important; border: 1px solid var(--ink) !important; box-shadow: none !important; background-image: none !important; }
.ag-plate::before, .ag-plate::after, .rc-plate::before, .rc-plate::after, .wl-plate::before, .wl-plate::after { display: none !important; }

/* stat chips: a chip with a zero reads as a broken number. Dim a zero chip instead of leaving it as loud as a real one */
.wl-stat, .om-stats > * { transition: opacity .15s; }
.om-stats > *:has(> strong:is([data-zero], :empty)) { display: none; }

/* rows: one hairline between rows, no double borders where a row sits inside a panel */
.tr-row + .tr-row { border-top: 1px solid var(--rule, rgba(27, 26, 23, .14)); }

/* the World: the coin panel must not sit under the chat chip */
html[data-world="true"] .hx-fab { top: 86px !important; bottom: auto !important; right: 16px !important; height: auto !important; width: auto !important; max-height: 52px; }

/* key/value cards: break at spaces, never inside a word ("not hing", "pr ices") */
.ag-kv strong { word-break: normal !important; overflow-wrap: break-word !important; hyphens: manual; }
.ag-kv { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 18px 28px !important; }
.panel[hidden] { display: none !important; }
/* the chat chip: nothing behind it (a second offset box was painting under the first) */
.hx-fab, .hx-fab * { box-shadow: none !important; }
.hx-fab { filter: none !important; outline: 0 !important; }

/* the chat chip: editorial.css painted a 4px offset block behind it with higher specificity; match it so nothing sits behind the chip */
.hx-fab, [class*="hx-fab"]:not(.hx-fab-text):not(.hx-fab-label):not(.hx-fab-sub), button.hx-fab#hx-fab { box-shadow: none !important; }

/* plate I fix: the picture and its frame are one paper; the caption spans the whole width and sits under the picture (no notch, no band) */
.hero .plate { background: #fbfaf7 !important; padding-top: 0 !important; }
.hero .plate img.bust { display: block; width: 100%; height: auto; margin: 0; }
.hero .plate .plate-cap { position: static !important; transform: none !important; display: block; width: 100%; max-width: none !important; margin: 0 !important; padding: 12px 14px; box-sizing: border-box; border-top: 1px solid var(--ink); background: #fbfaf7; text-align: center; color: var(--ink-dim); }
.hero .plate canvas.appa { display: none; }
