/* ViralScopeHub Community – layout and components. Uses the site's colour variables (light + dark). Source: toolsite-v2-src/community/community.css */
.cm-page main.wrap{max-width:1320px}
.cm{--cm-up:#ea580c;--cm-down:#4f46e5;padding-bottom:10px}
:root[data-theme=dark] .cm{--cm-up:#fb923c;--cm-down:#a5b4fc}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cm{--cm-up:#fb923c;--cm-down:#a5b4fc}}
.cm .card-box{margin:0 0 14px;padding:14px 16px}
.cm-topbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}
.cm-search{flex:1;max-width:520px}
.cm-search input,.cm-sbar input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--fg);font:inherit}
.cm-search input:focus,.cm-sbar input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}
.cm-userbox{display:flex;gap:8px;align-items:center;margin-left:auto;min-height:40px}
.cm .btn.cm-sm,.cm .cm-sm{min-height:36px;padding:6px 14px;font-size:.92rem}
.cm-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--soft);border:1px solid var(--border);text-decoration:none;font-size:1.1rem}
.cm-badge-n{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.cm-menu{position:relative}
.cm-menu summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--card)}
.cm-menu summary::-webkit-details-marker{display:none}
.cm-uname{font-weight:700;max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-karma{font-size:.78rem;color:var(--muted)}
.cm-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:6px;display:flex;flex-direction:column}
.cm-menu-list a,.cm-menu-list button{display:block;text-align:left;padding:9px 12px;border-radius:8px;color:var(--fg);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.cm-menu-list a:hover,.cm-menu-list button:hover{background:var(--soft)}
.cm-status{margin:0 0 14px}
.cm-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 310px;gap:20px;align-items:start}
.cm-lcol,.cm-rcol{position:sticky;top:74px;max-height:calc(100vh - 90px);overflow:auto;scrollbar-width:thin}
.cm-main{min-width:0}
.cm-head h1{margin:0 0 4px;display:flex;align-items:center;gap:10px}
.cm-head .lead{margin:0 0 12px;font-size:1rem}
.cm-lh{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 8px}
.cm-nav{list-style:none;margin:0 0 10px;padding:0}
.cm-nav a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;color:var(--fg);text-decoration:none;font-size:.95rem}
.cm-nav a:hover{background:var(--soft)}
.cm-nav a.on{background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary);font-weight:700}
.cm-ci{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);font-size:1rem}
.cm-lnew .btn{width:100%}
.cm-box h2{font-size:1rem;margin:0 0 8px}
.cm-rules{margin:0;padding-left:1.2em;font-size:.9rem}.cm-rules li{margin:4px 0}
.cm-trend{list-style:none;margin:0;padding:0;counter-reset:t}
.cm-trend li{counter-increment:t;display:grid;grid-template-columns:22px 1fr;gap:2px 6px;padding:7px 0;border-top:1px solid var(--border)}
.cm-trend li:first-child{border-top:0}
.cm-trend li::before{content:counter(t);grid-row:span 2;font-weight:800;color:var(--muted)}
.cm-trend a{font-weight:600;color:var(--fg);text-decoration:none;line-height:1.3}.cm-trend a:hover{color:var(--primary)}
.cm-stats{display:flex;gap:16px;font-size:.9rem}
.cm-flairs{display:flex;flex-wrap:wrap;gap:6px}.cm-flairs a{text-decoration:none}
.cm-aboutbtns{display:flex;flex-wrap:wrap;gap:8px}
.cm-aboutbox .btn{min-height:40px}
.cm-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.cm-tabs a{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--border);font-weight:600;font-size:.92rem}
.cm-tabs a.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.cm-tsel{display:flex;gap:4px;margin-left:6px}.cm-tsel a{padding:4px 10px;font-size:.82rem;font-weight:500}
.cm-feed{display:flex;flex-direction:column;gap:10px}
.cm-post{display:flex;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;box-shadow:var(--shadow);transition:border-color .15s}
.cm-feed .cm-post:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}
.cm-pbody{flex:1;min-width:0}
.cm-meta{margin:0 0 4px;font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px}
.cm-meta a{color:var(--muted)}
.cm-commlink{font-weight:700;color:var(--fg)!important;text-decoration:none}
.cm-user{display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.cm-user:hover span{text-decoration:underline}
.cm-av{border-radius:50%;flex:0 0 auto;vertical-align:middle}
.cm-ptitle{font-size:1.12rem;margin:0 0 4px;line-height:1.3;overflow-wrap:anywhere}
.cm-ptitle a{color:var(--fg);text-decoration:none}.cm-ptitle a:hover{color:var(--primary)}
h1.cm-ptitle{font-size:clamp(1.3rem,3.6vw,1.75rem);margin:2px 0 8px}
.cm-domain{font-size:.78rem;font-weight:500;white-space:nowrap}
.cm-flair{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-right:6px;vertical-align:middle;background:#dbeafe;color:#1e3a8a}
.cm-flair[data-h="1"]{background:#dcfce7;color:#14532d}.cm-flair[data-h="2"]{background:#fef3c7;color:#78350f}.cm-flair[data-h="3"]{background:#fce7f3;color:#831843}.cm-flair[data-h="4"]{background:#ede9fe;color:#4c1d95}.cm-flair[data-h="5"]{background:#ffedd5;color:#7c2d12}
.cm-excerpt{margin:0 0 6px;color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}
.cm-imgwrap{display:block;margin:6px 0;border-radius:10px;overflow:hidden;background:var(--soft);max-width:640px}
.cm-img{display:block;max-width:100%;height:auto;border-radius:10px}
.cm-thumb{max-height:420px;width:auto;margin:0 auto;object-fit:contain}
.cm-figure{margin:10px 0;background:var(--soft);border-radius:12px;padding:6px;text-align:center}.cm-figure .cm-img{margin:0 auto;max-height:80vh;width:auto}
.cm-text{overflow-wrap:anywhere}.cm-text p{margin:.45em 0}
.cm-text blockquote{margin:.5em 0;padding:2px 12px;border-left:3px solid var(--border);color:var(--muted)}
.cm-text ul{padding-left:1.3em;margin:.4em 0}
.cm-linkline{margin:0 0 8px;overflow-wrap:anywhere;font-size:.95rem}
.cm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:4px}
.cm-act{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:8px;background:none;border:0;color:var(--muted);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:none;min-height:32px}
.cm-act:hover{background:var(--soft);color:var(--fg)}
.cm-act[aria-pressed=true]{color:#ca8a04}
span.cm-act{cursor:default}span.cm-act:hover{background:none;color:var(--muted)}
.cm-vote{display:flex;flex-direction:column;align-items:center;min-width:40px;gap:0}
.cm-vote button{width:32px;height:28px;border:0;background:none;color:var(--muted);border-radius:7px;cursor:pointer;font-size:.95rem;line-height:1}
.cm-vote button:hover:not(:disabled){background:var(--soft)}
.cm-vote .cm-up:hover:not(:disabled),.cm-vote.up .cm-up{color:var(--cm-up)}
.cm-vote .cm-down:hover:not(:disabled),.cm-vote.down .cm-down{color:var(--cm-down)}
.cm-vote button:disabled{opacity:.45;cursor:default}
.cm-score{font-weight:800;font-size:.9rem}
.cm-vote.up .cm-score{color:var(--cm-up)}.cm-vote.down .cm-score{color:var(--cm-down)}
.cm-vote.busy{opacity:.7}
.cm-bar .cm-vote{flex-direction:row;min-width:0;margin-right:4px}
.cm-bar .cm-vote button{width:30px}
.cm-full{padding:14px 16px}
.cm-full .share-bar{margin:12px 0 0}
.cm-chead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 8px}
.cm-chead h2{margin:0}
.cm-cform textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--fg);font:inherit;resize:vertical;min-height:90px}
.cm-cform textarea:focus{border-color:var(--primary);outline:none}
.cm-formbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.cm-reply{margin:6px 0 10px}.cm-reply .cm-formbar{justify-content:flex-end}
.cm-thread,.cm-kids{list-style:none;margin:0;padding:0}
.cm-thread{margin-top:10px}
.cm-c{margin:0;padding:0}
.cm-thread>.cm-c{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px 4px;margin-bottom:10px}
.cm-kids{margin-left:12px;padding-left:12px;border-left:2px solid var(--border)}
.cm-kids>.cm-c{padding-top:8px}
.cm-c:target>.cm-cbody,.cm-c.cm-flash>.cm-cbody{background:color-mix(in srgb,var(--primary) 9%,transparent);border-radius:8px}
.cm-cbody{padding:2px 4px}
.cm-c .cm-text{font-size:.97rem}
.cm-c.gone>.cm-cbody .cm-text{font-size:.9rem}
.cm-op{font-size:.7rem;font-weight:800;color:var(--primary);border:1px solid currentColor;border-radius:5px;padding:0 4px}
.cm-plink{text-decoration:none}
.cm-report{margin:8px 0}.cm-report .field label{display:flex;flex-direction:column;gap:4px}
.cm-report select,.cm-report input,.cm-form input,.cm-form select,.cm-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--fg);font:inherit}
.cm-form{display:flex;flex-direction:column;gap:12px}
.cm-form textarea{resize:vertical}
.cm-formbox{max-width:760px}
.cm-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cm-kinds{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:10px}
.cm-kinds button{flex:1;padding:9px;border-radius:10px;border:1px solid var(--border);background:var(--soft);color:var(--fg);font:inherit;font-weight:600;cursor:pointer}
.cm-kinds button.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.cm-preview{margin:8px 0 0}.cm-preview img{max-width:100%;max-height:320px;border-radius:10px;display:block}
.cm-count{align-self:flex-end}
.cm-form.busy{opacity:.75}
.cm-more{text-align:center;margin:14px 0}.cm-more.loading a{opacity:.6;pointer-events:none}
.cm-end{margin:16px 0}
.cm-empty{text-align:center;padding:26px 16px}
.cm-filter{margin:0 0 10px}
.cm-profile{display:flex;gap:16px;align-items:center}
.cm-pstats{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}
.cm-badge{display:inline-block;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}
.cm-badge.bad{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--bad)}
.cm-clist,.cm-commcards,.cm-commgrid,.cm-notif-list,.cm-adm-list{list-style:none;margin:0;padding:0}
.cm-clist li p{margin:4px 0 0}
.cm-commgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px}
.cm-commgrid .card-box{margin:0}.cm-commname{font-weight:800;font-size:1.05rem;text-decoration:none}
.cm-notif-list li{display:flex;gap:10px;padding:10px 4px;border-top:1px solid var(--border)}.cm-notif-list li:first-child{border-top:0}
.cm-notif-list li.unread{background:color-mix(in srgb,var(--primary) 7%,transparent);border-radius:8px}
.cm-notif-list p{margin:0 0 2px}
.cm-sbar{display:flex;gap:8px;align-items:center;margin:8px 0 14px}
.cm-search-big label{font-weight:700}
.cm-tablewrap{overflow-x:auto}
.cm-table{width:100%;border-collapse:collapse;font-size:.88rem}
.cm-table th,.cm-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}
.cm-adm-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.small-btn.danger{border-color:var(--bad);color:var(--bad)}
.cm-adm-img{max-width:260px;max-height:200px;border-radius:8px}
.cm-adm-list blockquote{margin:6px 0;padding:4px 10px;border-left:3px solid var(--border);color:var(--muted);overflow-wrap:anywhere}
.cm-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:80;background:#0f172a;color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.2s;max-width:calc(100vw - 32px)}
.cm-toast.show{opacity:1;transform:translate(-50%,0)}.cm-toast.bad{background:#b91c1c}
.cm-foot{margin:18px 0 6px}
.cm-static-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;list-style:none;padding:0;margin:0 0 16px}
.cm-static-cats li{margin:0}.cm-static-cats a{display:block;height:100%;text-decoration:none;color:var(--fg)}
.cm-static-cats strong{display:block;font-size:1.05rem}.cm-static-cats span{color:var(--muted);font-size:.9rem}
/* responsive: 3 columns > 1180px, 2 columns > 860px, 1 column below; left sidebar turns into a scrollable chip row */
@media (max-width:1180px){.cm-grid{grid-template-columns:minmax(0,1fr) 290px}.cm-lcol{grid-column:1/-1;position:static;max-height:none;overflow:visible}
 .cm-left{padding:8px 10px}.cm-left .cm-lh,.cm-lnew{display:none}.cm-left{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
 .cm-nav{display:flex;gap:6px;margin:0;flex:0 0 auto}.cm-nav a{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:4px 12px 4px 4px;font-size:.88rem}.cm-ci{width:24px;height:24px;flex-basis:24px;font-size:.85rem}}
@media (max-width:860px){.cm-grid{grid-template-columns:minmax(0,1fr);gap:12px}.cm-rcol{position:static;max-height:none;overflow:visible}
 .cm-topbar{flex-wrap:wrap}.cm-search{order:2;flex-basis:100%;max-width:none}.cm-userbox{margin-left:auto}}
@media (max-width:560px){.cm-row2{grid-template-columns:1fr}.cm-post{padding:9px 10px;gap:6px}.cm-vote{min-width:32px}.cm-ptitle{font-size:1.02rem}
 .cm-kids{margin-left:4px;padding-left:9px}.cm-act{padding:5px 7px;font-size:.8rem}.cm-karma{display:none}.cm-profile{flex-direction:column;align-items:flex-start}
 .cm-thumb{max-height:300px}.cm-tsel{margin-left:0}}
#cm-adminbody>h2:first-child{margin-top:0}
