/* TopHeroes Forum v2.0.0 (Clean) - minimal CSS, designed to sit on top of main site styles */

.th-page-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;margin:0 0 1rem;}
.th-h1{font-size:1.6rem;line-height:1.15;font-weight:800;letter-spacing:-.01em;color:rgba(15,23,42,.95);}
.dark .th-h1{color:rgba(255,255,255,.95);}
.th-subtitle{margin-top:.35rem;font-size:.95rem;line-height:1.35;color:rgba(15,23,42,.70);}
.dark .th-subtitle{color:rgba(255,255,255,.72);}
.th-actions{flex:0 0 auto;display:flex;gap:.5rem;flex-wrap:wrap;}

.th-card{border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.70);backdrop-filter:saturate(140%) blur(6px);border-radius:14px;}
.dark .th-card{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.05);}

.th-row{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;padding:1rem;}
.th-row:hover{background:rgba(255,255,255,.45);}
.dark .th-row:hover{background:rgba(255,255,255,.04);}
.th-row-title{font-weight:800;color:rgba(15,23,42,.95);margin:0;line-height:1.2;}
.dark .th-row-title{color:rgba(255,255,255,.95);}
.th-row-meta{margin-top:.35rem;font-size:.85rem;color:rgba(15,23,42,.65);}
.dark .th-row-meta{color:rgba(255,255,255,.70);}
.th-row-right{flex:0 0 auto;display:flex;align-items:center;gap:.75rem;}

.th-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.15rem .55rem;font-size:.72rem;font-weight:800;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.03);color:rgba(15,23,42,.85);}
.dark .th-badge{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.85);}

.th-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:10px;padding:.55rem .9rem;border:1px solid rgba(0,0,0,.14);background:rgba(255,255,255,.85);font-weight:700;text-decoration:none;}
.th-btn:hover{background:#fff;}
.dark .th-btn{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:rgba(255,255,255,.95);}
.dark .th-btn:hover{background:rgba(255,255,255,.12);}
.th-btn-primary{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.25);color:rgba(15,23,42,.95);}
.dark .th-btn-primary{color:rgba(255,255,255,.95);}
.th-btn-primary:hover{background:rgba(59,130,246,.18);}

.th-input{width:100%;border-radius:10px;padding:.55rem .7rem;background:#fff;border:1px solid rgba(0,0,0,.18);color:rgba(15,23,42,.95);}
.th-input:focus{outline:none;border-color:rgba(59,130,246,.55);box-shadow:0 0 0 2px rgba(59,130,246,.15);}
.dark .th-input{background:rgba(0,0,0,.20);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.95);}

.th-pill{display:inline-flex;align-items:center;border-radius:9999px;padding:.15rem .55rem;font-size:.72rem;font-weight:900;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.03);color:rgba(15,23,42,.85);}
.dark .th-pill{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.90);}
.th-pill-admin{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.12);}
.th-pill-mod{border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.12);}
.th-pill-banned{border-color:rgba(63,63,70,.35);background:rgba(63,63,70,.12);}

.th-tag{display:inline-flex;align-items:center;border-radius:9999px;padding:.15rem .55rem;font-size:.72rem;font-weight:900;border:1px solid rgba(59,130,246,.55);background:transparent;color:rgba(15,23,42,.95);}
.dark .th-tag{border-color:rgba(59,130,246,.65);color:rgba(255,255,255,.95);}

.th-auth-strip{display:flex;justify-content:flex-end;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap;}
.th-tools{margin-top:1rem;}
.th-tools-title{font-weight:900;margin-bottom:.5rem;color:rgba(15,23,42,.85);}
.dark .th-tools-title{color:rgba(255,255,255,.88);}
.th-tools-links{display:flex;flex-wrap:wrap;gap:.5rem;}

.th-empty{padding:1rem;border:1px dashed rgba(0,0,0,.18);border-radius:14px;background:rgba(255,255,255,.40);}
.dark .th-empty{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04);}
.th-empty-title{font-weight:900;color:rgba(15,23,42,.92);}
.dark .th-empty-title{color:rgba(255,255,255,.92);}
.th-empty-body{margin-top:.35rem;color:rgba(15,23,42,.65);font-size:.9rem;}
.dark .th-empty-body{color:rgba(255,255,255,.70);}

.th-grid{display:grid;gap:1rem;}
@media(min-width:1024px){.th-grid-2{grid-template-columns:1.4fr .6fr;}}

/* Forum nav */
.th-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;}
.th-nav-left,.th-nav-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.th-nav-brand{font-weight:900;text-decoration:none;color:rgba(15,23,42,.95);margin-right:.25rem;}
.dark .th-nav-brand{color:rgba(255,255,255,.95);}
.th-nav-link{font-weight:800;text-decoration:none;color:rgba(15,23,42,.78);padding:.35rem .55rem;border-radius:10px;border:1px solid transparent;}
.th-nav-link:hover{background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.18);color:rgba(15,23,42,.95);}
.dark .th-nav-link{color:rgba(255,255,255,.78);}
.dark .th-nav-link:hover{color:rgba(255,255,255,.95);}
.th-btn-danger{background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.22);color:rgba(15,23,42,.95);}
.th-btn-danger:hover{background:rgba(220,38,38,.14);}
.dark .th-btn-danger{color:rgba(255,255,255,.95);}

