/* VGNW Forum Core Styles v6.0 (Thread Fix) */

/* --- GLOBAL RESET & FONTS --- */
.vgnw-forum-container, .vgnw-stream-container {
    max-width: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin-bottom: 50px;
    color: #1c1c1c;
}
.vgnw-forum-container *, .vgnw-stream-container * {
    box-sizing: border-box;
}

/* ================= FORUM INDEX (ANASAYFA) ================= */
.vgnw-category-block { margin-bottom: 20px; border: 1px solid #dce0e6; border-radius: 8px 8px 0 0; background: #fff; }
.vgnw-category-header { background: #f0f2f5; padding: 10px 15px; border-bottom: 1px solid #dce0e6; }
.vgnw-category-header h2 { margin: 0; font-size: 14px; font-weight: 700; color: #47a7eb; text-transform: uppercase; }

.vgnw-forum-row { display: flex; align-items: center; padding: 12px 15px; border-bottom: 1px solid #f0f0f0; }
.vgnw-forum-row:last-child { border-bottom: none; }
.vgnw-forum-row:hover { background: #fafbfc; }

.vgnw-row-main { flex: 1; display: flex; align-items: center; overflow: hidden; }
.vgnw-forum-icon { display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0; }
.vgnw-forum-icon .dashicons { font-size: 28px; color: #aab2bd; width: 28px; height: 28px; }
.vgnw-forum-icon img { border-radius: 50%; width: 36px; height: 36px; } 
.vgnw-forum-icon.is-custom-image { overflow: hidden; }
.vgnw-forum-icon.is-custom-image img { display: block; width: 36px; height: 36px; object-fit: cover; }

.vgnw-forum-info h3 { margin: 0; font-size: 15px; }
.vgnw-forum-info h3 a { text-decoration: none; color: #2c3e50; font-weight: 600; }
.vgnw-forum-desc { font-size: 12px; color: #888; margin-top: 2px; }

.vgnw-forum-mention {
    color: var(--vgnw-color-primary, #2563eb);
    font-weight: 700;
    text-decoration: none;
}
.vgnw-forum-mention:hover { text-decoration: underline; }
.vgnw-forum-embed { margin: 12px 0; max-width: 760px; }
.vgnw-forum-embed iframe,
.vgnw-forum-embed object,
.vgnw-forum-embed embed { max-width: 100%; }

.vgnw-col-stat { width: 80px; text-align: center; font-size: 12px; color: #888; display: flex; flex-direction: column; justify-content: center; }
.stat-num { font-size: 14px; font-weight: 600; color: #4a5568; }

.vgnw-col-last { width: 220px; padding-left: 15px; border-left: 1px solid #f0f0f0; margin-left: 10px; flex-shrink: 0; }
.lp-wrapper { display: flex; align-items: center; gap: 10px; }
.lp-avatar {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lp-avatar img,
.lp-avatar .avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    margin: 0;
    display: block;
}
.lp-meta { display: flex; flex-direction: column; overflow: hidden; }
.lp-title { font-size: 12px; color: #2b70af; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.lp-sub { font-size: 11px; color: #999; }

/* ================= THREAD VIEW (STREAM LAYOUT) ================= */
.vgnw-thread-title-bar { margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.vgnw-thread-title-bar h1 { font-size: 26px; margin: 0 0 5px 0; color: #1a1a1a; }
.thread-meta-top { font-size: 13px; color: #718096; }

/* Post Container */
.vgnw-post-item {
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 12px;
    padding: 15px; /* İç boşluk */
    position: relative;
}

/* Nesting (Dallanma) */
.children { list-style: none; padding: 0; margin: 0; }
.vgnw-forum-container .children .vgnw-post-item {
    margin-left: 25px; /* Ana girinti */
    padding-left: 20px; /* İçerik ve çizgi arasına boşluk */
    border-left: 2px solid #e2e8f0;
    margin-top: 10px;
    background: #fdfdfd; /* İç içe yorumlar için hafif farklı arka plan */
}

/* --- LAYOUT DÜZENİ (FLEX) --- */
.post-main-wrapper {
    display: flex;
    align-items: flex-start; /* Avatarı yukarı sabitle */
    flex-wrap: wrap; /* .children listesinin alta düşmesini sağlar */
    width: 100%;
}

/* Sol: Avatar */
.post-avatar-side {
    width: 40px;
    margin-right: 15px;
    flex-shrink: 0;
}
.post-avatar-side img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
}

/* Sağ: İçerik Gövdesi */
.post-body-side {
    flex-grow: 1;
    min-width: 0; /* İçerik taşmasını önler */
}

/* Header: İsim, Badge, Tarih */
.post-header {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 13px;
}

.children {
    flex-basis: 100%; /* .children listesinin tüm genişliği kaplamasını sağlar */
    width: 100%;
}

.ph-user {
    font-weight: 700;
    color: #2c3e50;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    position: relative; /* User Card için anchor */
}

.ph-meta {
    color: #999;
    font-size: 12px;
}

/* Content */
.post-content {
    font-size: 15px;
    line-height: 1.6;
    color: #1a1a1b;
    margin-bottom: 10px;
}
.vgnw-post-item .post-content {
    display: block;
    width: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0 100px 100px 100px;
    padding: 10px 16px;
}
.post-content p { margin-bottom: 10px; }
.vgnw-post-item .post-content p { margin: 4px 0; }
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 6px 0;
}
.post-content img { max-width: 100%; height: auto; border-radius: 4px; }

/* Actions (Like, Reply, Share) */
.post-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.pa-btn, .comment-reply-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #878a8c;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    padding: 5px 8px;
    border-radius: 4px;
    transition: background 0.2s;
    background: transparent;
    border: none;
    cursor: pointer;
    line-height: 1;
}
.pa-btn:hover, .comment-reply-link:hover {
    background: #f0f0f0;
    color: #1a1a1b;
}
.vgnw-svg,
.vgnw-icon {
    width: 18px;
    height: 18px;
    display: inline-block;
    flex-shrink: 0;
}
.dashicons { font-size: 16px; width: 16px; height: 16px; display: inline-block; }

/* Like state */
.pa-like-btn.is-liked { color: #0079d3; }
.pa-like-btn svg #fill1 { transition: fill 0.15s ease; }
.pa-like-btn.is-liked svg #fill1 { fill: currentColor; }


/* --- USER HOVER CARD (GİZLİ OLMASI GEREKEN) --- */
.vgnw-user-card {
    display: none; /* VARSAYILAN OLARAK GİZLİ */
    position: absolute;
    top: 100%;
    left: 0;
    width: 280px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 9999;
    border: 1px solid #e1e1e1;
    text-align: left;
    margin-top: 10px;
}
.vgnw-tooltip-trigger:hover .vgnw-user-card {
    display: block; /* HOVERDA AÇ */
}

/* Card Styling */
.uc-header { height: 60px; background: #33a7ff; border-radius: 8px 8px 0 0; }
.uc-avatar { margin-top: -30px; margin-left: 15px; float: left; }
.uc-avatar img { border: 3px solid #fff; border-radius: 50%; width: 64px; height: 64px; }
.uc-body { padding: 40px 15px 15px 15px; clear: both; }
.uc-body h4 { margin: 0 0 5px 0; font-size: 18px; color: #333; }
.uc-stats { display: flex; gap: 15px; font-size: 13px; margin-bottom: 10px; border-top: 1px solid #eee; padding-top: 10px; }
.uc-meta { font-size: 12px; color: #888; }


/* --- DROPDOWN MENU --- */
.pa-dropdown { position: relative; }
.pa-menu {
    display: none; position: absolute; top: 100%; left: 0;
    background: #fff; border: 1px solid #eee; border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1); z-index: 10; min-width: 140px;
}
.pa-dropdown:hover .pa-menu { /* disabled hover open */ }
.pa-dropdown.is-open .pa-menu { display: block; }
.pa-menu a,
.pa-menu button {
    display: flex; align-items: center; gap: 8px; padding: 10px;
    color: #333; font-size: 13px; text-decoration: none; background: none; border: 0; width: 100%; text-align: left; cursor: pointer;
}
.pa-menu a:hover,
.pa-menu button:hover { background: #f6f7f8; }
.pa-menu a.danger,
.pa-menu button.danger { color: #d93025; }


/* --- FORMS & MISC --- */
.vgnw-reply-container { margin-top: 30px; border-top: 1px solid #eee; padding-top: 20px; }
.reply-header { font-size: 16px; margin-bottom: 15px; }
#reply-section .reply-context { font-size: 12px; color: #6b7280; margin-bottom: 8px; }
#vgnw-editor-container, #vgnw-thread-editor { background: #fff; min-height: 120px; border: 1px solid #ccc; border-radius: 0 0 4px 4px; }
.ql-toolbar { background: #f8f9fa; border-color: #ccc !important; border-radius: 4px 4px 0 0; }
.ql-container { border: none !important; }
.vgnw-btn-primary {
    background: #0079d3;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 700;
    cursor: pointer;
}.vgnw-reply-container .reply-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
}
.vgnw-reply-container .reply-actions .vgnw-btn-primary {
    margin-top: 0;
}
.vgnw-reply-container .reply-actions .vgnw-btn-ghost {
    margin-top: 0;
}

/* Node View Fixes */
.vgnw-node-header-new { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.vgnw-node-header-new h1 { font-size: 24px; margin: 0; }
.vgnw-btn-post-thread { background: #2b70af; color: #fff; padding: 8px 16px; border-radius: 4px; text-decoration: none; font-weight: 600; font-size: 13px; display: inline-flex; align-items: center; }
.vgnw-thread-list-header-new { display: flex; background: #f8f9fa; padding: 10px 15px; font-size: 12px; font-weight: 700; color: #888; text-transform: uppercase; }
.th-title { flex: 1; } .th-stats { width: 180px; text-align: center; } .th-last { width: 240px; text-align: right; }
.vgnw-thread-row-new { display: flex; align-items: center; padding: 12px 15px; border-bottom: 1px solid #f0f0f0; background: #fff; }
.thread-main-info { flex: 1; display: flex; align-items: center; gap: 15px; }
.thread-stats-new { width: 180px; display: flex; gap: 15px; justify-content: center; }
.ts-item { text-align: center; font-size: 12px; } .ts-val { font-weight: 700; font-size: 14px; display: block; }
.thread-last-post-new { width: 240px; text-align: right; font-size: 12px; }

/* Thread stream specific overrides (single thread) */
.vgnw-stream-container .vgnw-post-item {
    background: transparent;
    border: none;
    border-bottom: none;
    border-radius: 0;
    margin: 0;
    padding: 12px 0;
}
.vgnw-stream-container .vgnw-post-item:last-child {
    border-bottom: none;
}
.vgnw-stream-container .children .vgnw-post-item {
    padding-left: 16px;
    margin-top: 8px;
    position: relative;
}

/* Comment stream layout: force single column inside forum thread */
.vgnw-comments-stream {
    margin-top: 10px;
    width: 100%;
}
.vgnw-comments-stream .comment-list {
    display: block !important;
    column-count: 1 !important;
    column-gap: 0 !important;
    grid-template-columns: none !important;
}
.vgnw-comments-stream .comment-list,
.vgnw-comments-stream .children {
    list-style: none;
    margin: 0;
    padding: 0;
}
.vgnw-comments-stream .comment {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    margin: 0 0 0 0 !important;
    padding: 0;
}

/* Connector lines for nested replies (thread view) */
.vgnw-comments-stream .children {
    position: relative;
    margin-left: 40px;
    padding-left: 0;
}
.vgnw-comments-stream .children::before {
    content: "";
    position: absolute;
    left: -20px;
    top: -90px;
    bottom: 132px;
    border-left: 2px solid #e2e8f0;
}
.vgnw-comments-stream .children .vgnw-post-item {
    position: relative;
}
.vgnw-comments-stream .children .vgnw-post-item::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 30px; /* avatar merkezine yakın */
    width: 25px;
    border-top: 2px solid #e2e8f0;
}

/* Mobil */
@media (max-width: 768px) {
    .vgnw-col-stat, .vgnw-col-last, .th-stats, .th-last, .thread-stats-new, .thread-last-post-new { display: none !important; }
    .vgnw-forum-container .children .vgnw-post-item {
        margin-left: 10px; /* Mobil için ana girinti */
        padding-left: 15px; /* Mobil için iç boşluk */
    }
}
button.vgnw-toggle-replies {
    display: none !important;
}

/* --- USER PROFILE SYSTEM --- */

.vgnw-profile-wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #dce0e6;
    border-radius: 8px;
    overflow: hidden;
}

/* Header */
.vgnw-profile-header {
    position: relative;
}
.profile-cover {
    height: 150px;
    background: linear-gradient(135deg, #3182ce, #2c5282);
}
.profile-main {
    padding: 0 30px 20px 30px;
    display: flex;
    align-items: flex-end;
    position: relative;
    margin-top: -50px; /* Avatarı cover'ın üstüne çıkar */
}
.profile-avatar img {
    border-radius: 50%;
    border: 5px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background: #fff;
}
.profile-info {
    margin-left: 20px;
    flex: 1;
    margin-bottom: 10px;
}
.pi-top {
    display: flex;
    align-items: center;
    gap: 10px;
}
.profile-info h1 {
    margin: 0;
    font-size: 24px;
    color: #2d3748;
    line-height: 1.2;
}
.vgnw-role-badge {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 12px;
    background: #edf2f7;
    color: #4a5568;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.vgnw-role-badge.yönetici { background: #c53030; color: #fff; }
.vgnw-role-badge.moderatör { background: #38a169; color: #fff; }

.pi-meta {
    margin-top: 5px;
    font-size: 13px;
    color: #718096;
    display: flex;
    gap: 15px;
}
.pi-meta span { display: flex; align-items: center; gap: 4px; }

.vgnw-profile-level-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
}

.vgnw-profile-levelbar {
    margin-top: 8px;
    max-width: 380px;
}

.vgnw-profile-levelbar-track {
    position: relative;
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #eef2f7;
    overflow: hidden;
}

.vgnw-profile-levelbar-fill {
    display: block;
    height: 100%;
    width: 0;
    min-width: 0;
    background: linear-gradient(90deg, #2563eb 0%, #14b8a6 100%);
}

.vgnw-profile-levelbar small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
}

.vgnw-btn-edit {
    background: #fff;
    border: 1px solid #cbd5e0;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
    color: #4a5568;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 15px;
    transition: all 0.2s;
}
.vgnw-btn-edit:hover { background: #f7fafc; color: #2d3748; }

/* Nav / Tabs */
.vgnw-profile-nav {
    display: flex;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
    background: #fcfcfc;
    padding: 0 30px;
}
.vgnw-profile-nav a {
    padding: 15px 20px;
    text-decoration: none;
    color: #718096;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}
.vgnw-profile-nav a:hover { color: #2d3748; }
.vgnw-profile-nav a.active {
    color: #3182ce;
    border-bottom-color: #3182ce;
    background: #fff;
}

/* Content Area */
.vgnw-profile-content {
    padding: 30px;
    min-height: 300px;
    background: #fff;
}

/* Profile > Setups tab alignment */
.profile-setups-tab .vgnw-user-setups {
    display: grid;
    grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
    gap: 16px;
}

.profile-setups-tab .vgnw-profile-single-setup {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
}

.profile-setups-tab .vgnw-profile-single-setup-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.profile-setups-tab .vgnw-profile-single-setup-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--vgnw-color-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.profile-setups-tab .vgnw-profile-single-setup-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
    gap: 16px;
    align-items: start;
}

.profile-setups-tab .vgnw-profile-single-setup-canvas,
.profile-setups-tab .vgnw-profile-single-setup-products {
    min-width: 0;
}

.profile-setups-tab .vgnw-profile-single-setup-products #vgnw-products-wrap {
    margin-top: 0;
}

/* Profile preview: question/review UI yok, sadece setup + urun listesi */
.profile-setups-tab .vgnw-profile-single-setup-canvas #vgnw-ask-question,
.profile-setups-tab .vgnw-profile-single-setup-canvas #vgnw-question-hint,
.profile-setups-tab .vgnw-profile-single-setup-canvas #vgnw-question-modal {
    display: none !important;
}

.profile-setups-tab .vgnw-card-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.profile-setups-tab .vgnw-ci-img {
    position: relative;
    height: auto;
    aspect-ratio: 16 / 9;
    background: #f3f4f6;
}

.profile-setups-tab .vgnw-ci-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-setups-tab .vgnw-item-count {
    top: 10px;
    left: 10px;
    padding: 4px 8px;
    font-size: 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
}

.profile-setups-tab .vgnw-card-edit {
    top: 10px;
    right: 10px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
}

.profile-setups-tab .vgnw-ci-bottom {
    display: block;
    padding: 12px 14px;
    background: #fff;
}

.profile-setups-tab .vgnw-ci-title {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.35;
}

.profile-setups-tab .vgnw-ci-userline {
    gap: 6px;
    font-size: 13px;
    color: var(--vgnw-color-text-muted, #6b7280);
}

.profile-setups-tab .vgnw-ci-userline img {
    width: 24px;
    height: 24px;
}

@media (max-width: 1100px) {
    .profile-setups-tab .vgnw-user-setups {
        --cols: 2;
    }

    .profile-setups-tab .vgnw-profile-single-setup-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
    
    .profile-setups-tab .vgnw-profile-single-setup-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .profile-setups-tab .vgnw-user-setups {
        --cols: 1;
    }
}

/* Dark mode integration (vgnw_dark_mode_script.php) */
html.dark-mode .vgnw-forum-page-shell.is-full-width #main,
html.dark-mode .vgnw-profile-wrapper,
html.dark-mode .vgnw-profile-content,
html.dark-mode .vgnw-forum-main,
html.dark-mode .vgnw-forum-sidebar,
html.dark-mode .vgnw-node-header-new,
html.dark-mode .vgnw-thread-list-wrapper,
html.dark-mode .vgnw-thread-list-header-new,
html.dark-mode .vgnw-forum-row,
html.dark-mode .vgnw-forum-layout-thread,
html.dark-mode .vgnw-forum-layout-thread .vgnw-forum-main,
html.dark-mode .vgnw-forum-layout-thread .vgnw-forum-sidebar,
html.dark-mode .vgnw-forum-layout-thread .vgnw-stream-container,
html.dark-mode .vgnw-forum-layout-thread .vgnw-thread-title-bar,
html.dark-mode .vgnw-forum-side-card,
html.dark-mode .profile-setups-tab .vgnw-profile-single-setup,
html.dark-mode .profile-setups-tab .vgnw-card-item,
html.dark-mode .profile-card {
    background: var(--bg-primary, #18181b) !important;
    color: var(--text-primary, #fafafa);
    border-color: var(--border-light, #27272a) !important;
}

html.dark-mode .vgnw-profile-nav {
    background: var(--bg-secondary, #1f1f23);
    border-top-color: var(--border-light, #27272a);
    border-bottom-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-profile-nav a {
    color: var(--text-secondary, #d4d4d8);
}

html.dark-mode .vgnw-profile-nav a:hover {
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-profile-nav a.active {
    background: rgba(96, 165, 250, 0.2);
    color: #fff;
    border-bottom-color: var(--accent-primary, #60a5fa);
}

html.dark-mode .profile-cover {
    background: linear-gradient(135deg, #1f4f83, #1b3553);
}

html.dark-mode .profile-info h1,
html.dark-mode .profile-card h3,
html.dark-mode .vgnw-thread-title-main,
html.dark-mode .vgnw-thread-title-main a,
html.dark-mode .vgnw-forum-side-card h3,
html.dark-mode .vgnw-forum-side-list a,
html.dark-mode .vgnw-forum-info h3 a,
html.dark-mode .vgnw-side-topic-title,
html.dark-mode .vgnw-side-leader-inline-value,
html.dark-mode .stat-num,
html.dark-mode .mini-content a,
html.dark-mode .vgnw-thread-list-header-new,
html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-period-option,
html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-tab.is-active {
    color: var(--text-primary, #fafafa);
}

html.dark-mode .pi-meta,
html.dark-mode .mini-date,
html.dark-mode .profile-setups-tab .vgnw-ci-userline,
html.dark-mode .profile-setups-tab .vgnw-profile-single-setup-title,
html.dark-mode .vgnw-forum-desc,
html.dark-mode .vgnw-col-stat,
html.dark-mode .stat-label,
html.dark-mode .lp-sub,
html.dark-mode .vgnw-side-meta,
html.dark-mode .vgnw-side-rank,
html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-period-toggle,
html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-tab {
    color: var(--text-tertiary, #a1a1aa);
}

html.dark-mode .vgnw-btn-edit {
    background: var(--bg-secondary, #1f1f23);
    color: var(--text-primary, #fafafa);
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-btn-edit:hover {
    background: #24242a;
}

html.dark-mode .vgnw-forum-row:hover {
    background: var(--bg-secondary, #1f1f23);
}

html.dark-mode .vgnw-postbit-level-pill {
    border-color: #334155;
    background: #0f172a;
    color: #cbd5e1;
}

html.dark-mode .vgnw-postbit-level-track {
    border-color: #334155;
    background: #111827;
}

html.dark-mode .vgnw-postbit-level-fill {
    background: linear-gradient(90deg, #3b82f6 0%, #2dd4bf 100%);
}

html.dark-mode .vgnw-postbit-level-next {
    color: #94a3b8;
}

html.dark-mode .vgnw-profile-level-pill {
    border-color: #334155;
    background: #0f172a;
    color: #e2e8f0;
}

html.dark-mode .vgnw-profile-levelbar-track {
    border-color: #334155;
    background: #111827;
}

html.dark-mode .vgnw-profile-levelbar-fill {
    background: linear-gradient(90deg, #3b82f6 0%, #2dd4bf 100%);
}

html.dark-mode .vgnw-profile-levelbar small {
    color: #94a3b8;
}

html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-period-menu {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #27272a);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-tab {
    background: #20242b;
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-forum-side-card-leaderboard .vgnw-lb-tab.is-active {
    background: #283448;
    border-color: #365581;
}

html.dark-mode .vgnw-forum-side-card-search input[type="search"] {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #27272a);
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-forum-side-search-form .vgnw-btn {
    border-color: #365581;
}

html.dark-mode .vgnw-profile-single-setup .vgnw-single-right,
html.dark-mode .vgnw-profile-single-setup-products #vgnw-products-wrap,
html.dark-mode .vgnw-profile-single-setup-products .vgnw-grid-list.view-list .vgnw-card-item,
html.dark-mode .profile-setups-tab .vgnw-ci-img {
    border-color: var(--border-light, #27272a);
    background: var(--bg-secondary, #1f1f23);
}

html.dark-mode .profile-setups-tab .vgnw-item-count {
    background: rgba(24, 24, 27, 0.9);
    color: var(--text-primary, #fafafa);
}

html.dark-mode .profile-setups-tab .vgnw-card-edit {
    background: var(--bg-secondary, #1f1f23);
    color: var(--text-primary, #fafafa);
}

/* GeneratePress container background fixes on dark mode */
html.dark-mode .separate-containers .inside-article,
html.dark-mode .separate-containers .comments-area,
html.dark-mode .separate-containers .page-header,
html.dark-mode .separate-containers .paging-navigation,
html.dark-mode .inside-page-header,
html.dark-mode .one-container .site-content .container {
    background-color: var(--bg-primary, #18181b) !important;
    border-color: var(--border-light, #27272a) !important;
    color: var(--text-primary, #fafafa) !important;
}

/* Forum category list (node index) dark-mode color fixes */
html.dark-mode .vgnw-category-block {
    background: var(--bg-primary, #18181b) !important;
    border-color: var(--border-light, #27272a) !important;
}

html.dark-mode .vgnw-category-header {
    background: var(--bg-secondary, #1f1f23) !important;
    border-bottom-color: var(--border-light, #27272a) !important;
}

html.dark-mode .vgnw-category-header h2,
html.dark-mode .vgnw-forum-main .entry-title,
html.dark-mode .entry-header .entry-title,
html.dark-mode .vgnw-forum-info h3 a,
html.dark-mode .vgnw-node-header-new h1 {
    color: var(--text-primary, #fafafa) !important;
}

html.dark-mode .vgnw-forum-desc,
html.dark-mode .vgnw-col-stat,
html.dark-mode .stat-label,
html.dark-mode .lp-sub {
    color: var(--text-tertiary, #a1a1aa) !important;
}
.profile-card h3 {
    margin-top: 0;
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 10px;
    font-size: 18px;
    color: #2d3748;
}

/* Threads List in Profile */
.vgnw-mini-thread-row {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}
.vgnw-mini-thread-row:last-child { border-bottom: none; }
.mini-icon { margin-right: 10px; color: #cbd5e0; }
.mini-content { display: flex; flex-direction: column; }
.mini-content a { font-weight: 600; color: #2d3748; text-decoration: none; font-size: 14px; }
.mini-date { font-size: 11px; color: #a0aec0; }

.vgnw-profile-pagination {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vgnw-profile-page {
    min-width: 34px;
    height: 34px;
    border: 1px solid #dce0e6;
    border-radius: 8px;
    background: #fff;
    color: #3a4858;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 0 10px;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.vgnw-profile-page:hover {
    border-color: #c5ccd6;
    background: #f7f9fb;
    color: #1f2933;
}

.vgnw-profile-page.is-current {
    border-color: #111827;
    background: #111827;
    color: #fff;
}

.vgnw-profile-page.is-arrow {
    min-width: 36px;
    font-size: 18px;
    padding: 0;
}

.vgnw-profile-page.is-dots {
    border: 0;
    background: transparent;
    color: #9aa4b2;
    min-width: 24px;
    height: 34px;
    padding: 0;
}

.vgnw-profile-page.is-disabled {
    opacity: .45;
    pointer-events: none;
}

/* Settings Form */
.vgnw-settings-form { max-width: 600px; }
.avatar-info { display: flex; align-items: center; gap: 15px; background: #f7fafc; padding: 10px; border-radius: 6px; }
.avatar-info img { border-radius: 50%; }
.avatar-info p { margin: 0; font-size: 12px; color: #718096; }

.vgnw-success-box {
    background: #c6f6d5; border: 1px solid #9ae6b4; color: #22543d;
    padding: 10px 15px; margin-bottom: 20px; border-radius: 4px;
}

/* Mobil Uyum */
@media (max-width: 768px) {
    .profile-main { flex-direction: column; align-items: center; text-align: center; margin-top: -75px; }
    .profile-info { margin-left: 0; margin-top: 10px; }
    .pi-top { justify-content: center; flex-direction: column; }
    .pi-meta { justify-content: center; }
    .vgnw-profile-nav { justify-content: center; padding: 0; }
    .vgnw-profile-nav a { padding: 12px 10px; font-size: 13px; }
}

/* --- NOTIFICATION SYSTEM: moved to mu-pluings/vgnw-notifications.css --- */

/* ========================================
   SORT DROPDOWN
   ======================================== */
.vgnw-sort-wrapper {
    position: absolute;
    left: 16px; top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}
.vgnw-sort-trigger {
    display: flex; align-items: center; gap: 4px;
    padding: 6px 10px; background: none; border: none;
    cursor: pointer; font-size: 13px; font-weight: 600;
    color: var(--text-primary); border-radius: 8px;
    transition: background 0.2s; touch-action: manipulation;
    -webkit-tap-highlight-color: transparent; user-select: none;
}
.vgnw-sort-trigger:hover,
.vgnw-sort-trigger:active { background: var(--bg-tertiary); }
.vgnw-sort-trigger svg { transition: transform 0.2s; }
.vgnw-sort-wrapper:has(.vgnw-sort-dropdown.open) .vgnw-sort-trigger svg { transform: rotate(180deg); }
.vgnw-sort-dropdown {
    position: absolute; top: calc(100% + 8px); left: 0;
    min-width: 160px; background: var(--bg-secondary);
    border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,.25);
    opacity: 0; visibility: hidden;
    transform: translateY(-8px) scale(.95);
    transition: all 0.2s; overflow: hidden; z-index: 1000;
}
.vgnw-sort-dropdown.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.vgnw-sort-option {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; padding: 14px 16px; background: none; border: none;
    cursor: pointer; font-size: 15px; font-weight: 500;
    color: var(--text-primary); text-align: left;
    transition: background 0.15s; touch-action: manipulation;
    -webkit-tap-highlight-color: transparent; user-select: none;
}
.vgnw-sort-option:hover,
.vgnw-sort-option:active { background: var(--bg-tertiary); }
.vgnw-sort-option:first-child { border-radius: 12px 12px 0 0; }
.vgnw-sort-option:last-child  { border-radius: 0 0 12px 12px; }
.vgnw-sort-check { opacity: 0; color: var(--text-primary); }
.vgnw-sort-option.active .vgnw-sort-check { opacity: 1; }

/* --- Thread Follow + Search Suggest (2026-03) --- */
.vgnw-thread-title-follow {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
}

.vgnw-thread-follow-btn {
    min-height: 34px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    color: var(--vgnw-color-text, #101828);
    font-size: 12px;
    font-weight: 700;
}

.vgnw-thread-follow-btn .vgnw-thread-follow-count {
    display: none;
}

.vgnw-thread-follow-btn.is-followed {
    border-color: #0f172a;
    color: #fff;
    background: #0f172a;
}

.vgnw-thread-follow-btn.is-loading {
    opacity: .7;
    pointer-events: none;
}

.vgnw-forum-search-form {
    position: relative;
}

.vgnw-forum-search-suggest {
    margin-top: 8px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.vgnw-forum-search-suggest-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--vgnw-color-border, #dce0e6);
    text-decoration: none;
}

.vgnw-forum-search-suggest-item:last-child {
    border-bottom: 0;
}

.vgnw-forum-search-suggest-item:hover {
    background: var(--vgnw-color-bg-soft, #f8fafc);
}

.vgnw-forum-search-suggest-title {
    color: var(--vgnw-color-text, #101828);
    font-size: 14px;
    font-weight: 600;
}

.vgnw-forum-search-suggest-node {
    color: var(--vgnw-color-text-muted, #667085);
    font-size: 12px;
    white-space: nowrap;
}

.vgnw-forum-search-suggest-empty {
    padding: 11px 12px;
    color: var(--vgnw-color-text-muted, #667085);
    font-size: 13px;
}

html.dark-mode .vgnw-thread-follow-btn {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #27272a);
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-thread-follow-btn .vgnw-thread-follow-count {
    display: none;
}

html.dark-mode .vgnw-thread-follow-btn.is-followed {
    background: #e5e7eb;
    border-color: #e5e7eb;
    color: #111827;
}

.is-hidden {
    display: none !important;
}

.vgnw-thread-locked-notice {
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 12px;
    background: var(--vgnw-color-bg-soft, #f8fafc);
    padding: 14px 16px;
    margin-bottom: 10px;
    color: var(--vgnw-color-text-muted, #667085);
    font-weight: 600;
}

.vgnw-pinned-threads-block {
    margin-bottom: 0;
}

.vgnw-normal-threads-block {
    margin: 0;
}

.vgnw-normal-threads-separator {
    height: 8px;
    border-top: 1px solid var(--vgnw-color-border);
    border-bottom: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-pinned-threads-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #b91c1c;
    padding: 8px 12px;
    border: 0;
    border-left: 2px solid rgba(185, 28, 28, .62);
    border-radius: 0;
    background: rgba(185, 28, 28, .06);
    margin-bottom: 0;
}

.vgnw-forum-row.is-pinned-thread {
    border-color: rgba(185, 28, 28, .24);
    background: linear-gradient(0deg, rgba(185, 28, 28, .06), rgba(185, 28, 28, .06));
}

.vgnw-forum-row.is-solved-thread {
    border-left: 2px solid rgba(22, 163, 74, .45);
}

.vgnw-pinned-thread-icon {
    display: inline-flex;
    margin-right: 6px;
    color: #b91c1c;
    vertical-align: middle;
}

html.dark-mode .vgnw-pinned-threads-title {
    color: #fca5a5;
    border-left-color: rgba(252, 165, 165, .7);
    background: rgba(127, 29, 29, .2);
}

html.dark-mode .vgnw-forum-row.is-pinned-thread {
    border-color: rgba(248, 113, 113, .25);
    background: linear-gradient(0deg, rgba(127, 29, 29, .22), rgba(127, 29, 29, .22));
}

html.dark-mode .vgnw-normal-threads-separator {
    border-top-color: var(--border-light, #27272a);
    border-bottom-color: var(--border-light, #27272a);
    background: rgba(255, 255, 255, 0.02);
}

html.dark-mode .vgnw-forum-row.is-solved-thread {
    border-left-color: rgba(74, 222, 128, .45);
}

.vgnw-pinned-threads-title.is-draft {
    color: #374151;
    border-left-color: #9ca3af;
    background: #f3f4f6;
}

.vgnw-draft-collapse {
    margin: 0;
    border: 0;
}

.vgnw-draft-collapse > summary {
    list-style: none;
    cursor: pointer;
}

.vgnw-draft-collapse > summary::-webkit-details-marker {
    display: none;
}

.vgnw-draft-collapse > summary::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 8px;
    transition: transform .16s ease;
}

.vgnw-draft-collapse[open] > summary::after {
    transform: rotate(225deg);
}

.vgnw-draft-collapse-body {
    display: block;
}

html.dark-mode .vgnw-pinned-threads-title.is-draft {
    color: #d1d5db;
    border-left-color: #6b7280;
    background: rgba(75, 85, 99, .3);
}

/* Lifecycle Modal + Toast */
.vgnw-forum-toast-root {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 12000;
    display: grid;
    gap: 8px;
}

.vgnw-forum-toast {
    min-width: 220px;
    max-width: 360px;
    background: #111827;
    color: #fff;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.35;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
}

.vgnw-forum-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.vgnw-forum-toast.is-error {
    background: #991b1b;
}

.vgnw-lifecycle-modal[hidden] {
    display: none !important;
}

.vgnw-lifecycle-modal {
    position: fixed;
    inset: 0;
    z-index: 11990;
}

.vgnw-lifecycle-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 23, .55);
}

.vgnw-lifecycle-modal-dialog {
    position: relative;
    max-width: 560px;
    margin: 9vh auto 0;
    background: #fff;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 14px;
    overflow: hidden;
}

.vgnw-lifecycle-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid var(--vgnw-color-border, #dce0e6);
}

.vgnw-lifecycle-modal-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.vgnw-lifecycle-modal-close {
    border: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.vgnw-lifecycle-modal-body {
    padding: 12px 14px;
}

.vgnw-lifecycle-modal-input {
    width: 100%;
    height: 38px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 10px;
    padding: 0 12px;
}

.vgnw-lifecycle-modal-list {
    margin-top: 10px;
    max-height: 300px;
    overflow: auto;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 10px;
}

.vgnw-lifecycle-modal-item {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--vgnw-color-border, #dce0e6);
    padding: 10px 12px;
    background: #fff;
    text-align: left;
    display: grid;
    gap: 2px;
    cursor: pointer;
}

.vgnw-lifecycle-modal-item:last-child {
    border-bottom: 0;
}

.vgnw-lifecycle-modal-item.is-selected {
    background: #eff6ff;
}

.vgnw-lifecycle-modal-item-title {
    font-weight: 700;
    font-size: 14px;
}

.vgnw-lifecycle-modal-item-meta {
    color: #64748b;
    font-size: 12px;
}

.vgnw-lifecycle-modal-empty {
    padding: 12px;
    color: #64748b;
    font-size: 13px;
}

.vgnw-lifecycle-modal-foot {
    padding: 12px 14px;
    border-top: 1px solid var(--vgnw-color-border, #dce0e6);
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

html.dark-mode .vgnw-lifecycle-modal-dialog {
    background: #111318;
    border-color: #252a33;
}

html.dark-mode .vgnw-lifecycle-modal-head,
html.dark-mode .vgnw-lifecycle-modal-foot,
html.dark-mode .vgnw-lifecycle-modal-item,
html.dark-mode .vgnw-lifecycle-modal-list {
    border-color: #252a33;
}

html.dark-mode .vgnw-lifecycle-modal-input,
html.dark-mode .vgnw-lifecycle-modal-item {
    background: #171b22;
    color: #e5e7eb;
}

html.dark-mode .vgnw-lifecycle-modal-item.is-selected {
    background: #1f2937;
}

html.dark-mode .vgnw-forum-search-suggest {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-forum-search-suggest-item {
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-forum-search-suggest-item:hover {
    background: #24242a;
}

html.dark-mode .vgnw-forum-search-suggest-title {
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-forum-search-suggest-node,
html.dark-mode .vgnw-forum-search-suggest-empty {
    color: var(--text-tertiary, #a1a1aa);
}

/* ========================================
   COMMENTS DRAWER – MOBILE
   ======================================== */
.comments-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5);
    opacity: 0; pointer-events: none;
    transition: opacity 0.2s; z-index: 1001;
}
.comments-overlay.active { opacity: 1; pointer-events: auto; }

.comments-drawer {
    position: fixed; left: 15px; right: 15px;
    bottom: 15px !important; top: auto !important;
    height: 58vh; max-height: calc(100vh - 180px);
    background: var(--bg-primary);
    border: 1px solid var(--border-light);
    border-radius: 18px;
    transform: translateY(120%);
    transition: transform 0.25s ease;
    z-index: 1002; overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    display: flex; flex-direction: column;
    will-change: transform;
}
.comments-drawer.open { transform: translateY(0); }
.comments-drawer.expanded { max-height: 88vh !important; border-radius: 18px; }
.comments-drawer.keyboard-mode { bottom: 15px !important; top: auto !important; transition: none !important; }

.comments-drawer {
    transition: transform 0.3s cubic-bezier(.32,.72,0,1),
                height 0.3s cubic-bezier(.32,.72,0,1),
                border-radius 0.3s;
}

.comments-drawer-grabber {
    width: 42px; height: 5px; border-radius: 999px;
    background: var(--border-medium);
    margin: 10px auto 4px; flex: 0 0 auto; touch-action: none;
}
.comments-drawer-header {
    display: flex; align-items: center; justify-content: center;
    padding: 12px 16px; border-bottom: 1px solid var(--border-light);
    background: var(--bg-primary); flex: 0 0 auto;
    touch-action: none; position: relative;
}
.comments-drawer-title { margin: 0; font-size: 16px; font-weight: 800; text-align: center; width: 100%; }
.comments-drawer-close { display: none !important; }

.comments-list {
    padding: 0; flex: 1 1 auto;
    overflow-y: auto; overflow-x: hidden;
    -webkit-overflow-scrolling: touch; box-sizing: border-box;
    overscroll-behavior: contain;
}
.comments-list .vgnw-ig-comment { padding: 0 !important; margin: 0 !important; transition: background-color 0.2s; }
.comments-list .vgnw-ig-comment .vgnw-ig-comment-inner { padding: 12px 16px !important; }
.comments-list .vgnw-ig-comment.vgnw-notif-focus {
    background-color: var(--bg-tertiary);
    animation: vgnw-highlight-fade 2s ease-out;
}
@keyframes vgnw-highlight-fade {
    0%   { background-color: var(--bg-tertiary); }
    100% { background-color: transparent; }
}

.comment-form-container {
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    border-top: 1px solid var(--border-light);
    background: var(--bg-secondary); flex: 0 0 auto;
}

.comments-empty { max-width: 320px; margin: 0 auto; padding: 80px 0 60px; text-align: center; }
.comments-empty-title { margin: 0 0 6px; font-size: 18px; font-weight: 800; color: var(--text-primary); }
.comments-empty-subtitle { margin: 0; font-size: 14px; line-height: 1.45; color: var(--text-tertiary); }

.comment-cta {
    display: grid; grid-template-columns: 40px 1fr; gap: 10px;
    align-items: center; width: 100%; text-decoration: none;
    padding: 10px 12px; border-radius: 999px;
    border: 1px solid var(--border-light); background: var(--bg-primary);
}
.comment-cta:hover { border-color: var(--border-medium); }
.comment-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--bg-tertiary); border: 1px solid var(--border-light); }
.comment-avatar.is-guest svg { color: var(--text-tertiary); }
.comment-avatar-img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.comment-cta-title   { font-size: 14px; font-weight: 800; color: var(--text-primary); line-height: 1.1; }
.comment-cta-subtitle{ font-size: 12px; color: var(--text-tertiary); line-height: 1.2; margin-top: 2px; }

.comment-composer { display: flex; gap: 10px; align-items: center; }

.vgnw-comment-media-buttons { display: flex; gap: 4px; align-items: center; margin-right: 6px; }
.vgnw-media-btn {
    width: 36px; height: 36px; border-radius: 8px; border: none;
    background: none; cursor: pointer; display: grid; place-items: center;
    color: var(--text-secondary); transition: background 0.2s, color 0.2s;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
.vgnw-media-btn:hover, .vgnw-media-btn:active { background: var(--bg-tertiary); color: var(--text-primary); }
.vgnw-media-btn:disabled { opacity: .5; pointer-events: none; }
.vgnw-gif-text { font-size: 11px; font-weight: 700; border: 1.5px solid currentColor; border-radius: 4px; padding: 2px 4px; line-height: 1; }

.vgnw-comment-media-preview { padding: 8px 16px 0; margin-bottom: 8px; }
.vgnw-media-preview-inner { position: relative; display: inline-block; max-width: 120px; border-radius: 12px; overflow: hidden; }
.vgnw-media-preview-img { display: block; width: 100%; height: auto; max-height: 100px; object-fit: cover; border-radius: 12px; }
.vgnw-media-remove {
    position: absolute; top: 6px; right: 6px;
    width: 22px; height: 22px; border-radius: 50%;
    background: rgba(0,0,0,.7); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #fff; transition: background 0.2s; padding: 0; line-height: 1;
}
.vgnw-media-remove svg { width: 14px; height: 14px; display: block; }
.vgnw-media-remove:hover { background: rgba(0,0,0,.9); }

.comment-input {
    flex: 1; border: 1px solid var(--border-light); border-radius: 999px;
    padding: 10px 14px; background: var(--bg-primary); color: var(--text-primary);
    font-size: 14px; width: 100%; box-sizing: border-box; resize: none;
    line-height: 1.2; max-height: 120px; overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.comment-input:focus { outline: none; border-color: var(--accent-primary); }

.comment-submit.comment-send {
    width: 44px; height: 44px; border-radius: 12px; border: none;
    background: var(--text-primary); color: var(--bg-primary);
    display: grid; place-items: center; line-height: 0; padding: 0;
    opacity: 0; pointer-events: none; transform: translateX(4px);
    transition: opacity 0.15s, transform 0.15s;
}
.comment-submit.comment-send svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentColor; }
.comments-drawer.has-text .comment-submit.comment-send { opacity: 1; pointer-events: auto; transform: translateX(0); }
.comment-send:disabled { opacity: .7 !important; pointer-events: none; }

.vgnw-upload-spinner { width: 16px; height: 16px; border: 2px solid var(--text-tertiary); border-top-color: var(--text-primary); border-radius: 50%; animation: vgnw-spin .8s linear infinite; }
@keyframes vgnw-spin { to { transform: rotate(360deg); } }
.comment-send .spin { animation: vgnw-spin .8s linear infinite; }

/* Mobile overrides for drawer form */
@media (max-width: 768px) {
    .comments-drawer .comment-form-container {
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom,0px));
        background: var(--bg-primary); border-top: 1px solid var(--border-light);
    }
    .comments-drawer .comment-composer {
        display: flex; align-items: flex-end; gap: 10px;
        background: var(--bg-secondary); border-radius: 24px;
        padding: 6px 6px 6px 12px; border: 1px solid var(--border-light);
    }
    .comments-drawer .comment-avatar { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; overflow: hidden; align-self: flex-end; margin-bottom: 2px; }
    .comments-drawer .comment-input {
        flex: 1; min-height: 36px; max-height: 100px;
        padding: 8px 0; border: none !important; background: transparent !important;
        resize: none; font-size: 14px; line-height: 1.3; overflow-y: auto;
    }
    .comments-drawer .comment-input:focus { outline: none !important; box-shadow: none !important; }
    .comments-drawer .comment-submit.comment-send {
        width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
        opacity: 0; pointer-events: none; transform: scale(.8);
        transition: opacity 0.15s, transform 0.15s; margin: 0; padding: 0;
    }
    .comments-drawer .comment-submit.comment-send svg { width: 16px; height: 16px; }
    .comments-drawer.has-text .comment-submit.comment-send { opacity: 1; pointer-events: auto; transform: scale(1); }
}

/* ========================================
   INSTAGRAM YORUM STİLİ
   ======================================== */
.vgnw-instagram-comments { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.vgnw-instagram-comments li { list-style: none !important; }
.vgnw-ig-comment { padding: 12px 0; border-bottom: none; }

.vgnw-ig-comment-inner {
    display: grid !important;
    grid-template-columns: 32px minmax(0,1fr) 24px;
    align-items: flex-start !important; gap: 12px !important;
    width: 100% !important; box-sizing: border-box !important;
    padding: 0 !important; margin: 0 !important;
    -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}
.vgnw-ig-comment.is-reply .vgnw-ig-comment-inner {
    grid-template-columns: 24px minmax(0,1fr) 20px; gap: 10px;
}

.vgnw-ig-avatar { width: 32px; height: 32px; flex-shrink: 0; align-self: flex-start; }
.vgnw-ig-avatar img,
.vgnw-ig-avatar .vgnw-comment-avatar { width: 32px !important; height: 32px !important; border-radius: 50% !important; object-fit: cover; }
.vgnw-ig-comment.is-reply .vgnw-ig-avatar,
.vgnw-ig-comment.is-reply .vgnw-ig-avatar img,
.vgnw-ig-comment.is-reply .vgnw-comment-avatar { width: 24px !important; height: 24px !important; }

.vgnw-ig-content { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.vgnw-ig-header  { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-bottom: 2px; }
.vgnw-ig-author  { font-weight: 600; font-size: 13px; color: var(--text-primary); }
.vgnw-ig-time    { font-size: 12px; color: var(--text-muted); }

.vgnw-author-badge { display: inline-flex; align-items: center; padding: 2px 6px; font-size: 10px; font-weight: 600; color: #3897f0; background: rgba(56,151,240,.15); border-radius: 4px; text-transform: uppercase; letter-spacing: .3px; }
.vgnw-pinned-badge { display: inline-flex; align-items: center; font-size: 12px; margin-left: 4px; }

.vgnw-ig-text { font-size: 14px; line-height: 1.4; color: var(--text-primary); word-wrap: break-word; overflow-wrap: break-word; }
.vgnw-ig-text p { margin: 0 !important; padding: 0 !important; }

.vgnw-ig-actions { margin-top: 4px; }
.vgnw-ig-reply a,
.vgnw-ig-actions .comment-reply-link { font-size: 12px; font-weight: 600; color: var(--text-muted) !important; text-decoration: none; }
.vgnw-ig-reply a:hover { color: var(--text-secondary) !important; }

.vgnw-ig-like {
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
    padding-top: 4px; flex-shrink: 0; width: 24px; min-width: 24px; justify-self: end; gap: 2px;
}
.vgnw-ig-like .vgnw-ig-like-count { font-size: 11px; font-weight: 600; color: var(--text-tertiary); line-height: 1; margin: 0; }

.vgnw-comment-like-btn {
    background: none; border: none; padding: 4px; cursor: pointer;
    color: var(--text-muted); opacity: .6;
    transition: opacity 0.2s, color 0.2s, transform 0.15s;
    display: flex; align-items: center; justify-content: center;
}
.vgnw-comment-like-btn:hover  { opacity: 1; color: var(--text-secondary); }
.vgnw-comment-like-btn:active { transform: scale(.85); }
.vgnw-comment-like-btn.liked  { color: var(--accent-red, #EF4444); opacity: 1; }
.vgnw-comment-like-btn.liked svg { fill: var(--accent-red, #EF4444); stroke: var(--accent-red, #EF4444); }

.vgnw-ig-like-count { font-size: 12px; color: var(--text-tertiary); margin-left: 12px; }

/* Yanıt load more */
.vgnw-load-more-replies {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 0; margin-left: 0; font-size: 13px; font-weight: 600;
    color: var(--text-tertiary); background: none; border: none;
    cursor: pointer; width: 100%; transition: color 0.2s;
}
.vgnw-load-more-replies:hover { color: var(--text-secondary); }
.vgnw-toggle-replies { display: none !important; }
.vgnw-reply-hidden { display: none !important; }
.vgnw-replies-hidden.show { display: block; }

/* @mention */
.vgnw-mention { color: #3797f0; font-weight: 600; text-decoration: none; }
.vgnw-mention:hover { text-decoration: underline; }

/* Children (replies) */
.vgnw-instagram-comments .children {
    list-style: none !important; padding: 0 0 0 44px !important;
    margin: 8px 0 0 0 !important; display: block !important;
    width: 100%; box-sizing: border-box;
}
.vgnw-instagram-comments .children > li.comment,
.vgnw-instagram-comments .children > li.vgnw-ig-comment { display: block !important; padding: 0 !important; }

.vgnw-instagram-comments .children .vgnw-ig-avatar,
.vgnw-instagram-comments .children .vgnw-ig-avatar img,
.vgnw-instagram-comments .children .vgnw-comment-avatar,
.vgnw-instagram-comments .children .avatar {
    width: 24px !important; height: 24px !important;
    min-width: 24px !important; min-height: 24px !important;
    max-width: 24px !important; max-height: 24px !important;
    border-radius: 50% !important; object-fit: cover !important; aspect-ratio: 1/1 !important;
}
.vgnw-instagram-comments .children .vgnw-ig-comment-inner {
    grid-template-columns: 24px minmax(0,1fr) 20px !important; gap: 10px !important;
}
.vgnw-instagram-comments .children .vgnw-ig-like { width: 20px; min-width: 20px; justify-self: end; }
.vgnw-instagram-comments .children .children { margin-left: 34px !important; }

/* ========================================
   COMMENT CONTEXT MENU (Long Press)
   ======================================== */
.vgnw-comment-context-menu {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    z-index: 10000; display: flex; align-items: flex-end; justify-content: center;
    opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s;
}
.vgnw-comment-context-menu.open { opacity: 1; visibility: visible; }
.vgnw-context-menu-overlay {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,.5); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
}
.vgnw-context-menu-content {
    position: relative; width: 100%; max-width: 400px;
    background: var(--bg-secondary); border-radius: 16px 16px 0 0;
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom,0px));
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(.32,.72,0,1);
}
.vgnw-comment-context-menu.open .vgnw-context-menu-content { transform: translateY(0); }
.vgnw-context-item {
    display: flex; align-items: center; gap: 16px;
    width: 100%; padding: 16px 20px; background: none; border: none;
    cursor: pointer; font-size: 16px; font-weight: 500;
    color: var(--text-primary); text-align: left; transition: background 0.15s;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
.vgnw-context-item:hover, .vgnw-context-item:active { background: var(--bg-tertiary); }
.vgnw-context-item svg { flex-shrink: 0; color: var(--text-secondary); }
.vgnw-context-item.danger { color: #ff3b30; }
.vgnw-context-item.danger svg { color: #ff3b30; }

/* ========================================
   DOUBLE-TAP HEART
   ======================================== */
.vgnw-double-tap-heart {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%) scale(0);
    pointer-events: none; z-index: 100;
    animation: vgnw-heart-pop 1s ease forwards;
}
@keyframes vgnw-heart-pop {
    0%   { transform: translate(-50%,-50%) scale(0);   opacity: 0; }
    15%  { transform: translate(-50%,-50%) scale(1.2); opacity: 1; }
    30%  { transform: translate(-50%,-50%) scale(.95); }
    45%  { transform: translate(-50%,-50%) scale(1);   }
    80%  { transform: translate(-50%,-50%) scale(1);   opacity: 1; }
    100% { transform: translate(-50%,-50%) scale(1);   opacity: 0; }
}
.vgnw-comment-like-btn.liked svg { animation: vgnw-like-pulse .35s ease; }
@keyframes vgnw-like-pulse {
    0%   { transform: scale(1);   }
    50%  { transform: scale(1.3); }
    100% { transform: scale(1);   }
}

/* ========================================
   COMMENT IMAGE ATTACHMENT
   ======================================== */
.vgnw-comment-image { margin-top: 8px; max-width: 200px; }
.vgnw-comment-image img {
    display: block; width: 100%; height: auto;
    border-radius: 12px; cursor: pointer; transition: opacity 0.2s;
}
.vgnw-comment-image img:hover { opacity: .9; }

/* ========================================
   PROFILE NOTIFICATIONS TAB
   ======================================== */
.profile-notifications-tab .vgnw-notif-item { border-radius: 10px; margin-bottom: 4px; }
.profile-notifications-tab .vgnw-notif-list { margin: 0; padding: 0; }

.vgnw-profile-followed-topics {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--vgnw-color-border);
}

.vgnw-profile-followed-head {
    margin-bottom: 8px;
}

.vgnw-profile-followed-head h4 {
    margin: 0;
    font-size: 1rem;
}

.vgnw-profile-followed-row {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.vgnw-profile-followed-title {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vgnw-profile-followed-title:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-profile-followed-meta {
    grid-column: 1;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
}

.vgnw-profile-followed-row .vgnw-thread-follow-btn {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 34px;
}

html.dark-mode .vgnw-profile-followed-topics {
    border-top-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-profile-followed-row {
    background: var(--bg-secondary, #212121);
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-profile-followed-title {
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-profile-followed-meta {
    color: var(--text-tertiary, #a1a1aa);
}

/* ========================================
   FORUM UI REALIGNMENT (v7.2)
   ======================================== */
.vgnw-forum-page-shell.is-full-width #main {
    max-width: 1290px;
    margin: 0 auto;
    padding-top: 25px;
}

.vgnw-node-header-new {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--vgnw-space-4);
    padding: 0;
    margin-bottom: var(--vgnw-space-4);
    border: 0;
    border-radius: 0;
    background: transparent;
}

.vgnw-node-header-new h1 {
    margin: 0;
    font-size: clamp(1.55rem, 1.32rem + 0.6vw, 1.85rem);
    line-height: 1.2;
}

.vgnw-node-header-new .node-desc {
    margin: 6px 0 0;
    color: var(--vgnw-color-text-muted);
    font-size: 0.95rem;
}

.vgnw-node-moderation-note {
    margin: 6px 0 0;
    color: var(--vgnw-color-text-muted);
    font-size: 0.82rem;
}

.vgnw-thread-list-wrapper {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    background: var(--vgnw-color-bg-elevated);
}

.vgnw-thread-list-header-new {
    background: var(--vgnw-color-bg-soft);
    border-bottom: 1px solid var(--vgnw-color-border);
    color: var(--vgnw-color-text-muted);
    grid-template-columns: minmax(0, 1fr) 80px 80px 220px;
    display: grid;
}

.vgnw-thread-list-wrapper.has-select-column .vgnw-thread-list-header-new {
    grid-template-columns: minmax(0, 1fr) 80px 80px 220px 34px;
}

.vgnw-thread-author-icon {
    width: 40px;
    margin-right: 10px;
}

.vgnw-last-post-meta {
    width: 100%;
    text-align: left;
}

.vgnw-last-post-age {
    color: var(--vgnw-color-text-subtle);
    font-size: 12px;
    font-weight: 500;
}

.vgnw-last-post-author {
    color: var(--vgnw-color-accent);
}

.vgnw-last-post-meta .lp-sub {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vgnw-last-post-avatar .avatar {
    width: 18px;
    height: 18px;
    border-radius: 50%;
}

.vgnw-create-thread-wrapper {
    width: 100%;
    margin: 0 0 var(--vgnw-space-4);
}

.vgnw-create-thread-header {
    margin-bottom: var(--vgnw-space-2);
}

.vgnw-create-thread-title {
    margin: 0;
    font-size: clamp(1.45rem, 1.28rem + 0.5vw, 1.75rem);
    line-height: 1.2;
}

.vgnw-create-thread-subtitle {
    margin: 0;
    color: var(--vgnw-color-text-muted);
    font-size: 0.95rem;
}

.vgnw-thread-form {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
}

.vgnw-thread-form .form-group {
    margin: 0;
}

.vgnw-thread-form .vgnw-field-group > label {
    display: block;
    margin: 0 0 var(--vgnw-space-2);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--vgnw-color-text);
}

.vgnw-thread-form .vgnw-input,
.vgnw-thread-form .vgnw-select {
    min-height: 44px;
    border: 1px solid var(--vgnw-color-border-strong);
    background: #fff;
}

.vgnw-node-locked {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--vgnw-space-2);
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: var(--vgnw-color-bg-soft);
    padding: 10px 12px;
}

.vgnw-node-locked-label {
    color: var(--vgnw-color-text-muted);
    font-size: 0.84rem;
}

.vgnw-node-locked-name {
    color: var(--vgnw-color-text);
}

.vgnw-editor-shell {
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    overflow: hidden;
    background: #fff;
}

.vgnw-thread-editor {
    min-height: 420px;
    background: #fff;
}

.vgnw-thread-form .ql-editor {
    min-height: 420px;
}

.inside-article:has(.vgnw-create-thread-wrapper) > .entry-header {
    display: none;
}

.inside-article:has(.vgnw-create-thread-wrapper) {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.vgnw-thread-bulk-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-thread-bulk-actions[hidden] {
    display: none !important;
}

.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid var(--vgnw-color-border-strong, #c7ced9);
    background: var(--vgnw-color-bg-elevated, #fff);
    color: var(--vgnw-color-text, #0f172a);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost:hover,
.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost:focus-visible {
    border-color: var(--vgnw-color-accent, #1e40af);
    background: var(--vgnw-color-bg-soft, #f8fafc);
    color: var(--vgnw-color-accent, #1e40af);
    outline: none;
}

.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost[disabled] {
    opacity: .55;
    cursor: not-allowed;
}

.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger {
    border-color: rgba(220, 38, 38, .45);
    color: #b91c1c;
}

.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger:hover,
.vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger:focus-visible {
    border-color: #dc2626;
    background: rgba(220, 38, 38, .08);
    color: #991b1b;
}

.vgnw-thread-bulk-count {
    min-width: 26px;
    height: 24px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-elevated);
    font-size: 12px;
    font-weight: 700;
}

.vgnw-thread-select-wrap {
    width: 26px;
    margin-right: 8px;
    margin-left: auto;
    display: inline-flex;
    justify-content: flex-end;
    flex: 0 0 26px;
}

.vgnw-thread-select {
    width: 14px;
    height: 14px;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-forum-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 80px 80px 220px;
    align-items: center;
}

.vgnw-thread-list-wrapper.has-select-column .vgnw-thread-list[data-thread-list="1"] .vgnw-forum-row {
    grid-template-columns: minmax(0, 1fr) 80px 80px 220px 34px;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-stat {
    width: 80px;
    min-width: 80px;
    padding: 0 6px;
    margin-left: 0;
    border-left: 1px solid var(--vgnw-color-border);
    display: flex !important;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-last {
    width: 220px;
    min-width: 220px;
    border-left: 1px solid var(--vgnw-color-border);
    margin-left: 0;
    padding-left: 12px;
}

.vgnw-thread-list-header-new .th-gap {
    border-left: 1px solid var(--vgnw-color-border);
}

.vgnw-thread-list-header-new .th-last {
    min-width: 220px;
    width: 220px;
    text-align: left;
    padding-left: 12px;
    border-left: 1px solid var(--vgnw-color-border);
    box-sizing: border-box;
}

.vgnw-thread-list-header-new .th-select-gap {
    border-left: 1px solid var(--vgnw-color-border);
}

.vgnw-col-select {
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--vgnw-color-border);
    min-height: 100%;
}

.vgnw-col-select .vgnw-thread-select-wrap {
    width: 100%;
    margin: 0;
    justify-content: center;
    padding-right: 2px;
}

.vgnw-forum-row.is-locked-thread .vgnw-forum-info h3 a {
    opacity: .9;
}

.vgnw-pinned-threads-block.is-draft-threads .vgnw-forum-row {
    border-bottom-style: dashed;
}

.vgnw-pinned-threads-block.is-draft-threads .vgnw-forum-row:last-child {
    border-bottom: 0;
}

.vgnw-pinned-threads-block + .vgnw-forum-row {
    margin-top: 0;
}

.vgnw-thread-status-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(37, 99, 235, .12);
    color: #1e3a8a;
}

html.dark-mode .vgnw-thread-status-badge {
    background: rgba(59, 130, 246, .22);
    color: #bfdbfe;
}

@media (max-width: 900px) {
    .vgnw-thread-list-header-new {
        grid-template-columns: 1fr;
    }
.vgnw-thread-list-header-new .th-gap,
.vgnw-thread-list-header-new .th-last {
    display: none;
}
    .vgnw-thread-list-header-new .th-select-gap {
        display: none;
    }
    .vgnw-thread-list[data-thread-list="1"] .vgnw-forum-row {
        grid-template-columns: 1fr;
    }
    .vgnw-thread-list[data-thread-list="1"] .vgnw-col-stat {
        display: none !important;
    }
    .vgnw-thread-list[data-thread-list="1"] .vgnw-col-last {
        width: auto;
        min-width: 0;
        border-left: 0;
        border-top: 1px solid var(--vgnw-color-border);
        margin-top: 8px;
        padding: 8px 0 0;
    }
    .vgnw-col-select {
        display: none !important;
    }
    .vgnw-thread-bulk-actions {
        flex-wrap: wrap;
    }
}

html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost {
    border-color: var(--border-light, #3b4252);
    background: var(--bg-secondary, #1f1f23);
    color: var(--text-primary, #f4f6f8);
}

html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost:hover,
html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost:focus-visible {
    border-color: var(--accent-primary, #3b82f6);
    background: rgba(59, 130, 246, .16);
    color: #dbeafe;
}

html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger {
    border-color: rgba(248, 113, 113, .5);
    color: #fca5a5;
}

html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger:hover,
html.dark-mode .vgnw-thread-bulk-actions .vgnw-btn.vgnw-btn-ghost.is-danger:focus-visible {
    border-color: #f87171;
    background: rgba(248, 113, 113, .18);
    color: #fee2e2;
}

html.dark-mode .vgnw-pinned-threads-block.is-draft-threads .vgnw-forum-row {
    border-bottom-color: rgba(120, 130, 150, .45);
}

.vgnw-thread-form .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-thread-form .ql-container.ql-snow {
    border: 0;
}

.vgnw-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.vgnw-thread-form .vgnw-btn-primary,
.vgnw-thread-form .vgnw-btn-post-thread-submit,
.vgnw-btn-post-thread,
.vgnw-reply-container .vgnw-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: var(--vgnw-radius-sm);
    border: 1px solid var(--vgnw-color-accent);
    background: var(--vgnw-color-accent);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

.vgnw-thread-form .vgnw-btn-primary:hover,
.vgnw-thread-form .vgnw-btn-post-thread-submit:hover,
.vgnw-btn-post-thread:hover,
.vgnw-reply-container .vgnw-btn-primary:hover {
    background: var(--vgnw-color-accent-hover);
    border-color: var(--vgnw-color-accent-hover);
    color: #fff;
}

.vgnw-btn-disabled,
.vgnw-reply-container .vgnw-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: var(--vgnw-radius-sm);
    border: 1px solid var(--vgnw-color-border-strong);
    background: var(--vgnw-color-bg-elevated);
    color: var(--vgnw-color-text);
    text-decoration: none;
}

.vgnw-btn-disabled {
    color: var(--vgnw-color-text-muted);
    cursor: not-allowed;
}

.vgnw-stream-container {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: var(--vgnw-color-bg-elevated);
    padding: var(--vgnw-space-4);
}

.vgnw-thread-title-bar {
    margin-bottom: var(--vgnw-space-4);
    padding-bottom: var(--vgnw-space-3);
    border-bottom: 1px solid var(--vgnw-color-border);
}

.vgnw-reply-container {
    margin-top: var(--vgnw-space-5);
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: var(--vgnw-color-bg-elevated);
    padding: var(--vgnw-space-4);
}

.vgnw-reply-inline-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    cursor: pointer;
    text-align: left;
}

.vgnw-reply-inline-trigger:hover {
    border-color: var(--vgnw-color-accent);
}

.vgnw-reply-inline-avatar .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.vgnw-reply-inline-text {
    color: var(--vgnw-color-text-muted);
    font-weight: 600;
}

.vgnw-reply-container .reply-editor-box {
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    overflow: hidden;
    background: #fff;
}

.vgnw-reply-container.is-collapsed .reply-context,
.vgnw-reply-container.is-collapsed .reply-editor-box {
    display: none;
}

.vgnw-reply-container.is-expanded .vgnw-reply-inline-trigger {
    display: none;
}

.vgnw-reply-container .ql-toolbar {
    border: 0;
    border-bottom: 1px solid var(--vgnw-color-border) !important;
    background: var(--vgnw-color-bg-soft);
}

.vgnw-reply-container #vgnw-editor-container {
    min-height: 180px;
    border: 0;
}

@media (max-width: 992px) {
    .vgnw-node-header-new {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .vgnw-thread-form {
        padding: var(--vgnw-space-4);
    }

    .vgnw-form-actions {
        justify-content: stretch;
    }

    .vgnw-thread-form .vgnw-btn-post-thread-submit {
        width: 100%;
    }
}

/* ========================================
   FORUM LAYOUT + POSTBIT (v7.3)
   ======================================== */
.vgnw-forum-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.vgnw-forum-main {
    min-width: 0;
}

.vgnw-forum-sidebar {
    min-width: 0;
}

.vgnw-forum-sidebar-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 0;
    margin-top: 0;
}

.vgnw-forum-side-card {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px 8px 0 0;
    background: var(--vgnw-color-bg-elevated);
    padding: 14px;
    box-shadow: var(--vgnw-shadow-sm);
}

.vgnw-forum-side-card h3 {
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.2;
}

.vgnw-forum-side-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vgnw-forum-side-list li {
    margin: 0;
    padding: 0;
}

.vgnw-forum-side-list a {
    color: var(--vgnw-color-text);
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.vgnw-forum-side-list a:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-side-user {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vgnw-side-user .avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

.vgnw-side-meta {
    display: block;
    margin-top: 2px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.vgnw-side-empty {
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-side-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #13b26b;
    box-shadow: 0 0 0 2px #dcfce7;
    flex-shrink: 0;
}

.vgnw-forum-side-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.vgnw-forum-side-stats-grid > div {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: var(--vgnw-color-bg-soft);
    padding: 8px 10px;
}

.vgnw-forum-side-stats-grid span {
    display: block;
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
}

.vgnw-forum-side-stats-grid strong {
    display: block;
    margin-top: 2px;
    color: var(--vgnw-color-text);
    font-size: 14px;
}

.vgnw-index-activity {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px 8px 0 0;
    background: var(--vgnw-color-bg-elevated);
    margin: 0 0 var(--vgnw-space-4);
    overflow: hidden;
}

.vgnw-index-activity-manage {
    display: flex;
    justify-content: flex-end;
    padding: 8px 10px 0;
}

.vgnw-index-activity-manage a {
    font-size: 12px;
    font-weight: 600;
    color: var(--vgnw-color-text-muted);
    text-decoration: none;
}

.vgnw-index-activity-manage a:hover {
    color: var(--vgnw-color-accent);
    text-decoration: underline;
}

.vgnw-index-activity-tabs {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-index-activity-tab {
    appearance: none;
    border: 0;
    border-right: 1px solid var(--vgnw-color-border);
    background: transparent;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
    font-weight: 700;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.vgnw-index-activity-tab:last-child {
    border-right: 0;
}

.vgnw-index-activity-tab.is-active {
    color: var(--vgnw-color-text);
    background: var(--vgnw-color-bg-elevated);
}

.vgnw-index-activity-panel {
    display: none;
}

.vgnw-index-activity-panel.is-active {
    display: block;
}

.vgnw-index-activity-empty {
    margin: 0;
    padding: 14px;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-index-activity-table-wrap {
    overflow-x: auto;
}

.vgnw-index-activity-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 780px;
}

.vgnw-index-activity-table th,
.vgnw-index-activity-table td {
    border-bottom: 1px solid var(--vgnw-color-border);
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.35;
    vertical-align: middle;
}

.vgnw-index-activity-table th {
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: left;
}

.vgnw-index-activity-topic {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.vgnw-index-activity-topic a {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-weight: 600;
}

.vgnw-index-activity-topic a:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-index-activity-avatar .avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.vgnw-index-activity-node {
    color: var(--vgnw-color-text-muted);
    text-decoration: none;
    font-weight: 500;
}

.vgnw-index-activity-node:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-index-activity-last {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-weight: 600;
}

.vgnw-index-activity-last:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-stream-container .vgnw-post-item {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: var(--vgnw-color-bg-elevated);
    padding: 0;
    margin-bottom: 12px;
}

.vgnw-post-grid {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
}

.vgnw-postbit {
    border-right: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-postbit-inner {
    position: sticky;
    top: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 14px;
    text-align: center;
}

.vgnw-postbit-avatar-wrap {
    position: relative;
    display: inline-flex;
    text-decoration: none;
}

.vgnw-postbit-avatar-wrap .avatar,
.vgnw-postbit-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.vgnw-postbit-online-indicator {
    position: absolute;
    right: 4px;
    bottom: 3px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: #9ca3af;
}

.vgnw-postbit-online-indicator.is-online {
    background: #15b169;
}

.vgnw-postbit-identity {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vgnw-postbit-meta-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
}

.vgnw-postbit-name {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.vgnw-postbit-name:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-postbit-role {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--vgnw-color-border);
    background: #fff;
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
    font-weight: 600;
}

.vgnw-postbit-role.role-administrator {
    color: #fff;
    border-color: #7f1d1d;
    background: #b91c1c;
}

.vgnw-postbit-role.role-moderator {
    color: #fff;
    border-color: #065f46;
    background: #0f766e;
}

.vgnw-postbit-level-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--vgnw-color-border);
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
}

.vgnw-postbit-level-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 2px;
}

.vgnw-postbit-level-wrap .vgnw-postbit-level-pill {
    align-self: center;
}

.vgnw-postbit-level-track {
    position: relative;
    display: block;
    width: 100%;
    height: 7px;
    border-radius: 999px;
    border: 1px solid var(--vgnw-color-border);
    background: #eef2f7;
    overflow: hidden;
}

.vgnw-postbit-level-fill {
    display: block;
    height: 100%;
    min-width: 2px;
    background: linear-gradient(90deg, #2563eb 0%, #14b8a6 100%);
}

.vgnw-postbit-level-next {
    display: block;
    color: var(--vgnw-color-text-muted);
    font-size: 10px;
    line-height: 1.2;
}

.vgnw-postbit-thread-count {
    width: 100%;
    border-top: 1px solid var(--vgnw-color-border);
    border-bottom: 1px solid var(--vgnw-color-border);
    padding: 8px 0;
}

.vgnw-postbit-thread-count-label {
    display: block;
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
}

.vgnw-postbit-thread-count strong {
    display: block;
    color: var(--vgnw-color-text);
    font-size: 14px;
}

.vgnw-postbit-stats {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
}

.vgnw-postbit-stats li {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: #fff;
    padding: 6px 4px;
}

.vgnw-postbit-stats strong {
    display: block;
    font-size: 12px;
    line-height: 1.1;
    color: var(--vgnw-color-text);
}

.vgnw-postbit-stats span {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.1;
    color: var(--vgnw-color-text-muted);
}

.vgnw-post-body {
    min-width: 0;
    padding: 14px 16px;
}

.vgnw-post-body .post-header {
    margin-bottom: 10px;
}

.vgnw-op-label {
    display: inline-flex;
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
    font-weight: 600;
}

.vgnw-stream-container .vgnw-post-item .post-content {
    background: #fff;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm) !important;
    padding: 12px 14px;
}

.vgnw-comments-stream .children::before,
.vgnw-comments-stream .children .vgnw-post-item::before {
    display: none;
}

.vgnw-comments-stream .children {
    margin-left: 24px;
}

.vgnw-comments-stream .children .vgnw-post-item {
    margin-top: 10px;
}

@media (max-width: 1180px) {
    .vgnw-forum-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .vgnw-post-grid {
        grid-template-columns: 200px minmax(0, 1fr);
    }
}

@media (max-width: 992px) {
    .vgnw-forum-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-forum-sidebar-stack {
        position: static;
    }
}

@media (max-width: 768px) {
    .vgnw-post-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-postbit {
        border-right: 0;
        border-bottom: 1px solid var(--vgnw-color-border);
    }

    .vgnw-postbit-inner {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .vgnw-postbit-stats {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .vgnw-comments-stream .children {
        margin-left: 10px;
    }
}

/* ========================================
   THREAD VIEW REFINEMENT (v7.4)
   ======================================== */
.vgnw-stream-container .vgnw-post-item {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.vgnw-post-grid {
    grid-template-columns: 220px minmax(0, 1fr);
}

.vgnw-postbit {
    border-right: 1px solid var(--vgnw-color-border);
    background: #fff;
}

.vgnw-postbit-inner {
    top: 0;
    gap: 8px;
    padding: 16px 12px;
}

.vgnw-postbit-avatar-wrap .avatar,
.vgnw-postbit-avatar {
    border: 1px solid var(--vgnw-color-border);
    box-shadow: none;
}

.vgnw-postbit-role,
.vgnw-postbit-role.role-administrator,
.vgnw-postbit-role.role-moderator {
    color: var(--vgnw-color-text-muted);
    border-color: var(--vgnw-color-border);
    background: transparent;
}

.vgnw-postbit-level-pill {
    background: transparent;
    color: var(--vgnw-color-text-muted);
}

.vgnw-postbit-level-track {
    background: #eef2f7;
}

.vgnw-postbit-thread-count {
    display: none !important;
}

.vgnw-postbit-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.vgnw-postbit-stat-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    color: var(--vgnw-color-text-muted);
}

.vgnw-postbit-stat-item .dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
}

.vgnw-postbit-stat-item strong {
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

.vgnw-postbit-stat-item[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    white-space: nowrap;
    border-radius: 6px;
    background: #1f2937;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    padding: 6px 8px;
    z-index: 20;
}

.vgnw-post-body {
    padding: 14px 16px 12px;
    display: flex;
    flex-direction: column;
    min-height: 230px;
}

.vgnw-post-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.vgnw-post-head .ph-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--vgnw-color-text-muted);
}

.vgnw-post-head-tools {
    display: inline-flex;
    align-items: center;
}

.vgnw-post-head .pa-dropdown {
    position: relative;
}

.vgnw-post-head .pa-menu {
    right: 0;
    left: auto;
    min-width: 200px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12);
    overflow: visible;
    z-index: 50;
    padding: 6px;
}

.vgnw-post-head .pa-menu .pa-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 11px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: var(--vgnw-color-text);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

.vgnw-post-head .pa-menu .pa-menu-item:hover {
    background: var(--vgnw-color-bg-soft);
}

.vgnw-post-head .pa-menu .pa-menu-item.danger {
    color: #b91c1c;
}

.vgnw-post-head .pa-menu .pa-menu-item.solution {
    color: #0f8a3f;
    font-weight: 600;
}

.vgnw-post-head .pa-btn.pa-more-trigger,
.vgnw-post-head .pa-btn.pa-more {
    width: 30px;
    height: 30px;
    justify-content: center;
    padding: 4px;
    border-radius: 6px;
}

.vgnw-stream-container .vgnw-post-body > .post-content {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    color: var(--vgnw-color-text);
    line-height: 1.65;
}

.vgnw-stream-container .vgnw-post-body > .post-content blockquote {
    margin: 14px 0;
    padding: 14px 16px;
    border: 1px solid var(--vgnw-color-border);
    border-left: 4px solid var(--vgnw-color-border-strong);
    border-radius: 6px;
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text);
}

.vgnw-forum-layout-thread .vgnw-post-body .post-content {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.vgnw-post-signature {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--vgnw-color-border);
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

.vgnw-post-signature a {
    text-decoration: underline;
}

.vgnw-post-footer {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--vgnw-color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.vgnw-post-reaction-wrap {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vgnw-post-reaction-wrap .pa-like-btn {
    padding: 4px;
}

.vgnw-post-footer .pa-btn {
    border-radius: 8px;
}

.vgnw-post-footer .pa-btn svg {
    width: 16px;
    height: 16px;
}

.pa-multiquote-trigger {
    width: 30px;
    height: 30px;
    padding: 0;
    justify-content: center;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 6px;
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text-muted);
}

.pa-multiquote-trigger .pa-multiquote-icon {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.pa-multiquote-trigger.is-active {
    border-color: var(--vgnw-color-accent);
    background: rgba(37, 99, 235, 0.12);
    color: var(--vgnw-color-accent);
}

.pa-like-btn {
    color: var(--vgnw-color-text-muted);
    transition: color 0.18s ease, background-color 0.18s ease;
}

.pa-like-btn .pa-like-icon {
    display: inline-flex;
    align-items: center;
}

.pa-like-btn .pa-like-icon.is-on {
    display: none;
}

.pa-like-btn.is-liked {
    color: #0b73d9;
    background: rgba(11, 115, 217, 0.12);
}

.pa-like-btn.is-liked .pa-like-icon.is-off {
    display: none;
}

.pa-like-btn.is-liked .pa-like-icon.is-on {
    display: inline-flex;
}

.pa-like-btn.is-loading {
    opacity: 0.7;
}

.vgnw-stream-container .vgnw-post-body > .post-content blockquote:not(.vgnw-inline-quote) {
    margin: 12px 0;
    padding: 12px 14px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-left: 4px solid var(--vgnw-color-border-strong, #bcc6d4);
    border-radius: 6px;
    background: #f3f4f6;
    color: var(--vgnw-color-text, #101828);
}

.vgnw-stream-container .vgnw-post-body > .post-content blockquote:not(.vgnw-inline-quote) > p:first-child {
    margin: 0 0 8px;
    font-style: italic;
    color: var(--vgnw-color-text-muted, #667085);
}

.vgnw-stream-container .vgnw-post-body > .post-content blockquote:not(.vgnw-inline-quote) > *:last-child {
    margin-bottom: 0;
}

.vgnw-inline-quote .vgnw-inline-quote-head {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--vgnw-color-text-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
}

.vgnw-inline-quote .vgnw-inline-quote-body {
    color: var(--vgnw-color-text);
}

#reply-section .ql-editor blockquote.vgnw-inline-quote .vgnw-inline-quote-head {
    font-size: 11px;
}

.vgnw-reply-container #vgnw-editor-container {
    min-height: 250px !important;
    max-height: 420px;
    border: 0 !important;
}

.vgnw-reply-container #vgnw-editor-container .ql-editor {
    min-height: 220px;
    max-height: 320px;
    overflow-y: auto;
}

.vgnw-reply-container .reply-actions {
    margin-top: 0;
    padding: 12px 14px;
    border-top: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.vgnw-reply-container .reply-actions .vgnw-btn {
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
}

.vgnw-reply-container .reply-actions .vgnw-btn-ghost {
    background: #fff;
    border: 1px solid var(--vgnw-color-border-strong);
    color: var(--vgnw-color-text);
}

.pa-like-count {
    font-size: 12px;
    color: var(--vgnw-color-text-muted);
    display: inline-block;
    min-width: 0.9ch;
    will-change: transform, opacity;
}

.pa-like-count.is-empty {
    display: none;
}

.pa-like-count.is-animating-up {
    animation: vgnwLikeCountUp 0.18s ease-out;
}

.pa-like-count.is-animating-down {
    animation: vgnwLikeCountDown 0.18s ease-out;
}

@keyframes vgnwLikeCountUp {
    from {
        opacity: 0.2;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes vgnwLikeCountDown {
    from {
        opacity: 0.2;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.vgnw-solution-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid #16a34a;
    border-radius: 6px;
    background: #ecfdf3;
    color: #0f8a3f;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    padding: 4px 8px;
}

.vgnw-thread-owner-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: 6px;
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text);
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    padding: 4px 8px;
}

.vgnw-solved-banner {
    margin: 10px 0 12px;
    border-radius: 0;
    border: 1px solid #0f8a3f;
    background: #149347;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
}

.vgnw-solved-banner-main {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.vgnw-solved-banner-main strong {
    display: block;
    font-size: 22px;
}

.vgnw-solved-banner-main span {
    display: block;
    font-size: 13px;
    opacity: 0.95;
}

.vgnw-solved-check {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vgnw-solved-jump {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0;
    color: #fff;
    padding: 8px 12px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.vgnw-solved-jump:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

.vgnw-solved-comment-wrap .vgnw-post-item,
.vgnw-post-item.is-solution-highlight {
    border-color: #16a34a !important;
    box-shadow: inset 0 0 0 1px #16a34a;
}

.vgnw-comments-stream .children {
    margin-left: 0;
}

.vgnw-comments-stream .children .vgnw-post-item {
    margin-top: 10px;
}

@media (max-width: 992px) {
    .vgnw-post-grid {
        grid-template-columns: 1fr;
    }

    .vgnw-postbit {
        border-right: 0;
        border-bottom: 1px solid var(--vgnw-color-border);
    }

    .vgnw-postbit-inner {
        position: static;
    }

    .vgnw-solved-banner {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ========================================
   SIDEBAR + THREAD HEADER REFINEMENT (v7.5)
   ======================================== */
.vgnw-thread-title-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.vgnw-thread-title-main {
    min-width: 0;
}

.vgnw-thread-title-main h1 {
    margin: 0;
    line-height: 1.2;
}

.vgnw-thread-title-date {
    margin-top: 6px;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
    line-height: 1.35;
}

.vgnw-thread-title-stats {
    display: inline-flex;
    align-items: stretch;
    gap: 8px;
    flex-shrink: 0;
}

.vgnw-thread-title-stat {
    min-width: 92px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px;
    background: var(--vgnw-color-bg-soft);
    padding: 7px 9px;
}

.vgnw-thread-title-stat span {
    display: block;
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
    line-height: 1.2;
}

.vgnw-thread-title-stat strong {
    display: block;
    margin-top: 3px;
    color: var(--vgnw-color-text);
    font-size: 15px;
    line-height: 1.2;
}

.vgnw-side-leader-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.vgnw-side-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 700;
}

.vgnw-side-user {
    min-width: 0;
}

.vgnw-side-user > span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vgnw-side-leader-inline-value {
    display: inline-block;
    color: var(--vgnw-color-text);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.vgnw-side-topic-item {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.vgnw-side-topic-link {
    display: block;
    text-decoration: none;
}

.vgnw-side-topic-avatar {
    flex-shrink: 0;
}

.vgnw-side-topic-avatar .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
}

.vgnw-side-avatar-fallback {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: var(--vgnw-color-text);
    background: var(--vgnw-color-bg-soft);
    border: 1px solid var(--vgnw-color-border);
}

.vgnw-side-topic-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.vgnw-side-topic-title {
    color: var(--vgnw-color-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}

.vgnw-side-topic-link:hover .vgnw-side-topic-title {
    color: var(--vgnw-color-accent);
}

@media (max-width: 992px) {
    .vgnw-thread-title-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .vgnw-thread-title-stats {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ========================================
   THREAD SURFACE + REPLY + LEADERBOARD (v7.6)
   ======================================== */
.vgnw-forum-layout-thread {
    padding: 12px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-forum-layout-thread .vgnw-forum-main {
    background: #fff;
}

.vgnw-forum-layout-thread .vgnw-forum-sidebar {
    background: #fff;
}

.vgnw-forum-layout-thread .vgnw-forum-side-card {
    box-shadow: none;
}

.vgnw-forum-layout-thread .vgnw-thread-title-bar {
    margin-bottom: 0;
    padding: 14px 16px;
    border: 1px solid var(--vgnw-color-border);
    border-bottom: 0;
    border-radius: var(--vgnw-radius-md) var(--vgnw-radius-md) 0 0;
    background: #fff;
}

.vgnw-forum-layout-thread .vgnw-stream-container {
    margin-top: 0;
    border-top: 1px solid var(--vgnw-color-border);
    border-radius: 0 0 var(--vgnw-radius-md) var(--vgnw-radius-md);
    background: #fff;
}

.vgnw-reply-container.is-collapsed {
    margin-top: 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.vgnw-reply-container.is-collapsed .vgnw-reply-inline-trigger {
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    min-height: 62px;
}

.vgnw-reply-container.is-expanded {
    margin-top: 14px;
    padding: 0;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: #fff;
    overflow: hidden;
}

.vgnw-reply-container.is-expanded .reply-context {
    margin: 0;
    padding: 10px 14px 0;
}

.vgnw-reply-container.is-expanded .reply-editor-box {
    border: 0;
    border-radius: 0;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-header h3 {
    margin: 0;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-picker {
    position: relative;
    margin-left: auto;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    padding: 2px 0;
    cursor: pointer;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-toggle::after {
    content: "▾";
    font-size: 10px;
    line-height: 1;
    color: currentColor;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-picker.is-open .vgnw-lb-period-toggle::after {
    content: "▴";
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 20;
    min-width: 118px;
    padding: 4px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-option {
    display: block;
    width: 100%;
    border: 0;
    border-radius: var(--vgnw-radius-sm);
    background: transparent;
    color: var(--vgnw-color-text);
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    padding: 7px 8px;
    cursor: pointer;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-option:hover,
.vgnw-forum-side-card-leaderboard .vgnw-lb-period-option:focus-visible {
    background: var(--vgnw-color-bg-soft);
    outline: none;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-period-option.is-active {
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text);
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-tab {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    padding: 7px 10px;
    cursor: pointer;
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-tab.is-active {
    border-color: var(--vgnw-color-border-strong);
    background: var(--vgnw-color-bg-soft);
    color: var(--vgnw-color-text);
}

.vgnw-thread-list-header-new .th-last {
    min-width: 220px;
    width: 220px;
    padding-right: 0;
    padding-left: 12px;
    text-align: left;
    box-sizing: border-box;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-last {
    width: 220px;
    min-width: 220px;
}

.vgnw-side-topic-meta {
    margin: 2px 0 0;
}

.vgnw-side-topic-meta a {
    display: inline;
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
}

.vgnw-side-topic-meta a:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-forum-side-card-leaderboard .vgnw-lb-list {
    margin-top: 10px;
}

.vgnw-thread-replies-pagination {
    margin-top: 12px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.vgnw-thread-replies-pagination a {
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    padding: 0 10px;
}

.vgnw-thread-replies-pagination a.is-active {
    border-color: var(--vgnw-color-border-strong);
    background: var(--vgnw-color-bg-soft);
}

/* ========================================
   MEMBERS DIRECTORY + FORUM SEARCH (v7.7)
   ======================================== */
.vgnw-forum-side-card-search .vgnw-forum-side-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.vgnw-forum-side-card-search input[type="search"] {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    color: var(--vgnw-color-text);
    font-size: 14px;
    padding: 8px 10px;
}

.vgnw-forum-side-card-search .vgnw-btn {
    min-height: 38px;
    border-radius: var(--vgnw-radius-sm);
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1;
}

.vgnw-members-shell,
.vgnw-forum-search-shell {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: #fff;
    padding: 16px;
}

.vgnw-members-header h1,
.vgnw-forum-search-header h1 {
    margin: 0;
    font-size: clamp(1.5rem, 1.32rem + 0.6vw, 1.85rem);
    line-height: 1.2;
}

.vgnw-members-header p {
    margin: 6px 0 0;
    color: var(--vgnw-color-text-muted);
    font-size: 0.95rem;
}

.vgnw-members-layout-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.vgnw-members-nav {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: var(--vgnw-color-bg-soft);
    overflow: hidden;
}

.vgnw-members-nav-item {
    display: block;
    text-decoration: none;
    color: var(--vgnw-color-text);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    padding: 10px 12px;
    border-bottom: 1px solid var(--vgnw-color-border);
}

.vgnw-members-nav-item:last-child {
    border-bottom: 0;
}

.vgnw-members-nav-item:hover {
    background: #fff;
}

.vgnw-members-nav-item.is-active {
    background: #fff;
    color: var(--vgnw-color-accent);
}

.vgnw-members-panel {
    display: none;
}

.vgnw-members-panel.is-active {
    display: block;
}

.vgnw-members-panel h2 {
    margin: 0 0 10px;
    font-size: 1.05rem;
}

.vgnw-members-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.vgnw-members-overview-card {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    padding: 12px;
}

.vgnw-members-overview-card h3 {
    margin: 0 0 10px;
    font-size: 0.98rem;
}

.vgnw-members-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vgnw-members-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    padding: 8px 10px;
}

.vgnw-members-rank {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 700;
    min-width: 24px;
    text-align: left;
}

.vgnw-members-user {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-weight: 700;
}

.vgnw-members-user .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
}

.vgnw-members-user > span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vgnw-members-value {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--vgnw-color-text);
    white-space: nowrap;
}

.vgnw-members-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #13b26b;
    box-shadow: 0 0 0 2px #dcfce7;
}

.vgnw-members-empty {
    margin: 0;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-forum-search-form {
    margin-top: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.vgnw-forum-search-form input[type="search"] {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    padding: 10px 12px;
    background: #fff;
    color: var(--vgnw-color-text);
    font-size: 14px;
}

.vgnw-forum-search-form .vgnw-btn {
    min-height: 42px;
    border-radius: var(--vgnw-radius-sm);
    padding: 10px 14px;
}

.vgnw-forum-saved-searches {
    margin-top: 10px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    padding: 10px 12px;
}

.vgnw-forum-saved-searches strong {
    display: block;
    margin-bottom: 8px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
}

.vgnw-forum-saved-searches ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.vgnw-forum-saved-searches li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.vgnw-forum-saved-searches li a {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 13px;
}

.vgnw-forum-saved-searches li a:hover {
    text-decoration: underline;
}

.vgnw-btn-link {
    border: 0;
    background: transparent;
    padding: 0;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.vgnw-forum-search-filters {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
}

.vgnw-forum-search-filters label {
    min-width: 180px;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
}

.vgnw-forum-search-filters label > span {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.vgnw-forum-search-filters select {
    min-height: 38px;
    border: 1px solid var(--vgnw-color-border-strong);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    color: var(--vgnw-color-text);
    font-size: 13px;
    padding: 8px 10px;
}

.vgnw-forum-search-filters .vgnw-forum-search-filter-check {
    min-width: auto;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-bottom: 8px;
}

.vgnw-forum-search-filters .vgnw-forum-search-filter-check span {
    color: var(--vgnw-color-text);
    font-size: 13px;
}

.vgnw-forum-search-filters .vgnw-btn {
    min-height: 38px;
}

html.dark-mode .vgnw-forum-search-filters label > span {
    color: var(--text-tertiary, #a1a1aa);
}

html.dark-mode .vgnw-forum-search-filters select {
    background: var(--bg-secondary, #212121);
    color: var(--text-primary, #fafafa);
    border-color: var(--border-light, #27272a);
}

html.dark-mode .vgnw-forum-search-filters .vgnw-forum-search-filter-check span {
    color: var(--text-primary, #fafafa);
}

html.dark-mode .vgnw-forum-saved-searches {
    background: #111827;
    border-color: #334155;
}

html.dark-mode .vgnw-forum-saved-searches strong,
html.dark-mode .vgnw-forum-saved-searches li a {
    color: #e5e7eb;
}

.vgnw-forum-search-meta,
.vgnw-forum-search-hint,
.vgnw-forum-search-empty {
    margin: 12px 0 0;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-forum-search-list {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vgnw-forum-search-item {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    padding: 12px;
}

.vgnw-forum-search-title {
    display: inline-block;
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.vgnw-forum-search-title:hover {
    color: var(--vgnw-color-accent);
}

.vgnw-forum-search-node {
    margin-top: 6px;
}

.vgnw-forum-search-node a,
.vgnw-forum-search-node span {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.vgnw-forum-search-excerpt {
    margin: 10px 0 0;
    color: var(--vgnw-color-text);
    font-size: 14px;
    line-height: 1.55;
}

.vgnw-forum-search-foot {
    margin-top: 10px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vgnw-forum-search-foot span {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    line-height: 1.3;
}

.vgnw-forum-search-pagination {
    margin-top: 14px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.vgnw-forum-search-pagination a {
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-sm);
    background: #fff;
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.vgnw-forum-search-pagination a.is-active {
    border-color: var(--vgnw-color-border-strong);
    background: var(--vgnw-color-bg-soft);
}

.vgnw-thread-status-badge.is-solved {
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.14);
    color: #166534;
}

html.dark-mode .vgnw-thread-status-badge.is-solved {
    background: rgba(34, 197, 94, 0.22);
    color: #bbf7d0;
}

.vgnw-notif-pref-notice {
    margin-bottom: 12px;
    border: 1px solid #86efac;
    border-radius: var(--vgnw-radius-sm);
    background: #f0fdf4;
    color: #166534;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.4;
}

.vgnw-notif-pref-form {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: #fff;
    padding: 14px;
}

.vgnw-notif-pref-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.vgnw-notif-pref-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--vgnw-color-text);
    font-size: 14px;
    font-weight: 500;
}

.vgnw-notif-pref-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

@media (max-width: 992px) {
    .vgnw-members-layout-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .vgnw-members-overview-grid,
    .vgnw-notif-pref-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-forum-side-card-search .vgnw-forum-side-search-form,
    .vgnw-forum-search-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-forum-search-filters {
        flex-direction: column;
        align-items: stretch;
    }

    .vgnw-forum-search-filters label {
        min-width: 0;
        width: 100%;
    }

    .vgnw-forum-search-filters .vgnw-forum-search-filter-check {
        padding-bottom: 0;
    }

    .vgnw-profile-followed-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-profile-followed-row .vgnw-thread-follow-btn {
        grid-column: 1;
        grid-row: auto;
        justify-self: flex-start;
    }
}

/* ========================================
   FORUM LAYOUT HOTFIX (v7.9)
   ======================================== */
.vgnw-forum-page-shell.is-full-width #main {
    max-width: 1290px;
    margin: 0 auto;
    box-sizing: border-box;
}

.vgnw-forum-page-shell .inside-article,
.vgnw-forum-page-shell .entry-content {
    padding: 0 !important;
}

/* Forum listing pages: remove GeneratePress inner container chrome */
body.separate-containers .inside-article:has(.vgnw-forum-layout-index),
body.separate-containers .inside-article:has(.vgnw-forum-layout-node),
body.separate-containers .inside-article:has(.vgnw-forum-layout-search),
body.separate-containers .inside-article:has(.vgnw-forum-layout-members) {
    padding: 0 !important;
    background: transparent !important;
}

body.one-container .container:has(.vgnw-forum-layout-index),
body.one-container .container:has(.vgnw-forum-layout-node),
body.one-container .container:has(.vgnw-forum-layout-search),
body.one-container .container:has(.vgnw-forum-layout-members) {
    background: transparent !important;
}

.vgnw-forum-layout {
    gap: 20px;
}

.vgnw-forum-side-card {
    padding: 20px;
}

.vgnw-forum-layout-thread {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.vgnw-forum-layout-thread .vgnw-forum-main,
.vgnw-forum-layout-thread .vgnw-forum-sidebar {
    background: transparent !important;
}

body.single-vgnw_thread .vgnw-subheader.desktop-only,
body.tax-vgnw_node .vgnw-subheader.desktop-only {
    display: block !important;
}

/* Dark-mode completion fixes */
html.dark-mode .one-container .container,
html.dark-mode .separate-containers .inside-article,
html.dark-mode .separate-containers .comments-area,
html.dark-mode .separate-containers .page-header,
html.dark-mode .separate-containers .paging-navigation,
html.dark-mode .inside-page-header {
    background: var(--bg-primary, #18181b) !important;
    color: var(--text-primary, #fafafa) !important;
    border-color: var(--border-light, #27272a) !important;
}

html.dark-mode .vgnw-category-header,
html.dark-mode .vgnw-category-block,
html.dark-mode .vgnw-thread-list-wrapper,
html.dark-mode .vgnw-forum-row {
    background: var(--bg-primary, #18181b) !important;
    border-color: var(--border-light, #27272a) !important;
}

html.dark-mode .vgnw-category-header h2,
html.dark-mode a.lp-title,
html.dark-mode .lp-title,
html.dark-mode .vgnw-last-post-author,
html.dark-mode .vgnw-last-post-author a,
html.dark-mode .vgnw-post-grid,
html.dark-mode .vgnw-post-grid a {
    color: var(--text-primary, #fafafa) !important;
}

html.dark-mode .lp-sub,
html.dark-mode .vgnw-last-post-age,
html.dark-mode .vgnw-last-post-meta,
html.dark-mode .vgnw-forum-desc {
    color: var(--text-tertiary, #a1a1aa) !important;
}

html.dark-mode .vgnw-postbit,
html.dark-mode .vgnw-post-body,
html.dark-mode .vgnw-stream-container .vgnw-post-item {
    background: var(--bg-primary, #18181b) !important;
    border-color: var(--border-light, #27272a) !important;
}

/* ========================================
   Prefix / Draft / Timeline / Notifications V2
   ======================================== */
.vgnw-thread-prefix-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 6px;
    background: var(--vgnw-prefix-bg, rgba(15, 23, 42, 0.08));
    color: var(--vgnw-prefix-text, var(--vgnw-color-text));
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;
    margin-right: 6px;
    white-space: nowrap;
}

.vgnw-thread-prefix-row {
    margin-bottom: 6px;
}

.vgnw-thread-prefix-badge-draft {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.vgnw-thread-drafts-card {
    border: 1px solid var(--vgnw-color-border);
    border-radius: var(--vgnw-radius-md);
    background: var(--vgnw-color-bg-soft, #f8fafc);
    padding: 12px 14px;
}

.vgnw-thread-drafts-card h3 {
    margin: 0 0 10px;
    font-size: 14px;
}

.vgnw-thread-drafts-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.vgnw-thread-drafts-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: #fff;
    padding: 8px 10px;
}

.vgnw-thread-drafts-list li a {
    color: var(--vgnw-color-text);
    font-weight: 600;
    text-decoration: none;
}

.vgnw-thread-drafts-list li span {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    white-space: nowrap;
}

.vgnw-thread-form .vgnw-form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.vgnw-thread-form .vgnw-btn.is-danger {
    border-color: #ef4444;
    color: #b91c1c;
}

.vgnw-thread-timeline-card h3 {
    margin-bottom: 10px;
}

.vgnw-thread-timeline-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.vgnw-thread-timeline-list li {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: var(--vgnw-color-bg-soft, #f8fafc);
    padding: 10px;
}

.vgnw-thread-timeline-line {
    display: flex;
    gap: 6px;
    align-items: baseline;
    margin-bottom: 4px;
}

.vgnw-thread-timeline-action {
    text-transform: capitalize;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
}

.vgnw-thread-timeline-message {
    color: var(--vgnw-color-text);
    font-size: 13px;
    line-height: 1.45;
}

.vgnw-thread-timeline-list time {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
}

.vgnw-notif-v2-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.vgnw-notif-v2-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vgnw-notif-v2-filter {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 999px;
    background: #fff;
    color: var(--vgnw-color-text);
    padding: 4px 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.vgnw-notif-v2-filter strong {
    min-width: 16px;
    text-align: center;
    color: var(--vgnw-color-text-muted);
}

.vgnw-notif-v2-filter.is-active {
    border-color: var(--vgnw-color-primary, #2563eb);
    color: var(--vgnw-color-primary, #2563eb);
}

.vgnw-notif-v2-unread-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    font-weight: 600;
}

.vgnw-notif-v2-panel .vgnw-notif-v2-more {
    margin-top: 10px;
}

/* Mobile-first polish */
@media (max-width: 1024px) {
    .vgnw-forum-layout,
    .vgnw-forum-layout-thread,
    .vgnw-forum-layout-search,
    .vgnw-forum-layout-node {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .vgnw-forum-layout .vgnw-forum-sidebar,
    .vgnw-forum-layout-thread .vgnw-forum-sidebar {
        order: 2;
    }

    .vgnw-forum-layout .vgnw-forum-main,
    .vgnw-forum-layout-thread .vgnw-forum-main {
        order: 1;
    }
}

@media (max-width: 768px) {
    .vgnw-reply-container.is-expanded #vgnw-editor-container .ql-editor {
        min-height: 180px;
        max-height: 260px;
        overflow-y: auto;
    }

    .vgnw-thread-title-bar {
        gap: 12px;
    }

    .vgnw-thread-title-stats {
        width: 100%;
        justify-content: flex-start;
    }

    .vgnw-thread-form .vgnw-btn,
    .vgnw-thread-form .vgnw-btn-post-thread-submit {
        width: 100%;
    }

    .vgnw-stream-container .vgnw-post-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .vgnw-postbit {
        position: static !important;
    }

    .vgnw-thread-drafts-list li {
        flex-direction: column;
        align-items: flex-start;
    }
}

html.dark-mode .vgnw-thread-prefix-badge {
    background: var(--vgnw-prefix-bg, rgba(148, 163, 184, 0.15));
    color: var(--vgnw-prefix-text, #e2e8f0);
}

html.dark-mode .vgnw-thread-drafts-list li,
html.dark-mode .vgnw-notif-v2-filter,
html.dark-mode .vgnw-thread-timeline-list li {
    background: #0f172a;
    border-color: #334155;
    color: #e2e8f0;
}

html.dark-mode .vgnw-notif-v2-filter strong,
html.dark-mode .vgnw-thread-drafts-list li span,
html.dark-mode .vgnw-thread-timeline-action,
html.dark-mode .vgnw-thread-timeline-list time {
    color: #94a3b8;
}

.vgnw-forum-search-operators {
    margin: 8px 0 0;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    line-height: 1.45;
    word-break: break-word;
}

.vgnw-forum-search-operator-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 4px;
}

.vgnw-search-op-chip {
    border: 1px solid var(--vgnw-color-border);
    background: var(--vgnw-color-bg-soft, #f8fafc);
    color: var(--vgnw-color-text);
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    padding: 7px 10px;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.vgnw-search-op-chip:hover,
.vgnw-search-op-chip:focus-visible {
    border-color: var(--vgnw-color-primary, #2563eb);
    color: var(--vgnw-color-primary, #2563eb);
    outline: none;
}

.vgnw-thread-title-quality {
    margin-top: 10px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: var(--vgnw-color-bg-soft, #f8fafc);
    padding: 10px;
}

.vgnw-thread-title-quality-bar {
    height: 8px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.vgnw-thread-title-quality-bar > span {
    display: block;
    height: 100%;
    width: 0;
    background: #f97316;
    transition: width .18s ease;
}

.vgnw-thread-title-quality-bar > span.is-poor { background: #ef4444; }
.vgnw-thread-title-quality-bar > span.is-weak { background: #f97316; }
.vgnw-thread-title-quality-bar > span.is-good { background: #3b82f6; }
.vgnw-thread-title-quality-bar > span.is-strong { background: #22c55e; }

.vgnw-thread-title-quality-meta {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
}

.vgnw-thread-title-quality-meta strong {
    font-size: 12px;
    font-weight: 700;
    color: var(--vgnw-color-text);
}

.vgnw-thread-title-quality [data-thread-title-quality-score] {
    color: var(--vgnw-color-text-muted);
    font-weight: 700;
}

.vgnw-thread-title-quality-issues {
    margin: 8px 0 0;
    padding: 0 0 0 16px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    line-height: 1.4;
}

.vgnw-thread-similar {
    margin-top: 10px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: #fff;
    padding: 10px;
}

.vgnw-thread-similar h4 {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
}

.vgnw-thread-similar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.vgnw-thread-similar li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.vgnw-thread-similar li a {
    color: var(--vgnw-color-text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vgnw-thread-similar li span {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    white-space: nowrap;
}

html.dark-mode .vgnw-thread-title-quality,
html.dark-mode .vgnw-thread-similar {
    background: #0f172a;
    border-color: #334155;
}

html.dark-mode .vgnw-thread-title-quality-meta strong,
html.dark-mode .vgnw-thread-similar li a {
    color: #e2e8f0;
}

html.dark-mode .vgnw-forum-search-operators,
html.dark-mode .vgnw-thread-title-quality [data-thread-title-quality-score],
html.dark-mode .vgnw-thread-title-quality-issues,
html.dark-mode .vgnw-thread-similar li span {
    color: #94a3b8;
}

html.dark-mode .vgnw-search-op-chip {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}

html.dark-mode .vgnw-search-op-chip:hover,
html.dark-mode .vgnw-search-op-chip:focus-visible {
    border-color: #60a5fa;
    color: #93c5fd;
}

@media (max-width: 768px) {
    .vgnw-thread-title-quality-meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .vgnw-thread-similar li {
        flex-direction: column;
        align-items: flex-start;
    }
}

.vgnw-profile-activity-card {
    display: grid;
    gap: 12px;
}

.vgnw-profile-activity-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.vgnw-profile-activity-head h3 {
    margin: 0;
}

.vgnw-profile-activity-years {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.vgnw-activity-year-select {
    min-width: 112px;
    height: 36px;
    border: 1px solid var(--vgnw-color-border);
    border-radius: 8px;
    background: #fff;
    color: var(--vgnw-color-text);
    padding: 0 30px 0 12px;
    font-size: 14px;
    font-weight: 700;
}

.vgnw-activity-months {
    display: grid;
    grid-template-columns: repeat(53, minmax(0, 1fr));
    gap: 4px;
    margin-top: 4px;
    margin-bottom: 6px;
    color: var(--vgnw-color-text-muted);
    font-size: 11px;
    line-height: 1;
}

.vgnw-activity-months span {
    white-space: nowrap;
    transform: translateX(-1px);
}

.vgnw-profile-activity-summary {
    margin: 0;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-activity-heatmap {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: #fff;
    padding: 10px;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(53, minmax(0, 1fr));
    grid-template-rows: repeat(7, auto);
    gap: 4px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.vgnw-activity-cell {
    width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 2px;
    background: #eef2f7;
    display: inline-block;
    flex-shrink: 0;
}

.vgnw-activity-heatmap .vgnw-activity-cell[data-tooltip] {
    cursor: pointer;
}

.vgnw-activity-cell.level-1 { background: #c7f9cc; }
.vgnw-activity-cell.level-2 { background: #80ed99; }
.vgnw-activity-cell.level-3 { background: #38b000; }
.vgnw-activity-cell.level-4 { background: #1b7f2a; }

.vgnw-activity-legend {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    margin-top: 10px;
    width: auto;
}

.vgnw-activity-legend .vgnw-activity-cell {
    width: 10px;
    min-width: 10px;
    height: 10px;
}

.vgnw-profile-activity-feeds {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.vgnw-profile-activity-feed {
    border: 1px solid var(--vgnw-color-border);
    border-radius: 10px;
    background: #fff;
    padding: 12px;
}

.vgnw-profile-activity-feed h4 {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.3;
}

.vgnw-profile-activity-feed ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vgnw-profile-activity-feed li {
    display: grid;
    gap: 4px;
    padding: 8px 0;
}

.vgnw-profile-activity-feed .vgnw-activity-feed-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.vgnw-activity-feed-avatar {
    display: inline-flex;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    overflow: hidden;
}

.vgnw-activity-feed-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.vgnw-activity-feed-body {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.vgnw-profile-activity-feed li + li {
    border-top: 1px solid var(--vgnw-color-border);
}

.vgnw-activity-feed-title {
    color: var(--vgnw-color-text);
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    font-weight: 600;
}

.vgnw-activity-feed-title:hover {
    text-decoration: underline;
}

.vgnw-activity-feed-excerpt {
    color: var(--vgnw-color-text);
    font-size: 12px;
    line-height: 1.35;
    opacity: .92;
}

.vgnw-activity-feed-meta {
    color: var(--vgnw-color-text-muted);
    font-size: 12px;
    line-height: 1.35;
}

.vgnw-activity-feed-meta a {
    color: inherit;
    text-decoration: underline;
}

.vgnw-activity-feed-empty {
    margin: 0;
    color: var(--vgnw-color-text-muted);
    font-size: 13px;
}

.vgnw-profile-notif-preferences {
    margin-bottom: 14px;
}

html.dark-mode .vgnw-profile-activity-card {
    background: var(--bg-secondary, #1f1f23) !important;
}

html.dark-mode .vgnw-activity-year-select {
    background: #0f172a;
    color: #e2e8f0;
    border-color: #334155;
}

html.dark-mode .vgnw-activity-heatmap {
    background: #0f172a;
    border-color: #334155;
}

html.dark-mode .vgnw-activity-cell {
    background: #243244;
}

html.dark-mode .vgnw-activity-months {
    color: #94a3b8;
}

html.dark-mode .vgnw-profile-activity-summary {
    color: #9ca3af;
}

html.dark-mode .vgnw-profile-activity-feed {
    background: #111827;
    border-color: #334155;
}

html.dark-mode .vgnw-profile-activity-feed h4,
html.dark-mode .vgnw-activity-feed-title {
    color: #e2e8f0;
}

html.dark-mode .vgnw-activity-feed-meta,
html.dark-mode .vgnw-activity-feed-empty {
    color: #94a3b8;
}

html.dark-mode .vgnw-activity-feed-excerpt {
    color: #cbd5e1;
}

html.dark-mode .vgnw-profile-activity-feed li + li {
    border-top-color: #334155;
}

.vgnw-activity-tooltip {
    position: fixed;
    z-index: 10020;
    min-width: 180px;
    max-width: min(320px, 85vw);
    padding: 8px 10px;
    border-radius: 8px;
    background: #0f172a;
    color: #e5e7eb;
    border: 1px solid #1e293b;
    box-shadow: 0 14px 28px rgba(2, 6, 23, 0.28);
    font-size: 12px;
    line-height: 1.35;
    white-space: pre-line;
    pointer-events: none;
}

.vgnw-profile-activity-card.is-loading {
    opacity: 0.72;
    pointer-events: none;
}

@media (max-width: 768px) {
    .vgnw-profile-activity-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .vgnw-activity-heatmap {
        grid-template-columns: repeat(53, minmax(0, 1fr));
        grid-template-rows: repeat(7, auto);
        gap: 3px;
        width: 100%;
    }

    .vgnw-activity-cell {
        width: 100%;
        min-width: 0;
        height: auto;
    }

    .vgnw-activity-months {
        grid-template-columns: repeat(53, minmax(0, 1fr));
        gap: 3px;
    }

    .vgnw-profile-activity-feeds {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   THREAD LIST + SOLVED + FOLLOW UX (v7.8)
   ======================================== */

.vgnw-thread-headline-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.vgnw-thread-solved-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    border: 1px solid rgba(22, 163, 74, 0.32);
    background: rgba(22, 163, 74, 0.16);
    color: #15803d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: help;
    flex-shrink: 0;
}

.vgnw-thread-solved-icon .vgnw-icon,
.vgnw-thread-solved-icon .vgnw-svg {
    width: 14px;
    height: 14px;
}

.vgnw-thread-title-follow {
    position: relative;
}

.vgnw-thread-follow-btn {
    gap: 7px;
    min-height: 36px;
    padding: 0 12px;
}

.vgnw-thread-follow-btn .vgnw-thread-follow-star {
    font-size: 12px;
    line-height: 1;
}

.vgnw-thread-follow-btn .vgnw-thread-follow-caret {
    font-size: 10px;
    line-height: 1;
    opacity: .75;
}

.vgnw-thread-title-follow.is-open .vgnw-thread-follow-btn .vgnw-thread-follow-caret {
    transform: rotate(180deg);
}

.vgnw-thread-follow-popover {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 45;
    width: min(320px, 82vw);
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: var(--vgnw-radius-md, 12px);
    background: #fff;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.16);
    padding: 12px;
}

.vgnw-thread-follow-popover-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--vgnw-color-text, #0f172a);
}

.vgnw-thread-follow-options {
    display: grid;
    gap: 8px;
    margin-bottom: 10px;
}

.vgnw-thread-follow-options label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--vgnw-color-text, #0f172a);
    font-size: 13px;
    line-height: 1.35;
    cursor: pointer;
}

.vgnw-thread-follow-public {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 10px;
    color: var(--vgnw-color-text-muted, #667085);
    font-size: 12px;
    line-height: 1.35;
}

.vgnw-thread-follow-actions {
    display: flex;
    justify-content: flex-end;
}

.vgnw-thread-follow-actions .vgnw-btn {
    min-height: 34px;
    border-radius: 8px;
}

.vgnw-multiquote-bar {
    margin: 10px 0 0;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: var(--vgnw-radius-sm, 10px);
    background: var(--vgnw-color-bg-soft, #f8fafc);
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.vgnw-multiquote-summary {
    font-size: 12px;
    font-weight: 600;
    color: var(--vgnw-color-text, #111827);
}

.vgnw-multiquote-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vgnw-multiquote-actions .vgnw-btn {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
}

#reply-section .ql-editor blockquote.vgnw-inline-quote {
    cursor: default;
}

html.dark-mode .vgnw-index-activity-manage a {
    color: var(--text-tertiary, #94a3b8);
}

html.dark-mode .vgnw-index-activity-manage a:hover {
    color: var(--accent-secondary, #60a5fa);
}

html.dark-mode .vgnw-thread-solved-icon {
    border-color: rgba(74, 222, 128, .45);
    background: rgba(22, 163, 74, .25);
    color: #86efac;
}

html.dark-mode .vgnw-thread-follow-popover {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #2f3746);
    box-shadow: 0 18px 34px rgba(2, 6, 23, .4);
}

html.dark-mode .vgnw-thread-follow-popover-title,
html.dark-mode .vgnw-thread-follow-options label,
html.dark-mode .vgnw-multiquote-summary {
    color: var(--text-primary, #e5e7eb);
}

html.dark-mode .vgnw-thread-follow-public {
    color: var(--text-tertiary, #94a3b8);
}

html.dark-mode .vgnw-multiquote-bar {
    background: rgba(148, 163, 184, .08);
    border-color: var(--border-light, #2f3746);
}

@media (max-width: 768px) {
    .vgnw-thread-follow-popover {
        right: auto;
        left: 0;
        width: min(340px, calc(100vw - 32px));
    }

    .vgnw-multiquote-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .vgnw-multiquote-actions {
        justify-content: flex-end;
    }
}

/* ========================================
   POSTBIT + SOLVED VISUAL TUNING (v7.9)
   ======================================== */
.vgnw-stream-container .vgnw-postbit {
    background: var(--vgnw-color-bg-elevated, #fff);
}

.vgnw-stream-container .vgnw-postbit-inner {
    gap: 7px;
    padding: 14px 12px;
}

.vgnw-stream-container .vgnw-postbit-avatar-wrap .avatar,
.vgnw-stream-container .vgnw-postbit-avatar {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
}

.vgnw-stream-container .vgnw-postbit-name {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.vgnw-stream-container .vgnw-postbit-meta-line {
    min-height: 18px;
}

.vgnw-stream-container .vgnw-postbit-role {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    color: var(--vgnw-color-text-muted, #667085);
    font-size: 12px;
    font-weight: 500;
}

.vgnw-stream-container .vgnw-postbit-level-wrap {
    gap: 5px;
    margin-top: 2px;
}

.vgnw-stream-container .vgnw-postbit-level-pill {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
}

.vgnw-stream-container .vgnw-postbit-level-track {
    width: 78px;
    height: 5px;
    border-radius: 999px;
}

.vgnw-stream-container .vgnw-postbit-level-next {
    display: none;
}

.vgnw-stream-container .vgnw-postbit-stats {
    margin-top: 4px;
    gap: 12px;
}

.vgnw-stream-container .vgnw-postbit-stat-item {
    color: var(--vgnw-color-text-muted, #667085);
    gap: 4px;
}

.vgnw-stream-container .vgnw-postbit-stat-item .dashicons {
    width: 13px;
    height: 13px;
    font-size: 13px;
}

.vgnw-stream-container .vgnw-postbit-stat-item strong {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.vgnw-post-head-tools {
    gap: 8px;
}

.vgnw-post-head-tools .vgnw-thread-owner-pill,
.vgnw-post-head-tools .vgnw-solution-pill {
    align-self: center;
}

.vgnw-thread-owner-pill,
.vgnw-solution-pill {
    height: 22px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
}

.vgnw-solved-comment-wrap .vgnw-post-item,
.vgnw-comments-stream .vgnw-post-item.is-solution,
.vgnw-comments-stream .vgnw-post-item.is-solution-highlight {
    border: 1px solid #16a34a !important;
    box-shadow: none !important;
}

.vgnw-solved-check {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    background: rgba(6, 95, 33, 0.28);
}

.vgnw-solved-check-mark {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    color: #fff;
}

.vgnw-thread-solved-icon {
    width: 22px;
    height: 22px;
    border-radius: 5px;
}

.vgnw-thread-solved-mark {
    display: inline-block;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
}

html.dark-mode .vgnw-stream-container .vgnw-postbit-role,
html.dark-mode .vgnw-stream-container .vgnw-postbit-stat-item,
html.dark-mode .vgnw-stream-container .vgnw-postbit-level-next {
    color: var(--text-tertiary, #94a3b8);
}

html.dark-mode .vgnw-solved-comment-wrap .vgnw-post-item,
html.dark-mode .vgnw-comments-stream .vgnw-post-item.is-solution,
html.dark-mode .vgnw-comments-stream .vgnw-post-item.is-solution-highlight {
    border-color: rgba(74, 222, 128, 0.82) !important;
}

/* ========================================
   FORUM LIST POLISH (v7.9)
   ======================================== */
.vgnw-node-header-new {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.vgnw-forum-layout-node .vgnw-forum-sidebar-stack {
    margin-top: 0 !important;
    top: 0 !important;
}

.vgnw-thread-list-wrapper,
.vgnw-category-block,
.vgnw-forum-side-card,
.vgnw-index-activity {
    border-radius: 8px 8px 0 0 !important;
}

.vgnw-thread-list-header-new .th-last,
.vgnw-thread-list[data-thread-list="1"] .vgnw-col-last {
    width: 220px !important;
    min-width: 220px !important;
    text-align: left !important;
}

.vgnw-thread-list-header-new .th-gap {
    border-left: 0 !important;
    border-right: 0 !important;
}

.vgnw-thread-list-header-new .th-gap + .th-gap {
    border-left: 0 !important;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-stat {
    border-left: 0 !important;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-stat + .vgnw-col-stat {
    border-left: 1px solid var(--vgnw-color-border) !important;
}

.vgnw-thread-list-header-new .th-select-gap,
.vgnw-thread-list[data-thread-list="1"] .vgnw-col-select {
    width: 34px !important;
    min-width: 34px !important;
    border-left: 0 !important;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-col-select .vgnw-thread-select-wrap {
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    padding-right: 0 !important;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-forum-info h3 {
    margin: 0;
    line-height: 1.2;
}

.vgnw-thread-list[data-thread-list="1"] .vgnw-forum-info h3 a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vgnw-thread-prefix-badge-draft,
.vgnw-pinned-threads-title.is-draft {
    background: #eef1f4 !important;
    color: #4b5563 !important;
    border-color: #d0d5dd !important;
}

.vgnw-thread-prefix-badge-draft {
    height: 18px;
    line-height: 18px;
    padding: 0 6px !important;
    font-size: 10px !important;
}

html.dark-mode .vgnw-thread-prefix-badge-draft,
html.dark-mode .vgnw-pinned-threads-title.is-draft {
    background: rgba(75, 85, 99, 0.28) !important;
    color: #d1d5db !important;
    border-color: #6b7280 !important;
}

/* ========================================
   THREAD UX POLISH (timeline/follow/quote)
   ======================================== */
.vgnw-thread-timeline-source {
    display: none !important;
}

.vgnw-thread-timeline-modal[hidden] {
    display: none !important;
}

.vgnw-thread-timeline-modal {
    position: fixed;
    inset: 0;
    z-index: 12050;
}

.vgnw-thread-timeline-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.54);
}

.vgnw-thread-timeline-modal-dialog {
    position: relative;
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 64px);
    margin: 32px auto;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 12px;
    background: var(--vgnw-color-bg-elevated, #fff);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.vgnw-thread-timeline-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--vgnw-color-border, #dce0e6);
}

.vgnw-thread-timeline-modal-head h3 {
    margin: 0;
    font-size: 15px;
}

.vgnw-thread-timeline-modal-close {
    width: 32px;
    height: 32px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
    background: var(--vgnw-color-bg-soft, #f8fafc);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.vgnw-thread-timeline-modal-body {
    padding: 12px 14px;
    overflow: auto;
}

.vgnw-thread-timeline-card {
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 10px;
    background: var(--vgnw-color-bg-elevated, #fff);
    padding: 12px;
}

.vgnw-thread-title-follow-simple .vgnw-thread-follow-caret,
.vgnw-thread-title-follow-simple .vgnw-thread-follow-popover {
    display: none !important;
}

.vgnw-thread-title-follow-simple .vgnw-thread-follow-btn {
    min-height: 36px;
    padding: 0 12px;
}

.vgnw-thread-title-follow-simple {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vgnw-thread-follow-settings-link {
    font-size: 12px;
    color: var(--vgnw-color-text-muted, #667085);
    text-decoration: none;
}

.vgnw-thread-follow-settings-link:hover {
    color: var(--vgnw-color-accent, #2563eb);
    text-decoration: underline;
}

.vgnw-multiquote-bar {
    display: none;
}

.vgnw-multiquote-bar.is-visible {
    display: flex;
}

.vgnw-multiquote-bar[hidden] {
    display: none !important;
}

.vgnw-inline-quote,
.vgnw-stream-container .vgnw-post-body > .post-content blockquote.vgnw-inline-quote,
#reply-section .ql-editor blockquote.vgnw-inline-quote {
    position: relative;
    margin: 10px 0 !important;
    padding: 16px 16px 16px 18px !important;
    border: 0 !important;
    border-left: 4px solid #cfd5df !important;
    border-radius: 0 !important;
    background: #f3f4f6 !important;
    color: var(--vgnw-color-text, #111827) !important;
}

.vgnw-inline-quote .vgnw-inline-quote-head {
    margin: 0 0 8px !important;
    font-size: 12px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    color: var(--vgnw-color-text-muted, #667085) !important;
    font-style: italic;
}

.vgnw-inline-quote .vgnw-inline-quote-body {
    font-size: 14px;
    line-height: 1.6;
    color: var(--vgnw-color-text, #111827);
    margin: 0 !important;
}

.vgnw-inline-quote .vgnw-inline-quote-glyph {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1;
    color: #5f6c82;
    opacity: 0.9;
}

html.dark-mode .vgnw-inline-quote,
html.dark-mode .vgnw-stream-container .vgnw-post-body > .post-content blockquote.vgnw-inline-quote,
html.dark-mode #reply-section .ql-editor blockquote.vgnw-inline-quote {
    background: rgba(148, 163, 184, 0.14) !important;
    border-left-color: rgba(148, 163, 184, 0.58) !important;
    color: var(--text-primary, #e5e7eb) !important;
}

html.dark-mode .vgnw-stream-container .vgnw-post-body > .post-content blockquote:not(.vgnw-inline-quote) {
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(148, 163, 184, 0.34);
    border-left-color: rgba(148, 163, 184, 0.58);
    color: var(--text-primary, #e5e7eb);
}

html.dark-mode .vgnw-stream-container .vgnw-post-body > .post-content blockquote:not(.vgnw-inline-quote) > p:first-child {
    color: var(--text-tertiary, #94a3b8);
}

html.dark-mode .vgnw-thread-timeline-modal-dialog,
html.dark-mode .vgnw-thread-timeline-card {
    background: var(--bg-secondary, #1f1f23);
    border-color: var(--border-light, #2f3746);
}

html.dark-mode .vgnw-thread-timeline-modal-head {
    border-bottom-color: var(--border-light, #2f3746);
}

/* Editor polish */
#reply-section #vgnw-editor-container .ql-toolbar.ql-snow,
#vgnw-thread-editor .ql-toolbar.ql-snow,
#vgnw-std-comment-editor .ql-toolbar.ql-snow {
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: linear-gradient(180deg, #fbfcfd 0%, #f2f4f7 100%);
    padding: 8px 10px;
}

#reply-section #vgnw-editor-container .ql-container.ql-snow,
#vgnw-thread-editor .ql-container.ql-snow,
#vgnw-std-comment-editor .ql-container.ql-snow {
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 0 0 10px 10px;
    background: #fff;
}

#reply-section #vgnw-editor-container .ql-editor,
#vgnw-thread-editor .ql-editor,
#vgnw-std-comment-editor .ql-editor {
    font-size: 15px;
    line-height: 1.65;
}

/* Locked single-block quote card inside editor */
#reply-section .ql-editor blockquote.vgnw-inline-quote-card,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card {
    position: relative;
    margin: 12px 0;
    padding: 32px 42px 32px 34px;
    border: 0;
    border-left: 4px solid #cfd5df;
    border-radius: 0;
    background: #f3f4f6;
    cursor: default;
    user-select: none;
}

.vgnw-inline-quote-card-head {
    margin: 0 0 6px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    font-style: italic;
}

.vgnw-inline-quote-card-body {
    color: #111827;
    font-size: 14px;
    line-height: 1.6;
    white-space: normal;
    word-break: break-word;
}

.vgnw-inline-quote-card-control {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid #0f172a;
    border-radius: 999px;
    background: #0f172a;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    font-family: "Segoe UI", Arial, sans-serif !important;
    text-align: center;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    z-index: 2;
    padding: 0;
}

.vgnw-inline-quote-card-control:hover {
    transform: translateY(-1px);
    background: #1e293b;
    border-color: #1e293b;
}

.vgnw-inline-quote-card-control::before {
    content: none !important;
}

.vgnw-inline-quote-card-control > span {
    display: block;
    line-height: 1;
    font-size: 13px;
    letter-spacing: 0;
    pointer-events: none;
}

.vgnw-inline-quote-card-control.is-up {
    top: -10px;
    left: -10px;
}

.vgnw-inline-quote-card-control.is-down {
    right: -10px;
    bottom: -10px;
}

.vgnw-inline-quote-card-control.is-drag {
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    cursor: grab;
    letter-spacing: 0;
}

.vgnw-inline-quote-card-control.is-drag:active {
    cursor: grabbing;
}

.vgnw-inline-quote-card-control.is-remove {
    left: -10px;
    bottom: -10px;
    background: #fff;
    color: #475569;
    border-color: #cbd5e1;
}

.vgnw-inline-quote-card-control.is-remove:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}

.vgnw-inline-quote-card-control.is-drag:hover {
    transform: translateY(-50%);
}

html.dark-mode #reply-section #vgnw-editor-container .ql-toolbar.ql-snow,
html.dark-mode #vgnw-thread-editor .ql-toolbar.ql-snow,
html.dark-mode #vgnw-std-comment-editor .ql-toolbar.ql-snow {
    background: linear-gradient(180deg, #242832 0%, #1f2430 100%);
    border-color: var(--border-light, #2f3746);
}

html.dark-mode #reply-section #vgnw-editor-container .ql-container.ql-snow,
html.dark-mode #vgnw-thread-editor .ql-container.ql-snow,
html.dark-mode #vgnw-std-comment-editor .ql-container.ql-snow {
    border-color: var(--border-light, #2f3746);
    background: #191d25;
}

html.dark-mode #reply-section .ql-editor blockquote.vgnw-inline-quote-card,
html.dark-mode #vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card,
html.dark-mode #vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card {
    background: rgba(148, 163, 184, 0.14);
    border-left-color: rgba(148, 163, 184, 0.62);
}

html.dark-mode .vgnw-inline-quote-card-head {
    color: #94a3b8;
}

html.dark-mode .vgnw-inline-quote-card-body {
    color: #e5e7eb;
}

html.dark-mode .vgnw-inline-quote-card-control {
    background: #0f172a;
    color: #e5e7eb;
    border-color: #334155;
}

html.dark-mode .vgnw-inline-quote-card-control:hover {
    background: #1e293b;
    border-color: #475569;
}

html.dark-mode .vgnw-inline-quote-card-control.is-remove {
    background: #111827;
    color: #cbd5e1;
    border-color: #334155;
}

html.dark-mode .vgnw-inline-quote-card-control.is-remove:hover {
    background: #1f2937;
    color: #e2e8f0;
    border-color: #475569;
}

/* Report form (inline-style cleanup) */
.vgnw-report-form {
    margin-top: 8px;
}

.vgnw-report-form-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
}

.vgnw-report-reason {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
}

.vgnw-report-actions {
    margin-top: 6px;
    display: flex;
    gap: 8px;
}

.vgnw-report-msg {
    margin-top: 6px;
    font-size: 13px;
}

.vgnw-report-msg.is-error {
    color: var(--vgnw-color-danger, #e11d48);
}

.vgnw-report-msg.is-success {
    color: var(--vgnw-color-success, #16a34a);
}

/* Profile settings (inline-style cleanup) */
.vgnw-profile-comment-link {
    font-weight: 400;
}

.vgnw-profile-thread-link {
    color: #2b70af;
    font-weight: 600;
}

.profile-notif-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.profile-notif-title {
    margin: 0;
}

.vgnw-settings-group-label {
    font-weight: 700;
}

.vgnw-settings-security {
    margin-top: 30px;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.vgnw-settings-save {
    margin-top: 20px;
}

/* ========================================
   THREAD SURFACE CLEANUP (v8.0)
   ======================================== */
body.single-vgnw_thread .vgnw-thread-layout-breadcrumb {
    margin: 0 0 10px;
}

body.single-vgnw_thread .vgnw-thread-layout-breadcrumb .vgnw-breadcrumb {
    margin-bottom: 0;
}

body.single-vgnw_thread .vgnw-forum-layout-thread {
    align-items: start;
    gap: 20px;
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-thread-title-bar {
    margin: 0 0 12px;
    padding: 0 0 12px;
    border: 0;
    border-bottom: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 0;
    background: transparent;
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-stream-container {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-post-item {
    margin: 0 0 10px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
    background: var(--vgnw-color-bg-elevated, #fff);
    overflow: hidden;
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-post-grid {
    grid-template-columns: 230px minmax(0, 1fr);
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-postbit {
    border-right: 1px solid var(--vgnw-color-border, #dce0e6);
    background: var(--vgnw-color-bg-soft, #f8fafc);
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-post-body {
    min-height: 0;
    padding: 14px 16px;
}

body.single-vgnw_thread .vgnw-forum-layout-thread .vgnw-post-footer {
    margin-top: 12px;
    padding-top: 12px;
}

body.single-vgnw_thread #reply-section.vgnw-reply-container.is-collapsed,
body.single-vgnw_thread #reply-section.vgnw-reply-container.is-expanded {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
    background: var(--vgnw-color-bg-elevated, #fff);
}

body.single-vgnw_thread #reply-section .vgnw-reply-inline-trigger {
    min-height: 54px;
    border-radius: 8px;
    background: var(--vgnw-color-bg-soft, #f8fafc);
}

body.single-vgnw_thread #reply-section .reply-editor-box {
    margin-top: 10px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: 8px;
    overflow: hidden;
    background: var(--vgnw-color-bg-elevated, #fff);
}

/* Keep timeline modal-only for capable users */
body.single-vgnw_thread .vgnw-forum-sidebar .vgnw-thread-timeline-card {
    display: none !important;
}

/* Compact quote block in thread content */
body.single-vgnw_thread .vgnw-stream-container .vgnw-post-body > .post-content blockquote.vgnw-inline-quote {
    margin: 10px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--vgnw-color-border, #dce0e6) !important;
    border-left: 4px solid #cfd5df !important;
    border-radius: 6px !important;
    background: #f4f5f7 !important;
}

body.single-vgnw_thread .vgnw-stream-container .vgnw-post-body > .post-content blockquote.vgnw-inline-quote p {
    margin: 0;
}

body.single-vgnw_thread .vgnw-inline-quote .vgnw-inline-quote-head {
    margin: 0 0 6px !important;
    font-size: 13px;
    line-height: 1.35;
    color: var(--vgnw-color-text-muted, #667085) !important;
}

body.single-vgnw_thread .vgnw-inline-quote .vgnw-inline-quote-head em {
    font-style: italic;
}

body.single-vgnw_thread .vgnw-inline-quote .vgnw-inline-quote-body {
    font-size: 15px;
    line-height: 1.55;
}

/* Quote card editor controls: smaller + clearer drag/drop target */
#reply-section .ql-editor blockquote.vgnw-inline-quote-card,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card {
    padding: 16px 32px 16px 18px;
}

.vgnw-inline-quote-card-control {
    width: 20px;
    height: 20px;
    font-size: 11px;
}

.vgnw-inline-quote-card-control > span {
    font-size: 11px;
}

.vgnw-inline-quote-card-control.is-up {
    top: -8px;
    left: -8px;
}

.vgnw-inline-quote-card-control.is-down {
    right: -8px;
    bottom: -8px;
}

.vgnw-inline-quote-card-control.is-drag {
    right: -8px;
}

.vgnw-inline-quote-card-control.is-remove {
    left: -8px;
    bottom: -8px;
}

#reply-section .ql-editor blockquote.vgnw-inline-quote-card.is-dragging,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card.is-dragging,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card.is-dragging {
    opacity: 0.78;
    border-color: #93c5fd;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18);
}

#reply-section .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target::after,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target::after,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target::after {
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    height: 2px;
    background: #2563eb;
    border-radius: 999px;
}

#reply-section .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="before"]::after,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="before"]::after,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="before"]::after {
    top: -6px;
}

#reply-section .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="after"]::after,
#vgnw-thread-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="after"]::after,
#vgnw-std-comment-editor .ql-editor blockquote.vgnw-inline-quote-card.is-drop-target[data-drop-position="after"]::after {
    bottom: -6px;
}

/* Sidebar: online staff + compact statistics */
.vgnw-side-online-staff-card .vgnw-forum-side-list {
    gap: 8px;
}

.vgnw-side-online-staff-card .vgnw-side-user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.vgnw-side-online-staff-card .vgnw-side-user-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.vgnw-side-online-staff-card .vgnw-side-user > span {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.vgnw-side-online-staff-card .vgnw-side-user-name {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--vgnw-color-text, #111827);
}

.vgnw-side-online-staff-card .vgnw-side-user-role {
    display: block;
    margin-top: 1px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--vgnw-color-text-muted, #667085);
}

.vgnw-side-online-staff-card .vgnw-side-user-name .vgnw-verified-badge {
    margin-left: 1px !important;
    margin-bottom: 1px;
}

.vgnw-side-forum-stats-card .vgnw-forum-side-stats-grid-inline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.vgnw-side-forum-stats-card .vgnw-forum-side-stat {
    padding: 8px 6px;
    text-align: center;
}

.vgnw-side-forum-stats-card .vgnw-forum-side-stat span {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .02em;
}

.vgnw-side-forum-stats-card .vgnw-forum-side-stat strong {
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.1;
}
.vgnw-mention-suggest {
    position: absolute;
    z-index: 30;
    min-width: 220px;
    max-width: 320px;
    border: 1px solid var(--vgnw-color-border, #dce0e6);
    border-radius: var(--vgnw-radius-sm, 8px);
    background: var(--vgnw-color-bg-elevated, #fff);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
    overflow: hidden;
}

.vgnw-mention-suggest[hidden] {
    display: none;
}

.vgnw-mention-suggest button {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0 8px;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: var(--vgnw-color-text, #111827);
    text-align: left;
    cursor: pointer;
}

.vgnw-mention-suggest button:hover,
.vgnw-mention-suggest button:focus {
    background: var(--vgnw-color-bg-soft, #f8fafc);
}

.vgnw-mention-suggest img {
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    border-radius: 999px;
}

.vgnw-mention-suggest span,
.vgnw-mention-suggest code {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vgnw-mention-suggest code {
    color: var(--vgnw-color-text-muted, #667085);
    background: transparent;
    padding: 0;
}
