/* ══════════════════════════════════════
   PROFILE — COVER
══════════════════════════════════════ */
.profile-cover {
    position: relative; margin-top: 54px; height: 220px;
    background: linear-gradient(135deg,#080f1a 0%,#0b1f14 50%,#0a0a12 100%); overflow: hidden;
}
.profile-cover::before {
    content: ""; position: absolute; inset: 0;
    background: repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px),
                repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(60,255,160,.012) 40px,rgba(60,255,160,.012) 41px);
}
.cover-glow  { position: absolute; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle,rgba(60,255,160,.1) 0%,transparent 70%); top: -150px; left: -80px; pointer-events: none; }
.cover-glow2 { position: absolute; width: 350px; height: 350px; border-radius: 50%; background: radial-gradient(circle,rgba(255,92,58,.07) 0%,transparent 70%); bottom: -100px; right: 8%; pointer-events: none; }
.cover-scan  { position: absolute; inset: 0; background: repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.05) 3px,rgba(0,0,0,.05) 6px); pointer-events: none; }
.cover-bar   { position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg,var(--primary),rgba(60,255,160,.2)); }

/* ── Profile head ── */
.profile-head       { position: relative; padding: 0 20px 0; margin-top: -60px; }
.profile-head-inner { display: flex; gap: 22px; align-items: flex-end; }
.profile-avatar-wrap { position: relative; flex-shrink: 0; }
.profile-avatar {
    width: 165px; height: 165px; border-radius: 6px; object-fit: cover;
    border: 3px solid var(--bg); box-shadow: 0 8px 32px rgba(0,0,0,.65);
    display: block; background: var(--surf-el);
}
.avatar-initials {
    width: 120px; height: 120px; border-radius: 6px; border: 3px solid var(--bg);
    background: linear-gradient(135deg,#0f1e14,#1a3a28);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--fd); font-size: 2.2rem; font-weight: 900; color: var(--primary);
    box-shadow: 0 8px 32px rgba(0,0,0,.65);
}
.avatar-verified { position: absolute; bottom: -4px; right: -4px; width: 22px; height: 22px; background: var(--primary); border: 2px solid var(--bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; font-weight: 700; }

.profile-info    { flex: 1; min-width: 0; padding-bottom: 6px; }
.profile-badges  { display: flex; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
.badge           { font-size: .46rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 3px 8px; border-radius: 3px; }
.badge-artist    { background: var(--primary-dim); color: var(--primary); border: 1px solid rgba(60,255,160,.25); }
.badge-premium   { background: rgba(255,215,0,.08); color: #FFD700; border: 1px solid rgba(255,215,0,.2); }
.badge-writer    { background: rgba(255,92,58,.08); color: var(--accent); border: 1px solid rgba(255,92,58,.2); }
.badge-admin     { background: rgba(200,100,255,.08); color: #C864FF; border: 1px solid rgba(200,100,255,.2); }
.badge-user      { background: rgba(122,136,153,.1); color: var(--muted); border: 1px solid rgba(122,136,153,.2); }
.artist-stage    { font-family: var(--fd); font-size: .52rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--primary); margin-bottom: 3px; opacity: .8; }
.profile-name    { font-family: var(--fd); font-size: clamp(1.2rem,3vw,1.9rem); font-weight: 900; letter-spacing: -.02em; line-height: 1; color: var(--text); margin-bottom: 4px; margin-top: 28px; }
.profile-username { font-family: "Courier New", monospace; font-size: .62rem; color: var(--muted); letter-spacing: .06em; }
.profile-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.btn-follow { font-family: var(--fd); font-size: .52rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 8px 18px; border-radius: 3px; border: none; background: var(--primary); color: #000; transition: opacity .15s, transform .15s; }
.btn-follow:hover    { opacity: .85; transform: translateY(-1px); }
.btn-follow:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.btn-follow.following { background: transparent; color: var(--primary); border: 1px solid rgba(60,255,160,.3); }
.btn-follow.following:hover { border-color: var(--accent); color: var(--accent); }
.btn-share { font-family: "Courier New", monospace; font-size: .52rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 8px 14px; border-radius: 3px; background: transparent; color: var(--muted); border: 1px solid var(--border); transition: border-color .2s, color .2s; }
.btn-share:hover { border-color: var(--border-hi); color: var(--text); }

.profile-stats-row { display: flex; gap: 0; flex-shrink: 0; align-items: flex-end; padding-bottom: 6px; }
.stat-item          { text-align: center; padding: 0 16px; border-right: 1px solid var(--border); }
.stat-item:first-child { padding-left: 0; }
.stat-item:last-child  { border-right: none; }
.stat-num   { font-family: var(--fd); font-size: 1.15rem; font-weight: 900; color: var(--text); letter-spacing: -.02em; line-height: 1; }
.stat-label { font-size: .48rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-top: 3px; }

/* ── Meta bar ── */
.meta-bar { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; padding: 14px 20px; margin-bottom: 28px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.meta-bio  { font-size: .72rem; line-height: 1.6; color: var(--muted); flex: 1; min-width: 200px; max-width: 520px; }
.meta-item { display: flex; align-items: center; gap: 5px; font-size: .62rem; color: var(--muted); }
.meta-item svg { width: 11px; height: 11px; stroke: var(--muted); fill: none; stroke-width: 2; flex-shrink: 0; }
.meta-item a:hover { color: var(--primary); }

/* ── Layout ── */
.content-wrap { max-width: 1150px; margin: 0 auto; padding: 0 24px; }
.main-layout  { display: grid; grid-template-columns: 1fr 290px; gap: 24px; align-items: start; }

/* ── Section head ── */
.sec-head  { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.sec-num   { font-family: var(--fd); font-size: .5rem; font-weight: 700; color: var(--primary); letter-spacing: .04em; flex-shrink: 0; }
.sec-title { font-family: var(--fd); font-size: .56rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); flex-shrink: 0; }
.sec-count { font-family: "Courier New", monospace; font-size: .5rem; color: var(--muted); background: var(--surf-el); border-radius: 3px; padding: 2px 7px; flex-shrink: 0; }
.sec-line  { flex: 1; height: 1px; background: var(--border); }
.section-block { margin-bottom: 32px; }

/* ── Track list ── */
.track-list { display: flex; flex-direction: column; gap: 2px; }
.track-row  { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 6px; border: 1px solid transparent; transition: background .15s, border-color .15s; cursor: pointer; position: relative; }
.track-row:hover   { background: var(--surface); border-color: var(--border); }
.track-row.playing { background: var(--primary-dim); border-color: var(--border-hi); }
.tr-num { font-family: "Courier New", monospace; font-size: .6rem; color: var(--muted); width: 22px; text-align: right; flex-shrink: 0; }
.tr-play-icon { display: none; position: absolute; left: 33px; font-size: 9px; color: var(--primary); }
.track-row:hover .tr-num, .track-row.playing .tr-num { opacity: 0; }
.track-row:hover .tr-play-icon, .track-row.playing .tr-play-icon { display: block; }
.tr-cover { width: 40px; height: 40px; border-radius: 4px; object-fit: cover; flex-shrink: 0; background: var(--surf-el); }
.tr-cover-placeholder { width: 40px; height: 40px; border-radius: 4px; background: var(--surf-el); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); }
.tr-info   { flex: 1; min-width: 0; }
.tr-title  { font-size: .74rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tr-artist { font-size: .6rem; color: var(--muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tr-meta   { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.tr-genre  { font-size: .48rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: var(--surf-el); border-radius: 3px; padding: 2px 6px; white-space: nowrap; }
.tr-dur    { font-family: "Courier New", monospace; font-size: .6rem; color: var(--muted); min-width: 34px; text-align: right; }

/* ── Sidebar ── */
.sidebar   { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 72px; }
.info-card { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.info-card-header { padding: 10px 14px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.info-card-title  { font-family: "Courier New", monospace; font-size: .5rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--primary); display: flex; align-items: center; gap: 7px; }
.info-card-title::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--primary); flex-shrink: 0; }
.info-card-count  { font-family: "Courier New", monospace; font-size: .5rem; color: var(--muted); }
.info-card-body   { padding: 12px 14px; }
.info-row { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: .68rem; }
.info-row:last-child { border-bottom: none; }
.info-label { color: var(--muted); min-width: 68px; flex-shrink: 0; padding-top: 1px; }
.info-val   { color: var(--text); font-weight: 500; word-break: break-word; }
.genre-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.genre-tag  { font-size: .5rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); background: var(--primary-dim); border: 1px solid rgba(60,255,160,.15); border-radius: 3px; padding: 2px 7px; }

/* ── Likes compact ── */
.likes-compact { display: flex; flex-direction: column; gap: 1px; }
.lk-row   { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 5px; cursor: pointer; transition: background .15s; border: 1px solid transparent; }
.lk-row:hover   { background: var(--surf-el); border-color: var(--border); }
.lk-row.playing { background: var(--primary-dim); border-color: var(--border-hi); }
.lk-cover    { width: 34px; height: 34px; border-radius: 3px; object-fit: cover; flex-shrink: 0; background: var(--surf-el); }
.lk-cover-ph { width: 34px; height: 34px; border-radius: 3px; background: var(--surf-el); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--muted); }
.lk-info  { flex: 1; min-width: 0; }
.lk-title  { font-size: .66rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lk-artist { font-size: .56rem; color: var(--muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lk-heart  { font-size: .62rem; color: var(--accent); flex-shrink: 0; opacity: .65; }

/* ── Tab loader ── */
.tab-loader { display: flex; align-items: center; justify-content: center; padding: 28px; gap: 5px; }
.tab-loader span { width: 5px; height: 5px; border-radius: 50%; background: var(--primary); animation: ldot .9s ease-in-out infinite; }
.tab-loader span:nth-child(2) { animation-delay: .15s; }
.tab-loader span:nth-child(3) { animation-delay: .30s; }
@keyframes ldot { 0%, 80%, 100% { transform: scale(.4); opacity: .3; } 40% { transform: scale(1); opacity: 1; } }

/* ── Following list ── */
.following-list { display: flex; flex-direction: column; gap: 1px; }
.fw-row    { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 5px; cursor: pointer; transition: background .15s; text-decoration: none; color: inherit; border: 1px solid transparent; }
.fw-row:hover { background: var(--surf-el); border-color: var(--border); }
.fw-ava    { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--surf-el); }
.fw-ava-ph { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg,#1a0a2e,#3CFFA0); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: .62rem; font-weight: 700; color: #fff; }
.fw-info   { flex: 1; min-width: 0; }
.fw-name   { font-size: .66rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fw-stage  { font-size: .56rem; color: var(--muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fw-badge  { font-size: .44rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); background: var(--primary-dim); border: 1px solid rgba(60,255,160,.2); border-radius: 3px; padding: 2px 5px; flex-shrink: 0; }

/* ── Profile comments ── */
.profile-comments-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.pc-list { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; min-height: 60px; max-height: 520px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
.pc-list::-webkit-scrollbar       { width: 3px; }
.pc-list::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
.pc-input-area { border-top: 1px solid var(--border); padding: 10px 14px; background: rgba(0,0,0,.15); }
.pc-input-wrap { display: flex; align-items: flex-end; gap: 8px; }
#pc-input { flex: 1; background: var(--surf-el); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; color: var(--text); font-family: inherit; font-size: .73rem; resize: none; outline: none; line-height: 1.45; max-height: 100px; min-height: 36px; transition: border-color .2s; scrollbar-width: none; }
#pc-input::-webkit-scrollbar { display: none; }
#pc-input:focus       { border-color: var(--border-hi); }
#pc-input::placeholder { color: var(--muted); }
#pc-input:disabled    { opacity: .4; cursor: not-allowed; }
#pc-send { width: 34px; height: 34px; border-radius: 7px; border: none; background: var(--primary); color: #000; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; transition: opacity .15s, transform .15s; }
#pc-send:hover    { opacity: .85; transform: scale(1.07); }
#pc-send:disabled { opacity: .3; cursor: not-allowed; transform: none; }
.pc-guest-hint   { margin-top: 7px; font-family: "Courier New", monospace; font-size: .58rem; color: var(--muted); letter-spacing: .06em; }
.pc-guest-hint a { color: var(--primary); }

/* Playlist grid */
.playlist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 12px; }
.pl-card { cursor: pointer; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.pl-card:hover { transform: translateY(-4px); }
.pl-cover-wrap { position: relative; border-radius: 6px; overflow: hidden; aspect-ratio: 1; background: var(--surf-el); box-shadow: 0 6px 20px rgba(0,0,0,.4); }
.pl-cover-wrap img { width: 100%; height: 100%; object-fit: cover; transition: filter .3s; }
.pl-card:hover .pl-cover-wrap img { filter: brightness(.6); }
.pl-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .2s; font-size: 18px; }
.pl-card:hover .pl-overlay { opacity: 1; }
.pl-cover-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; color: var(--muted); }
.pl-title { margin-top: 6px; font-size: .66rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-meta  { font-size: .54rem; color: var(--muted); margin-top: 2px; }

        /* ── ФОРМА СОЗДАНИЯ ПОСТА ─────────────────────────── */
.post-compose {
    border: 1px solid var(--border, rgba(255,255,255,.08));
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.post-compose textarea {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text, #e0e0e0);
    font-size: 14px;
    line-height: 1.6;
    resize: none;
    font-family: inherit;
}
.post-type-tabs { display: flex; gap: 6px; }
.post-type-tab {
    background: transparent;
    border: 1px solid var(--border, rgba(255,255,255,.12));
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 12px;
    color: var(--text-muted, #888);
    cursor: pointer;
    transition: all .2s;
}
.post-type-tab.active {
    background: var(--primary, #a78bfa);
    border-color: var(--primary, #a78bfa);
    color: #fff;
}
.post-target-wrap { display: flex; flex-direction: column; gap: 6px; }
.post-target-wrap input {
    background: var(--input-bg, rgba(255,255,255,.05));
    border: 1px solid var(--border, rgba(255,255,255,.1));
    border-radius: 8px;
    padding: 8px 12px;
    color: var(--text, #e0e0e0);
    font-size: 13px;
    outline: none;
    width: 100%;
}
.post-media-add {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-muted, #888);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 8px;
    border: 1px dashed var(--border, rgba(255,255,255,.15));
    transition: border-color .2s, color .2s;
}
.post-media-add:hover { border-color: var(--primary, #a78bfa); color: var(--primary, #a78bfa); }
.post-media-preview { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.post-media-thumb {
    position: relative;
    width: 80px; height: 80px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--border, rgba(255,255,255,.1));
}
.post-thumb-preview { width: 100%; height: 100%; object-fit: cover; }
.post-thumb-remove {
    position: absolute; top: 3px; right: 3px;
    background: rgba(0,0,0,.6); border: none;
    border-radius: 50%; width: 18px; height: 18px;
    font-size: 10px; color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.post-compose-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.post-char-count { font-size: 11px; color: var(--text-muted, #888); }

/* ── КАРТОЧКА ПОСТА ───────────────────────────────── */
.post-item {
    border: 1px solid var(--border, rgba(255,255,255,.08));
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
}
.post-item.post-pinned {
    box-shadow: 0 0 0 0.5px var(--primary, #a78bfa);
}
.post-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.post-pin-badge { font-size: 11px; color: var(--primary, #a78bfa); }
.post-time { font-size: 11px; color: var(--text-muted, #888); }
.post-actions-menu { margin-left: auto; display: flex; gap: 6px; }
.post-act-pin, .post-act-del {
    background: none; border: none; cursor: pointer;
    color: var(--text-muted, #888); font-size: 13px;
    padding: 2px 5px; border-radius: 4px; transition: color .2s;
}
.post-act-del:hover { color: #e55; }
.post-act-pin:hover { color: var(--primary, #a78bfa); }
.post-text {
    font-size: 14px; line-height: 1.65;
    white-space: pre-wrap; word-break: break-word;
    color: var(--text, #e0e0e0);
    margin-bottom: 10px;
}

/* ── МЕДИА-ВЛОЖЕНИЯ ───────────────────────────────── */
.post-media-single { margin-bottom: 10px; }
.post-media-single .post-media-item {
    width: 100%; max-height: 400px;
    object-fit: cover; border-radius: 10px;
}
.post-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 6px; margin-bottom: 10px;
}
.post-media-grid .post-media-item {
    width: 100%; aspect-ratio: 1;
    object-fit: cover; border-radius: 8px;
}

/* ── РЕПОСТ-КАРТОЧКА ──────────────────────────────── */
.post-repost {
    border: 1px solid var(--border, rgba(255,255,255,.1));
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 10px;
}
.repost-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    cursor: default;
}
.repost-cover, .repost-cover-ph {
    width: 48px; height: 48px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--border, rgba(255,255,255,.08));
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
}
.repost-info { flex: 1; min-width: 0; }
.repost-label { font-size: 10px; color: var(--text-muted, #888); text-transform: uppercase; letter-spacing: .5px; }
.repost-title { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.repost-sub   { font-size: 12px; color: var(--text-muted, #888); }
.repost-play-btn {
    background: var(--primary, #a78bfa);
    border: none; border-radius: 50%;
    width: 34px; height: 34px;
    color: #fff; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: opacity .2s;
}
.repost-play-btn:hover { opacity: .8; }
.repost-error { padding: 10px 14px; font-size: 12px; color: var(--text-muted, #888); }
.post-repost-loading {
    padding: 10px 14px;
    display: flex; gap: 8px;
    align-items: center;
    font-size: 13px; color: var(--text-muted, #888);
}

/* ── ФУТЕР ПОСТА ──────────────────────────────────── */
.post-footer {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--border, rgba(255,255,255,.06));
}
.post-like-btn {
    background: none; border: none; cursor: pointer;
    color: var(--text-muted, #888); font-size: 13px;
    display: flex; align-items: center; gap: 4px;
    padding: 0; transition: color .2s;
}
.post-like-btn:hover, .post-like-btn.liked { color: #e55; }
.post-comments-count { font-size: 13px; color: var(--text-muted, #888); }

.post-thumb-spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.45);
    font-size: 18px;
    border-radius: 8px;
}

.post-comment-toggle-btn {
    background: none; border: none; cursor: pointer;
    color: var(--text-muted, #888); font-size: 13px;
    display: flex; align-items: center; gap: 4px;
    padding: 0; transition: color .2s;
}
.post-comment-toggle-btn:hover { color: var(--primary, #a78bfa); }
.post-comments-section {
    margin-top: 12px; padding-top: 12px;
    border-top: 1px solid var(--border, rgba(255,255,255,.06));
}
.post-comments-empty { font-size: 12px; color: var(--text-muted, #888); padding: 6px 0; }
.post-cm-item { display: flex; gap: 8px; margin-bottom: 10px; }
.post-cm-ava {
    width: 26px; height: 26px; border-radius: 50%;
    object-fit: cover; flex-shrink: 0;
}
.post-cm-ava-ph {
    background: var(--primary, #a78bfa);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; color: #fff;
}
.post-cm-body { flex: 1; min-width: 0; }
.post-cm-top { display: flex; gap: 8px; align-items: baseline; margin-bottom: 2px; }
.post-cm-user { font-size: 12px; font-weight: 600; }
.post-cm-time { font-size: 11px; color: var(--text-muted, #888); }
.post-cm-text { font-size: 13px; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.post-cm-actions { display: flex; gap: 10px; margin-top: 4px; }
.post-cm-like, .post-cm-del {
    background: none; border: none; cursor: pointer;
    font-size: 11px; color: var(--text-muted, #888); padding: 0; transition: color .2s;
}
.post-cm-like:hover, .post-cm-like.liked { color: #e55; }
.post-cm-del:hover { color: #e55; }
.post-comment-input-wrap { display: flex; gap: 8px; align-items: flex-end; margin-top: 10px; }
.post-comment-input {
    flex: 1; background: var(--input-bg, rgba(255,255,255,.05));
    border: 1px solid var(--border, rgba(255,255,255,.1));
    border-radius: 8px; padding: 7px 10px;
    color: var(--text, #e0e0e0); font-size: 13px;
    font-family: inherit; outline: none; resize: none; line-height: 1.4;
}
.post-comment-send {
    background: var(--primary, #a78bfa); border: none; border-radius: 8px;
    width: 32px; height: 32px; color: #fff; font-size: 14px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: opacity .2s;
}
.post-comment-send:hover { opacity: .8; }
.post-comment-guest { font-size: 12px; color: var(--text-muted, #888); margin-top: 8px; }
.post-comment-guest a { color: var(--primary, #a78bfa); }

.post-cm-ava-link {
    display: block;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    overflow: hidden;
    text-decoration: none;
}
.post-cm-ava-link .post-cm-ava,
.post-cm-ava-link .post-cm-ava-ph {
    width: 100%;
    height: 100%;
}

.post-cm-user-link { text-decoration: none; color: inherit; }
.post-cm-user-link:hover .post-cm-user { color: var(--primary, #a78bfa); }