/* Category blocks (home) */
.th-cat{padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:rgba(59,130,246,.06);}
.dark .th-cat{border-color:rgba(255,255,255,.10);background:rgba(59,130,246,.10);}
.th-cat-title{font-weight:950;font-size:1.05rem;color:rgba(15,23,42,.95);display:flex;gap:.6rem;align-items:center;}
.dark .th-cat-title{color:rgba(255,255,255,.95);}
.th-cat-title:before{content:'';display:inline-block;width:10px;height:10px;border-radius:9999px;background:rgba(59,130,246,.55);border:1px solid rgba(59,130,246,.65);}
.th-cat-desc{margin-top:.25rem;font-size:.9rem;color:rgba(15,23,42,.65);}
.dark .th-cat-desc{color:rgba(255,255,255,.70);}
/* Post media */
.th-media{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.6rem;}
.th-media img{max-width:220px;max-height:220px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;}
.dark .th-media img{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);}
.th-note{padding:.75rem 1rem;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.03);color:rgba(15,23,42,.78);}
.dark .th-note{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.78);}

.th-btn-ghost{background:transparent;border-color:rgba(59,130,246,.25);color:rgba(15,23,42,.85);}
.th-btn-ghost:hover{background:rgba(59,130,246,.10);}
.dark .th-btn-ghost{color:rgba(255,255,255,.85);border-color:rgba(59,130,246,.35);}

.th-btn-sm{padding:.38rem .62rem;font-size:.85rem;border-radius:12px;}

.th-btn-xs{padding:.30rem .52rem;font-size:.80rem;border-radius:12px;}

.th-hidden{display:none !important;}
/* Forum sub-navigation: remove card styling around the forum nav */
.th-forum-nav.th-card{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
/* Forum nav: flat (no boxed background) */
.th-nav{padding:0;border:none;box-shadow:none;background:transparent;backdrop-filter:none;}
.th-nav + *{ /* first block after nav */ }

.th-badge-dot{margin-left:.35rem;min-width:1.4rem;text-align:center;padding:.18rem .45rem;font-size:.78rem;border-radius:999px;}


/* Highlight post when arriving via #post-123 */
.th-flash{outline:2px solid rgba(59,130,246,.55); box-shadow:0 0 0 6px rgba(59,130,246,.12); transition:all .25s ease;}


/* @mention autocomplete */
.th-mention-box{position:absolute;z-index:50;min-width:220px;background:#fff;border:1px solid rgba(148,163,184,.8);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.12);padding:.35rem;}
.dark .th-mention-box{background:rgba(15,23,42,.98);border-color:rgba(148,163,184,.35);}
.th-mention-item{padding:.45rem .6rem;border-radius:10px;cursor:pointer;}
.th-mention-item:hover{background:rgba(59,130,246,.10);} 


/* Mobile sticky reply */
@media (max-width: 640px){
  .th-sticky-reply{position:fixed;right:16px;bottom:18px;z-index:60;}
}

.th-crumb{opacity:.6;}


/* Breadcrumbs */
.th-breadcrumbs{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem;font-size:.92rem;}
.th-crumb-sep{opacity:.55;}
.th-crumb-link{text-decoration:underline;}
.th-crumb-text{opacity:.85;}


/* User dropdown */
.th-dd{position:relative;display:inline-flex;align-items:center;gap:.4rem;}
.th-dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:#fff;border:1px solid rgba(148,163,184,.8);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.14);padding:.35rem;z-index:70;}
.dark .th-dd-menu{background:rgba(15,23,42,.98);border-color:rgba(148,163,184,.35);}
.th-dd-item{display:block;padding:.55rem .65rem;border-radius:10px;text-decoration:none;}
.th-dd-item:hover{background:rgba(59,130,246,.10);}

.th-pill-verified{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.12);color:#0f172a}
.th-pill-unverified{border-color:rgba(245,158,11,.6);background:rgba(245,158,11,.14);color:#0f172a}


.forum-build-badge{position:fixed;right:12px;bottom:12px;z-index:99999;font:600 12px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#0f172a;background:rgba(255,255,255,.9);border:1px solid rgba(148,163,184,.6);border-radius:999px;padding:6px 10px;box-shadow:0 6px 18px rgba(15,23,42,.12)}

.forum-build-stamp{margin-top:1rem;text-align:right;font:600 11px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;color:rgba(15,23,42,.55)}


/* v2.8.3 thread layout refactor */
.th-thread-layout{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap: 1.25rem;
  align-items:start;
}
.th-thread-main{ min-width: 0; }
.th-thread-sidebar{ min-width: 0; }
.th-thread-reply{
  margin-top: 1.5rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.th-reply-actions{
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
  margin-bottom:.75rem;
  flex-wrap:wrap;
}
.th-reply-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.35rem;
  flex-wrap:wrap;
}
.th-editor-toolbar{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  margin:.5rem 0 .35rem;
}
@media (max-width: 980px){
  .th-thread-layout{ grid-template-columns: 1fr; }
  .th-thread-reply{ max-width: 100%; }
}


/* v2.8.4 cleanup */
.th-reply-actions-main{ margin-top: 1.25rem; }
#th-composer-wrap.th-hidden{ display:none; }


/* v2.8.5 spacing */
.th-row{ display:block; margin-bottom:.75rem; }


/* v2.8.6 post spacing */
.th-post,
.th-card.th-post {
    margin-bottom: 1.25rem;
}


/* v2.8.7 thread post spacing */
.th-post-card{ margin-bottom: 1.25rem; }
