/* Sinal do Grove: community reputation is separate from identity marks. */
.hh-live, .hh-grove-compose-dialog {
  --alpha-ink: #244c31;
  --alpha-muted: #526a59;
  --alpha-fill: #eaf3df;
  --alpha-edge: #b9cfa6;
  --alpha-active: #31592d;
  --alpha-active-ink: #fff;
  --alpha-down: #a33f37;
  --alpha-surface: #f6f9f0;
}
html[data-theme=dark] :is(.hh-live,.hh-grove-compose-dialog) {
  --alpha-ink: #caedab;
  --alpha-muted: #b1c2b4;
  --alpha-fill: #b4df8820;
  --alpha-edge: #c5ed9852;
  --alpha-active: #c3e9a0;
  --alpha-active-ink: #17291b;
  --alpha-down: #f1a79d;
  --alpha-surface: #12221c;
}
.hh-alpha-switch {
  display: flex;
  align-items: center;
  gap: 13px;
  position: relative;
  width: 100%;
  padding: 15px 17px;
  margin: 14px 0;
  border: 1px solid var(--alpha-edge);
  border-radius: 14px;
  color: var(--alpha-ink);
  background: var(--alpha-fill);
  text-align: left;
  cursor: pointer;
}
.hh-alpha-switch > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hh-alpha-switch:has(input:focus-visible) { outline: 3px solid var(--alpha-active); outline-offset: 3px; }
.hh-alpha-switch-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.hh-alpha-switch-copy strong { font-size: 14px; font-weight: 650; }
.hh-alpha-switch-copy small { color: var(--alpha-muted); font-size: 12px; line-height: 1.5; }
.hh-alpha-switch-control {
  display: inline-block; flex: 0 0 42px; width: 42px; height: 25px; border-radius: 30px;
  background: #8e9c90; border: 1px solid #526a5938; position: relative;
  transition: background .15s ease;
}
.hh-alpha-switch-control::after { content: ''; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #0002; transition: transform .15s ease; }
.hh-alpha-switch:has(input:checked) .hh-alpha-switch-control { background: var(--alpha-active); }
.hh-alpha-switch:has(input:checked) .hh-alpha-switch-control::after { transform: translateX(17px); background: var(--alpha-active-ink); }
.hh-alpha-switch:has(input:disabled) { opacity: .65; cursor: default; }
.grove-post.is-alphacall, .grove-post.hh-call { border-color: var(--alpha-edge); }
.hh-alpha-tag { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--alpha-edge); background: var(--alpha-fill); color: var(--alpha-ink); border-radius: 30px; padding: 3px 9px; font-size: 11px; font-weight: 650; line-height: 1.6; margin: 0 0 11px; }
.hh-alpha-tag svg { width: 13px; height: 13px; }
/* Grove Crest: a leaf seal on the portrait and an independent caller signature. */
:root {
  --caller-ink: #a83c4b;
  --caller-fill: #a83c4b14;
  --caller-reputation: #315c31;
  --caller-crest-base: #f7faf3;
}
html[data-theme=dark] {
  --caller-ink: #e397a1;
  --caller-fill: #e397a114;
  --caller-reputation: #c9e8af;
  --caller-crest-base: #12221c;
}
html .hh-caller-identity {
  --caller-height: 24px;
  --caller-font: 10.5px;
  --caller-icon: 13px;
  --caller-padding: 8px;
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 10px;
  min-width: 0;
  max-width: 100%;
  vertical-align: middle;
  font-family: Inter, Arial, sans-serif;
  letter-spacing: normal;
}
html :is(.hh-role,.hh-profile-preview-role).hh-role-alpha,
html .hh-caller-identity > .hh-reputation {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: var(--caller-height,24px);
  margin: 0;
  box-shadow: none;
  font-family: Inter, Arial, sans-serif;
  font-size: var(--caller-font,10.5px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
}
html :is(.hh-role,.hh-profile-preview-role).hh-role-alpha {
  padding: 2px var(--caller-padding,8px);
  color: var(--caller-ink);
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--caller-fill);
}
html .hh-caller-identity > .hh-reputation {
  flex: 0 1 auto;
  max-width: 100%;
  padding: 2px 0;
  color: var(--caller-reputation);
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: calc(var(--caller-font,10.5px) - .5px);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
html .hh-caller-identity > .hh-reputation > span { min-width:0;white-space:normal;overflow-wrap:anywhere; }
html :is(.hh-role,.hh-profile-preview-role).hh-role-alpha > svg,
html .hh-caller-identity > .hh-reputation > svg {
  display: block;
  flex: none;
  width: var(--caller-icon,13px);
  height: var(--caller-icon,13px);
  color: currentColor;
}
html .hh-caller-identity > .hh-reputation > .hh-reputation-arrow { width:12px;height:12px;fill:currentColor;stroke:none; }
html .hh-profile-badges .hh-caller-identity {
  --caller-height: 30px;
  --caller-font: 12px;
  --caller-icon: 16px;
  --caller-padding: 11px;
}
html .hh-profile-badges .hh-role-alpha { gap:6px; }
.hh-profile-preview-identity { display:flex;align-items:center;min-width:0;margin-top:9px; }
/* The seal overlaps the portrait rim without linking it to the label. */
html :is(.hh-profile-avatar,.hh-profile-preview-portrait) { position:relative;overflow:visible; }
html .hh-profile-avatar { width:fit-content; }
html .hh-caller-crest {
  position: absolute;
  z-index: 1;
  right: -2px;
  bottom: -3px;
  display: block;
  width: 20px;
  height: 24px;
  color: var(--caller-ink);
  pointer-events: none;
}
html .hh-caller-crest > svg { display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round; }
html .hh-caller-crest .hh-crest-shell { fill:var(--caller-crest-base);fill:color-mix(in srgb,var(--caller-ink) 8%,var(--caller-crest-base)); }
html .hh-profile-avatar > .hh-caller-crest { right:1px;bottom:0;width:38px;height:46px; }
html .hh-profile-preview-portrait > .hh-caller-crest { right:0;bottom:0;width:28px;height:34px; }
@media(max-width:767px) {
  html .hh-profile-avatar > .hh-caller-crest { width:30px;height:36px; }
}
@media(forced-colors:active) {
  html :is(.hh-role,.hh-profile-preview-role).hh-role-alpha { color:ButtonText;background:ButtonFace;border-color:ButtonText; }
  html .hh-caller-identity > .hh-reputation,html .hh-caller-crest { color:CanvasText; }
  html .hh-caller-crest .hh-crest-shell { fill:Canvas; }
}
/* The compact sidebar identity retains its connected Signal Rail. */
:root {
  --signal-caller: #a83c4b;
  --signal-caller-fill: #a83c4b14;
  --signal-reputation: #315c31;
  --signal-reputation-fill: #91b16a0e;
  --signal-reputation-edge: #91ad7d;
}
html[data-theme=dark] {
  --signal-caller: #e397a1;
  --signal-caller-fill: #e397a114;
  --signal-reputation: #c9e8af;
  --signal-reputation-fill: #9abe790c;
  --signal-reputation-edge: #667f60;
}
html .hh-signal-rail {
  --signal-height: 26px;
  --signal-font: 10.5px;
  --signal-icon: 14px;
  --signal-padding: 8px;
  --signal-gap: 5px;
  --signal-leaf-radius: 12px;
  --signal-end-radius: 8px;
  --signal-seam: 3px;
  --signal-join-radius: calc(var(--signal-leaf-radius) + var(--signal-seam));
  display: inline-flex;
  flex: 0 1 auto;
  align-items: stretch;
  gap: var(--signal-seam);
  max-width: 100%;
  vertical-align: middle;
  font-family: Inter, Arial, sans-serif;
  letter-spacing: normal;
}
html .hh-signal-rail > :is(.hh-role,.hh-reputation) {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: var(--signal-gap);
  min-width: 0;
  max-width: none;
  min-height: var(--signal-height);
  margin: 0;
  padding: 3px var(--signal-padding);
  border: 1px solid;
  box-shadow: none;
  font-family: Inter, Arial, sans-serif;
  font-size: var(--signal-font);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
}
html .hh-signal-rail > .hh-role.hh-role-alpha {
  color: var(--signal-caller);
  border-color: currentColor;
  background: var(--signal-caller-fill);
  border-radius: var(--signal-leaf-radius) 1px var(--signal-leaf-radius) 1px;
}
html .hh-signal-rail > .hh-reputation {
  position: relative;
  flex: 0 1 auto;
  color: var(--signal-reputation);
  border-color: var(--signal-reputation-edge);
  border-left-color: var(--signal-left-edge,transparent);
  background: var(--signal-reputation-fill);
  border-radius: 0 var(--signal-end-radius) var(--signal-end-radius) 0;
  font-variant-numeric: tabular-nums;
}
html .hh-signal-rail > .hh-reputation::before {
  content: '';
  display: var(--signal-join,block);
  position: absolute;
  pointer-events: none;
  box-sizing: border-box;
  top: -1px;
  bottom: -1px;
  left: calc(-1 * var(--signal-join-radius));
  width: var(--signal-join-radius);
  border-right: 1px solid var(--signal-reputation-edge);
  border-bottom: 1px solid var(--signal-reputation-edge);
  border-bottom-right-radius: var(--signal-join-radius);
}
html .hh-signal-rail > .hh-reputation::after {
  content: '';
  display: var(--signal-join,block);
  position: absolute;
  pointer-events: none;
  bottom: -1px;
  left: calc(-1 * var(--signal-join-radius));
  width: var(--signal-join-radius);
  height: var(--signal-join-radius);
  box-sizing: border-box;
  background: radial-gradient(circle at top left,transparent calc(var(--signal-join-radius) - 1px),var(--signal-reputation-fill) var(--signal-join-radius));
  border-bottom: 1px solid var(--signal-reputation-edge);
}
html .hh-signal-rail > .hh-reputation > span { min-width:0;white-space:normal;overflow-wrap:anywhere; }
html .hh-signal-rail > :is(.hh-role,.hh-reputation) > svg { display:block;flex:none;width:var(--signal-icon);height:var(--signal-icon);color:currentColor; }
html .hh-signal-rail > .hh-reputation > .hh-reputation-arrow { fill:currentColor;stroke:none; }
.hh-identity-badges { container:signal-identity / inline-size; }
.post-author-meta { container:signal-author / inline-size; }
@container signal-identity (max-width:205px) {
  html .hh-identity-badges .hh-signal-rail { --signal-font:9.5px;--signal-icon:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%; }
  html .hh-identity-badges .hh-signal-rail > :is(.hh-role,.hh-reputation) { flex-direction:column;gap:3px;padding:5px 4px;width:100%;white-space:normal;text-align:center; }
}
@container signal-author (max-width:220px) {
  html .post-author-meta .hh-signal-rail { --signal-height:24px;--signal-font:9.5px;--signal-icon:12px;--signal-padding:5px;--signal-gap:4px; }
}
@container signal-author (max-width:174px) {
  html .post-author-meta .hh-signal-rail { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%; }
  html .post-author-meta .hh-signal-rail > :is(.hh-role,.hh-reputation) { flex-direction:column;gap:3px;padding:5px 4px;width:100%;white-space:normal;text-align:center; }
}
@media(forced-colors:active) {
  html .hh-signal-rail { --signal-reputation-edge:ButtonText; }
  html .hh-signal-rail > .hh-role.hh-role-alpha,html .hh-signal-rail > .hh-reputation { color:ButtonText;background:ButtonFace;border-color:ButtonText; }
}
.post-author-meta > div { flex-wrap: wrap; }
.hh-vote-pill { display: inline-flex; align-items: center; flex: 0 0 auto; align-self: center; width: auto; border: 0; border-radius: 0; padding: 3px; background: transparent; box-shadow: none; color: var(--alpha-ink); gap: 2px; }
.post-actions .hh-vote-pill button, .hh-vote-pill button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 6px; min-width: 36px; min-height: 36px; margin: 0; padding: 7px; background: transparent; color: var(--alpha-muted); cursor: pointer; }
.hh-vote-pill button[data-alpha-vote] > svg, html[data-theme] .hh-live .post-actions .hh-vote-pill button[data-alpha-vote] > svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.2; transform:none; }
.hh-vote-pill button[data-alpha-vote] { --vote-color:var(--caller-reputation); position:relative; color:var(--vote-color); }
.hh-vote-pill button[data-alpha-vote="-1"] { --vote-color:var(--alpha-down); }
html[data-theme] .hh-live .post-actions .hh-vote-pill button[data-alpha-vote] { color:var(--vote-color); background:transparent; box-shadow:none; }
.hh-vote-pill button[data-alpha-vote]:not(:disabled):hover { background:transparent; box-shadow:none; }
.hh-vote-pill button[data-alpha-vote][aria-pressed=true], html[data-theme] .hh-live .post-actions .hh-vote-pill button[data-alpha-vote][aria-pressed=true] { background:transparent; color:var(--vote-color); box-shadow:none; }
.hh-vote-pill button[data-alpha-vote][aria-pressed=true] > svg, html[data-theme] .hh-live .post-actions .hh-vote-pill button[data-alpha-vote][aria-pressed=true] > svg { fill:currentColor; stroke:currentColor; stroke-width:2.2; transform:none; }
.hh-vote-tooltip { position:absolute; z-index:4; bottom:calc(100% + 9px); left:50%; display:block; width:max-content; max-width:120px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--vote-color) 35%,transparent); border-radius:9px; background:var(--alpha-surface); color:var(--vote-color); box-shadow:0 3px 12px #0002; font:600 11px/1.35 Inter,Arial,sans-serif; white-space:nowrap; pointer-events:none; visibility:hidden; opacity:0; transform:translate(var(--vote-tooltip-x,-50%),3px); transition:opacity .12s ease,transform .12s ease,visibility .12s ease; }
.hh-vote-pill button[data-alpha-vote="1"] .hh-vote-tooltip { --vote-tooltip-x:0px; left:0; }
.hh-vote-pill button[data-alpha-vote]:focus-visible .hh-vote-tooltip { visibility:visible; opacity:1; transform:translate(var(--vote-tooltip-x,-50%),0); }
@media(hover:hover) and (pointer:fine) {
  .hh-vote-pill button[data-alpha-vote]:hover .hh-vote-tooltip { visibility:visible; opacity:1; transform:translate(var(--vote-tooltip-x,-50%),0); }
}
.hh-vote-pill:has(button[data-alpha-vote]:focus-visible) button[data-alpha-vote]:not(:focus-visible) .hh-vote-tooltip { visibility:hidden; opacity:0; }
.hh-vote-pill button:disabled { cursor: default; opacity: .48; }
.hh-vote-pill button:focus-visible, html[data-theme] .hh-live .post-actions .hh-vote-pill button:focus-visible { outline: 2px solid var(--vote-color,var(--alpha-active)); outline-offset: 2px; }
.hh-vote-score { min-width: 3ch; padding: 0 5px; text-align: center; color: var(--alpha-ink); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.hh-alpha-votes, .hh-vote-wrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hh-vote-details, .hh-vote-counts { color: var(--alpha-muted); font-size: 11px; }
.hh-reputation-panel { margin: 0 0 20px; padding: 21px; border: 1px solid var(--alpha-edge); border-radius: 18px; background: var(--alpha-surface); color: var(--ink,#193526); }
.hh-reputation-panel h2, .hh-reputation-panel h3 { margin: 0 0 14px; color: inherit; font-size: 18px; }
.hh-reputation-value { color: var(--alpha-ink); font: 600 40px/1.1 'Cal Sans', sans-serif; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.hh-reputation-panel > strong { display: block; color: var(--alpha-ink); font: 600 40px/1.1 'Cal Sans',sans-serif; letter-spacing: -.035em; }
.hh-reputation-panel p { margin: 12px 0 0; color: var(--alpha-muted); font-size: 12px; line-height: 1.6; }
.hh-reputation-metrics { display: flex; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--alpha-edge); padding-top: 14px; margin-top: 15px; font-size: 12px; color: var(--alpha-muted); }
.hh-reputation-metrics strong { color: var(--ink,#193526); font-size: 16px; }
.hh-reputation-panel small { display: block; margin-top: 8px; color: var(--alpha-muted); font-size: 12px; line-height: 1.5; }
.hh-reputation-numbers { display: flex; gap: 24px; align-items: center; margin: 17px 0; }
.hh-reputation-numbers > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hh-reputation-numbers > div + div { border-left: 1px solid var(--alpha-edge); padding-left: 22px; }
.hh-reputation-numbers strong { color: var(--alpha-ink); font-size: 34px; font-weight: 650; line-height: 1.1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.hh-reputation-numbers span { color: var(--alpha-muted); font-size: 12px; }
.hh-live .post-actions { flex-wrap: wrap; }
.hh-live .is-alphacall .post-actions { gap: 8px 17px; }
.hh-live .is-alphacall .post-copy { line-height: 1.65; }
@media(max-width:767px) {
  .hh-alpha-switch { padding: 12px; margin: 12px 0; gap: 10px; }
  .hh-alpha-switch-copy strong { font-size: 13px; }
  .hh-alpha-switch-copy small { font-size: 11px; }
  .hh-alpha-tag { margin-bottom: 8px; }
  .post-actions .hh-vote-pill button, .hh-vote-pill button { min-width: 40px; min-height: 40px; }
  .hh-live .is-alphacall .post-actions { gap: 6px; justify-content: space-between; }
  .hh-live .is-alphacall .post-actions :is(.hh-reply-label,.hh-save-label) { display: none; }
  .hh-live .hh-call .post-author { display: grid; grid-template-columns: 44px minmax(0,1fr) 36px; gap: 8px 9px; }
  .hh-live .hh-call .post-author > .post-author-meta { grid-column: 2; grid-row: 1; }
  .hh-live .hh-call .post-author > .hh-call-label { grid-column: 2; grid-row: 2; margin: 0; }
  .hh-live .hh-call .post-author > .hh-more { grid-column: 3; grid-row: 1; }
  .hh-reputation-panel { padding: 18px; }
  .hh-reputation-value { font-size: 34px; }
}
@media(max-width:370px) {
  .hh-live .is-alphacall .post-actions { gap: 6px; }
  .hh-vote-score { padding: 0 2px; font-size: 12px; }
  .hh-live .is-alphacall .post-actions > button { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) { .hh-alpha-switch-control,.hh-alpha-switch-control::after { transition: none; } }

/* Crest Corner: a portrait seal, quiet reputation, and a separate role in the corner. */
.hh-live .grove-post.has-caller-crest { container:caller-post / inline-size; }
.hh-live .grove-post.has-caller-crest > .post-author {
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  margin-bottom:16px;
}
.hh-live .has-caller-crest .post-author > .hh-post-portrait {
  position:relative;
  display:block;
  grid-column:1;
  grid-row:1;
  align-self:start;
  width:54px;
  min-width:0;
  height:54px;
  min-height:0;
  overflow:visible;
  border-radius:50%;
}
.hh-live .has-caller-crest .post-author > .hh-post-portrait > .hh-avatar { display:grid; width:54px; height:54px; min-width:54px; border:1px solid var(--hh-border); }
.hh-live .has-caller-crest .hh-post-portrait > .hh-caller-crest { right:-3px; bottom:-4px; width:22px; height:27px; }
.hh-live .has-caller-crest .post-author > .post-author-meta { grid-column:2; grid-row:1; min-width:0; padding-top:1px; }
.hh-live .has-caller-crest .hh-author-line { min-width:0; gap:5px; row-gap:2px; }
.hh-live .has-caller-crest .hh-author-line > a:first-child { min-width:0; }
.hh-live .has-caller-crest .post-author-meta strong { font-size:15px; line-height:1.35; overflow-wrap:anywhere; }
.hh-live .has-caller-crest .post-author-meta > p { min-width:0; margin:3px 0 0; font-size:11px; line-height:1.5; gap:3px 5px; overflow-wrap:anywhere; }
.hh-live .has-caller-crest .post-author-meta > p > a { min-width:0; overflow-wrap:anywhere; }
.hh-live .has-caller-crest .post-author-meta > .hh-reputation {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin:5px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--caller-reputation);
  box-shadow:none;
  font:600 11px/1.45 Inter,Arial,sans-serif;
  font-variant-numeric:tabular-nums;
  letter-spacing:normal;
}
.hh-live .has-caller-crest .post-author-meta > .hh-reputation > span { min-width:0; overflow-wrap:anywhere; }
.hh-live .has-caller-crest .post-author-meta > .hh-reputation > .hh-reputation-arrow { display:none; }
.hh-live .has-caller-crest .post-author > .hh-post-caller { display:flex; grid-column:3; grid-row:1; justify-self:end; align-self:start; max-width:100%; padding-top:1px; }
.hh-live .has-caller-crest .hh-post-caller > .hh-caller-identity { --caller-height:27px; --caller-font:10.5px; --caller-icon:14px; --caller-padding:9px; flex-wrap:nowrap; }
.hh-live .has-caller-crest .hh-post-caller .hh-role-alpha { padding:2px var(--caller-padding); border:1px solid currentColor; border-radius:999px; background:var(--caller-fill); color:var(--caller-ink); font-size:var(--caller-font); line-height:1.4; }
.hh-live .grove-post.has-caller-crest :is(.post-copy,.hh-call-content) { margin-left:0; }
.hh-live .grove-post.has-caller-crest .hh-post-body > .post-copy { margin-top:0; }
.hh-live .has-caller-crest > .hh-alpha-tag,.hh-live .has-caller-crest .hh-post-body > .hh-alpha-tag { margin-bottom:8px; }
.hh-live .grove-post.has-caller-crest > .hh-alpha-tag + h2 { margin:0 0 7px; }
.hh-live .grove-post.has-caller-crest :is(.post-world,a.hh-post-collection) { margin-left:0; max-width:100%; }
.hh-live .grove-post.has-caller-crest .post-actions .hh-post-share { display:inline-flex; }
.hh-live .has-caller-crest .post-actions > .hh-more { display:inline-flex; justify-content:center; flex:none; width:36px; height:36px; min-width:36px; padding:6px; margin-left:auto; border:0; background:transparent; box-shadow:none; transform:none; }
.hh-live .has-caller-crest .post-actions > .hh-more:hover { background:var(--alpha-fill); }
.hh-live .has-caller-crest .post-actions > .hh-more > svg { width:18px; height:18px; stroke-width:2.6; }
@container caller-post (max-width:390px) {
  .hh-live .grove-post.has-caller-crest > .post-author { grid-template-columns:44px minmax(0,1fr) auto; gap:10px; }
  .hh-live .has-caller-crest .post-author > .hh-post-portrait,
  .hh-live .has-caller-crest .post-author > .hh-post-portrait > .hh-avatar { width:44px; height:44px; min-width:44px; }
  .hh-live .has-caller-crest .hh-post-portrait > .hh-caller-crest { right:-3px; bottom:-4px; width:19px; height:23px; }
  .hh-live .has-caller-crest .hh-post-caller > .hh-caller-identity { --caller-height:25px; --caller-font:10px; --caller-icon:13px; --caller-padding:7px; }
  .hh-live .has-caller-crest .post-author-meta strong { font-size:14px; }
  .hh-live .grove-post.has-caller-crest .post-actions { gap:6px; justify-content:space-between; }
  .hh-live .grove-post.has-caller-crest .post-actions > button { min-width:32px; min-height:44px; padding:4px; gap:4px; justify-content:center; }
  .hh-live .grove-post.has-caller-crest .post-actions > button.hh-more { width:32px; height:44px; min-width:32px; padding:4px; margin-left:0; }
  .hh-live .grove-post.has-caller-crest .post-actions :is(.hh-reply-label,.hh-save-label) { display:none; }
  .hh-live .grove-post.has-caller-crest .post-actions .hh-vote-pill { gap:0; padding:2px; }
  .hh-live .grove-post.has-caller-crest .post-actions .hh-vote-pill button { min-width:32px; min-height:40px; padding:5px; margin:0; }
  .hh-live .grove-post.has-caller-crest .post-actions .hh-vote-score { padding:0 2px; font-size:12px; }
}
@container caller-post (max-width:310px) {
  .hh-live .grove-post.has-caller-crest > .post-author { grid-template-columns:44px minmax(0,1fr); gap:10px; }
  .hh-live .has-caller-crest .post-author > .hh-post-caller { grid-column:1 / -1; grid-row:1; padding-top:0; }
  .hh-live .has-caller-crest .post-author > .hh-post-portrait { grid-column:1; grid-row:2; }
  .hh-live .has-caller-crest .post-author > .post-author-meta { grid-column:2; grid-row:2; }
  .hh-live .has-caller-crest .post-author-meta > p { font-size:11px; }
  .hh-live .has-caller-crest .post-actions :is(.hh-reply-label,.hh-save-label) { display:none; }
}
@media(max-width:767px) {
  .hh-live .has-caller-crest .post-actions > .hh-more { width:40px; height:44px; min-width:40px; padding:8px; }
}
@media(prefers-reduced-motion:reduce) { .hh-vote-tooltip { transition:none; } }
@media(forced-colors:active) {
  .hh-vote-tooltip { border-color:ButtonText; color:ButtonText; background:ButtonFace; }
  .hh-live .has-caller-crest .post-author-meta > .hh-reputation { color:CanvasText; }
}

/* Confirmed reactions: heartbeat, lift and impact. The controls keep their place. */
html[data-theme] .hh-live .post-actions button:is([data-post-action="like"],[data-alpha-vote]) { position:relative; overflow:visible; }
html[data-theme] .hh-live .post-actions button[data-post-action="like"] > svg { transform:none; transform-origin:center; }
html[data-theme] .hh-live .post-actions button[data-post-action="like"][aria-pressed="true"] > svg { fill:currentColor; stroke:currentColor; }
html[data-theme] .hh-live .post-actions button:is([data-post-action="like"],[data-alpha-vote]):not(:disabled):active > svg { transform:scale(.88); }
.hh-live .post-actions [data-reaction-motion] > svg { transform-origin:center; will-change:transform; }
.hh-live .post-actions [data-reaction-motion="like"] > svg { animation:hh-heart-confirm 720ms cubic-bezier(.2,.7,.25,1); }
.hh-live .post-actions [data-reaction-motion="up"] > svg { animation:hh-up-confirm 680ms cubic-bezier(.2,.7,.25,1); }
.hh-live .post-actions [data-reaction-motion="down"] > svg { animation:hh-down-confirm 620ms cubic-bezier(.2,.7,.25,1); }
.hh-live .post-actions [data-reaction-motion="release"] > svg { animation:hh-reaction-release 220ms ease-out; }
.hh-live .post-actions [data-reaction-count] { animation:hh-count-confirm 380ms cubic-bezier(.2,.7,.25,1); }
.hh-live .post-actions [data-reaction-count="up"] { animation-name:hh-count-rise; }
.hh-live .post-actions [data-reaction-count="down"] { animation-name:hh-count-fall; }
.hh-live .post-actions [data-reaction-count="release"] { animation-duration:220ms; }
.hh-reaction-particles { position:absolute; z-index:2; display:block; width:0; height:0; color:inherit; pointer-events:none; user-select:none; }
.hh-reaction-particles > i { position:absolute; display:block; width:5px; height:9px; margin:-4.5px 0 0 -2.5px; border-radius:1px 85% 1px 85%; background:currentColor; opacity:0; animation:hh-reaction-leaf 560ms cubic-bezier(.12,.7,.3,1) var(--reaction-delay,0ms) both; }
.hh-reaction-particles > i::after { content:""; position:absolute; left:50%; top:15%; width:1px; height:70%; border-radius:1px; background:var(--alpha-surface,#fff); opacity:.5; transform:rotate(-25deg); }
[data-reaction-motion="up"] .hh-reaction-particles > i { width:4px; height:8px; animation-duration:520ms; }
[data-reaction-motion="down"] .hh-reaction-particles > i { width:3px; height:7px; margin:-3.5px 0 0 -1.5px; animation-duration:440ms; }
.hh-live .post-actions .hh-reaction-particles > svg.hh-reaction-echo { position:absolute; left:0; top:0; display:block; width:var(--reaction-size); height:var(--reaction-size); margin:0; fill:none; stroke:currentColor; stroke-width:1.5; opacity:0; transform-origin:center; }
[data-reaction-motion="like"] .hh-reaction-echo { animation:hh-heart-echo 600ms ease-out both; }
.hh-live .post-actions [data-reaction-motion="up"] svg.hh-reaction-echo { fill:currentColor; stroke-width:1; animation:hh-up-echo 480ms cubic-bezier(.15,.7,.3,1) calc(var(--echo-index)*80ms) both; }
[data-reaction-motion="down"] .hh-reaction-echo { animation:hh-down-echo 420ms ease-out 100ms both; }
.hh-reaction-streak { position:absolute; display:block; width:2px; height:15px; border-radius:2px; background:currentColor; opacity:0; }
[data-reaction-motion="up"] .hh-reaction-streak { left:calc((var(--streak-index) - 1)*8px); top:5px; transform-origin:center bottom; animation:hh-up-streak 380ms ease-out calc(60ms + var(--streak-index)*25ms) both; }
[data-reaction-motion="down"] .hh-reaction-streak { left:calc((var(--streak-index) - 1)*13px); top:14px; height:9px; transform-origin:center top; --impact-turn:calc((var(--streak-index) - 1)*-55deg); animation:hh-down-streak 320ms ease-out 100ms both; }
@keyframes hh-heart-confirm {
  0% { transform:scale(.88); }
  12% { transform:scale(.65) rotate(-14deg); }
  28% { transform:scale(1.62) rotate(-10deg); }
  43% { transform:scale(.98) rotate(6deg); }
  59% { transform:scale(1.3) rotate(-2deg); }
  76% { transform:scale(.96); }
  100% { transform:scale(1); }
}
@keyframes hh-up-confirm {
  0% { transform:translateY(0) scale(1); }
  12% { transform:translateY(3px) scale(1.18,.76); }
  32% { transform:translateY(-11px) scale(1.45) rotate(-6deg); }
  50% { transform:translateY(-7px) scale(1.25) rotate(3deg); }
  72% { transform:translateY(2px) scale(.93,1.04); }
  100% { transform:translateY(0) scale(1); }
}
@keyframes hh-down-confirm {
  0% { transform:translateY(0) scale(1); }
  18% { transform:translateY(-7px) scale(.85,1.15) rotate(5deg); }
  38% { transform:translateY(6px) scale(1.38,.78); }
  54% { transform:translateY(4px) scale(1.16,.92); }
  74% { transform:translateY(-2px) scale(.97,1.04); }
  100% { transform:translateY(0) scale(1); }
}
@keyframes hh-reaction-release {
  0% { transform:scale(.82); }
  62% { transform:scale(1.035); }
  100% { transform:scale(1); }
}
@keyframes hh-count-confirm {
  0% { opacity:.55; transform:translateY(3px) scale(.85); }
  55% { opacity:1; transform:translateY(-2px) scale(1.16); }
  100% { opacity:1; transform:translateY(0); }
}
@keyframes hh-count-rise {
  0% { opacity:.45; transform:translateY(7px); }
  60% { opacity:1; transform:translateY(-3px); }
  100% { opacity:1; transform:translateY(0); }
}
@keyframes hh-count-fall {
  0% { opacity:.45; transform:translateY(-6px); }
  60% { opacity:1; transform:translateY(2px); }
  100% { opacity:1; transform:translateY(0); }
}
@keyframes hh-reaction-leaf {
  0% { opacity:0; transform:translate(0,0) rotate(var(--reaction-turn)) scale(.15); }
  24% { opacity:.9; }
  62% { opacity:.65; transform:translate(var(--reaction-x),var(--reaction-y)) rotate(calc(var(--reaction-turn) + 35deg)) scale(var(--reaction-scale)); }
  100% { opacity:0; transform:translate(var(--reaction-x),calc(var(--reaction-y) + 5px)) rotate(calc(var(--reaction-turn) + 65deg)) scale(.35); }
}
@keyframes hh-heart-echo {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.55); }
  22% { opacity:.5; }
  65% { opacity:.22; }
  100% { opacity:0; transform:translate(-50%,-50%) scale(2.2); }
}
@keyframes hh-up-echo {
  0% { opacity:0; transform:translate(-50%,-40%) scale(.65); }
  22% { opacity:.32; }
  100% { opacity:0; transform:translate(-50%,-95%) scale(1.2); }
}
@keyframes hh-down-echo {
  0% { opacity:0; transform:translate(-50%,-70%) scale(.8); }
  22% { opacity:.35; }
  100% { opacity:0; transform:translate(-50%,-15%) scale(1.45,.65); }
}
@keyframes hh-up-streak {
  0% { opacity:0; transform:translateY(0) scaleY(.2); }
  24% { opacity:.7; transform:translateY(-3px) scaleY(1); }
  100% { opacity:0; transform:translateY(-15px) scaleY(.2); }
}
@keyframes hh-down-streak {
  0% { opacity:0; transform:rotate(var(--impact-turn)) scaleY(.2); }
  25% { opacity:.65; transform:rotate(var(--impact-turn)) scaleY(1); }
  100% { opacity:0; transform:translateY(5px) rotate(var(--impact-turn)) scaleY(.2); }
}
@media(prefers-reduced-motion:reduce), (forced-colors:active) {
  .hh-live .post-actions [data-reaction-motion] > svg, .hh-live .post-actions [data-reaction-count] { animation:none; }
  .hh-reaction-particles { display:none; }
  html[data-theme] .hh-live .post-actions button:is([data-post-action="like"],[data-alpha-vote]):not(:disabled):active > svg { transform:none; }
}
html.low-effects .hh-live .post-actions [data-reaction-motion] > svg, html.low-effects .hh-live .post-actions [data-reaction-count] { animation:none; }
html.low-effects .hh-reaction-particles { display:none; }
html[data-theme].low-effects .hh-live .post-actions button:is([data-post-action="like"],[data-alpha-vote]):not(:disabled):active > svg { transform:none; }
