/* CGCosmos Community — Full CSS */
*,*::before,*::after{box-sizing:border-box}

.cgcom-wrap{
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
    font-size:13px;color:var(--text-primary,#E3E6E6);line-height:1.6;
    max-width:1100px;margin:0 auto;padding:24px 16px 80px;
}
.cgcom-wrap a{text-decoration:none;color:inherit}

/* ── Breadcrumb ── */
.cgcom-breadcrumb{
    display:flex;align-items:center;gap:6px;
    font-size:11px;color:var(--text-muted,#565959);margin-bottom:18px;
}
.cgcom-breadcrumb a{color:var(--accent,#6366F1)}
.cgcom-breadcrumb a:hover{text-decoration:underline}

/* ── Header ── */
.cgcom-header{
    display:flex;align-items:flex-start;justify-content:space-between;
    margin-bottom:20px;gap:12px;flex-wrap:wrap;
}
.cgcom-title{font-size:26px;font-weight:800;color:var(--text-primary,#E3E6E6);margin:0 0 4px}
.cgcom-forum-title{font-size:20px;font-weight:700;color:var(--text-primary,#E3E6E6);margin:0 0 4px}
.cgcom-subtitle{font-size:12px;color:var(--text-muted,#565959);margin:0}
.cgcom-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ── Layout ── */
.cgcom-layout{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
.cgcom-main{}
.cgcom-sidebar{display:flex;flex-direction:column;gap:14px}

/* ── Search ── */
.cgcom-search-bar{
    position:relative;margin-bottom:20px;
}
.cgcom-search-icon{
    position:absolute;left:12px;top:50%;transform:translateY(-50%);
    color:var(--text-muted,#565959);pointer-events:none;
}
.cgcom-search-input{
    width:100%;height:40px;padding:0 12px 0 36px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:8px;color:var(--text-primary,#E3E6E6);
    font-size:13px;outline:none;transition:border-color .15s;
}
.cgcom-search-input:focus{border-color:var(--accent,#6366F1)}
.cgcom-search-input::placeholder{color:var(--text-muted,#565959)}
.cgcom-search-results{
    position:absolute;top:calc(100% + 4px);left:0;right:0;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:8px;z-index:100;
    box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden;
}
.cgcom-search-result-item{
    display:flex;align-items:center;gap:10px;
    padding:10px 14px;cursor:pointer;
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:background .12s;
}
.cgcom-search-result-item:last-child{border:none}
.cgcom-search-result-item:hover{background:rgba(99,102,241,.06)}
.cgcom-search-result-title{font-size:12px;font-weight:600;color:var(--text-primary,#E3E6E6)}
.cgcom-search-result-meta{font-size:10px;color:var(--text-muted,#565959);margin-top:1px}

/* ── Forum rows (index) ── */
.cgcom-forum-row{
    display:flex;align-items:center;gap:14px;
    padding:16px 18px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;margin-bottom:8px;
    cursor:pointer;transition:all .18s;
}
.cgcom-forum-row:hover{
    border-color:rgba(99,102,241,.3);
    transform:translateY(-1px);
    box-shadow:0 4px 16px rgba(0,0,0,.3);
}
.cgcom-forum-row--locked{opacity:.6}
.cgcom-forum-icon{font-size:1.6rem;width:40px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cgcom-forum-icon-svg{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--surface,#f1f3f9);color:var(--text-secondary,#5a6478);flex-shrink:0}
.cgcom-forum-icon-svg svg{stroke:var(--text-secondary,#5a6478)}
.cgcom-forum-row:hover .cgcom-forum-icon-svg{background:var(--primary-light,#e8edff);color:var(--primary,#3b5bdb)}
.cgcom-forum-row:hover .cgcom-forum-icon-svg svg{stroke:var(--primary,#3b5bdb)}
.cgcom-forum-info{flex:1;min-width:0}
.cgcom-forum-name{
    font-size:14px;font-weight:700;color:var(--text-primary,#E3E6E6);
    display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.cgcom-forum-desc{font-size:11px;color:var(--text-muted,#565959);margin-top:2px}
.cgcom-private-badge{
    font-size:9px;padding:2px 7px;border-radius:99px;
    background:rgba(139,92,246,.12);color:#A78BFA;
    border:1px solid rgba(139,92,246,.2);
}
.cgcom-forum-stats{display:flex;gap:16px;flex-shrink:0}
.cgcom-forum-stat{text-align:center}
.cgcom-forum-stat-num{font-size:15px;font-weight:700;color:var(--text-primary,#E3E6E6);display:block}
.cgcom-forum-stat-lbl{font-size:9px;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.05em}
.cgcom-forum-arrow{color:var(--text-muted,#565959);flex-shrink:0}

/* ── Sort tabs ── */
.cgcom-sort-tabs{
    display:flex;align-items:center;gap:4px;margin-bottom:14px;
    border-bottom:1px solid var(--border,rgba(255,255,255,.07));padding-bottom:10px;
}
.cgcom-sort-tab{
    padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;
    color:var(--text-muted,#565959);transition:all .15s;
}
.cgcom-sort-tab.active{background:rgba(99,102,241,.1);color:var(--accent,#6366F1)}
.cgcom-sort-tab:hover:not(.active){color:var(--text-primary,#E3E6E6)}
.cgcom-topic-total{margin-left:auto;font-size:11px;color:var(--text-muted,#565959)}

/* ── Topic rows (forum view) ── */
.cgcom-topic-row{
    display:flex;align-items:center;gap:12px;
    padding:14px 16px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:10px;margin-bottom:8px;
    transition:all .15s;
}
.cgcom-topic-row:hover{border-color:rgba(99,102,241,.25)}
.cgcom-topic-row--pinned{border-color:rgba(99,102,241,.2);background:rgba(99,102,241,.03)}

.cgcom-topic-vote{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    flex-shrink:0;min-width:36px;
}
.cgcom-vote-btn{
    background:none;border:none;color:var(--text-muted,#565959);
    cursor:pointer;font-size:14px;padding:2px 4px;
    transition:color .15s;line-height:1;font-family:inherit;
}
.cgcom-vote-btn:hover,.cgcom-vote-btn.voted{color:var(--accent,#6366F1)}
.cgcom-vote-btn svg path{transition:fill .15s}
.cgcom-vote-count{font-size:12px;font-weight:700;color:var(--text-secondary,#999)}

.cgcom-topic-main{flex:1;min-width:0}
.cgcom-topic-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.cgcom-topic-title{
    font-size:14px;font-weight:600;color:var(--text-primary,#E3E6E6);
}
.cgcom-topic-title:hover{color:var(--accent,#6366F1)}
.cgcom-topic-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted,#565959);flex-wrap:wrap}
.cgcom-meta-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover}
.cgcom-meta-sep{color:var(--border,rgba(255,255,255,.2))}

.cgcom-pin-badge,.cgcom-solved-badge{
    font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;
}
.cgcom-pin-badge{background:rgba(99,102,241,.1);color:var(--accent,#6366F1)}
.cgcom-solved-badge{background:rgba(16,185,129,.1);color:#34D399}

.cgcom-tag{
    font-size:9px;padding:2px 6px;border-radius:4px;
    background:var(--bg-secondary,rgba(255,255,255,.06));
    color:var(--text-secondary,#999);border:1px solid var(--border,rgba(255,255,255,.08));
}

.cgcom-topic-stats{display:flex;align-items:center;gap:14px;flex-shrink:0}
.cgcom-topic-stat{text-align:center}
.cgcom-stat-val{font-size:14px;font-weight:700;color:var(--text-primary,#E3E6E6);display:block}
.cgcom-stat-lbl{font-size:9px;color:var(--text-muted,#565959);text-transform:uppercase}
.cgcom-last-reply{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--text-muted,#565959)}
.cgcom-last-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}

/* ── Pagination ── */
.cgcom-pagination{display:flex;gap:4px;margin-top:16px;justify-content:center}
.cgcom-page-btn{
    width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:500;color:var(--text-secondary,#999);
    background:var(--bg-card,var(--bg-card));border:1px solid var(--border,rgba(255,255,255,.08));
    transition:all .15s;
}
.cgcom-page-btn.active,.cgcom-page-btn:hover{
    background:var(--accent,#6366F1);color:#000;border-color:var(--accent,#6366F1);
}

/* ── Topic detail ── */
.cgcom-topic-detail{max-width:860px}
.cgcom-topic-heading{font-size:22px;font-weight:800;color:var(--text-primary,#E3E6E6);margin:0 0 8px}
.cgcom-topic-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.cgcom-topic-header-left{flex:1}
.cgcom-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.cgcom-subscribe-btn{
    background:none;border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:7px;color:var(--text-secondary,#999);
    font-size:11px;font-weight:500;padding:6px 12px;cursor:pointer;
    transition:all .15s;font-family:inherit;
}
.cgcom-subscribe-btn.subscribed{border-color:rgba(99,102,241,.3);color:var(--accent,#6366F1)}
.cgcom-subscribe-btn:hover{border-color:rgba(99,102,241,.3);color:var(--accent,#6366F1)}

/* ── Original post ── */
.cgcom-op{
    display:flex;gap:16px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:20px;margin-bottom:6px;
}
.cgcom-op-sidebar{
    display:flex;flex-direction:column;align-items:center;
    gap:6px;flex-shrink:0;width:60px;text-align:center;
}
.cgcom-avatar{border-radius:50%;object-fit:cover}
.cgcom-avatar--sm{width:36px;height:36px}
.cgcom-avatar--lg{width:48px;height:48px}
.cgcom-op-name{font-size:11px;font-weight:700;color:var(--text-primary,#E3E6E6)}
.cgcom-op-level{font-size:9px;font-weight:600}
.cgcom-op-karma{font-size:9px;color:var(--text-muted,#565959)}
.cgcom-badge-icon{font-size:12px;cursor:help}

.cgcom-op-body{flex:1;min-width:0}
.cgcom-post-meta{font-size:11px;color:var(--text-muted,#565959);margin-bottom:12px;display:flex;gap:6px;align-items:center}
.cgcom-post-content{font-size:14px;line-height:1.7;color:var(--text-primary,#E3E6E6)}
.cgcom-post-content h2,.cgcom-post-content h3{color:var(--text-primary,#E3E6E6);margin:16px 0 8px}
.cgcom-post-content p{margin:0 0 12px}
.cgcom-post-content ul,.cgcom-post-content ol{padding-left:20px;margin:0 0 12px}
.cgcom-post-content code{
    background:rgba(255,255,255,.07);padding:2px 5px;border-radius:4px;
    font-family:monospace;font-size:12px;
}
.cgcom-post-content pre{
    background:rgba(0,0,0,.3);padding:14px;border-radius:8px;
    overflow-x:auto;font-family:monospace;font-size:12px;margin:10px 0;
}
.cgcom-post-content img{max-width:100%;border-radius:8px;margin:8px 0}
.cgcom-post-content blockquote{
    border-left:3px solid var(--accent,#6366F1);
    padding:8px 14px;margin:10px 0;
    background:rgba(99,102,241,.05);border-radius:0 8px 8px 0;
    color:var(--text-secondary,#999);
}
.cgcom-post-content a{color:var(--accent,#6366F1)}
.cgcom-mention{color:var(--accent,#6366F1);font-weight:600}

.cgcom-post-actions{
    display:flex;align-items:center;gap:12px;margin-top:14px;
    padding-top:12px;border-top:1px solid rgba(255,255,255,.06);
}
.cgcom-vote-btn--topic,.cgcom-vote-btn--reply{
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 10px;border-radius:6px;
    border:1px solid var(--border,rgba(255,255,255,.1));
    background:none;color:var(--text-secondary,#999);
    cursor:pointer;font-size:12px;font-family:inherit;
    transition:all .15s;
}
.cgcom-vote-btn--topic:hover,.cgcom-vote-btn--topic.voted,
.cgcom-vote-btn--reply:hover,.cgcom-vote-btn--reply.voted{
    border-color:var(--accent,#6366F1);color:var(--accent,#6366F1);
    background:rgba(99,102,241,.07);
}
.cgcom-reply-btn{
    background:none;border:none;color:var(--accent,#6366F1);
    font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;
    padding:5px 8px;border-radius:5px;transition:background .15s;
}
.cgcom-reply-btn:hover{background:rgba(99,102,241,.08)}
.cgcom-delete-btn{
    background:none;border:none;color:var(--text-muted,#565959);
    font-size:11px;cursor:pointer;font-family:inherit;padding:5px 8px;
    transition:color .15s;
}
.cgcom-delete-btn:hover{color:#EF4444}

/* ── Replies ── */
.cgcom-replies-heading{
    font-size:14px;font-weight:700;color:var(--text-secondary,#999);
    margin:24px 0 10px;padding-bottom:8px;
    border-bottom:1px solid var(--border,rgba(255,255,255,.07));
}
.cgcom-reply{
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:10px;margin-bottom:8px;overflow:hidden;
    animation:cgcomFadeIn .2s ease;
}
.cgcom-reply--best{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.04)}
@keyframes cgcomFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cgcom-best-banner{
    padding:6px 16px;background:rgba(16,185,129,.1);
    color:#34D399;font-size:11px;font-weight:700;
    border-bottom:1px solid rgba(16,185,129,.2);
}
.cgcom-mark-solved-btn{
    color:#34D399;font-size:11px;font-weight:600;
    background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);
    border-radius:6px;padding:3px 10px;cursor:pointer;transition:all .15s;
}
.cgcom-mark-solved-btn:hover{background:rgba(16,185,129,.2);border-color:#34D399}
.cgcom-solved-label{
    color:#34D399;font-size:11px;font-weight:700;
    display:inline-flex;align-items:center;gap:4px;
}
.cgcom-reply-inner{display:flex;gap:12px;padding:14px 16px}
.cgcom-reply-avatar-wrap{flex-shrink:0}
.cgcom-reply-body{flex:1;min-width:0}
.cgcom-reply-meta{
    display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px;
}
.cgcom-username{font-size:12px;font-weight:700;color:var(--text-primary,#E3E6E6)}
.cgcom-username:hover{color:var(--accent,#6366F1)}
.cgcom-level-badge{font-size:10px;font-weight:600}
.cgcom-reply-time{font-size:10px;color:var(--text-muted,#565959)}
.cgcom-reply-content{font-size:13px;line-height:1.65;color:var(--text-primary,#E3E6E6)}
.cgcom-reply-content p{margin:0 0 8px}
.cgcom-reply-content code{
    background:rgba(255,255,255,.07);padding:2px 5px;border-radius:4px;font-size:11px;
}
.cgcom-reply-content pre{
    background:rgba(0,0,0,.3);padding:12px;border-radius:6px;overflow-x:auto;
    font-size:11px;font-family:monospace;
}
.cgcom-reply-actions{
    display:flex;align-items:center;gap:10px;margin-top:10px;
}
.cgcom-mark-best-btn{
    background:none;border:1px solid rgba(16,185,129,.25);
    border-radius:5px;color:#34D399;font-size:10px;font-weight:600;
    cursor:pointer;padding:4px 9px;font-family:inherit;transition:all .15s;
}
.cgcom-mark-best-btn:hover{background:rgba(16,185,129,.1)}

/* ── Reply form ── */
.cgcom-reply-section{margin-top:24px}
.cgcom-reply-form-wrap{
    display:flex;gap:12px;align-items:flex-start;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:16px;
}
.cgcom-form-inner{flex:1;min-width:0}
.cgcom-editor-toolbar{
    display:flex;align-items:center;gap:2px;flex-wrap:wrap;
    padding:6px 8px;
    background:rgba(255,255,255,.04);
    border-radius:6px 6px 0 0;
    border:1px solid var(--border,rgba(255,255,255,.08));
    border-bottom:none;
}
.cgcom-tb{
    background:none;border:none;color:var(--text-secondary,#999);
    font-size:11px;cursor:pointer;padding:3px 6px;border-radius:4px;
    transition:all .12s;font-family:inherit;
}
.cgcom-tb:hover{background:rgba(255,255,255,.08);color:var(--text-primary,#E3E6E6)}
.cgcom-tb-sep{width:1px;height:14px;background:var(--border,rgba(255,255,255,.12));margin:0 3px}
.cgcom-editor{
    min-height:100px;max-height:400px;
    padding:12px;overflow-y:auto;
    background:var(--bg-input,#1A222C);
    border:1px solid var(--border,rgba(255,255,255,.1));
    border-radius:0 0 6px 6px;
    color:var(--text-primary,#E3E6E6);font-size:13px;line-height:1.6;
    outline:none;transition:border-color .15s;
    font-family:inherit;
}
.cgcom-editor:focus{border-color:rgba(99,102,241,.4)}
.cgcom-editor:empty::before{content:attr(placeholder);color:var(--text-muted,#565959);pointer-events:none}
.cgcom-reply-editor{min-height:70px}

.cgcom-form-footer{
    display:flex;align-items:center;justify-content:space-between;margin-top:9px;
}
.cgcom-char-count{font-size:10px;color:var(--text-muted,#565959)}
.cgcom-form-msg{font-size:11px;margin-top:6px;min-height:14px}
.cgcom-form-msg.ok{color:#34D399}
.cgcom-form-msg.err{color:#FCA5A5}

/* ── Mention dropdown ── */
.cgcom-mention-dropdown{
    position:absolute;z-index:200;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:8px;min-width:200px;
    box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden;
}
.cgcom-mention-item{
    display:flex;align-items:center;gap:8px;
    padding:8px 12px;cursor:pointer;transition:background .12s;
}
.cgcom-mention-item:hover,.cgcom-mention-item.selected{background:rgba(99,102,241,.07)}
.cgcom-mention-item img{width:24px;height:24px;border-radius:50%}
.cgcom-mention-name{font-size:12px;font-weight:600;color:var(--text-primary,#E3E6E6)}
.cgcom-mention-login{font-size:10px;color:var(--text-muted,#565959)}

/* ── Inline reply form ── */
.cgcom-inline-reply{
    margin:8px 0 8px 48px;
    background:var(--bg-secondary,rgba(255,255,255,.03));
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:8px;padding:12px;
}

/* ── Product link ── */
.cgcom-product-link{margin-top:24px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,.06))}
.cgcom-product-card-link{
    display:flex;align-items:center;gap:12px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid rgba(99,102,241,.2);
    border-radius:10px;padding:12px 16px;
    transition:border-color .15s;
}
.cgcom-product-card-link:hover{border-color:rgba(99,102,241,.4)}
.cgcom-prod-thumb{width:52px;height:52px;border-radius:7px;object-fit:cover;flex-shrink:0}
.cgcom-prod-label{font-size:9px;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.06em}
.cgcom-prod-name{font-size:13px;font-weight:700;color:var(--text-primary,#E3E6E6)}
.cgcom-prod-price{margin-left:auto;font-size:14px;font-weight:700;color:var(--accent,#6366F1);flex-shrink:0}

/* ── Widgets (sidebar) ── */
.cgcom-widget{
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:14px 16px;
}
.cgcom-widget-title{
    font-size:12px;font-weight:700;color:var(--text-primary,#E3E6E6);
    margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.cgcom-trending-row{
    display:block;padding:7px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:color .12s;
}
.cgcom-trending-row:last-child{border:none}
.cgcom-trending-title{font-size:11px;font-weight:500;color:var(--text-primary,#E3E6E6)}
.cgcom-trending-row:hover .cgcom-trending-title{color:var(--accent,#6366F1)}
.cgcom-trending-meta{font-size:10px;color:var(--text-muted,#565959);margin-top:2px;display:flex;gap:8px}

/* ── Notifications widget ── */
.cgcom-nav-badge{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:17px;height:17px;border-radius:99px;
    background:#EF4444;color:#fff;font-size:9px;font-weight:700;padding:0 4px;
}
.cgcom-mark-read-btn{
    margin-left:auto;font-size:10px;background:none;border:none;
    color:var(--accent,#6366F1);cursor:pointer;font-family:inherit;padding:0;
}
.cgcom-notif-row{
    display:block;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);
    transition:opacity .15s;
}
.cgcom-notif-row:last-child{border:none}
.cgcom-notif-row--unread .cgcom-notif-msg{color:var(--text-primary,#E3E6E6);font-weight:600}
.cgcom-notif-msg{font-size:11px;color:var(--text-secondary,#999);line-height:1.4}
.cgcom-notif-time{font-size:10px;color:var(--text-muted,#565959);margin-top:2px}
.cgcom-empty-notif{font-size:11px;color:var(--text-muted,#565959);text-align:center;padding:12px 0}

/* ── Karma widget ── */
.cgcom-karma-widget{border-color:rgba(99,102,241,.15)}
.cgcom-karma-score{font-size:28px;font-weight:900;color:var(--accent,#6366F1);line-height:1}
.cgcom-karma-score span{font-size:13px;font-weight:400;color:var(--text-muted,#565959)}
.cgcom-karma-level{font-size:13px;font-weight:700;margin:4px 0 10px}
.cgcom-karma-progress-wrap{margin-top:8px}
.cgcom-karma-progress-bar{
    height:5px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-bottom:5px;
}
.cgcom-karma-progress-fill{height:100%;background:linear-gradient(90deg,#6366F1,#FFB800);border-radius:99px}
.cgcom-karma-progress-label{font-size:10px;color:var(--text-muted,#565959)}
.cgcom-view-profile-btn{
    display:block;text-align:center;margin-top:10px;
    font-size:11px;color:var(--accent,#6366F1);font-weight:600;
    padding-top:10px;border-top:1px solid rgba(255,255,255,.06);
}

/* ── New topic form ── */
.cgcom-new-topic-wrap{max-width:720px;margin:0 auto}
.cgcom-new-topic-form{
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:20px;
}
.cgcom-field{margin-bottom:14px}
.cgcom-label{
    display:block;font-size:10px;font-weight:700;
    color:var(--text-secondary,#999);margin-bottom:5px;
    text-transform:uppercase;letter-spacing:.06em;
}
.cgcom-required{color:#EF4444}
.cgcom-field-hint{font-size:10px;color:var(--text-muted,#565959);margin-top:4px}
.cgcom-field-hint-inline{font-size:10px;color:var(--text-muted,#565959);font-weight:400;text-transform:none;letter-spacing:0}
.cgcom-input{
    width:100%;padding:9px 12px;
    background:var(--bg-input,#1A222C);
    border:1px solid var(--border,rgba(255,255,255,.1));
    border-radius:7px;color:var(--text-primary,#E3E6E6);
    font-size:13px;outline:none;transition:border-color .15s;font-family:inherit;
}
.cgcom-input:focus{border-color:rgba(99,102,241,.4)}
.cgcom-input::placeholder{color:var(--text-muted,#565959)}
.cgcom-select{
    width:100%;padding:9px 12px;
    background:var(--bg-input,#1A222C);
    border:1px solid var(--border,rgba(255,255,255,.1));
    border-radius:7px;color:var(--text-primary,#E3E6E6);
    font-size:13px;outline:none;font-family:inherit;cursor:pointer;
}
.cgcom-select option{background:var(--bg-input,#1A222C)}
.cgcom-editor-wrap{position:relative}
.cgcom-submit-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.cgcom-tags-preview{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}

.cgcom-posting-tips{
    background:rgba(99,102,241,.05);
    border:1px solid rgba(99,102,241,.15);
    border-radius:10px;padding:14px;
}
.cgcom-tips-title{font-size:12px;font-weight:700;color:var(--accent,#6366F1);margin-bottom:10px}
.cgcom-tip-item{font-size:11px;color:var(--text-secondary,#999);padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.cgcom-tip-item:last-child{border:none}

/* ── Profile ── */
.cgcom-profile-wrap{max-width:960px}
.cgcom-profile-header{
    display:flex;align-items:flex-start;gap:20px;
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:14px;padding:24px;margin-bottom:14px;
}
.cgcom-profile-avatar{width:80px;height:80px;border-radius:50%;border:3px solid rgba(99,102,241,.3);object-fit:cover;flex-shrink:0}
.cgcom-profile-info{flex:1}
.cgcom-profile-name{font-size:22px;font-weight:800;color:var(--text-primary,#E3E6E6);margin:0 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cgcom-creator-label{font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;background:rgba(99,102,241,.1);color:var(--accent,#6366F1);border:1px solid rgba(99,102,241,.2)}
.cgcom-profile-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted,#565959);flex-wrap:wrap;margin-bottom:12px}
.cgcom-profile-progress{margin-top:6px}
.cgcom-progress-track{height:5px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-bottom:5px}
.cgcom-progress-fill{height:100%;background:linear-gradient(90deg,#6366F1,#FFB800);border-radius:99px}
.cgcom-progress-label{font-size:10px;color:var(--text-muted,#565959)}
.cgcom-profile-max{font-size:13px;color:var(--accent,#6366F1);font-weight:700;margin-top:8px}

.cgcom-profile-stats{
    display:grid;grid-template-columns:repeat(6,1fr);
    gap:8px;margin-bottom:14px;
}
.cgcom-pstat{
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;padding:12px 10px;text-align:center;
}
.cgcom-pstat-val{font-size:20px;font-weight:800;color:var(--text-primary,#E3E6E6);line-height:1}
.cgcom-pstat-lbl{font-size:9px;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}

.cgcom-profile-grid{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}
.cgcom-profile-section{
    background:var(--bg-card,var(--bg-card));
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:16px;margin-bottom:12px;
}
.cgcom-section-title{font-size:13px;font-weight:700;color:var(--text-primary,#E3E6E6);margin:0 0 12px}

.cgcom-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.cgcom-badge-card{
    background:rgba(255,255,255,.04);border:1px solid var(--border,rgba(255,255,255,.08));
    border-radius:9px;padding:12px 10px;text-align:center;
    transition:border-color .15s;
}
.cgcom-badge-card:hover{border-color:rgba(99,102,241,.25)}
.cgcom-badge-emoji{font-size:22px;margin-bottom:5px}
.cgcom-badge-name{font-size:11px;font-weight:700;color:var(--text-primary,#E3E6E6)}
.cgcom-badge-desc{font-size:9px;color:var(--text-muted,#565959);margin-top:2px;line-height:1.3}
.cgcom-badge-earned{font-size:9px;color:var(--text-muted,#565959);margin-top:4px}

.cgcom-profile-topic-row{
    display:block;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.cgcom-profile-topic-row:last-child{border:none}
.cgcom-profile-topic-title{font-size:12px;font-weight:600;color:var(--text-primary,#E3E6E6)}
.cgcom-profile-topic-row:hover .cgcom-profile-topic-title{color:var(--accent,#6366F1)}
.cgcom-profile-topic-meta{font-size:10px;color:var(--text-muted,#565959);margin-top:2px}

.cgcom-profile-product-row{
    display:flex;align-items:center;gap:10px;
    padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.cgcom-profile-product-row:last-of-type{border:none}
.cgcom-prod-mini-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}
.cgcom-prod-placeholder{background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;font-size:16px}
.cgcom-prod-mini-name{font-size:11px;font-weight:600;color:var(--text-primary,#E3E6E6)}
.cgcom-prod-mini-price{font-size:11px;color:var(--accent,#6366F1);font-weight:700;margin-top:2px}
.cgcom-see-all{display:block;text-align:center;margin-top:10px;font-size:11px;color:var(--accent,#6366F1);font-weight:600;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}

.cgcom-karma-row{display:flex;justify-content:space-between;padding:5px 0;font-size:11px;color:var(--text-secondary,#999);border-bottom:1px solid rgba(255,255,255,.04)}
.cgcom-karma-row:last-child{border:none}
.cgcom-karma-row-pts{color:#34D399;font-weight:700}

/* ── Empty / Error states ── */
.cgcom-empty-state{text-align:center;padding:48px 20px;background:var(--bg-card,var(--bg-card));border:1px solid var(--border,rgba(255,255,255,.07));border-radius:12px}
.cgcom-empty-icon{font-size:36px;margin-bottom:12px}
.cgcom-empty-state h3{font-size:16px;font-weight:700;color:var(--text-primary,#E3E6E6);margin:0 0 6px}
.cgcom-empty-state p{font-size:12px;color:var(--text-muted,#565959);margin:0 0 14px}
.cgcom-error{color:#FCA5A5;padding:20px;text-align:center}
.cgcom-login-prompt{text-align:center;padding:24px;background:var(--bg-card,var(--bg-card));border:1px solid var(--border,rgba(255,255,255,.07));border-radius:10px}
.cgcom-closed-notice{padding:14px 16px;background:rgba(255,255,255,.04);border-radius:8px;font-size:12px;color:var(--text-muted,#565959)}
.cgcom-private-notice{text-align:center;padding:48px 20px}
.cgcom-lock{font-size:36px;display:block;margin-bottom:12px}

/* ── Notification bell in nav ── */
.cgcom-nav-bell-item{list-style:none}
.cgcom-nav-bell{
    position:relative;display:inline-flex;align-items:center;
    color:var(--text-secondary,#999);padding:4px;
    transition:color .15s;
}
.cgcom-nav-bell:hover{color:var(--text-primary,#E3E6E6)}
.cgcom-nav-bell .cgcom-nav-badge{position:absolute;top:-4px;right:-4px}

/* ── Responsive ── */
@media(max-width:900px){
    .cgcom-layout{grid-template-columns:1fr}
    .cgcom-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}
    .cgcom-new-topic-wrap{grid-template-columns:1fr}
    .cgcom-profile-grid{grid-template-columns:1fr}
    .cgcom-profile-stats{grid-template-columns:repeat(3,1fr)}
    .cgcom-op{flex-direction:column}
    .cgcom-op-sidebar{flex-direction:row;width:auto}
}
@media(max-width:600px){
    .cgcom-topic-stats{display:none}
    .cgcom-forum-stats{display:none}
    .cgcom-sidebar{grid-template-columns:1fr}
    .cgcom-profile-stats{grid-template-columns:repeat(2,1fr)}
    .cgcom-profile-header{flex-direction:column;align-items:center;text-align:center}
}

.cgcom-inline-login-btn{background:none;border:none;padding:0;color:var(--primary,#3b5bdb);text-decoration:underline;cursor:pointer;font:inherit}

/* ── Badges ── */
.cgcom-badges {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 4px;
}
.cgcom-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
    border: 1px solid transparent;
}
.cgcom-badge--admin {
    background: rgba(239, 68, 68, 0.1);
    color: #F87171;
    border-color: rgba(239, 68, 68, 0.2);
}
.cgcom-badge--mod {
    background: rgba(139, 92, 246, 0.1);
    color: #A78BFA;
    border-color: rgba(139, 92, 246, 0.2);
}
.cgcom-badge--creator {
    background: rgba(99, 102, 241, 0.1);
    color: var(--accent, #6366F1);
    border-color: rgba(99, 102, 241, 0.2);
}
.cgcom-badge--buyer {
    background: rgba(16, 185, 129, 0.1);
    color: #34D399;
    border-color: rgba(16, 185, 129, 0.2);
}
.cgcom-badge--member {
    background: var(--bg-secondary, rgba(255, 255, 255, 0.06));
    color: var(--text-secondary, #999);
    border-color: var(--border, rgba(255, 255, 255, 0.08));
}

/* ══════════════════════════════════════════════════════════════
   SECTION NAV
   ══════════════════════════════════════════════════════════════ */
.cgcom-section-nav{
    display:flex;align-items:center;gap:2px;
    margin-bottom:16px;padding:4px;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;overflow-x:auto;
}
.cgcom-section-nav-item{
    display:inline-flex;align-items:center;gap:5px;
    padding:7px 14px;border-radius:7px;
    font-size:12px;font-weight:500;
    color:var(--text-muted,#565959);
    transition:all .15s;white-space:nowrap;
}
.cgcom-section-nav-item:hover{color:var(--text-primary,#E4E4E7);background:rgba(255,255,255,.04)}
.cgcom-section-nav-item.active{background:rgba(99,102,241,.1);color:var(--accent,#6366F1);font-weight:600}
.cgcom-section-nav-item--mod{color:rgba(239,68,68,.7)}
.cgcom-section-nav-item--mod:hover,.cgcom-section-nav-item--mod.active{color:#F87171}
.cgcom-section-nav-item svg{flex-shrink:0}

/* ══════════════════════════════════════════════════════════════
   POLL
   ══════════════════════════════════════════════════════════════ */
.cgcom-poll{
    background:rgba(99,102,241,.04);
    border:1px solid rgba(99,102,241,.15);
    border-radius:10px;padding:16px;margin:14px 0;
}
.cgcom-poll-header{
    display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;
}
.cgcom-poll-icon{color:var(--accent,#6366F1);flex-shrink:0}
.cgcom-poll-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent,#6366F1)}
.cgcom-poll-anon-badge{
    font-size:9px;padding:2px 7px;border-radius:99px;
    background:rgba(255,255,255,.06);color:var(--text-secondary,#A1A1AA);
    border:1px solid var(--border,rgba(255,255,255,.08));
}
.cgcom-poll-expired-badge{
    font-size:9px;padding:2px 7px;border-radius:99px;
    background:rgba(239,68,68,.1);color:#F87171;
    border:1px solid rgba(239,68,68,.2);
}
.cgcom-poll-expiry{font-size:10px;color:var(--text-muted,#565959);margin-left:auto}
.cgcom-poll-question{font-size:14px;font-weight:600;color:var(--text-primary,#E4E4E7);margin-bottom:12px}

/* Poll results */
.cgcom-poll-results{display:flex;flex-direction:column;gap:6px}
.cgcom-poll-result-row{
    position:relative;padding:9px 12px;
    background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:7px;display:flex;align-items:center;justify-content:space-between;
    overflow:hidden;
}
.cgcom-poll-result-row--voted{border-color:rgba(99,102,241,.3)}
.cgcom-poll-result-bar{
    position:absolute;left:0;top:0;bottom:0;
    background:rgba(99,102,241,.1);
    border-radius:7px;transition:width .4s ease;
}
.cgcom-poll-result-label{
    position:relative;z-index:1;display:flex;align-items:center;gap:6px;
    font-size:12px;color:var(--text-primary,#E4E4E7);
}
.cgcom-poll-check{color:var(--accent,#6366F1)}
.cgcom-poll-result-stats{
    position:relative;z-index:1;display:flex;align-items:center;gap:8px;
    font-size:11px;flex-shrink:0;
}
.cgcom-poll-pct{font-weight:700;color:var(--accent,#6366F1)}
.cgcom-poll-vote-num{color:var(--text-muted,#565959)}

/* Poll voting form */
.cgcom-poll-form{display:flex;flex-direction:column;gap:10px}
.cgcom-poll-options{display:flex;flex-direction:column;gap:5px}
.cgcom-poll-option{
    display:flex;align-items:center;gap:10px;
    padding:9px 12px;cursor:pointer;
    background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:7px;transition:all .15s;
}
.cgcom-poll-option:hover{border-color:rgba(99,102,241,.25)}
.cgcom-poll-option input{display:none}
.cgcom-poll-option-indicator{
    width:16px;height:16px;border-radius:50%;flex-shrink:0;
    border:2px solid var(--border,rgba(255,255,255,.15));
    transition:all .15s;position:relative;
}
.cgcom-poll-option input[type="checkbox"] + .cgcom-poll-option-indicator{border-radius:4px}
.cgcom-poll-option input:checked + .cgcom-poll-option-indicator{
    border-color:var(--accent,#6366F1);
    background:var(--accent,#6366F1);
}
.cgcom-poll-option input:checked + .cgcom-poll-option-indicator::after{
    content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;
    background:#fff;border-radius:50%;
}
.cgcom-poll-option input[type="checkbox"]:checked + .cgcom-poll-option-indicator::after{
    border-radius:1px;top:4px;left:3px;right:3px;bottom:4px;
}
.cgcom-poll-option-text{font-size:12px;color:var(--text-primary,#E4E4E7)}
.cgcom-poll-vote-btn{align-self:flex-start;margin-top:4px}

/* Poll footer */
.cgcom-poll-footer{
    display:flex;align-items:center;gap:10px;margin-top:10px;
    font-size:10px;color:var(--text-muted,#565959);
}
.cgcom-poll-your-vote{color:var(--accent,#6366F1);font-weight:600}

/* ══════════════════════════════════════════════════════════════
   CHALLENGES
   ══════════════════════════════════════════════════════════════ */
.cgcom-challenge-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;
}
.cgcom-challenge-card{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;overflow:hidden;
    transition:all .18s;
}
.cgcom-challenge-card:hover{
    border-color:rgba(99,102,241,.3);
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.cgcom-challenge-cover{position:relative;height:160px;overflow:hidden;background:#0a0a0c}
.cgcom-challenge-cover img{width:100%;height:100%;object-fit:cover}
.cgcom-challenge-cover--placeholder{
    display:flex;align-items:center;justify-content:center;
    font-size:40px;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.08));
}
.cgcom-challenge-status-badge{
    position:absolute;top:10px;right:10px;
    font-size:9px;font-weight:700;padding:3px 8px;
    border-radius:99px;text-transform:uppercase;letter-spacing:.04em;
}
.cgcom-challenge-status--active{background:rgba(16,185,129,.15);color:#34D399;border:1px solid rgba(16,185,129,.25)}
.cgcom-challenge-status--voting{background:rgba(251,191,36,.15);color:#FBBF24;border:1px solid rgba(251,191,36,.25)}
.cgcom-challenge-status--past,.cgcom-challenge-status--closed{background:rgba(255,255,255,.06);color:var(--text-secondary,#A1A1AA);border:1px solid var(--border,rgba(255,255,255,.08))}
.cgcom-challenge-body{padding:14px 16px}
.cgcom-challenge-title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.cgcom-challenge-name{font-size:14px;font-weight:700;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-challenge-tier{
    font-size:9px;font-weight:700;padding:2px 7px;border-radius:99px;
    text-transform:uppercase;letter-spacing:.04em;
}
.cgcom-challenge-tier--beginner{background:rgba(16,185,129,.1);color:#34D399;border:1px solid rgba(16,185,129,.2)}
.cgcom-challenge-tier--intermediate{background:rgba(99,102,241,.1);color:var(--accent,#6366F1);border:1px solid rgba(99,102,241,.2)}
.cgcom-challenge-tier--advanced{background:rgba(239,68,68,.1);color:#F87171;border:1px solid rgba(239,68,68,.2)}
.cgcom-challenge-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted,#565959)}
.cgcom-challenge-entries,.cgcom-challenge-time{display:inline-flex;align-items:center;gap:4px}

/* Single challenge */
.cgcom-challenge-banner{
    display:flex;align-items:center;gap:8px;
    padding:10px 16px;border-radius:8px;
    font-size:12px;font-weight:600;margin-bottom:16px;
}
.cgcom-challenge-banner--active{background:rgba(16,185,129,.08);color:#34D399;border:1px solid rgba(16,185,129,.2)}
.cgcom-challenge-banner--voting{background:rgba(251,191,36,.08);color:#FBBF24;border:1px solid rgba(251,191,36,.2)}
.cgcom-challenge-banner--closed{background:rgba(255,255,255,.04);color:var(--text-secondary,#A1A1AA);border:1px solid var(--border,rgba(255,255,255,.08))}
.cgcom-challenge-header{
    display:flex;gap:20px;margin-bottom:20px;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;overflow:hidden;
}
.cgcom-challenge-hero{width:300px;height:auto;object-fit:cover;flex-shrink:0}
.cgcom-challenge-info{padding:20px;flex:1}
.cgcom-challenge-info-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cgcom-challenge-heading{font-size:22px;font-weight:800;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-challenge-desc{font-size:13px;line-height:1.6;color:var(--text-secondary,#A1A1AA);margin-bottom:14px}
.cgcom-challenge-details-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;
}
.cgcom-challenge-detail{
    padding:10px;background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.06));border-radius:8px;
}
.cgcom-challenge-detail-label{font-size:9px;font-weight:700;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.cgcom-challenge-detail-val{font-size:12px;color:var(--text-primary,#E4E4E7)}

/* Winners */
.cgcom-challenge-winners{margin-bottom:20px}
.cgcom-winners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cgcom-winner-card{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;overflow:hidden;position:relative;
}
.cgcom-winner-card--rank-1{border-color:rgba(251,191,36,.4)}
.cgcom-winner-card--rank-2{border-color:rgba(192,192,192,.4)}
.cgcom-winner-card--rank-3{border-color:rgba(205,127,50,.4)}
.cgcom-winner-rank{
    position:absolute;top:8px;left:8px;
    width:28px;height:28px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:800;
    background:rgba(0,0,0,.7);color:#FBBF24;
}
.cgcom-winner-img{width:100%;height:160px;object-fit:cover}
.cgcom-winner-info{padding:12px}
.cgcom-winner-entry-title{font-size:13px;font-weight:700;color:var(--text-primary,#E4E4E7);margin-bottom:4px}
.cgcom-winner-author{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted,#565959)}
.cgcom-winner-votes{font-size:10px;color:var(--accent,#6366F1);font-weight:600;margin-top:4px}

/* Challenge entries gallery */
.cgcom-entries-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cgcom-entry-card{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;overflow:hidden;transition:border-color .15s;
}
.cgcom-entry-card:hover{border-color:rgba(99,102,241,.25)}
.cgcom-entry-img{width:100%;height:180px;object-fit:cover}
.cgcom-entry-body{padding:12px}
.cgcom-entry-title{font-size:13px;font-weight:700;color:var(--text-primary,#E4E4E7);margin-bottom:3px}
.cgcom-entry-desc{font-size:11px;color:var(--text-muted,#565959);margin-bottom:8px;line-height:1.4}
.cgcom-entry-footer{display:flex;align-items:center;justify-content:space-between}
.cgcom-entry-author{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted,#565959)}
.cgcom-entry-vote-btn{
    display:inline-flex;align-items:center;gap:4px;
    background:none;border:1px solid var(--border,rgba(255,255,255,.1));
    border-radius:6px;padding:4px 8px;
    color:var(--text-secondary,#A1A1AA);font-size:11px;
    cursor:pointer;transition:all .15s;font-family:inherit;
}
.cgcom-entry-vote-btn:hover,.cgcom-entry-vote-btn.voted{
    border-color:var(--accent,#6366F1);color:var(--accent,#6366F1);
    background:rgba(99,102,241,.07);
}
.cgcom-entry-votes{font-size:11px;color:var(--text-muted,#565959);font-weight:600}

/* Challenge submit form */
.cgcom-challenge-submit-section{
    margin-top:20px;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:20px;
}
.cgcom-challenge-submit-form{max-width:600px}
.cgcom-textarea{resize:vertical;min-height:60px;font-family:inherit}
.cgcom-notice{
    display:flex;align-items:center;gap:8px;
    padding:12px 16px;border-radius:8px;font-size:12px;
}
.cgcom-notice--info{background:rgba(99,102,241,.06);color:var(--accent,#6366F1);border:1px solid rgba(99,102,241,.15)}

/* ══════════════════════════════════════════════════════════════
   EVENTS
   ══════════════════════════════════════════════════════════════ */
.cgcom-calendar{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:16px;margin-bottom:16px;
}
.cgcom-calendar-nav{
    display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
}
.cgcom-calendar-nav-btn{
    width:32px;height:32px;border-radius:7px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.04);color:var(--text-secondary,#A1A1AA);
    border:1px solid var(--border,rgba(255,255,255,.06));transition:all .15s;
}
.cgcom-calendar-nav-btn:hover{border-color:rgba(99,102,241,.3);color:var(--accent,#6366F1)}
.cgcom-calendar-title{font-size:14px;font-weight:700;color:var(--text-primary,#E4E4E7)}
.cgcom-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cgcom-cal-head{
    text-align:center;font-size:9px;font-weight:700;
    color:var(--text-muted,#565959);text-transform:uppercase;
    letter-spacing:.06em;padding:4px 0;
}
.cgcom-cal-day{
    aspect-ratio:1;display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    border-radius:6px;font-size:12px;color:var(--text-secondary,#A1A1AA);
    position:relative;transition:background .12s;
}
.cgcom-cal-day:hover:not(.cgcom-cal-day--empty){background:rgba(255,255,255,.04)}
.cgcom-cal-day--today{background:rgba(99,102,241,.1);color:var(--accent,#6366F1);font-weight:700}
.cgcom-cal-day--has-event{cursor:pointer}
.cgcom-cal-num{line-height:1}
.cgcom-cal-dot{
    width:4px;height:4px;border-radius:50%;
    background:var(--accent,#6366F1);
    margin-top:3px;
}
.cgcom-cal-day--empty{visibility:hidden}

/* Event cards */
.cgcom-events-list{display:flex;flex-direction:column;gap:8px}
.cgcom-event-card{
    display:flex;align-items:center;gap:14px;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;padding:14px 16px;
    transition:border-color .15s;
}
.cgcom-event-card:hover{border-color:rgba(99,102,241,.25)}
.cgcom-event-card--past{opacity:.6}
.cgcom-event-date-block{
    flex-shrink:0;width:48px;text-align:center;
    padding:6px;border-radius:8px;
    background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);
}
.cgcom-event-month{display:block;font-size:9px;font-weight:700;color:var(--accent,#6366F1);text-transform:uppercase;letter-spacing:.06em}
.cgcom-event-day{display:block;font-size:20px;font-weight:800;color:var(--text-primary,#E4E4E7);line-height:1.1}
.cgcom-event-info{flex:1;min-width:0}
.cgcom-event-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.cgcom-event-title{font-size:14px;font-weight:700;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-event-type-badge{
    font-size:9px;font-weight:700;padding:2px 7px;border-radius:99px;
    text-transform:uppercase;letter-spacing:.04em;
}
.cgcom-event-type--meetup{background:rgba(99,102,241,.1);color:var(--accent,#6366F1);border:1px solid rgba(99,102,241,.2)}
.cgcom-event-type--workshop{background:rgba(16,185,129,.1);color:#34D399;border:1px solid rgba(16,185,129,.2)}
.cgcom-event-type--livestream{background:rgba(239,68,68,.1);color:#F87171;border:1px solid rgba(239,68,68,.2)}
.cgcom-event-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted,#565959);flex-wrap:wrap}
.cgcom-event-meta span{display:inline-flex;align-items:center;gap:3px}
.cgcom-event-actions{flex-shrink:0}

/* RSVP buttons */
.cgcom-rsvp-group{display:flex;gap:2px}
.cgcom-rsvp-btn{
    padding:5px 10px;border-radius:5px;
    background:none;border:1px solid var(--border,rgba(255,255,255,.08));
    color:var(--text-secondary,#A1A1AA);font-size:10px;font-weight:600;
    cursor:pointer;transition:all .15s;font-family:inherit;
}
.cgcom-rsvp-btn:first-child{border-radius:5px 0 0 5px}
.cgcom-rsvp-btn:last-child{border-radius:0 5px 5px 0}
.cgcom-rsvp-btn:not(:first-child){border-left:none}
.cgcom-rsvp-btn:hover{border-color:rgba(99,102,241,.3);color:var(--text-primary,#E4E4E7)}
.cgcom-rsvp-btn.active{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3);color:var(--accent,#6366F1)}

/* ══════════════════════════════════════════════════════════════
   JOBS
   ══════════════════════════════════════════════════════════════ */
.cgcom-jobs-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}
.cgcom-jobs-sidebar{position:sticky;top:80px}
.cgcom-jobs-main{min-width:0}
.cgcom-jobs-filter-form{display:flex;flex-direction:column;gap:10px}

.cgcom-job-card{
    display:block;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;padding:16px 18px;margin-bottom:8px;
    transition:all .15s;
}
.cgcom-job-card:hover{border-color:rgba(99,102,241,.3);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.25)}
.cgcom-job-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.cgcom-job-title{font-size:14px;font-weight:700;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-job-type-badge{
    font-size:9px;font-weight:700;padding:2px 8px;border-radius:99px;
    text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;
}
.cgcom-job-type--freelance{background:rgba(99,102,241,.1);color:var(--accent,#6366F1);border:1px solid rgba(99,102,241,.2)}
.cgcom-job-type--fulltime{background:rgba(16,185,129,.1);color:#34D399;border:1px solid rgba(16,185,129,.2)}
.cgcom-job-type--collab{background:rgba(251,191,36,.1);color:#FBBF24;border:1px solid rgba(251,191,36,.2)}
.cgcom-job-type--commission{background:rgba(139,92,246,.1);color:#A78BFA;border:1px solid rgba(139,92,246,.2)}
.cgcom-job-budget{font-size:16px;font-weight:800;color:var(--accent,#6366F1);margin-bottom:8px}
.cgcom-job-card-meta{display:flex;flex-direction:column;gap:6px}
.cgcom-job-skills{display:flex;flex-wrap:wrap;gap:4px}
.cgcom-job-info-row{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted,#565959);flex-wrap:wrap}
.cgcom-job-location{display:inline-flex;align-items:center;gap:3px}
.cgcom-job-apps{color:var(--accent,#6366F1);font-weight:600}

/* Single job */
.cgcom-job-single{max-width:860px}
.cgcom-job-single-header{margin-bottom:20px}
.cgcom-job-single-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.cgcom-job-single-title{font-size:22px;font-weight:800;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-job-single-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted,#565959);flex-wrap:wrap}
.cgcom-job-single-author{display:flex;align-items:center;gap:5px}
.cgcom-job-single-body{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:20px;margin-bottom:16px;
}
.cgcom-job-details-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:10px;margin-bottom:16px;
}
.cgcom-job-detail-item{
    padding:10px;background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.06));border-radius:8px;
}
.cgcom-job-detail-label{font-size:9px;font-weight:700;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.cgcom-job-detail-val{font-size:13px;color:var(--text-primary,#E4E4E7)}
.cgcom-text-danger{color:#F87171}
.cgcom-job-skills-section{margin-bottom:16px}
.cgcom-job-skills-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.cgcom-job-description,.cgcom-job-requirements,.cgcom-job-contact{margin-bottom:16px}
.cgcom-job-apply-section{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:12px;padding:20px;
}
.cgcom-job-apply-form{max-width:600px}

/* ══════════════════════════════════════════════════════════════
   BOOKMARKS
   ══════════════════════════════════════════════════════════════ */
.cgcom-tab-count{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:16px;height:16px;border-radius:99px;
    background:rgba(99,102,241,.15);color:var(--accent,#6366F1);
    font-size:9px;font-weight:700;padding:0 4px;margin-left:4px;
}
.cgcom-bookmark-list{display:flex;flex-direction:column;gap:4px}
.cgcom-bookmark-row{
    display:flex;align-items:center;gap:12px;
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;padding:12px 16px;
    transition:border-color .15s;
}
.cgcom-bookmark-row:hover{border-color:rgba(99,102,241,.2)}
.cgcom-bookmark-info{flex:1;min-width:0}
.cgcom-bookmark-title{font-size:13px;font-weight:600;color:var(--text-primary,#E4E4E7)}
.cgcom-bookmark-row:hover .cgcom-bookmark-title{color:var(--accent,#6366F1)}
.cgcom-bookmark-meta{font-size:10px;color:var(--text-muted,#565959);margin-top:3px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cgcom-bookmark-remove{
    background:none;border:none;color:var(--text-muted,#565959);
    cursor:pointer;padding:4px;border-radius:4px;
    transition:all .15s;flex-shrink:0;
}
.cgcom-bookmark-remove:hover{color:#EF4444;background:rgba(239,68,68,.08)}

/* Bookmark button (topic header) */
.cgcom-bookmark-btn{
    display:inline-flex;align-items:center;gap:5px;
    background:none;border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:7px;color:var(--text-secondary,#A1A1AA);
    font-size:11px;font-weight:500;padding:6px 12px;cursor:pointer;
    transition:all .15s;font-family:inherit;
}
.cgcom-bookmark-btn:hover,.cgcom-bookmark-btn.bookmarked{
    border-color:rgba(99,102,241,.3);color:var(--accent,#6366F1);
}

/* ══════════════════════════════════════════════════════════════
   MOD QUEUE
   ══════════════════════════════════════════════════════════════ */
.cgcom-mod-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cgcom-mod-type-select{max-width:180px;padding:6px 10px;font-size:11px}

.cgcom-mod-queue-list{display:flex;flex-direction:column;gap:8px}
.cgcom-mod-report{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;overflow:hidden;
}
.cgcom-mod-report--pending{border-left:3px solid #FBBF24}
.cgcom-mod-report-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px;border-bottom:1px solid var(--border,rgba(255,255,255,.06));
}
.cgcom-mod-report-type{display:flex;align-items:center;gap:8px}
.cgcom-mod-type-badge{
    font-size:9px;font-weight:700;padding:2px 7px;border-radius:99px;
    text-transform:uppercase;letter-spacing:.04em;
}
.cgcom-mod-type--spam{background:rgba(239,68,68,.1);color:#F87171;border:1px solid rgba(239,68,68,.2)}
.cgcom-mod-type--harassment{background:rgba(239,68,68,.15);color:#FCA5A5;border:1px solid rgba(239,68,68,.25)}
.cgcom-mod-type--stolen{background:rgba(251,191,36,.1);color:#FBBF24;border:1px solid rgba(251,191,36,.2)}
.cgcom-mod-type--off-topic{background:rgba(255,255,255,.06);color:var(--text-secondary,#A1A1AA);border:1px solid var(--border,rgba(255,255,255,.08))}
.cgcom-mod-report-target{font-size:11px;color:var(--text-muted,#565959)}
.cgcom-mod-report-date{font-size:10px;color:var(--text-muted,#565959)}

.cgcom-mod-report-body{padding:12px 16px}
.cgcom-mod-report-users{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.cgcom-mod-user-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary,#A1A1AA)}
.cgcom-mod-user-label{font-weight:700;color:var(--text-muted,#565959);min-width:80px}
.cgcom-mod-content-preview,.cgcom-mod-report-details{margin-bottom:8px}
.cgcom-mod-preview-label{font-size:9px;font-weight:700;color:var(--text-muted,#565959);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.cgcom-mod-preview-text{
    font-size:12px;color:var(--text-secondary,#A1A1AA);line-height:1.5;
    padding:8px 12px;background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.05));border-radius:6px;
}

.cgcom-mod-actions{
    display:flex;align-items:center;gap:6px;flex-wrap:wrap;
    padding:10px 16px;border-top:1px solid var(--border,rgba(255,255,255,.06));
}
.cgcom-mod-action-btn{font-size:10px;padding:5px 10px}
.cgcom-mod-action--warn{color:#FBBF24;border-color:rgba(251,191,36,.3)}
.cgcom-mod-action--warn:hover{background:rgba(251,191,36,.08)}
.cgcom-mod-action--mute{color:#FB923C;border-color:rgba(251,146,60,.3)}
.cgcom-mod-action--mute:hover{background:rgba(251,146,60,.08)}
.cgcom-mod-action--ban{color:#EF4444;border-color:rgba(239,68,68,.3)}
.cgcom-mod-action--ban:hover{background:rgba(239,68,68,.08)}

.cgcom-mod-resolved{
    padding:10px 16px;font-size:11px;color:var(--text-muted,#565959);
    border-top:1px solid var(--border,rgba(255,255,255,.06));
    display:flex;gap:6px;
}

/* Mod log */
.cgcom-mod-log-section{margin-top:24px}
.cgcom-mod-log{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.07));
    border-radius:10px;overflow:hidden;
}
.cgcom-mod-log-row{
    display:flex;align-items:center;gap:10px;
    padding:10px 16px;border-bottom:1px solid var(--border,rgba(255,255,255,.05));
    font-size:11px;
}
.cgcom-mod-log-row:last-child{border:none}
.cgcom-mod-log-action{
    font-weight:700;min-width:60px;
}
.cgcom-mod-log--dismiss{color:var(--text-secondary,#A1A1AA)}
.cgcom-mod-log--warn{color:#FBBF24}
.cgcom-mod-log--mute{color:#FB923C}
.cgcom-mod-log--ban{color:#EF4444}
.cgcom-mod-log-desc{flex:1;color:var(--text-secondary,#A1A1AA)}
.cgcom-mod-log-by{color:var(--text-primary,#E4E4E7);font-weight:600}
.cgcom-mod-log-time{color:var(--text-muted,#565959);flex-shrink:0}

/* ══════════════════════════════════════════════════════════════
   DROPZONE / ATTACHMENTS
   ══════════════════════════════════════════════════════════════ */
.cgcom-dropzone{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:8px;min-height:100px;
    border:2px dashed var(--border,rgba(255,255,255,.12));
    border-radius:10px;cursor:pointer;
    color:var(--text-muted,#565959);font-size:12px;
    transition:all .2s;padding:20px;
}
.cgcom-dropzone:hover,.cgcom-dropzone.dragover{
    border-color:rgba(99,102,241,.4);
    background:rgba(99,102,241,.04);
    color:var(--accent,#6366F1);
}
.cgcom-dropzone-preview{
    display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;
}
.cgcom-dropzone-thumb{
    position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;
    border:1px solid var(--border,rgba(255,255,255,.08));
}
.cgcom-dropzone-thumb img{width:100%;height:100%;object-fit:cover}
.cgcom-dropzone-thumb-remove{
    position:absolute;top:4px;right:4px;
    width:20px;height:20px;border-radius:50%;
    background:rgba(0,0,0,.7);border:none;color:#fff;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;font-size:10px;line-height:1;
}
.cgcom-dropzone-thumb-remove:hover{background:#EF4444}

/* Attachment gallery (in topic/replies) */
.cgcom-attachment-gallery{
    display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px;
}
.cgcom-attachment-thumb{
    width:100px;height:80px;border-radius:7px;overflow:hidden;
    border:1px solid var(--border,rgba(255,255,255,.08));
    transition:border-color .15s;display:block;
}
.cgcom-attachment-thumb:hover{border-color:rgba(99,102,241,.3)}
.cgcom-attachment-thumb img{width:100%;height:100%;object-fit:cover}

/* ══════════════════════════════════════════════════════════════
   POLL CREATOR (new-topic form)
   ══════════════════════════════════════════════════════════════ */
.cgcom-poll-toggle{
    display:flex;align-items:center;gap:10px;cursor:pointer;
}
.cgcom-poll-toggle input{display:none}
.cgcom-poll-toggle-slider{
    width:36px;height:20px;border-radius:99px;
    background:rgba(255,255,255,.1);position:relative;
    transition:background .2s;flex-shrink:0;
}
.cgcom-poll-toggle-slider::after{
    content:'';position:absolute;top:2px;left:2px;
    width:16px;height:16px;border-radius:50%;
    background:var(--text-secondary,#A1A1AA);transition:all .2s;
}
.cgcom-poll-toggle input:checked + .cgcom-poll-toggle-slider{background:var(--accent,#6366F1)}
.cgcom-poll-toggle input:checked + .cgcom-poll-toggle-slider::after{left:18px;background:#fff}
.cgcom-poll-toggle-label{font-size:12px;font-weight:600;color:var(--text-primary,#E4E4E7)}

.cgcom-poll-creator{
    background:rgba(99,102,241,.04);
    border:1px solid rgba(99,102,241,.12);
    border-radius:10px;padding:16px;margin-bottom:14px;
}
.cgcom-poll-options-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.cgcom-poll-option-input{display:flex;align-items:center;gap:6px}
.cgcom-poll-option-input .cgcom-input{flex:1}
.cgcom-poll-remove-opt{
    background:none;border:none;color:var(--text-muted,#565959);
    cursor:pointer;padding:4px;border-radius:4px;transition:all .15s;
    flex-shrink:0;
}
.cgcom-poll-remove-opt:hover:not(:disabled){color:#EF4444;background:rgba(239,68,68,.08)}
.cgcom-poll-remove-opt:disabled{opacity:.3;cursor:not-allowed}
.cgcom-poll-add-opt{font-size:11px;padding:5px 12px;margin-bottom:12px}
.cgcom-poll-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cgcom-checkbox-label{
    display:flex;align-items:center;gap:8px;
    font-size:11px;color:var(--text-secondary,#A1A1AA);cursor:pointer;
}
.cgcom-checkbox-label input[type="checkbox"]{
    width:16px;height:16px;accent-color:var(--accent,#6366F1);
}

/* ══════════════════════════════════════════════════════════════
   QUOTE BLOCKS
   ══════════════════════════════════════════════════════════════ */
.cgcom-quote-block{
    border-left:3px solid var(--accent,#6366F1);
    padding:8px 14px;margin:0 0 10px;
    background:rgba(99,102,241,.05);border-radius:0 8px 8px 0;
}
.cgcom-quote-author{font-size:10px;font-weight:700;color:var(--accent,#6366F1);margin-bottom:4px}
.cgcom-quote-text{font-size:12px;color:var(--text-secondary,#A1A1AA);font-style:italic;line-height:1.5}

/* Quote button */
.cgcom-quote-btn{
    background:none;border:none;color:var(--text-muted,#565959);
    font-size:11px;cursor:pointer;font-family:inherit;padding:5px 8px;
    border-radius:5px;transition:all .15s;
    display:inline-flex;align-items:center;gap:4px;
}
.cgcom-quote-btn:hover{color:var(--accent,#6366F1);background:rgba(99,102,241,.08)}

/* Report button */
.cgcom-report-btn{
    background:none;border:none;color:var(--text-muted,#565959);
    font-size:11px;cursor:pointer;font-family:inherit;padding:5px 8px;
    border-radius:5px;transition:all .15s;
    display:inline-flex;align-items:center;gap:4px;
}
.cgcom-report-btn:hover{color:#EF4444;background:rgba(239,68,68,.08)}

/* ══════════════════════════════════════════════════════════════
   MODALS
   ══════════════════════════════════════════════════════════════ */
.cgcom-modal-overlay{
    position:fixed;inset:0;z-index:10000;
    background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
}
.cgcom-modal{
    background:var(--bg-card,#18181B);
    border:1px solid var(--border,rgba(255,255,255,.12));
    border-radius:14px;width:100%;max-width:460px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    animation:cgcomModalIn .2s ease;
}
@keyframes cgcomModalIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}
.cgcom-modal-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 20px;border-bottom:1px solid var(--border,rgba(255,255,255,.07));
}
.cgcom-modal-title{font-size:15px;font-weight:700;color:var(--text-primary,#E4E4E7);margin:0}
.cgcom-modal-close{
    background:none;border:none;color:var(--text-muted,#565959);
    cursor:pointer;padding:4px;border-radius:4px;transition:color .15s;
}
.cgcom-modal-close:hover{color:var(--text-primary,#E4E4E7)}
.cgcom-modal-body{padding:16px 20px}
.cgcom-modal-footer{
    display:flex;align-items:center;justify-content:flex-end;gap:8px;
    padding:12px 20px;border-top:1px solid var(--border,rgba(255,255,255,.07));
}

/* ══════════════════════════════════════════════════════════════
   EDIT HISTORY
   ══════════════════════════════════════════════════════════════ */
.cgcom-edit-indicator{
    display:inline-flex;align-items:center;gap:4px;
    font-size:10px;color:var(--text-muted,#565959);
    cursor:pointer;padding:2px 6px;border-radius:4px;
    transition:all .15s;margin-top:8px;
}
.cgcom-edit-indicator:hover{color:var(--accent,#6366F1);background:rgba(99,102,241,.06)}
.cgcom-edit-history-list{display:flex;flex-direction:column;gap:10px}
.cgcom-edit-history-item{
    padding:10px;background:rgba(255,255,255,.03);
    border:1px solid var(--border,rgba(255,255,255,.06));
    border-radius:8px;
}
.cgcom-edit-history-meta{font-size:10px;color:var(--text-muted,#565959);margin-bottom:6px}
.cgcom-edit-history-diff{font-size:11px;color:var(--text-secondary,#A1A1AA);line-height:1.5;font-family:monospace}
.cgcom-loading{text-align:center;padding:20px;color:var(--text-muted,#565959);font-size:12px}

/* ══════════════════════════════════════════════════════════════
   CODE BLOCKS (Prism.js dark overrides)
   ══════════════════════════════════════════════════════════════ */
.cgcom-post-content pre[class*="language-"],
.cgcom-reply-content pre[class*="language-"]{
    background:#0a0a0c !important;
    border:1px solid var(--border,rgba(255,255,255,.08));
    border-radius:8px;padding:14px;margin:10px 0;
    font-size:12px;position:relative;
}
.cgcom-code-copy-btn{
    position:absolute;top:8px;right:8px;
    background:rgba(255,255,255,.08);border:1px solid var(--border,rgba(255,255,255,.1));
    border-radius:5px;color:var(--text-muted,#565959);
    font-size:10px;padding:3px 8px;cursor:pointer;
    transition:all .15s;font-family:inherit;
}
.cgcom-code-copy-btn:hover{background:rgba(99,102,241,.15);color:var(--accent,#6366F1)}

/* ══════════════════════════════════════════════════════════════
   BUTTONS (shared)
   ══════════════════════════════════════════════════════════════ */
.btn{
    display:inline-flex;align-items:center;gap:5px;
    padding:8px 16px;border-radius:8px;font-size:12px;
    font-weight:600;cursor:pointer;transition:all .15s;
    font-family:inherit;border:none;text-decoration:none;
}
.btn-primary{background:var(--accent,#6366F1);color:#fff}
.btn-primary:hover{background:#818CF8}
.btn-outline{
    background:none;color:var(--text-secondary,#A1A1AA);
    border:1px solid var(--border,rgba(255,255,255,.12));
}
.btn-outline:hover{border-color:rgba(99,102,241,.3);color:var(--text-primary,#E4E4E7)}
.btn-lg{padding:10px 22px;font-size:13px}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE ADDITIONS
   ══════════════════════════════════════════════════════════════ */
@media(max-width:900px){
    .cgcom-challenge-header{flex-direction:column}
    .cgcom-challenge-hero{width:100%;height:200px}
    .cgcom-jobs-layout{grid-template-columns:1fr}
    .cgcom-jobs-sidebar{position:static}
    .cgcom-poll-settings{grid-template-columns:1fr}
    .cgcom-section-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:600px){
    .cgcom-challenge-grid{grid-template-columns:1fr}
    .cgcom-entries-gallery{grid-template-columns:1fr}
    .cgcom-winners-grid{grid-template-columns:1fr}
    .cgcom-event-card{flex-direction:column;align-items:flex-start}
    .cgcom-event-date-block{flex-direction:row;width:auto;gap:6px;padding:4px 10px}
    .cgcom-event-month{display:inline}
    .cgcom-event-day{display:inline;font-size:14px}
    .cgcom-rsvp-group{width:100%}
    .cgcom-rsvp-btn{flex:1;text-align:center}
    .cgcom-mod-actions{flex-direction:column}
    .cgcom-mod-action-btn{width:100%;text-align:center}
}

/* ══════════════════════════════════════════════════════
   LIVE COLLABORATION ROOMS
══════════════════════════════════════════════════════ */
.cgcom-rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.cgcom-rooms-title{font-size:22px;font-weight:700;color:#E4E4E7;margin:0}
.cgcom-rooms-subtitle{font-size:13px;color:#71717A;margin:4px 0 0}
.cgcom-rooms-actions{display:flex;gap:8px}

.cgcom-rooms-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.cgcom-rtab{background:#18181B;border:1px solid #27272A;color:#A1A1AA;padding:6px 14px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .15s}
.cgcom-rtab:hover{border-color:#3F3F46;color:#E4E4E7}
.cgcom-rtab.act{background:#6366F1;border-color:#6366F1;color:#fff}

.cgcom-rooms-section{margin-bottom:28px}
.cgcom-rooms-section-title{font-size:15px;font-weight:600;color:#E4E4E7;margin:0 0 14px;display:flex;align-items:center;gap:8px}

.cgcom-live-dot{width:8px;height:8px;background:#10B981;border-radius:50%;animation:cgcom-pulse 2s infinite}
@keyframes cgcom-pulse{0%,100%{opacity:1}50%{opacity:.4}}

.cgcom-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}

.cgcom-room-card{background:#18181B;border:1px solid #27272A;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}
.cgcom-room-card:hover{border-color:#3F3F46}
.cgcom-room-scheduled{border-left:3px solid #FBBF24}

.cgcom-room-card-head{display:flex;justify-content:space-between;align-items:center}
.cgcom-room-type-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:rgba(99,102,241,.15);color:#818CF8}
.cgcom-room-type-critique .cgcom-room-type-badge{background:rgba(239,68,68,.15);color:#F87171}
.cgcom-room-type-study_group .cgcom-room-type-badge{background:rgba(16,185,129,.15);color:#34D399}
.cgcom-room-type-workshop .cgcom-room-type-badge{background:rgba(251,191,36,.15);color:#FBBF24}

.cgcom-room-status{font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px}
.cgcom-room-status.live{color:#10B981}
.cgcom-room-status.scheduled{color:#FBBF24}

.cgcom-room-name{font-size:15px;font-weight:600;color:#E4E4E7;margin:0}
.cgcom-room-desc{font-size:12px;color:#71717A;margin:0;line-height:1.4}
.cgcom-room-meta{display:flex;justify-content:space-between;font-size:12px;color:#52525B}
.cgcom-room-features{display:flex;gap:6px;flex-wrap:wrap}
.cgcom-room-feat{font-size:10px;padding:2px 8px;background:#27272A;border-radius:8px;color:#A1A1AA}

/* Room view */
.cgcom-room-view{background:#18181B;border:1px solid #27272A;border-radius:14px;padding:20px;margin-top:20px}
.cgcom-room-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.cgcom-rv-name{font-size:18px;font-weight:600;color:#E4E4E7;margin:0}
.cgcom-rv-members{font-size:12px;color:#71717A}
.cgcom-rv-actions{display:flex;gap:8px}

.cgcom-room-view-body{display:grid;grid-template-columns:1fr 340px;gap:16px;min-height:500px}
.cgcom-rv-video-wrap{border-radius:10px;overflow:hidden;background:#000;min-height:400px}

/* Chat */
.cgcom-rv-chat{display:flex;flex-direction:column;background:#0f0f13;border-radius:10px;overflow:hidden}
.cgcom-rv-chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px;max-height:460px}
.cgcom-rv-msg{padding:6px 10px;border-radius:8px;font-size:13px;color:#D4D4D8;line-height:1.4}
.cgcom-rv-msg strong{color:#E4E4E7;font-size:12px;margin-right:6px}
.cgcom-rv-msg p{margin:2px 0 0}
.cgcom-rv-msg-time{font-size:10px;color:#52525B}
.cgcom-rv-msg-sys{text-align:center;color:#52525B;font-size:11px}
.cgcom-rv-msg-own{background:rgba(99,102,241,.1);border-radius:8px}

.cgcom-rv-chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #27272A}
.cgcom-rv-chat-input{flex:1;background:#18181B;border:1px solid #27272A;border-radius:8px;padding:8px 12px;color:#E4E4E7;font-size:13px;outline:none}
.cgcom-rv-chat-input:focus{border-color:#6366F1}

/* Buttons */
.cgcom-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none}
.cgcom-btn-accent{background:#6366F1;color:#fff}
.cgcom-btn-accent:hover{background:#818CF8}
.cgcom-btn-outline{background:transparent;border:1px solid #3F3F46;color:#A1A1AA}
.cgcom-btn-outline:hover{border-color:#6366F1;color:#E4E4E7}
.cgcom-btn-danger{background:#EF4444;color:#fff}
.cgcom-btn-danger:hover{background:#DC2626}
.cgcom-btn-sm{padding:6px 12px;font-size:12px}

/* Empty state */
.cgcom-empty-state{text-align:center;padding:40px 20px;color:#52525B;font-size:14px}

/* Rooms wrap */
.cgcom-rooms-wrap{max-width:1100px}

/* Rooms modal (backdrop + content variant) */
.cgcom-modal[style*="flex"]{
    position:fixed;inset:0;z-index:10000;
    display:flex;align-items:center;justify-content:center;
    padding:20px;
}
.cgcom-modal-backdrop{
    position:absolute;inset:0;
    background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
}
.cgcom-modal-content{
    position:relative;z-index:1;
    background:#18181B;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;width:100%;max-width:460px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    animation:cgcomModalIn .2s ease;
    padding:20px;
}
.cgcom-modal-content .cgcom-modal-header{
    padding:0 0 16px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:16px;
}
.cgcom-modal-content .cgcom-modal-header h3{
    font-size:15px;font-weight:700;color:#E4E4E7;margin:0;
}
.cgcom-modal-content .cgcom-modal-close{
    position:absolute;top:16px;right:16px;
    background:none;border:none;color:#71717A;font-size:20px;
    cursor:pointer;padding:4px;line-height:1;
}
.cgcom-modal-content .cgcom-modal-close:hover{color:#E4E4E7}

/* Field row (inline checkboxes) */
.cgcom-field-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.cgcom-check-label{
    display:flex;align-items:center;gap:6px;
    font-size:12px;color:#A1A1AA;cursor:pointer;
}
.cgcom-check-label input[type="checkbox"]{
    width:16px;height:16px;accent-color:#6366F1;
}

/* Rooms responsive */
@media(max-width:768px){
    .cgcom-room-view-body{grid-template-columns:1fr}
    .cgcom-rv-chat{max-height:300px}
    .cgcom-rooms-header{flex-direction:column;align-items:flex-start}
}
