.post-item{
    padding:var(--space-4);
    border-top:1px solid var(--border);
}
.post-item:first-child{border-top:0}
.post-item:only-child{border-bottom:0}
.post-item-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:var(--space-3);
    margin-bottom:var(--space-3);
}
.post-author{
    display:flex;
    align-items:flex-start;
    gap:var(--space-3);
}
.post-author-avatar-link{flex-shrink:0}
.post-author-main{
    display:flex;
    flex-direction:column;
    gap:var(--space-1);
}
.post-author-name-row{
    display:flex;
    align-items:center;
    gap:var(--space-2);
}
.post-author-name{
    color:var(--text);
    font-weight:600;
}
.post-author-name:hover{text-decoration:underline}
.post-meta{
    color:var(--muted);
    font-size:12px;
}
.post-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:var(--space-1);
    color:var(--muted);
}
.post-audit-actions{
    display:flex;
    align-items:center;
    gap:var(--space-1);
    margin-right:var(--space-1);
}
.post-rate{
    display:flex;
    align-items:center;
    gap:var(--space-0-5);
}
.post-action{
    display:flex;
    align-items:center;
    justify-content:center;
    width:var(--space-5);
    height:28px;
    padding:0;
    border:0;
    border-radius:var(--radius-sm);
    background:transparent;
    color:inherit;
    cursor:pointer;
    transition:color .15s ease,background-color .15s ease;
}
.post-action:hover{
    background:var(--hover);
    color:var(--text);
}
.post-action.is-active{color:var(--primary)}
.post-credit-action-icon circle{
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}
.post-rate-count{
    color:var(--muted);
    font-size:11px;
}
.post-credit-log{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
    margin-bottom:var(--space-3);
    padding:var(--space-2) 0;
    border-radius:var(--radius);
    background:transparent;
}
.post-credit-log-item{
    display:flex;
    align-items:center;
    overflow:hidden;
    border-radius:999px;
    background:color-mix(in srgb,var(--soft) 72%,transparent);
    font-size:12px;
}
.post-credit-log-coin{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:28px;
    padding:0 var(--space-2);
    background:var(--success-light);
    color:var(--success);
    font-weight:700;
}
.post-credit-log-item.is-minus .post-credit-log-coin{
    background:var(--danger-light);
    color:var(--danger);
}
.post-credit-log-main{
    display:flex;
    flex:1;
    min-width:0;
    flex-wrap:wrap;
    gap:var(--space-1);
    padding:0 var(--space-2);
    color:var(--sub);
}
.post-credit-log-user{
    color:var(--muted);
    font-weight:600;
}
.post-credit-log-user:hover{
    color:var(--sub);
    text-decoration:underline;
}
.post-credit-log-time{
    flex-shrink:0;
    padding-right:var(--space-2);
    color:var(--muted);
    opacity:.8;
}
.credit-modal-grid{
    display:grid;
    gap:var(--space-4);
}
.thread-delete-btn{
    color:var(--muted);
}
.thread-delete-btn:hover{
    background:var(--danger-light);
    color:var(--danger);
}
.post-content{
    line-height:1.95;
    font-size:16px;
    color:#4f4334;
}
.post-content p{
    margin-bottom:.8em;
}
.post-content p:last-child{
    margin-bottom:0;
}
.post-content .recitation-ruby{
    vertical-align:baseline;
    margin:0 .08em;
    font-size:1.12em;
    font-family:"STKaiti","KaiTi","Kaiti SC","Songti SC","Noto Serif SC",serif;
    font-weight:400;
    color:#3f3428;
    ruby-align:center;
    ruby-position:over;
}
.post-content .recitation-ruby-fallback{
    display:inline-block;
    vertical-align:baseline;
    margin:0 .08em;
    font-size:1.12em;
    font-family:"STKaiti","KaiTi","Kaiti SC","Songti SC","Noto Serif SC",serif;
    font-weight:400;
    color:#3f3428;
}
.post-content .recitation-ruby-rt{
    color:#8a7151;
    font-size:.78em;
    letter-spacing:.06em;
    font-weight:400;
    user-select:none;
}
.post-quote{
    margin-bottom:var(--space-3);
    padding:var(--space-3);
    border-left:3px solid var(--primary);
    border-top-right-radius:var(--radius);
    border-bottom-right-radius:var(--radius);
    background:var(--soft);
    font-size:12px;
}
.post-quote-meta{
    display:flex;
    align-items:center;
    gap:var(--space-2);
    margin-bottom:var(--space-2);
    color:var(--muted);
    font-size:11px;
}
.post-pending{
    padding:var(--space-6) 0;
    border-radius:var(--radius);
    background:var(--soft);
    text-align:center;
}
