.source-tag {
  display: inline-flex;
  min-height: 19px;
  align-items: center;
  padding: 0 6px;
  color: #555;
  background: #f1f1f1;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 500;
}

.v2-feed-author { grid-template-columns: 30px minmax(0, 1fr) auto; }
.v2-author-info { min-width: 0; height: 30px; display: flex; flex-direction: column; justify-content: center; padding: 0; background: transparent; text-align: left; }
.v2-name-line { min-width: 0; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.v2-name-line .author-name { flex: 0 1 auto; font-size: 13px; line-height: 16px; }
.inline-relation { overflow: hidden; color: #777; font-size: 9px; line-height: 12px; text-overflow: ellipsis; white-space: nowrap; }
.source-tag--inline { flex: 0 0 auto; }
.v2-feed-author .feed-post-meta { max-width: 54px; }
.feed-side { height: 30px; display: flex; align-items: center; gap: 2px; }
.post-more { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; color: #555; background: transparent; border-radius: 50%; }
.post-more:active { background: #eee; }
.detail-author--with-menu { position: relative; padding-right: 34px; }
.post-more--detail { position: absolute; top: 5px; right: 0; }

.post-title {
  margin: 10px 0 3px 39px;
  font-size: 17px;
  line-height: 1.35;
}

.post-card.is-expanded .post-body-wrap { overflow: visible; }
.expanded-copy { position: relative; max-height: min(438px, calc(100dvh - 392px)); overflow: hidden; }
.expanded-copy.has-fade::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 72px; pointer-events: none; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 88%); }
.page:has(.post-card.is-expanded) .fab { opacity: 0; pointer-events: none; }

.inline-expand {
  display: inline;
  padding: 0 2px;
  color: #111;
  background: transparent;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}

.expanded-actions { min-height: 28px; display: flex; align-items: center; justify-content: space-between; margin-top: 3px; }
.expanded-actions button { padding: 2px; color: #111; background: transparent; font-size: 13px; font-weight: 750; }
.collapse-toggle { margin-left: auto; }

.upstream-chain { background: #fff; }
.response-chain-node { position: relative; background: #fff; }
.response-chain-node--ancestor { padding: 18px 14px; cursor: pointer; }
.response-chain-node--ancestor::after { content: ""; position: absolute; z-index: 0; left: 32px; top: 56px; bottom: 0; width: 1.5px; background: #c8c8c8; }
.response-chain-node--continued::before { content: ""; position: absolute; z-index: 0; left: 32px; top: 0; width: 1.5px; height: 18px; background: #c8c8c8; }
.response-chain-node--current.response-chain-node--continued::before { height: 14px; }
.response-chain-node--ancestor > * { position: relative; z-index: 1; }
.upstream-post-title { margin: 12px 0 7px 47px; font-size: 17px; line-height: 1.4; }
.upstream-post-preview { position: relative; margin-left: 47px; overflow: hidden; }
.upstream-post-preview.is-incomplete::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 62px; pointer-events: none; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 90%); }
.upstream-post-body { display: -webkit-box; overflow: hidden; color: #222; font-size: 15px; line-height: 1.68; white-space: pre-line; -webkit-box-orient: vertical; -webkit-line-clamp: 8; }
.child-anchor { background: #fff; }
.deleted-source { display: flex; align-items: center; gap: 11px; min-height: 96px; color: #777; }
.deleted-source::after { display: none; }
.deleted-source__icon { width: 34px; height: 34px; display: grid; place-items: center; color: #777; background: #eee; border-radius: 50%; font-size: 18px; }
.deleted-source strong { color: #444; font-size: 14px; }
.deleted-source p { margin: 4px 0 0; font-size: 12px; }

.detail-title { margin: 14px 0 0; font-size: 22px; line-height: 1.38; }
.response-section { padding: 4px 0 90px; background: #fff; border-top: 8px solid #f3f3f3; }
.section-heading { display: flex; align-items: center; justify-content: space-between; padding: 15px 14px 10px; }
.section-heading strong { font-size: 16px; }
.section-heading span { color: #777; font-size: 11px; }
.response-section .post-card { border-top: 1px solid var(--line); }
.v2-secondary-tabs.content-tabs { position: static; top: auto; z-index: auto; }

.detail-dock { grid-template-columns: 48px 104px 62px repeat(2, 1fr); gap: 3px; }
.detail-dock .dock-author { justify-content: center; padding: 2px; }
.dock-author__avatar { position: relative; display: block; width: 32px; height: 32px; }
.detail-dock .dock-author .avatar { width: 32px; height: 32px; }
.dock-follow-badge {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #111;
  border: 2px solid #fff;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.dock-author.is-following .dock-follow-badge { background: #777; }
.dock-action--respond {
  height: 38px;
  margin: 0 3px;
  color: #fff;
  background: #111;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .02em;
}
.dock-action--respond:active { color: #fff; background: #333; }
.dock-action--metric { flex-direction: row; gap: 4px; }
.dock-action--metric small { font-size: 10px; }

.comment-bubble {
  position: fixed;
  z-index: 58;
  right: 14px;
  bottom: 82px;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #111;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 7px 20px rgba(0,0,0,.24);
}
.comment-bubble .icon { width: 21px; height: 21px; }
.comment-count {
  position: absolute;
  top: -5px;
  right: -4px;
  min-width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  color: #111;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
}

.sheet-overlay {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: none;
  align-items: flex-end;
  background: rgba(0,0,0,.38);
}
.sheet-overlay.is-open { display: flex; }
.sheet {
  position: relative;
  width: 100%;
  height: 78%;
  max-height: 78%;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  background: #fff;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -12px 30px rgba(0,0,0,.16);
}
.sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; border-bottom: 1px solid var(--line); }
.sheet-close { width: 34px; height: 34px; background: #f1f1f1; border-radius: 50%; }
.sheet-list { flex: 1; min-height: 0; padding-bottom: 8px; overflow-y: auto; }
.sheet-list .empty-state { min-height: 180px; padding: 44px 22px; }
.list-item__head .author-row { flex: 1; }
.content-more { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; padding: 0; color: #777; background: transparent; border-radius: 50%; }

.sheet-inline-composer { flex: 0 0 auto; padding: 9px 14px calc(11px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fff; }
.sheet-inline-composer textarea { width: 100%; min-height: 42px; max-height: 112px; padding: 10px 12px; border: 1px solid #d5d5d5; border-radius: 12px; resize: none; overflow-y: auto; font: inherit; font-size: 14px; line-height: 1.5; outline: none; }
.sheet-inline-composer textarea:focus { border-color: #777; }
.replying-context { display: none; align-items: center; justify-content: space-between; margin-bottom: 7px; color: #555; font-size: 12px; }
.replying-context.is-visible { display: flex; }
.replying-context button { width: 24px; height: 24px; color: #666; background: #f1f1f1; border-radius: 50%; }
.inline-composer-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; }
.inline-composer-count { color: #888; font-size: 11px; }
.inline-composer-submit { min-width: 58px; min-height: 34px; padding: 0 14px; color: #fff; background: #111; border-radius: 999px; font-size: 12px; font-weight: 700; }
