.stream {
  display: flex;
  flex-direction: column;
  gap: var(--stream-gap, 0);
  width: 100%;
  max-width: var(--feed-max-width);
  margin-inline: auto;
  min-width: 0;
  background: var(--stream-canvas, transparent);
}

.stream__masthead {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-2);
}
.stream__masthead-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--accent-primary), var(--accent-hover));
  color: var(--text-on-accent);
  flex-shrink: 0;
}
.stream__masthead-name {
  font-family: var(--soul-font-display);
  font-size: var(--text-lg);
  font-weight: var(--soul-display-weight);
  letter-spacing: var(--soul-display-tracking);
  color: var(--text-primary);
  line-height: var(--leading-tight);
}
.stream__masthead-sub { font-size: var(--text-xs); color: var(--text-tertiary); }
.stream__masthead-text { flex: 1; min-width: 0; }
.stream__masthead-top { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
.stream__masthead-top .stream__masthead-name { flex: 1; min-width: 0; }
.stream__masthead-reach {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-1-5);
  min-height: var(--tap-target);
  font-size: var(--text-xs);
  color: var(--text-secondary);
  text-decoration: none;
  white-space: nowrap;
}
.stream__masthead-reach:hover { color: var(--accent-primary); }
.stream__masthead-reach .material-symbols-rounded { font-size: var(--text-base); color: var(--text-tertiary); }

.stream__topics {
  flex-wrap: wrap;
  padding-bottom: var(--space-2);
}

.stream__composer-band {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-block: var(--space-2);
}

.stream[data-style="current"] .stream__composer-band,
.stream[data-style="billboard"] .stream__composer-band { padding-block: 0; }

.stream > .btn--fab { transition: opacity var(--duration-fast) var(--ease-out), visibility var(--duration-fast); }
.stream:has(.stream__composer-band :is(.space-composer:focus-within, lexxy-editor:defined:not(.lexxy-editor--empty), .media-tile, .post-doc, .survey-fields:not([hidden]), [data-schedule-target="block"]:not([hidden]))) > .btn--fab {
  opacity: 0;
  visibility: hidden;
}

.stream__pill-slot { display: contents; }
.stream:has(.stream-pill) { --pill-stick: 44px; }

.stream-pill {
  position: sticky;
  top: calc(var(--chrome-top) + var(--space-2));
  z-index: 3;
  align-self: center;
  transition: top var(--duration-normal) var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1-5) var(--space-3) var(--space-1-5) var(--space-2);
  border: none;
  border-radius: var(--radius-full);
  background: var(--accent-primary);
  color: var(--text-on-accent);
  font-family: inherit;
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  box-shadow: var(--shadow-lg);
  cursor: pointer;
  white-space: nowrap;
}
.stream-pill .avatar-group .avatar { border-color: var(--accent-primary); }
.stream-pill .material-symbols-rounded { font-size: var(--text-base); }

.stream-post {
  display: flex;
  flex-direction: column;
  gap: var(--post-gap, var(--space-2));
  min-width: 0;
}

