.member-feed-page { max-width: 760px; margin-inline: auto; padding: clamp(24px, 5vw, 56px) 0 48px; }
.member-feed-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.member-feed-heading h1 { margin: 8px 0 12px; font-size: clamp(40px, 6vw, 64px); line-height: 1.1; color: var(--wine); }
.member-feed-heading p:not(.eyebrow) { margin: 0; max-width: 490px; line-height: 1.65; }
.member-feed-order { flex: none; color: var(--wine); font-size: 12px; padding-bottom: 5px; }
.member-feed-posts { display: grid; gap: 28px; }
.member-feed-post, .member-feed-composer { border: 1px solid #62232324; border-radius: 22px; background: #fffaf0cc; box-shadow: 0 8px 28px #632c2010; overflow: hidden; }
.member-feed-post-header { display: flex; align-items: center; gap: 12px; padding: 24px 28px 0; }
.member-feed-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.member-feed-author { display: grid; gap: 4px; }
.member-feed-author strong { color: var(--wine); font-size: 15px; }
.member-feed-author time { font-size: 12px; opacity: .72; }
.member-feed-kind { margin-left: auto; font-size: 11px; color: var(--wine); border: 1px solid #62232324; border-radius: 30px; padding: 6px 10px; }
.member-feed-post-copy { padding: 22px 28px 26px; }
.member-feed-post h2 { margin: 0 0 16px; color: var(--wine); font-size: clamp(24px, 3vw, 32px); line-height: 1.3; overflow-wrap: anywhere; }
.member-feed-post-body { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }
.member-feed-image { display: block; width: 100%; max-height: 660px; object-fit: contain; background: #eee4d3; }
.member-feed-video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #1f1310; }
.member-feed-audio { display: block; width: calc(100% - 56px); margin: 0 28px 28px; }
.member-feed-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 28px 26px; padding: 16px 20px; border: 1px solid #62232333; border-radius: 12px; color: var(--wine); text-decoration: none; overflow-wrap: anywhere; }
.member-feed-post-footer { padding: 14px 28px; border-top: 1px solid #62232315; font-size: 11px; color: var(--wine); letter-spacing: .04em; }
.member-feed-purchase-status { margin: 0 0 22px; padding: 14px 18px; border: 1px solid #6d7b6138; border-radius: 14px; background: #6d7b6112; color: #4f5d47; line-height: 1.6; }
.member-feed-preview-note { padding: 12px 16px; border-left: 2px solid #a17b47; line-height: 1.6; font-size: 12px; margin-bottom: 20px; }
.member-feed-composer { margin-bottom: 28px; }
.member-feed-composer summary { padding: 20px 24px; cursor: pointer; color: var(--wine); line-height: 1.5; }
.member-feed-composer summary span { float: right; }
.member-feed-composer form { display: grid; gap: 16px; padding: 0 24px 24px; }
.member-feed-composer label { display: grid; gap: 8px; font-size: 13px; }
.member-feed-composer :is(input, textarea, select) { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #62232340; border-radius: 9px; background: #fffcf6; color: #351f1b; font: inherit; }
.member-feed-fields { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; }
.member-feed-paid-fields { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; padding: 16px; border: 1px solid #6d7b6138; border-radius: 12px; background: #6d7b610b; }
.member-feed-paid-fields > label:first-child, .member-feed-paid-fields > p { grid-column: 1 / -1; }
.member-feed-help { margin: 0; font-size: 12px; line-height: 1.6; opacity: .8; }
.member-feed-paid-availability { padding: 10px 12px; border-left: 2px solid var(--wine); color: var(--wine); opacity: 1; }
.member-feed-composer .button { justify-self: start; }
.member-feed-status { text-align: center; line-height: 1.7; padding: 20px 0; }
.member-feed-more { display: block; margin: 0 auto 30px; }
.member-feed-page [hidden] { display: none !important; }
@media (max-width: 600px) {
  .member-feed-heading { align-items: start; flex-direction: column; gap: 12px; }
  .member-feed-post-header { padding: 20px 20px 0; }
  .member-feed-post-copy { padding: 20px; }
  .member-feed-post-footer { padding-inline: 20px; }
  .member-feed-fields { grid-template-columns: 1fr; }
  .member-feed-paid-fields { grid-template-columns: 1fr; }
  .member-feed-paid-fields > label:first-child, .member-feed-paid-fields > p { grid-column: auto; }
  .member-feed-audio { width: calc(100% - 40px); margin-inline: 20px; }
  .member-feed-link { margin-inline: 20px; }
}

.member-feed-song { padding: 0 28px 28px; display: grid; gap: 24px; }
.member-feed-song h3 { margin: 0 0 12px; font-size: 19px; color: var(--wine); }
.member-feed-journal { border-left: 3px solid var(--color-sage); padding: 16px 20px; background: #6d7b610c; }
.member-feed-journal h3 { color: var(--color-sage); }
.member-feed-song .button { justify-self: start; }
@media (max-width: 600px) { .member-feed-song { padding: 0 20px 20px; } }

.member-feed-community-avatar { display: grid; place-items: center; background: #6d7b6124; color: var(--color-sage); font-weight: 700; flex: none; }
.member-feed-upload { padding: 16px; border: 1px dashed #62232355; border-radius: 12px; }
#feedUploadProgress { width: 100%; accent-color: var(--color-sage); }
.member-feed-video-slot { margin: 0 28px 24px; }
.member-feed-post-locked { background: linear-gradient(145deg, #fffaf0e8, #f6efe2e8); }
.member-feed-locked-preview { margin: 0; color: #5f574d; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.member-feed-paywall { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px 16px; margin: 0 28px 28px; padding: 20px; border: 1px solid #6d7b6140; border-radius: 16px; background: #6d7b6110; }
.member-feed-paywall-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #6d7b6120; font-size: 18px; }
.member-feed-paywall strong { color: var(--wine); font-size: 16px; }
.member-feed-paywall p { margin: 4px 0 0; line-height: 1.5; }
.member-feed-paywall-price { color: var(--wine); font-size: 20px; font-weight: 700; white-space: nowrap; }
.member-feed-paywall-price small { display: block; font-size: 9px; font-weight: 500; letter-spacing: .12em; text-align: right; }
.member-feed-paywall .button { grid-column: 2 / -1; justify-self: start; margin: 0; }
.member-feed-unlock-status { grid-column: 2 / -1; color: #5f574d; font-size: 13px; }
.member-feed-unlock-status:empty { display: none; }
@media(max-width:600px){.member-feed-paywall{grid-template-columns:auto 1fr;margin:0 20px 20px;padding:18px}.member-feed-paywall-price{grid-column:2}.member-feed-paywall-price small{text-align:left}.member-feed-paywall .button,.member-feed-unlock-status{grid-column:1 / -1;width:100%;justify-content:center}}
/* Discussion belongs to the same warm paper surface as its post. */
.feed-interactions { padding: 0 28px 26px; }
.feed-reactions { display:flex; flex-wrap:wrap; gap:10px; padding:16px 0; border-bottom:1px solid #62232318; }
.feed-reactions button { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:9px 15px; border:1px solid #62232325; border-radius:24px; background:transparent; color:var(--wine,#622323); cursor:pointer; font:inherit; font-size:14px; line-height:1.4; transition:background .15s,border-color .15s; }
.feed-reactions button:hover,.feed-reactions button[aria-expanded="true"] { background:#62232309; border-color:#62232350; }
.feed-reactions [aria-pressed="true"] { background:#922f410d; color:#922f41; border-color:#922f4133; }
.feed-reactions button:disabled { opacity:.6; cursor:wait; }
.feed-discussion { margin-top:20px; }
.feed-comment-form { display:block; padding:18px; background:#fffdf780; border:1px solid #62232320; border-radius:16px; }
.feed-comment-form label { display:grid; gap:12px; color:var(--wine,#622323); font-size:16px; font-weight:600; }
.feed-comment-form textarea { display:block; width:100%; min-height:100px; box-sizing:border-box; padding:14px 16px; border:1px solid #62232330; border-radius:10px; background:#fffdf7; color:inherit; font-family:inherit; font-size:16px; font-weight:400; line-height:1.65; resize:vertical; }
.feed-comment-form textarea::placeholder { color:#83796b; opacity:1; }
.feed-comment-form textarea:focus { outline:2px solid #a17b4780; outline-offset:2px; border-color:#a17b47; }
.feed-comment-compose-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:12px; }
.feed-comment-compose-footer small { font-size:12px; line-height:1.5; color:#746b5f; }
.feed-comment-form .button { margin:0; padding:11px 18px; min-height:42px; border-radius:24px; box-shadow:none; font-size:11px; letter-spacing:.08em; }
.feed-interaction-status { margin:12px 0 0; color:#6d6559; font-size:13px; line-height:1.5; }
.feed-interaction-status:empty { display:none; }
.feed-comment { display:flex; align-items:flex-start; gap:12px; padding:22px 0; border-bottom:1px solid #62232315; }
.feed-comment:last-child { border-bottom:0; padding-bottom:0; }
.feed-comment-avatar { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#6d7b6118; color:#5a654f; font-size:12px; font-weight:600; }
.feed-comment-content { flex:1; min-width:0; }
.feed-comment header { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; }
.feed-comment strong { color:var(--wine,#622323); font-size:15px; }
.feed-comment time { font-size:11px; color:#82796b; }
.feed-comment p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; font-size:15px; margin:7px 0 0; }
.feed-mention-picker { margin-top:8px; background:#fffdf7; border:1px solid #62232330; border-radius:10px; padding:6px; box-shadow:0 5px 16px #632c2010; }
.feed-mention-picker button { display:block; width:100%; text-align:left; border:0; border-radius:6px; background:transparent; padding:10px; font:inherit; font-size:14px; color:var(--wine,#622323); cursor:pointer; }
.feed-mention-picker button:focus,.feed-mention-picker button:hover { background:#6d7b6120; }
.feed-interactions [data-more-comments] { margin-top:18px; border:0; background:transparent; color:var(--wine,#622323); cursor:pointer; padding:10px 0; font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.feed-interactions button:focus-visible { outline:2px solid #a17b47; outline-offset:3px; }
@media(max-width:600px){.feed-interactions{padding:0 20px 22px}.feed-comment-form{padding:14px}.feed-comment-compose-footer{align-items:flex-start}.feed-comment-compose-footer .button{margin-left:auto}.feed-comment header{flex-direction:column}.feed-comment{gap:10px}}

.feed-moderation { padding: 0 28px 20px; }
.feed-moderation p { font-size: 13px; line-height: 1.5; }
