.post-card{background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:14px;flex-direction:column;gap:.85rem;width:100%;padding:1.25rem 1.5rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}@keyframes post-highlight-pulse{0%{border-color:#8b5cf6cc;box-shadow:0 0 #8b5cf680}60%{border-color:#8b5cf666;box-shadow:0 0 0 10px #8b5cf600}to{border-color:var(--border);box-shadow:0 0 #8b5cf600}}.post-card--highlight .post-card{animation:2s forwards post-highlight-pulse}.post-card[role=button]{cursor:pointer}.post-card[role=button]:hover{border-color:#8b5cf64d;transform:translateY(-1px);box-shadow:0 8px 32px #00000059}.post-card-author{align-items:center;gap:.75rem;display:flex}.post-card-avatar{background:var(--surface-hi);border:1px solid var(--border);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.post-card-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.post-card-author-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.post-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.post-card-name-link{color:inherit;text-decoration:none;transition:color .2s}.post-card-name-link:hover{color:var(--accent)}.post-card-handle{color:var(--text-muted);font-size:.72rem}.post-card-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.post-card-time{color:var(--text-subtle);font-size:.7rem}.post-card-privacy{text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:.3em;padding:.22rem .6rem;font-size:.62rem;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.post-card-privacy svg{flex-shrink:0;display:block}@keyframes badge-shimmer{0%{background-position:-200%}to{background-position:200%}}.post-card-privacy--followers{color:#67e8f9;background:linear-gradient(135deg,#06b6d42e 0%,#0891b21f 100%);border-color:#06b6d459;box-shadow:0 0 8px #06b6d433,inset 0 1px #ffffff0f}.post-card-privacy--followers:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 30%,#67e8f92e 50%,#0000 70%) 0 0/200% 100%;animation:3s linear infinite badge-shimmer;position:absolute;inset:0}.post-card-privacy--private{color:#fcd34d;background:linear-gradient(135deg,#f59e0b2e 0%,#b453091f 100%);border-color:#f59e0b59;box-shadow:0 0 8px #f59e0b33,inset 0 1px #ffffff0f}.post-card-privacy--private:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 30%,#fcd34d2e 50%,#0000 70%) 0 0/200% 100%;animation:3s linear infinite badge-shimmer;position:absolute;inset:0}.post-card-title{color:var(--text);margin:0;font-family:Fraunces,serif;font-size:1.1rem;font-style:italic;font-weight:700;line-height:1.25}.post-card-content{color:var(--text-muted);white-space:pre-wrap;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.65;display:-webkit-box;overflow:hidden}.post-card-content.expanded{-webkit-line-clamp:unset;line-clamp:unset;display:block}.post-card-image-wrap{border:1px solid var(--border);border-radius:10px;max-height:340px;overflow:hidden}.post-card-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.post-card[role=button]:hover .post-card-image{transform:scale(1.02)}.post-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:.6rem;display:flex}.post-card-action{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-family:Syne,sans-serif;font-size:.8rem;font-weight:600;transition:color .2s,background .2s;display:flex}.post-card-action:hover{color:var(--accent);background:var(--accent-dim)}.post-card-footer-left{align-items:center;gap:.5rem;display:flex}.delete-action:hover{color:#ef4444!important;background:#ef44441a!important}.post-card-read-more{color:var(--accent);letter-spacing:.02em;font-size:.75rem;font-weight:700}.spin-xs{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:680px){.post-card-read-more{font-size:0}.post-card-read-more:before{content:"→";font-size:1rem}}
.comment-card{align-items:flex-start;gap:.75rem;animation:.35s both fade-up;display:flex}.comment-card--own{flex-direction:row-reverse}.comment-avatar{background:var(--surface-hi);border:1px solid var(--border);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;overflow:hidden}.comment-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.comment-body{background:var(--surface-hi);border:1px solid var(--border);border-radius:4px 12px 12px;flex-direction:column;gap:.3rem;max-width:85%;padding:.6rem .9rem;display:flex}.comment-card--own .comment-body{background:var(--accent-dim);border-color:#8b5cf640;border-top-left-radius:12px;border-top-right-radius:4px;align-items:flex-end}.comment-author-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.comment-author-name{color:var(--text);font-size:.8rem;font-weight:700}.comment-author-handle{color:var(--text-muted);font-size:.7rem}.comment-own-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);background:var(--accent-dim);border:1px solid #8b5cf633;border-radius:4px;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.comment-time{color:var(--text-subtle);margin-left:auto;font-size:.68rem}.comment-card--own .comment-time{margin-left:0;margin-right:auto}.comment-content{color:var(--text-muted);word-break:break-word;margin:0;font-size:.88rem;line-height:1.55}.comment-card--own .comment-content{color:var(--text)}.comment-image-wrap{border:1px solid var(--border);border-radius:8px;max-width:220px;margin-top:.25rem;overflow:hidden}.comment-image{-o-object-fit:cover;object-fit:cover;width:100%;display:block}