.stream-post--landed { animation: thread-landed 2.4s var(--ease-out); }
.stream-post__head {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}
.stream-post__head .byline { min-width: 0; }
.stream-post__text {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--text-primary);
  overflow-wrap: anywhere;
}
.stream-post__text a { color: var(--accent-primary); text-decoration: none; }
.stream-post__engage {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.stream-post__comments {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.stream-post__comment-line {
  font-size: var(--text-base);
  color: var(--text-secondary);
  display: flex;
  gap: var(--space-2);
  align-items: baseline;
  min-width: 0;
}
.stream-post__comment-line strong { color: var(--text-primary); font-weight: var(--weight-semibold); flex-shrink: 0; }
.stream-post__comment-line span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stream-post__comments-door {
  font-size: var(--text-sm);
  color: var(--text-tertiary);
  text-decoration: none;
}
.stream-post__comments-door:hover { color: var(--accent-primary); }

.stream-post__unfold {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-3);
  margin-top: var(--space-1);
}
.stream-post__unfold .thread-composer + .thread:has(.thread__comment) { margin-top: var(--space-2); }
.stream-post__unfold .thread:not(:has(.thread__comment)) { display: none; }

.stream[data-style="openwater"] {
  --stream-canvas: var(--surface-base);
  --stream-gap: 0px;
  --post-gap: var(--space-2);
  --post-rail: calc(40px + var(--space-3));
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  padding: var(--space-3) var(--space-4) var(--space-6);
}
.stream[data-style="openwater"] .stream-post {
  position: relative;
  padding: var(--space-4) 0 var(--space-4) var(--post-rail);
  border-bottom: 1px solid var(--border-subtle);
}
.stream[data-style="openwater"] .stream-post:has(+ .stream__day),
.stream[data-style="openwater"] .stream-post:has(+ .chain-page > .stream__day:first-child),
.stream[data-style="openwater"] > .stream-post:last-child {
  border-bottom-color: transparent;
}
.stream[data-style="openwater"] .stream-post__head .avatar {
  position: absolute;
  left: 0;
  top: var(--space-4);
}

.stream[data-style="openwater"] .stream-post--threaded::before {
  content: "";
  position: absolute;
  left: 19px;
  top: calc(var(--space-4) + 48px);
  bottom: var(--space-3);
  width: 2px;
  border-radius: var(--radius-full);
  background: var(--border-subtle);
}
.stream[data-style="openwater"] .stream-post__summary { display: none; }
.stream[data-style="openwater"] .stream-post--pinned {
  background: var(--accent-subtle);
  border-bottom-color: transparent;
  border-radius: var(--radius-xl);
  padding-inline: var(--space-4) var(--space-4);
  padding-left: calc(var(--post-rail) + var(--space-4));
  margin-block: var(--space-2);
}
.stream[data-style="openwater"] .stream-post--pinned .stream-post__head .avatar { left: var(--space-4); }
.stream[data-style="openwater"] .stream__day {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) 0 var(--space-2);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.stream[data-style="openwater"] .stream__day::before,
.stream[data-style="openwater"] .stream__day::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}
.stream[data-style="openwater"] .space-composer {
  padding: var(--space-3) 0 var(--space-4);
}
.stream[data-style="openwater"] .space-banner {
  margin: calc(-1 * var(--space-3)) calc(-1 * var(--space-4)) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.stream[data-style="openwater"] .space-banner img {
  border-radius: calc(var(--radius-2xl) - 1px) calc(var(--radius-2xl) - 1px) 0 0;
}
.stream[data-style="openwater"] .space-banner + .stream__masthead {
  margin-top: calc(-1 * (var(--space-5) + var(--space-0-5)));
  align-items: flex-start;
}
.stream[data-style="openwater"] .space-banner + .stream__masthead .stream__masthead-icon {
  box-shadow: 0 0 0 var(--space-1) var(--surface-base);
}
.stream[data-style="openwater"] .space-banner + .stream__masthead .stream__masthead-icon + div {
  padding-top: calc(var(--space-5) + var(--space-0-5) + var(--space-2));
}

.stream[data-style="current"] {
  --stream-gap: var(--space-4);
  --post-gap: var(--space-3);
  --post-pad: var(--space-4);
  --thread-ground: var(--surface-raised);
}

.stream[data-style="current"] .stream-post {
  background: var(--surface-raised);
  border: 1px solid var(--border-subtle);
  border-radius: var(--soul-radius-card);
  box-shadow: var(--shadow-sm);
  padding-bottom: var(--space-3);
}
.stream[data-style="current"] .stream-post__head { padding: var(--space-3) var(--post-pad) 0; }
.stream[data-style="current"] .stream-post__text-wrap,
.stream[data-style="current"] .stream-post__summary,
.stream[data-style="current"] .stream-post__engage,
.stream[data-style="current"] .stream-post__comments,
.stream[data-style="current"] .stream-post__unfold,
.stream[data-style="current"] .survey { padding-inline: var(--post-pad); }

.stream[data-style="current"] .stream-post__media .attach-gallery,
.stream[data-style="current"] .stream-post__media > .embed:not(.embed--portrait) { border-radius: 0; }
.stream[data-style="current"] .stream-post__comments,
.stream[data-style="current"] .stream-post__unfold {
  border-top: 1px solid var(--border-subtle);
  padding-top: var(--space-3);
}
.stream[data-style="current"] .stream-post--pinned { border-color: color-mix(in srgb, var(--accent-primary) 40%, transparent); }
.stream[data-style="current"] .stream-post--pinned .stream-post__head {
  background: var(--accent-subtle);
  padding-block: var(--space-3);
  border-radius: calc(var(--soul-radius-card) - 1px) calc(var(--soul-radius-card) - 1px) 0 0;
}
.stream[data-style="current"] .stream__day {
  position: sticky;
  top: calc(var(--chrome-top) + var(--pill-stick, 0px) + var(--space-2));
  z-index: 1;
  align-self: center;
  display: inline-flex;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  background: var(--surface-page-translucent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border-subtle);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--text-secondary);
  box-shadow: var(--shadow-sm);
  transition: top var(--duration-normal) var(--ease-out);
}
.stream[data-style="current"] .space-composer {
  background: var(--surface-raised);
  border: 1px solid var(--border-subtle);
  border-radius: var(--soul-radius-card);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3) var(--space-4);
}
.stream[data-style="current"] .space-banner {
  margin-bottom: 0;
  border: 1px solid var(--border-subtle);
  border-bottom: none;
  border-radius: var(--soul-radius-card) var(--soul-radius-card) 0 0;
}
.stream[data-style="current"] .space-banner img {
  border-radius: calc(var(--soul-radius-card) - 1px) calc(var(--soul-radius-card) - 1px) 0 0;
}
.stream[data-style="current"] .space-banner + .stream__masthead {
  background: var(--surface-raised);
  border: 1px solid var(--border-subtle);
  border-top: none;
  border-radius: 0 0 var(--soul-radius-card) var(--soul-radius-card);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-4);
}

