.ws-post{display:grid;gap:var(--ws-space-4);padding:var(--ws-space-5);border:1px solid var(--ws-border-subtle);border-radius:var(--ws-radius-md);background:var(--ws-surface-card);transition:var(--ws-transition-control)}
.ws-post:hover{background:var(--ws-surface-card-hover)}
.ws-post__context{display:flex;align-items:center;gap:var(--ws-space-2);margin-bottom:calc(var(--ws-space-2) * -1);color:var(--ws-text-muted);font-size:var(--ws-caption-size);font-weight:700}
.ws-post__head{display:flex;align-items:flex-start;gap:var(--ws-space-3)}
.ws-post__identity{display:grid;gap:.1rem;min-width:0;flex:1}
.ws-post__names{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.ws-post__name{margin:0;color:var(--ws-text-primary);font-size:var(--ws-body-md-size);font-weight:780;overflow-wrap:anywhere}
.ws-post__pronouns{padding:.1rem .4rem;border:1px solid var(--ws-border-default);border-radius:var(--ws-radius-pill);color:var(--ws-text-muted);font-size:.75rem;font-weight:700;white-space:nowrap}
.ws-post__meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--ws-text-muted);font-size:var(--ws-meta-size)}
.ws-post__body{margin:0;max-width:var(--ws-measure-post);color:var(--ws-text-primary);font-family:var(--ws-font-display);font-size:var(--ws-post-size);font-weight:var(--ws-post-weight);letter-spacing:var(--ws-post-tracking);line-height:var(--ws-post-line);white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:pretty}
.ws-post--lead .ws-post__body{font-size:var(--ws-post-lead-size);line-height:var(--ws-post-lead-line)}
.ws-post__media{position:relative;overflow:hidden;border:1px solid var(--ws-border-subtle);border-radius:var(--ws-radius-media);background:var(--ws-surface-sunken)}
.ws-post__media img{width:100%;height:auto;object-fit:cover}
.ws-post__alt{position:absolute;left:.625rem;bottom:.625rem;padding:.25rem .5rem;border-radius:var(--ws-radius-xs);background:var(--ws-scrim-strong);color:#fff;font-size:.6875rem;font-weight:800;letter-spacing:.04em}
.ws-post__cw{display:grid;gap:var(--ws-space-3);justify-items:start;padding:var(--ws-space-5);border:1px dashed var(--ws-border-strong);border-radius:var(--ws-radius-media);background:var(--ws-surface-sunken)}
.ws-post__cw p{margin:0;color:var(--ws-text-secondary);font-size:var(--ws-body-sm-size);line-height:1.55}
.ws-post__cw strong{display:block;color:var(--ws-text-primary);font-size:var(--ws-body-md-size);font-weight:780}
.ws-post__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--ws-space-2);padding-top:var(--ws-space-3);border-top:1px solid var(--ws-divider)}
.ws-react{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding-inline:.6rem;border:0;border-radius:var(--ws-radius-pill);background:transparent;color:var(--ws-text-muted);font-family:var(--ws-font-sans);font-size:var(--ws-label-sm-size);font-weight:730;cursor:pointer;transition:var(--ws-transition-control)}
.ws-react:hover{color:var(--ws-text-primary);background:var(--ws-state-hover-overlay)}
.ws-react[aria-pressed=true]{color:var(--ws-accent-ember)}
.ws-react[aria-pressed=true].ws-react--repost{color:var(--ws-status-success)}
.ws-react__count{font-variant-numeric:tabular-nums}
.ws-react__count[data-muted=true]{opacity:0}
.ws-community{display:grid;gap:var(--ws-space-3);padding:var(--ws-space-4);border:1px solid var(--ws-border-subtle);border-radius:var(--ws-radius-md);background:var(--ws-surface-card);transition:var(--ws-transition-control)}
.ws-community:hover{background:var(--ws-surface-card-hover)}
.ws-community__head{display:flex;align-items:center;gap:var(--ws-space-3)}
.ws-community__name{margin:0;font-family:var(--ws-font-display);font-size:var(--ws-title-sm-size);font-weight:var(--ws-title-sm-weight);letter-spacing:var(--ws-title-sm-tracking);color:var(--ws-text-primary)}
.ws-community__meta{margin:0;color:var(--ws-text-muted);font-size:var(--ws-meta-size)}
.ws-community__desc{margin:0;color:var(--ws-text-secondary);font-size:var(--ws-body-sm-size);line-height:1.55}
.ws-community__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ws-space-3)}
.ws-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ws-space-4);padding:var(--ws-space-4);border:1px solid var(--ws-border-subtle);border-radius:var(--ws-radius-md);background:var(--ws-surface-card)}
.ws-event__date{display:grid;place-items:center;align-content:center;width:3.75rem;height:3.75rem;border-radius:var(--ws-radius-sm);background:var(--ws-brand-subtle);color:var(--ws-brand-on-subtle);text-align:center}
.ws-event__date b{display:block;font-family:var(--ws-font-display);font-size:1.5rem;line-height:1}
.ws-event__date span{font-size:.625rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ws-event__body{display:grid;gap:.3rem;align-content:start;min-width:0}
.ws-event__title{margin:0;font-family:var(--ws-font-display);font-size:var(--ws-title-sm-size);font-weight:650;letter-spacing:-0.02em;color:var(--ws-text-primary)}
.ws-event__meta{margin:0;display:flex;flex-wrap:wrap;gap:.35rem .75rem;color:var(--ws-text-muted);font-size:var(--ws-meta-size)}
.ws-notification{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ws-space-3);align-items:start;padding:var(--ws-space-3) var(--ws-space-4);border-radius:var(--ws-radius-sm);transition:var(--ws-transition-control)}
.ws-notification:hover{background:var(--ws-state-hover-overlay)}
.ws-notification--unread{background:var(--ws-brand-subtle)}
.ws-notification__text{margin:0;color:var(--ws-text-secondary);font-size:var(--ws-body-sm-size);line-height:1.55}
.ws-notification__text strong{color:var(--ws-text-primary);font-weight:780}
.ws-notification__time{color:var(--ws-text-muted);font-size:var(--ws-caption-size)}
.ws-composer{display:grid;gap:var(--ws-space-4);padding:var(--ws-space-5);border:1px solid var(--ws-border-subtle);border-radius:var(--ws-radius-md);background:var(--ws-surface-card)}
.ws-composer__row{display:flex;gap:var(--ws-space-3);align-items:flex-start}
.ws-composer__input{flex:1;min-width:0;min-height:4.5rem;padding:.5rem 0;border:0;background:transparent;color:var(--ws-text-primary);font-family:var(--ws-font-display);font-size:var(--ws-post-size);line-height:var(--ws-post-line);resize:vertical}
.ws-composer__input:focus{outline:0}
.ws-composer__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ws-space-3);padding-top:var(--ws-space-3);border-top:1px solid var(--ws-divider)}
.ws-composer__toolset{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}
.ws-composer__submit{display:flex;align-items:center;gap:var(--ws-space-3)}
