/* ===== NextyHost Community — premium theme (matches nextyhost.com) ===== */
body { background:#030509 !important; color:#e6ecf7;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
/* footer.css sets html,body{overflow-x:hidden} which breaks position:sticky - clip keeps
   the horizontal clip without turning html/body into scroll containers */
html, body { overflow-x: clip !important; }

.cmty-bg { position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(760px 420px at 15% -8%, rgba(76,29,149,.22), transparent 62%),
    radial-gradient(700px 380px at 88% 6%, rgba(37,99,235,.16), transparent 60%),
    radial-gradient(1000px 520px at 50% 118%, rgba(29,78,216,.16), transparent 65%),
    linear-gradient(180deg,#050813 0%,#030509 45%,#040711 100%); }
.cmty-bg::after { content:''; position:absolute; inset:0; opacity:.5;
  background-image:
    linear-gradient(rgba(120,150,240,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,150,240,.05) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 20%, #000 25%, transparent 78%);
          mask-image:radial-gradient(ellipse 80% 60% at 50% 20%, #000 25%, transparent 78%); }

.cmty-wrap { position:relative; z-index:2; max-width:1240px; margin:0 auto; padding:1.8rem 4% 4.5rem; }
.cmty-flash { padding:.9rem 1.25rem; border-radius:13px; margin-bottom:1.3rem; font-size:.9rem; font-weight:600;
  display:flex; align-items:center; gap:.6rem; animation:cmtyFade .35s ease; }
@keyframes cmtyFade { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.cmty-flash-success { background:linear-gradient(135deg, rgba(16,185,129,.16), rgba(16,185,129,.07)); border:1px solid rgba(52,211,153,.42); color:#6ee7b7; }
.cmty-flash-error { background:linear-gradient(135deg, rgba(239,68,68,.16), rgba(239,68,68,.07)); border:1px solid rgba(248,113,113,.42); color:#fca5a5; }
.cmty-flash-info { background:linear-gradient(135deg, rgba(59,130,246,.16), rgba(59,130,246,.07)); border:1px solid rgba(147,197,253,.42); color:#93c5fd; }

/* ===== Icons ===== */
.cmty-ic { vertical-align:-.18em; flex-shrink:0; }
.cmty-card h2 > .cmty-ic, .cmty-section-title > .cmty-ic { color:#60a5fa; }
.cmty-act > .cmty-ic { opacity:.85; }
.cmty-act:hover > .cmty-ic { opacity:1; }

/* ===== Topbar ===== */
.cmty-topbar { position:sticky; top:0; z-index:999; border-bottom:1px solid rgba(120,150,240,.16);
  background:linear-gradient(180deg, rgba(10,16,38,.92), rgba(8,12,28,.82)); backdrop-filter:blur(14px);
  box-shadow:0 12px 32px -18px rgba(2,6,23,.9); }
.cmty-topbar-in { max-width:1240px; margin:0 auto; padding:.95rem 4%; display:flex; align-items:center; gap:1.5rem; }
.cmty-brand { display:flex; align-items:center; gap:.7rem; font-weight:800; font-size:1.12rem; color:#f2f6ff; text-decoration:none; white-space:nowrap; letter-spacing:-.01em; }
.cmty-brand-logo { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; }
.cmty-brand-logo picture { display:block; width:100%; height:100%; }
.cmty-brand-logo img { width:100%; height:100%; object-fit:contain; display:block; }
.cmty-nav { display:flex; gap:.3rem; }
.cmty-nav a { color:#a9bad6; text-decoration:none; font-size:.88rem; font-weight:600; padding:.52rem .92rem; border-radius:10px;
  transition:.2s; position:relative; }
.cmty-nav a:hover { color:#fff; background:rgba(255,255,255,.08); transform:translateY(-1px); }
.cmty-top-actions { margin-left:auto; display:flex; align-items:center; gap:.65rem; }
.cmty-link-quiet { color:#8fa2c4; font-size:.82rem; font-weight:600; text-decoration:none; transition:.2s; }
.cmty-link-quiet:hover { color:#f5c518; }
.cmty-bell { position:relative; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:11px;
  color:#a9bad6; background:rgba(255,255,255,.06); border:1px solid rgba(120,150,240,.22); transition:.2s; }
.cmty-bell:hover { color:#fff; border-color:rgba(245,197,24,.5); transform:translateY(-1px); }
.cmty-bell-count { position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; padding:0 4px; border-radius:9px;
  background:linear-gradient(135deg,#f43f5e,#e11d48); color:#fff; font-size:.66rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(244,63,94,.5); }
.cmty-me { display:flex; align-items:center; gap:.55rem; color:#c3d4f2; text-decoration:none; font-size:.85rem; font-weight:700;
  padding:.32rem .72rem .32rem .38rem; border-radius:999px; border:1px solid rgba(120,150,240,.2); background:rgba(255,255,255,.05); transition:.2s; }
.cmty-me:hover { color:#fff; border-color:rgba(245,197,24,.45); }

/* ===== Buttons ===== */
.cmty-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.68rem 1.3rem; border-radius:11px; font-family:'DM Sans',sans-serif;
  font-size:.875rem; font-weight:700; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:all .22s ease; white-space:nowrap;
  letter-spacing:.005em; }
.cmty-btn-primary { background:linear-gradient(135deg,#2f6cf0,#1d4ed8); color:#fff;
  box-shadow:0 10px 26px -10px rgba(37,99,235,.65), inset 0 1px 0 rgba(255,255,255,.18); }
.cmty-btn-primary:hover { transform:translateY(-2px); box-shadow:0 18px 36px -10px rgba(37,99,235,.8), inset 0 1px 0 rgba(255,255,255,.22); }
.cmty-btn-ghost { background:rgba(255,255,255,.055); color:#e3ebfb; border-color:rgba(148,180,240,.32); }
.cmty-btn-ghost:hover { border-color:rgba(245,197,24,.55); background:rgba(255,255,255,.1); transform:translateY(-2px); color:#fff; }
.cmty-btn-danger { background:linear-gradient(135deg, rgba(239,68,68,.22), rgba(239,68,68,.1)); color:#fca5a5; border-color:rgba(248,113,113,.4); }
.cmty-btn-danger:hover { background:linear-gradient(135deg, rgba(239,68,68,.32), rgba(239,68,68,.16)); transform:translateY(-2px); }
.cmty-btn-sm { padding:.42rem .82rem; font-size:.78rem; border-radius:9px; }

/* ===== Hero ===== */
.cmty-hero { position:relative; overflow:hidden;
  border:1px solid rgba(120,150,240,.3); border-radius:24px; padding:2.9rem 2.6rem; margin-bottom:1.7rem;
  background:
    radial-gradient(700px 320px at 12% -20%, rgba(76,29,149,.5), transparent 62%),
    radial-gradient(620px 300px at 92% 10%, rgba(37,99,235,.34), transparent 60%),
    linear-gradient(150deg, rgba(15,23,60,.92), rgba(7,11,26,.92));
  box-shadow:0 34px 80px -34px rgba(37,99,235,.55), inset 0 1px 0 rgba(255,255,255,.09); }
.cmty-hero::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:
    linear-gradient(rgba(140,170,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,170,255,.07) 1px, transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 0%, #000 10%, transparent 70%);
          mask-image:radial-gradient(ellipse 70% 90% at 85% 0%, #000 10%, transparent 70%); }
.cmty-hero > * { position:relative; }
.cmty-hero h1 { font-size:clamp(1.75rem,3.8vw,2.6rem); font-weight:900; letter-spacing:-.022em; margin:0 0 .65rem; color:#f2f6ff; line-height:1.14; }
.cmty-hero h1 span { background:linear-gradient(120deg,#8ab4ff,#60a5fa 55%,#f5c518); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cmty-hero p { color:#b3c2dc; font-size:1.02rem; line-height:1.7; margin:0 0 1.55rem; max-width:660px; }
.cmty-searchbar { display:flex; gap:.75rem; flex-wrap:wrap; }
.cmty-searchbar input[type=text] { flex:1; min-width:230px; padding:.88rem 1.15rem; border-radius:13px; border:1px solid rgba(130,160,250,.32);
  background:rgba(3,7,18,.62); color:#fff; font-size:.94rem; font-family:'DM Sans',sans-serif; transition:.2s; }
.cmty-searchbar input:focus { outline:none; border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,.18); }
.cmty-searchbar .cmty-btn { padding:.88rem 1.55rem; }

/* ===== Stats ===== */
.cmty-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.85rem; }
.cmty-stat { position:relative; overflow:hidden; text-align:center; padding:1.35rem 1rem;
  background:linear-gradient(160deg, rgba(17,27,58,.82), rgba(9,16,36,.72));
  border:1px solid rgba(120,150,240,.22); border-radius:18px;
  box-shadow:0 18px 40px -22px rgba(2,6,23,.9), inset 0 1px 0 rgba(255,255,255,.07);
  transition:.22s; }
.cmty-stat:hover { transform:translateY(-3px); border-color:rgba(245,197,24,.4); }
.cmty-stat::after { content:''; position:absolute; top:0; left:12%; right:12%; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent, rgba(245,197,24,.65), transparent); }
.cmty-stat .v { font-size:1.72rem; font-weight:900; letter-spacing:-.02em;
  background:linear-gradient(120deg,#9dc0ff,#60a5fa); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cmty-stat .l { font-size:.71rem; font-weight:700; color:#8fa2c4; letter-spacing:.11em; text-transform:uppercase; margin-top:.3rem; }

/* ===== Layout ===== */
.cmty-grid { display:grid; grid-template-columns:1fr 320px; gap:1.5rem; align-items:start; }
.cmty-card { position:relative; background:linear-gradient(165deg, rgba(17,27,58,.72), rgba(9,16,36,.66));
  border:1px solid rgba(120,150,240,.2); border-radius:20px; padding:1.55rem 1.65rem; margin-bottom:1.45rem;
  box-shadow:0 24px 54px -30px rgba(2,6,23,.95), inset 0 1px 0 rgba(255,255,255,.06); }
.cmty-card h2 { font-size:1.14rem; font-weight:800; color:#f2f6ff; margin:0 0 1.15rem;
  display:flex; align-items:center; gap:.6rem; letter-spacing:-.01em; }
.cmty-card h2 .cnt { margin-left:auto; font-size:.74rem; font-weight:700; color:#8fa2c4; text-decoration:none; transition:.2s; }
a.cnt:hover { color:#f5c518; }
.cmty-section-title { font-size:1.55rem; font-weight:900; color:#f2f6ff; margin:2.25rem 0 1.25rem; letter-spacing:-.02em;
  display:flex; align-items:center; gap:.75rem; }
.cmty-section-title span { background:linear-gradient(120deg,#8ab4ff,#60a5fa); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ===== Category cards ===== */
.cmty-cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:1.05rem; }
.cmty-cat-card { display:block; position:relative; overflow:hidden;
  background:linear-gradient(165deg, rgba(17,27,58,.72), rgba(9,16,36,.6));
  border:1px solid rgba(120,150,240,.2); border-radius:18px; padding:1.35rem 1.45rem;
  text-decoration:none; transition:transform .22s ease, border-color .22s, box-shadow .22s; }
.cmty-cat-card:hover { transform:translateY(-5px); border-color:rgba(245,197,24,.45);
  box-shadow:0 30px 60px -28px rgba(37,99,235,.6), 0 0 0 1px rgba(245,197,24,.12); }
.cmty-cat-top { display:flex; align-items:center; gap:.85rem; margin-bottom:.65rem; }
.cmty-cat-icon { width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(120,150,240,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 8px 20px -12px rgba(2,6,23,.8); }
.cmty-cat-card h3 { font-size:1.02rem; font-weight:800; color:#f2f6ff; margin:0; letter-spacing:-.01em; }
.cmty-cat-card p { font-size:.835rem; color:#93a6c4; line-height:1.62; margin:.42rem 0 .85rem; }
.cmty-cat-meta { display:flex; gap:1.15rem; font-size:.735rem; color:#7e8fb3; font-weight:700; letter-spacing:.02em; }
.cmty-cat-meta b { color:#c3d4f2; }

/* ===== Discussion list ===== */
.cmty-disc { display:flex; gap:1.05rem; padding:1.02rem .55rem; border-bottom:1px solid rgba(120,150,240,.12); text-decoration:none; transition:.18s; border-radius:12px; }
.cmty-disc:last-child { border-bottom:none; }
.cmty-disc:hover { background:linear-gradient(120deg, rgba(59,130,246,.09), rgba(245,197,24,.05)); }
.cmty-disc-main { flex:1; min-width:0; }
.cmty-disc-title { font-size:.985rem; font-weight:700; color:#e9eefb; line-height:1.5; letter-spacing:-.005em; }
.cmty-disc:hover .cmty-disc-title { color:#fff; }
.cmty-disc-sub { font-size:.765rem; color:#7e8fb3; margin-top:.42rem; display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.cmty-disc-sub a { color:#9db1d1; text-decoration:none; font-weight:600; }
.cmty-disc-sub a:hover { color:#f5c518; }
.cmty-disc-stats { display:flex; gap:1.35rem; align-items:center; flex-shrink:0; }
.cmty-disc-stat { text-align:center; min-width:46px; }
.cmty-disc-stat b { display:block; font-size:.95rem; color:#dbe6f8; font-weight:800; }
.cmty-disc-stat span { font-size:.64rem; color:#64748b; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.cmty-pill { display:inline-flex; align-items:center; gap:.32rem; font-size:.655rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  border-radius:7px; padding:.22rem .58rem; vertical-align:middle; }
.cmty-pill.pin { background:rgba(245,197,24,.13); color:#f5c518; border:1px solid rgba(245,197,24,.38); }
.cmty-pill.solved { background:rgba(16,185,129,.13); color:#34d399; border:1px solid rgba(52,211,153,.38); }
.cmty-pill.locked { background:rgba(239,68,68,.12); color:#f87171; border:1px solid rgba(248,113,113,.36); }
.cmty-pill.featured { background:rgba(124,58,237,.16); color:#c4b5fd; border:1px solid rgba(167,139,250,.38); }
.cmty-pill.cat { background:rgba(59,130,246,.13); color:#93c5fd; border:1px solid rgba(96,165,250,.32); }

/* ===== Tags ===== */
.cmty-tag { display:inline-flex; align-items:center; gap:.32rem; font-size:.735rem; font-weight:700; color:#9fc2f5;
  background:rgba(59,130,246,.1); border:1px solid rgba(96,165,250,.26); border-radius:8px; padding:.28rem .62rem; text-decoration:none;
  margin:0 .32rem .32rem 0; transition:.18s; }
a.cmty-tag:hover { border-color:rgba(245,197,24,.55); color:#fff; transform:translateY(-1px); }

/* ===== Avatars & badges ===== */
.cmty-avatar { border-radius:50%; object-fit:cover; vertical-align:middle;
  box-shadow:0 0 0 2px rgba(245,197,24,.22), 0 6px 16px -8px rgba(2,6,23,.9); }
.cmty-avatar-initial { display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:.92rem; }
.cmty-badge { display:inline-flex; align-items:center; gap:.3rem; font-size:.655rem; font-weight:800; padding:.2rem .58rem;
  border-radius:7px; letter-spacing:.05em; text-transform:uppercase; }
.b-admin { background:rgba(245,197,24,.16); color:#f5c518; border:1px solid rgba(245,197,24,.42); }
.b-mod { background:rgba(124,58,237,.2); color:#c4b5fd; border:1px solid rgba(167,139,250,.42); }
.b-trusted { background:rgba(16,185,129,.16); color:#6ee7b7; border:1px solid rgba(52,211,153,.42); }

/* ===== Topic page ===== */
.cmty-crumb { font-size:.81rem; color:#64748b; margin-bottom:1.25rem; letter-spacing:.01em; }
.cmty-crumb a { color:#8fa2c4; text-decoration:none; transition:.18s; }
.cmty-crumb a:hover { color:#f5c518; }
.cmty-topic-title { font-size:clamp(1.5rem,3.2vw,2.15rem); font-weight:900; color:#f2f6ff; letter-spacing:-.022em;
  margin:.35rem 0 .85rem; line-height:1.26; }
.cmty-topic-tags { margin:.75rem 0 1.35rem; }
.cmty-post { position:relative; background:linear-gradient(165deg, rgba(17,27,58,.72), rgba(9,16,36,.66));
  border:1px solid rgba(120,150,240,.2); border-radius:20px; padding:1.7rem 1.85rem; margin-bottom:1.25rem;
  box-shadow:0 24px 54px -30px rgba(2,6,23,.95), inset 0 1px 0 rgba(255,255,255,.06); }
.cmty-post-head { display:flex; align-items:center; gap:.85rem; margin-bottom:1.15rem; }
.cmty-post-author { display:flex; flex-direction:column; gap:.15rem; }
.cmty-post-author a { color:#eaf0fc; font-weight:800; font-size:.96rem; text-decoration:none; }
.cmty-post-author a:hover { color:#f5c518; }
.cmty-post-meta { font-size:.755rem; color:#64748b; display:flex; align-items:center; gap:.45rem; }
.cmty-post-body { font-size:.975rem; line-height:1.85; color:#c9d6ec; overflow-wrap:break-word; }
.cmty-post-body p { margin:.6rem 0; }
.cmty-post-body a { color:#7ab2ff; text-decoration:underline; text-decoration-color:rgba(122,178,255,.4); text-underline-offset:3px; }
.cmty-post-body a:hover { color:#f5c518; text-decoration-color:rgba(245,197,24,.5); }
.cmty-post-body img { max-width:100%; border-radius:14px; margin:.7rem 0; border:1px solid rgba(120,150,240,.22); }
.cmty-post-body blockquote { border-left:3px solid rgba(245,197,24,.55); margin:1rem 0; padding:.5rem 0 .5rem 1.15rem; color:#9db1d1;
  background:rgba(255,255,255,.035); border-radius:0 12px 12px 0; }
.cmty-code { background:linear-gradient(180deg,#0a1122,#080e1e); border:1px solid rgba(120,150,240,.24); border-radius:14px;
  padding:1.05rem 1.25rem; overflow-x:auto; margin:1rem 0; }
.cmty-code code { font-family:'Cascadia Code',Consolas,monospace; font-size:.83rem; color:#8ee9c0; background:none; }
code { background:rgba(110,150,240,.16); color:#a5c8fa; padding:.14rem .42rem; border-radius:7px; font-size:.84em;
  border:1px solid rgba(110,150,240,.18); }
.cmty-post-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.35rem; padding-top:1.2rem; border-top:1px solid rgba(120,150,240,.14); }
.cmty-act { display:inline-flex; align-items:center; gap:.42rem; padding:.5rem .92rem; border-radius:11px; font-size:.795rem; font-weight:700;
  color:#9db1d1; background:rgba(255,255,255,.045); border:1px solid rgba(120,150,240,.18); cursor:pointer; text-decoration:none;
  transition:all .18s ease; }
.cmty-act:hover { color:#fff; border-color:rgba(245,197,24,.5); transform:translateY(-2px); }
.cmty-act.on { color:#7ab2ff; border-color:rgba(96,165,250,.55); background:rgba(59,130,246,.13); }
.cmty-accept-on, .cmty-act.accept-on { color:#34d399; border-color:rgba(52,211,153,.55); background:rgba(16,185,129,.12); }
.cmty-accepted-banner { display:flex; align-items:center; gap:.55rem; font-size:.8rem; font-weight:800; color:#34d399; letter-spacing:.02em;
  background:linear-gradient(135deg, rgba(16,185,129,.14), rgba(16,185,129,.06)); border:1px solid rgba(52,211,153,.4);
  border-radius:12px; padding:.62rem 1.05rem; margin-bottom:1.15rem; }
.cmty-reply-accepted { border-color:rgba(52,211,153,.5) !important; box-shadow:0 24px 54px -30px rgba(16,185,129,.35), inset 0 1px 0 rgba(255,255,255,.06) !important; }

/* ===== Forms ===== */
.cmty-form label { display:block; font-size:.835rem; font-weight:700; color:#a9bad6; margin:1.05rem 0 .48rem; letter-spacing:.01em; }
.cmty-input, .cmty-form input[type=text], .cmty-form input[type=email], .cmty-form input[type=password], .cmty-form textarea, .cmty-form select {
  width:100%; padding:.8rem 1.05rem; border-radius:13px; border:1px solid rgba(120,150,240,.3); background:rgba(3,7,18,.58);
  color:#fff; font-size:.935rem; font-family:'DM Sans',sans-serif; transition:.2s; }
.cmty-form textarea { min-height:200px; resize:vertical; line-height:1.72; }
.cmty-form input:focus, .cmty-form textarea:focus, .cmty-form select:focus { outline:none; border-color:#60a5fa;
  box-shadow:0 0 0 4px rgba(96,165,250,.16); background:rgba(3,7,18,.72); }
.cmty-form .hint { font-size:.755rem; color:#64748b; margin-top:.42rem; }
.cmty-form select option { background:#0b142e; }

/* ===== Editor ===== */
.cmty-editor-toolbar { display:flex; flex-wrap:wrap; gap:.42rem; margin-top:.65rem; }
.cmty-editor-toolbar button { padding:.42rem .72rem; border-radius:9px; font-size:.775rem; font-weight:700; color:#a9bad6;
  background:rgba(255,255,255,.05); border:1px solid rgba(120,150,240,.2); cursor:pointer; transition:.18s; }
.cmty-editor-toolbar button:hover { color:#fff; border-color:rgba(245,197,24,.5); transform:translateY(-1px); }
.cmty-preview { margin-top:.95rem; }

/* ===== Sidebar ===== */
.cmty-side .cmty-card { padding:1.35rem 1.45rem; }
.cmty-kv { display:flex; justify-content:space-between; padding:.48rem 0; font-size:.855rem; color:#8fa2c4;
  border-bottom:1px dashed rgba(120,150,240,.12); }
.cmty-kv:last-child { border-bottom:none; }
.cmty-kv b { color:#eaf0fc; font-weight:800; }
.cmty-member { display:flex; align-items:center; gap:.72rem; padding:.5rem 0; }
.cmty-member a { color:#cddaf0; text-decoration:none; font-size:.865rem; font-weight:700; transition:.18s; }
.cmty-member a:hover { color:#f5c518; }
.cmty-member .rep { margin-left:auto; font-size:.735rem; color:#7e8fb3; font-weight:700; }
.cmty-guidelines { font-size:.85rem; color:#93a6c4; line-height:1.85; margin:0; padding-left:1.25rem; }
.cmty-guidelines li { margin-bottom:.42rem; }
.cmty-online-dot { width:9px; height:9px; border-radius:50%; background:linear-gradient(135deg,#34d399,#10b981);
  display:inline-block; margin-right:.35rem; box-shadow:0 0 8px rgba(52,211,153,.8); animation:cmtyPulse 2.2s infinite; }
@keyframes cmtyPulse { 0%,100% { opacity:1; } 50% { opacity:.45; } }

/* ===== Pagination ===== */
.cmty-pagination { display:flex; gap:.5rem; margin:1.55rem 0 .5rem; }
.cmty-pagination a { padding:.52rem .95rem; border-radius:11px; font-size:.845rem; font-weight:700; color:#a9bad6; text-decoration:none;
  background:rgba(255,255,255,.05); border:1px solid rgba(120,150,240,.2); transition:.18s; }
.cmty-pagination a:hover { color:#fff; border-color:rgba(245,197,24,.5); transform:translateY(-2px); }
.cmty-pagination a.active { background:linear-gradient(135deg, rgba(59,130,246,.28), rgba(37,99,235,.18)); color:#fff;
  border-color:rgba(96,165,250,.6); box-shadow:0 10px 24px -12px rgba(37,99,235,.6); }

/* ===== Empty states ===== */
.cmty-empty { text-align:center; padding:2.9rem 1.35rem; color:#8fa2c4; }
.cmty-empty .ic { width:72px; height:72px; margin:0 auto .95rem; border-radius:22px; display:flex; align-items:center; justify-content:center;
  color:#8ab4ff; background:linear-gradient(160deg, rgba(59,130,246,.16), rgba(124,58,237,.1));
  border:1px solid rgba(120,150,240,.28); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.cmty-empty p { margin:.42rem 0 1.15rem; font-size:.955rem; line-height:1.7; }

/* ===== Auth ===== */
.cmty-auth-wrap { max-width:455px; margin:2.6rem auto; }
.cmty-auth-wrap .cmty-card { padding:2.25rem 2.15rem; border-radius:22px; }
.cmty-auth-wrap h1 { font-size:1.62rem; font-weight:900; color:#f2f6ff; margin:0 0 .55rem; text-align:center; letter-spacing:-.02em; }
.cmty-auth-sub { text-align:center; color:#8fa2c4; font-size:.91rem; margin:0 0 1.45rem; }
.cmty-auth-alt { text-align:center; font-size:.865rem; color:#8fa2c4; margin-top:1.25rem; }
.cmty-auth-alt a { color:#7ab2ff; text-decoration:none; font-weight:700; }
.cmty-auth-alt a:hover { color:#f5c518; }

/* ===== Profile ===== */
.cmty-profile-head { display:flex; gap:1.45rem; align-items:center; flex-wrap:wrap; }
.cmty-profile-head .cmty-avatar { width:92px; height:92px; font-size:2.15rem; box-shadow:0 0 0 3px rgba(245,197,24,.3), 0 18px 40px -18px rgba(2,6,23,.9); }
.cmty-profile-name { font-size:1.72rem; font-weight:900; color:#f2f6ff; letter-spacing:-.02em; display:flex; align-items:center; gap:.65rem; }
.cmty-profile-user { color:#8fa2c4; font-size:.925rem; }
.cmty-profile-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.9rem; margin:1.5rem 0; }
.cmty-profile-stat { background:linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  border:1px solid rgba(120,150,240,.18); border-radius:15px; padding:1.05rem .85rem; text-align:center; transition:.2s; }
.cmty-profile-stat:hover { transform:translateY(-3px); border-color:rgba(245,197,24,.4); }
.cmty-profile-stat b { display:block; font-size:1.32rem; font-weight:900;
  background:linear-gradient(120deg,#9dc0ff,#60a5fa); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cmty-profile-stat span { font-size:.715rem; color:#8fa2c4; text-transform:uppercase; letter-spacing:.09em; font-weight:700; }

/* ===== Notifications ===== */
.cmty-notif { display:flex; gap:.95rem; padding:1.02rem .55rem; border-bottom:1px solid rgba(120,150,240,.12); align-items:flex-start; border-radius:12px; }
.cmty-notif.unread { background:linear-gradient(120deg, rgba(59,130,246,.12), rgba(59,130,246,.04)); }
.cmty-notif .txt { flex:1; font-size:.895rem; color:#c9d6ec; line-height:1.65; }
.cmty-notif .when { font-size:.735rem; color:#64748b; white-space:nowrap; }

/* ===== Admin ===== */
.cmty-admin-tabs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.6rem; }
.cmty-admin-tabs a { padding:.62rem 1.2rem; border-radius:12px; font-size:.845rem; font-weight:700; text-decoration:none;
  color:#a9bad6; background:rgba(255,255,255,.05); border:1px solid rgba(120,150,240,.2); transition:.18s; }
.cmty-admin-tabs a:hover { transform:translateY(-2px); color:#fff; border-color:rgba(245,197,24,.45); }
.cmty-admin-tabs a.active { background:linear-gradient(135deg, rgba(59,130,246,.28), rgba(37,99,235,.18)); color:#fff;
  border-color:rgba(96,165,250,.6); }
.cmty-table { width:100%; border-collapse:collapse; font-size:.855rem; }
.cmty-table th { text-align:left; padding:.78rem .68rem; color:#8fa2c4; font-size:.715rem; text-transform:uppercase; letter-spacing:.09em;
  border-bottom:1px solid rgba(120,150,240,.24); font-weight:800; }
.cmty-table td { padding:.82rem .68rem; border-bottom:1px solid rgba(120,150,240,.1); color:#c9d6ec; vertical-align:middle; }
.cmty-table tr:hover td { background:rgba(255,255,255,.028); }
.cmty-chip { display:inline-flex; align-items:center; gap:.38rem; font-size:.735rem; font-weight:700; padding:.28rem .68rem;
  border-radius:8px; background:rgba(255,255,255,.06); color:#a9bad6; border:1px solid rgba(120,150,240,.16); }

/* ===== Misc ===== */
.cmty-dim { color:#7e8fb3; font-size:.855rem; }
.cmty-mt0 { margin-top:0; } .cmty-mb0 { margin-bottom:0; }
.cmty-flex { display:flex; gap:.72rem; align-items:center; flex-wrap:wrap; }
.cmty-right { margin-left:auto; }
.cmty-skeleton { background:linear-gradient(90deg, rgba(255,255,255,.05) 25%, rgba(255,255,255,.11) 50%, rgba(255,255,255,.05) 75%);
  background-size:200% 100%; animation:cmtyShim 1.3s infinite; border-radius:12px; height:1.05rem; margin:.6rem 0; }
@keyframes cmtyShim { from { background-position:200% 0; } to { background-position:-200% 0; } }
.cmty-follow-btn.on { color:#7ab2ff; border-color:rgba(96,165,250,.55); }

::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:#050813; }
::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#2b3d6b,#1c2a4d); border-radius:8px; border:2px solid #050813; }
::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#3b5290,#2b3d6b); }

@media (max-width:1080px) {
  .cmty-grid { grid-template-columns:1fr; }
  .cmty-stats { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .cmty-topbar-in { flex-wrap:wrap; gap:.65rem; }
  .cmty-nav { order:3; width:100%; overflow-x:auto; padding-bottom:.2rem; }
  .cmty-top-actions { margin-left:auto; }
  .cmty-hero { padding:1.85rem 1.35rem; border-radius:18px; }
  .cmty-hero h1 { font-size:1.62rem; }
  .cmty-disc-stats { display:none; }
  .cmty-card { padding:1.25rem 1.2rem; border-radius:16px; }
  .cmty-post { padding:1.35rem 1.25rem; }
}