.stream[data-style="billboard"] {
  --stream-gap: var(--space-8);
  --post-gap: var(--space-3);
  --thread-rule: var(--border-strong);
  --thread-ground: var(--surface-sunken);
}

.stream[data-style="billboard"] .stream-post__head { order: -2; }
.stream[data-style="billboard"] .stream-post__media { order: -1; }
.stream[data-style="billboard"] .stream-post__head .avatar {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.stream[data-style="billboard"] .stream-post__media .attach-gallery,
.stream[data-style="billboard"] .stream-post__media > .embed {
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-md);
}
.stream[data-style="billboard"] .stream-post__summary { display: none; }

.stream[data-style="billboard"] .stream-post__text--display {
  font-family: var(--soul-font-display);
  font-size: var(--text-2xl);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-snug);
}
.stream[data-style="billboard"] .stream-post--pinned {
  background: var(--surface-raised);
  border-radius: var(--radius-2xl);
  padding: var(--space-4);
  box-shadow: var(--shadow-md);
}
.stream[data-style="billboard"] .stream__day {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--soul-font-display);
  font-size: var(--text-xs);
  font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--text-primary);
  margin-top: var(--space-2);
}
.stream[data-style="billboard"] .stream__day::before {
  content: "";
  width: var(--space-6);
  height: 3px;
  border-radius: var(--radius-full);
  background: var(--accent-primary);
}

.stream[data-style="billboard"] .space-composer {
  background: var(--surface-raised);
  border-radius: var(--soul-radius-card);
  box-shadow: var(--shadow-md);
  padding: var(--space-3) var(--space-4);
}
.stream[data-style="billboard"] .space-banner { margin-bottom: var(--space-6); }
.stream[data-style="billboard"] .space-banner img {
  aspect-ratio: 2 / 1;
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-md);
}

.stream[data-style="billboard"] .stream-post + .stream-post {
  border-top: 1px solid var(--border-strong);
  padding-top: var(--space-6);
}
.stream[data-style="billboard"] .thread-earlier::before,
.stream[data-style="billboard"] .thread-earlier::after { background: var(--border-strong); }
.stream[data-style="billboard"] .post-action .material-symbols-rounded { font-size: 24px; }
.stream[data-style="billboard"] .post-action { font-size: var(--text-sm); }

.stream[data-style="billboard"] .stream-post__media .post-doc {
  display: flex; flex-direction: column; align-items: stretch; gap: 0;
  padding: 0; border: none; border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-md); overflow: clip;
}
.stream[data-style="billboard"] .stream-post__media .post-doc__cover { width: 100%; aspect-ratio: 16 / 9; border-radius: 0; }
.stream[data-style="billboard"] .stream-post__media .post-doc__body { padding: var(--space-3) var(--space-4); }
.stream[data-style="billboard"] .stream-post__media .post-doc__title { font-size: var(--text-lg); white-space: normal; }
.stream[data-style="billboard"] .stream-post__media .post-doc__open { display: none; }

.board-article .post-doc { padding: var(--space-3) var(--space-4) var(--space-3) var(--space-3); }

.stream-post--folded { position: relative; }
.stream-post--folded > :not(.stream-post__head, .stream-post__text-wrap, .stream-post__open) { display: none; }
.stream .stream-post.stream-post--folded .stream-post__text {
  font-family: inherit;
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  letter-spacing: inherit;
  line-height: var(--leading-relaxed);
}
.stream-post--folded .clamped .clamped__text { -webkit-line-clamp: 1; color: var(--text-secondary); }
.stream-post--folded .clamped .clamped__more { display: none; }
.stream-post--folded .stream-post__head :is(button, a, form, .dropdown) { position: relative; z-index: 2; }
.stream-post__open {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.stream-post__open:focus-visible { outline: var(--space-0-5) solid var(--border-focus); outline-offset: var(--space-0-5); }
.stream-post--folded:has(.stream-post__open:hover) .clamped__text { color: var(--text-primary); }
.stream[data-style="openwater"] .stream-post--folded { padding-block: var(--space-3); margin-block: var(--space-1); }
.stream[data-style="openwater"] .stream-post--folded .stream-post__head .avatar { top: var(--space-3); }

.stream .stream__day.stream__day--new { color: var(--accent-primary); }
.stream .stream__day.stream__day--new::before,
.stream .stream__day.stream__day--new::after { background: var(--accent-primary); }
