/* ============================================================================
   VERIDIAN GAMING COMMUNITY — global.css
   Refactored MyBB 1.8.x stylesheet. Overrides all default MyBB visuals with the
   Veridian design system while preserving every MyBB functionality class.
   Import-scanner safe: contains no unsafe legacy CSS directives.
   ============================================================================ */

/* ============================================================================
   GLOBAL RESET / DESIGN TOKENS
   ============================================================================ */
:root{
  /* surfaces (green-tinted dark) */
  --bg:#0a0f0c;
  --bg-2:#070b09;
  --bg-primary:#0a0f0c;
  --bg-secondary:#0f1712;
  --surface:#0f1712;
  --surface-2:#131c16;
  --surface-3:#1a251d;
  --border:rgba(120,230,160,.09);
  --border-color:rgba(120,230,160,.09);
  --border-strong:rgba(120,230,160,.16);

  /* emerald accent */
  --accent:#2fe07a;
  --accent-color:#2fe07a;
  --accent-2:#19c463;
  --accent-hover:#4dff95;
  --accent-deep:#0c8a44;
  --accent-soft:rgba(47,224,122,.13);
  --accent-r:47; --accent-g:224; --accent-b:122;

  --blue:#3ea6ff;
  --purple:#9b7bff;
  --gold:#ffcc66;
  --success:#57d163;
  --warning:#ffcc66;
  --danger:#ff5d5d;

  --text:#eafff2;
  --text-primary:#eafff2;
  --text-2:#b6c7bd;
  --text-muted:#7d8f84;
  --muted:#7d8f84;

  --font-display:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --fs-base:16px;

  --radius:16px;
  --radius-sm:12px;
  --radius-lg:20px;
  --radius-pill:999px;

  --shadow-sm:0 2px 8px rgba(0,0,0,.4);
  --shadow:0 14px 34px -14px rgba(0,0,0,.7);
  --shadow-lg:0 34px 80px -26px rgba(0,0,0,.85);
  --shadow-accent:0 12px 30px -8px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.4);
  --glow:0 0 22px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.55);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.28s;

  --maxw:1560px;
  --gap:20px;
}

/* ---- Light mode ---- */
html[data-theme="light"]{
  --bg:#eef3ef; --bg-2:#e3ebe5; --bg-primary:#eef3ef; --bg-secondary:#ffffff;
  --surface:#ffffff; --surface-2:#f3f8f4; --surface-3:#e7efe9;
  --border:rgba(12,60,30,.10); --border-color:rgba(12,60,30,.10); --border-strong:rgba(12,60,30,.16);
  --text:#0a1a10; --text-primary:#0a1a10; --text-2:#33463a; --text-muted:#5c7064; --muted:#5c7064;
  --shadow:0 14px 34px -16px rgba(20,50,30,.28);
  --shadow-lg:0 34px 80px -30px rgba(20,50,30,.34);
}

/* ---- Blue mode ---- */
html[data-theme="blue"]{
  --bg:#080d14; --bg-2:#05090f; --bg-primary:#080d14; --bg-secondary:#0e1620;
  --surface:#0e1620; --surface-2:#121c28; --surface-3:#1a2634;
  --border:rgba(120,180,255,.10); --border-color:rgba(120,180,255,.10); --border-strong:rgba(120,180,255,.18);
  --accent:#3ea6ff; --accent-color:#3ea6ff; --accent-2:#2b7fd6; --accent-hover:#6dc0ff; --accent-deep:#1a5aa0;
  --accent-soft:rgba(62,166,255,.14); --accent-r:62; --accent-g:166; --accent-b:255;
  --text:#eaf4ff; --text-primary:#eaf4ff; --text-2:#b6c9dd; --text-muted:#7d8fa4; --muted:#7d8fa4;
}

@media (prefers-reduced-motion:reduce){ *{animation-duration:.001ms!important;transition-duration:.001ms!important;} }
html[data-animations="off"] *{animation:none!important;transition:none!important;}

*,*::before,*::after{box-sizing:border-box;}
html{font-size:var(--fs-base);}
body{
  margin:0;padding:0;
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:.95rem;line-height:1.55;
  text-align:left;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:scroll;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1000px 600px at 50% -10%, rgba(var(--accent-r),var(--accent-g),var(--accent-b),.08), transparent 55%),
    radial-gradient(800px 500px at 100% 10%, rgba(var(--accent-r),var(--accent-g),var(--accent-b),.05), transparent 55%),
    linear-gradient(180deg,var(--bg),var(--bg-2));
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:800;line-height:1.15;margin:0 0 .4em;letter-spacing:-.02em;}
img{border:none;max-width:100%;}
hr{background:var(--border);color:var(--border);height:1px;border:0;margin:16px 0;}
form{margin:0;padding:0;}

a:link,a:visited{color:var(--accent);text-decoration:none;transition:color var(--dur);}
a:hover,a:active{color:var(--accent-hover);text-decoration:none;}

::selection{background:var(--accent);color:#04120a;}

/* custom scrollbar */
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:99px;border:3px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:var(--accent-deep);}

/* ============================================================================
   LAYOUT — container / wrapper / content
   ============================================================================ */
#container{
  color:var(--text);text-align:left;line-height:1.55;margin:0;
  font-family:var(--font-body);font-size:.95rem;min-width:0;background:transparent;
}
.wrapper{width:auto;min-width:0;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
#content{background:transparent;width:auto !important;padding:20px 0;overflow:visible;}
#logo{background:transparent;padding:0;border-bottom:none;}
.clear{clear:both;}
.float_left{float:left;}
.float_right{float:right;}
.hidden{display:none;float:none;width:1%;}
.hiddenrow{display:none;}
.scaleimages img{max-width:100%;}

/* ============================================================================
   MYBB COMPATIBILITY — tables mapped to cards
   ============================================================================ */
table{color:var(--text);font-size:.95rem;}
.tborder{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  width:100%;margin:0 0 var(--gap);
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);border-collapse:separate;border-spacing:0;
  padding:0;overflow:hidden;
}
.tborder td,.tborder th{border:none;}
.tfixed{table-layout:fixed;word-wrap:break-word;}

.thead{
  background:linear-gradient(90deg,var(--surface-2),var(--surface));
  color:var(--text);border-bottom:1px solid var(--border);
  padding:15px 18px;font-family:var(--font-display);
}
.thead a:link,.thead a:visited{color:var(--text);text-decoration:none;}
.thead a:hover,.thead a:active{color:var(--accent);}
.thead strong{font-family:var(--font-display);font-weight:800;}

.tcat{
  background:linear-gradient(90deg,var(--surface-2),var(--surface));
  color:var(--text);border-top:none;border-bottom:1px solid var(--border);
  padding:12px 18px;font-size:.82rem;font-family:var(--font-display);font-weight:700;
}
.tcat a:link,.tcat a:visited{color:var(--text);}
.tcat a:hover,.tcat a:active{color:var(--accent);}

.trow1{background:var(--surface);border:none;border-bottom:1px solid var(--border);transition:background var(--dur);}
.trow2{background:var(--surface-2);border:none;border-bottom:1px solid var(--border);transition:background var(--dur);}
.tborder td{padding:14px 18px;vertical-align:middle;}
html[data-hover="on"] .trow1:hover,html[data-hover="on"] .trow2:hover{background:var(--surface-3);}

.trow_shaded,.post.unapproved_post{background:rgba(255,204,102,.10);}
.trow_deleted,.post.deleted_post{background:rgba(155,123,255,.10);}
.trow_selected,tr.trow_selected td{background:var(--accent-soft);color:var(--text);border-color:transparent;}
.trow_selected a:link,.trow_selected a:visited,.trow_selected a:hover,.trow_selected a:active{color:var(--accent-hover);}
.no_bottom_border{border-bottom:0;}

.trow_sep{
  background:var(--surface-3);color:var(--text-2);
  border-bottom:1px solid var(--border);padding:10px 18px;
  font-size:.78rem;font-weight:700;font-family:var(--font-display);
  letter-spacing:.06em;text-transform:uppercase;
}
.tfoot{
  border-top:1px solid var(--border);padding:14px 18px;
  background:var(--surface-2);color:var(--muted);
}
.tfoot a:link,.tfoot a:visited{color:var(--text-2);text-decoration:none;}
.tfoot a:hover,.tfoot a:active{color:var(--accent);}

.thead input.textbox,.thead select{border:1px solid var(--border-strong);}
.bottommenu{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;}
.selectall{background:var(--accent-soft);border-bottom:1px solid transparent;color:var(--text);text-align:center;}
.expcolimage{float:right;width:auto;vertical-align:middle;margin-top:3px;filter:hue-rotate(80deg) saturate(1.4);}
.tcat_menu>.expcolimage{margin-top:0;}
.altbg1{background:var(--surface);}
.altbg2{background:var(--surface-2);}
.tablebg{background:transparent;}

/* ============================================================================
   TYPOGRAPHY HELPERS
   ============================================================================ */
.smalltext{font-size:.78rem;color:var(--muted);}
.largetext{font-size:1.1rem;font-weight:700;font-family:var(--font-display);}
.navigation{color:var(--text-2);font-size:.86rem;padding:14px 0;}
.navigation a:link,.navigation a:visited{color:var(--text-2);text-decoration:none;}
.navigation a:hover,.navigation a:active{color:var(--accent);}
.navigation .active{color:var(--accent);font-weight:700;font-size:inherit;}

/* ============================================================================
   FORMS
   ============================================================================ */
fieldset{padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 var(--gap);background:var(--surface);}
fieldset.trow1,fieldset.trow2{border-color:var(--border);}
fieldset.align_right{text-align:right;}

input.textbox,textarea,select{
  background:var(--surface-2);color:var(--text);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 13px;outline:0;
  font-family:var(--font-body);font-size:.9rem;
  transition:border-color var(--dur),background var(--dur),box-shadow var(--dur);
  max-width:100%;
}
input.textbox:focus,textarea:focus,select:focus{
  border-color:var(--accent);background:var(--surface-3);
  box-shadow:0 0 0 3px var(--accent-soft);
}
textarea{line-height:1.6;width:100%;}
input.textbox.portal_search{width:68%;}
form #message{width:100%;max-width:100%;}

input.error,textarea.error,select.error{border:1px solid var(--danger);color:var(--danger);}
input.valid,textarea.valid,select.valid{border:1px solid var(--success);}
label.error{color:var(--danger);margin:5px;padding:0;display:block;font-weight:700;font-size:.78rem;}

.editor{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;}
.editor_control_bar{background:var(--surface-3);border:none;border-bottom:1px solid var(--border);}
.post .editor_control_bar{background:var(--surface-3);}

#quick_login .remember_me input{vertical-align:middle;margin:-3px 0 0 5px;}

/* ============================================================================
   BUTTONS
   ============================================================================ */
button,input.button,input[type=submit],input[type=button],input[type=reset]{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px;cursor:pointer;
  font-family:var(--font-display);font-weight:700;font-size:.85rem;
  background:linear-gradient(135deg,var(--accent-2),var(--accent));
  border:1px solid transparent;border-radius:var(--radius-sm);color:#04140a;
  outline:0;box-shadow:var(--shadow-accent);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur);
}
html[data-hover="on"] button:hover,html[data-hover="on"] input.button:hover,
html[data-hover="on"] input[type=submit]:hover{
  transform:translateY(-2px);border-color:transparent;
  box-shadow:0 16px 38px -10px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.6),var(--glow);
}
button:active,input.button:active{transform:translateY(0) scale(.98);}

/* MyBB link-styled action buttons (new thread / reply / etc.) */
a.button:link,a.button:hover,a.button:visited,a.button:active{
  background:linear-gradient(135deg,var(--accent-2),var(--accent));
  color:#04140a;display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;margin:2px 2px 6px 2px;
  border:1px solid transparent;border-radius:var(--radius-sm);
  font-family:var(--font-display);font-weight:700;font-size:.88rem;
  box-shadow:var(--shadow-accent);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
html[data-hover="on"] a.button:hover{transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.6),var(--glow);}
a.button.small_button{font-size:.82rem;margin:0;padding:7px 12px;}
a.button span{padding-left:0;display:inline-flex;background:none;}

#search input.button{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#04140a;border-color:transparent;}

/* ============================================================================
   ALERTS / NOTICES
   ============================================================================ */
div.error{padding:14px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);font-size:.86rem;}
div.error p{margin:0;color:var(--text);font-weight:400;}
div.error p em{font-style:normal;font-weight:700;padding-left:0;display:block;color:var(--danger);background:none;}
div.error ul{margin-left:20px;}

.pm_alert{background:var(--accent-soft);border:1px solid transparent;color:var(--accent-hover);text-align:center;padding:12px 20px;margin-bottom:15px;font-size:.82rem;border-radius:var(--radius-sm);}
.red_alert{background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.4);color:#ffb3b3;text-align:center;padding:12px 20px;margin-bottom:15px;font-size:.82rem;border-radius:var(--radius-sm);word-wrap:break-word;}
.red_alert a:link,.red_alert a:visited,.red_alert a:hover,.red_alert a:active{color:#ffb3b3;}
.validation_error,.inline_error{background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.4);color:#ffb3b3;border-radius:var(--radius-sm);padding:12px 16px;margin:var(--gap) 0;list-style:none;}
.validation_success{background:var(--accent-soft);border:1px solid transparent;color:var(--accent-hover);border-radius:var(--radius-sm);padding:12px 16px;}
.success_message{color:var(--success);font-weight:700;font-size:.8rem;margin-bottom:10px;}
.error_message{color:var(--danger);font-weight:700;font-size:.8rem;margin-bottom:10px;}
.highlight{background:rgba(255,204,102,.22);padding:2px 3px;border-radius:3px;}

.high_warning{color:#ff5d5d;}
.moderate_warning{color:#ff8a4c;}
.low_warning{color:#ffcc66;}
.imminent_banned{color:#ff3b3b;}
.high_banned{color:#ff5d5d;}
.moderate_banned{color:#ff8a4c;}
.low_banned{color:var(--success);}
.online{color:var(--accent);}
.offline{color:var(--muted);}

/* ============================================================================
   PAGINATION
   ============================================================================ */
.pagination{font-size:.82rem;padding-top:12px;margin-bottom:var(--gap);display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.tfoot .pagination,.tcat .pagination{padding-top:0;}
.pagination .pages{font-weight:700;color:var(--muted);margin-right:4px;}
.pagination .pagination_current,.pagination a{
  display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 10px;
  border-radius:10px;margin-bottom:3px;font-family:var(--font-display);font-weight:700;font-size:.82rem;
  transition:all var(--dur);
}
.pagination a{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);}
.pagination a:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);text-decoration:none;}
.pagination .pagination_current{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#04140a;border:1px solid transparent;font-weight:800;}
.pagination .go_page img{margin-bottom:-4px;}
.drop_go_page{background:var(--surface-2);padding:6px;border-radius:8px;}
.pagination_breadcrumb{background:var(--surface-2);border:1px solid var(--border);outline:none;padding:8px 12px;margin-top:5px;font-weight:400;border-radius:var(--radius-sm);}
.pagination_breadcrumb_link{vertical-align:middle;cursor:pointer;}

/* ============================================================================
   POPUP MENUS / DROPDOWNS
   ============================================================================ */
.popup_menu{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-strong);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.popup_menu .popup_item_container{margin:0;text-align:left;padding:6px;}
.popup_menu .popup_item{
  background:transparent;color:var(--text-2);
  display:block;padding:9px 14px;white-space:nowrap;text-decoration:none;
  border-radius:9px;transition:background var(--dur),color var(--dur);
}
.popup_menu .popup_item:hover,.popup_menu a.popup_item:hover{background:var(--surface-3);color:var(--accent);text-decoration:none;}
.popup_menu_item{color:var(--text-2);}

/* ============================================================================
   FORUM COMPONENTS — status icons, legends, forum rows
   ============================================================================ */
.forum_status,.forum_icon{
  height:30px;width:30px;display:inline-grid;place-items:center;
  border-radius:10px;background:var(--surface-3);border:1px solid var(--border-strong);
  color:var(--accent);position:relative;
  transition:transform var(--dur) var(--ease),color var(--dur);
}
html[data-hover="on"] .trow1:hover .forum_status,
html[data-hover="on"] .trow2:hover .forum_status{transform:scale(1.08) rotate(-4deg);}
.forum_on{background:var(--accent-soft);color:var(--accent);border-color:transparent;}
.forum_on::after{
  content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;
  background:var(--accent);border:2px solid var(--surface);box-shadow:var(--glow);
}
.forum_off{background:var(--surface-3);color:var(--muted);}
.forum_offclose{background:var(--surface-3);color:var(--warning);}
.forum_offlink{background:var(--surface-3);color:var(--blue);}
html[data-forum-icons="off"] .forum_status,html[data-forum-icons="off"] .forum_icon{display:none;}

.subforumicon{
  height:10px;width:10px;display:inline-block;margin:0 5px;border-radius:50%;
  background:var(--muted);vertical-align:middle;
}
.subforum_minion{background:var(--accent);box-shadow:0 0 6px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.7);}
.subforum_minioff{background:var(--muted);}
.subforum_minioffclose{background:var(--warning);}
.subforum_miniofflink{background:var(--blue);}

.forum_legend,.forum_legend dt,.forum_legend dd{margin:0;padding:0;}
.forum_legend dd{float:left;margin-right:14px;margin-top:7px;font-size:.8rem;color:var(--muted);}
.forum_legend dt{margin-right:10px;float:left;font-size:.8rem;color:var(--muted);}
.thread_legend,.thread_legend dd{margin:0;padding:0;}
.thread_legend dd{padding-bottom:4px;margin-right:15px;font-size:.8rem;color:var(--muted);}
.thread_legend img{margin-right:4px;vertical-align:bottom;}

.lastpost{font-size:.82rem;color:var(--muted);line-height:1.5;}
.lastpost a{color:var(--text-2);}
.lastpost a:hover{color:var(--accent);}

/* ============================================================================
   THREAD COMPONENTS
   ============================================================================ */
.subject_new{font-weight:700;color:var(--text);}
.subject_new a{color:var(--text);}
.thread_status{
  height:24px;width:24px;display:inline-grid;place-items:center;
  border-radius:7px;background:var(--surface-3);color:var(--accent);
}
.thread_start_datetime{color:var(--muted);}

/* thread prefix / badge chips */
.thread_prefix,.theme-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:var(--radius-pill);
  font-family:var(--font-display);font-size:.7rem;font-weight:700;
  background:var(--accent-soft);color:var(--accent-hover);border:1px solid transparent;
}

/* ============================================================================
   POSTBIT
   ============================================================================ */
#posts_container{padding:0;}
.post{
  overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);margin-bottom:var(--gap);
}
.post.classic{padding-top:0;}
.post .post_author{
  border-bottom:1px solid var(--border);border-top:none;
  background:transparent;padding:14px 18px;overflow:hidden;
}
.post.classic .post_author{
  border:none;border-right:1px solid var(--border);
  float:left;width:17%;margin:0;padding:18px 14px;
}
.post .post_author .buddy_status{vertical-align:middle;margin-top:-4px;}
.post .post_author div.author_avatar{float:left;margin-right:12px;}
.post.classic .post_author div.author_avatar{float:none;text-align:center;margin:0 0 10px;}
.post .post_author div.author_avatar img,.theme-avatar{
  padding:0;border:2px solid var(--border-strong);border-radius:14px;
  background:var(--surface-3);object-fit:cover;
}
.post .post_author div.author_information{float:left;padding:2px 0;}
.post.classic .post_author div.author_information{float:none;padding:0;text-align:center;}
.post .post_author div.author_information .largetext a{font-family:var(--font-display);font-weight:800;color:var(--text);}
.post .post_author div.author_statistics{
  float:right;font-size:.76rem;padding:4px 0 4px 10px;color:var(--muted);line-height:1.5;
}
.post.classic .post_author div.author_statistics{
  border-top:1px solid var(--border);margin:10px 0 0;padding:10px 0 0;float:none;text-align:center;
}
.post .post_head{
  font-size:.78rem;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px;
}
.post .post_head span.post_date{color:var(--muted);}
.post .post_head span.edited_post{font-size:.74rem;color:var(--muted);}
.post .post_head span.edited_post a{color:var(--text-2);}
.post_body{font-size:.95rem;padding:14px 0;line-height:1.7;}
.post.classic .post_content{float:left;width:83%;padding:0 18px 8px;}
.post_content{padding:14px 18px 8px;}
.post_content .signature{margin-top:12px;border-top:1px solid var(--border);padding:12px 0 4px;color:var(--muted);font-size:.85rem;}
.post .post_meta{margin:6px 0;font-size:.78rem;color:var(--muted);}
.post .post_meta a:link,.post .post_meta a:visited{color:var(--text-2);}
.post .post_meta a:hover,.post .post_meta a:active{color:var(--accent);}
.post_controls{
  clear:both;background:transparent;border-top:1px solid var(--border);border-bottom:none;
  padding:12px 18px;overflow:hidden;
}
.post.unapproved_post .post_author{border-bottom-color:rgba(255,204,102,.35);}
.post.classic.unapproved_post .post_author{border-color:rgba(255,204,102,.35);}
.post.unapproved_post .post_controls{border-top-color:rgba(255,204,102,.35);}

.ignored_post,.deleted_post_collapsed{border-top:2px solid var(--border-strong);padding:15px;border-radius:var(--radius-sm);background:var(--surface-2);}
.ignored_post .show_ignored_post,.deleted_post_collapsed .show_deleted_post{margin-top:-15px;}
.deleted_post_hidden{border-top:2px solid var(--border);padding:15px;}

/* postbit action buttons */
.postbit_buttons>a:link,.postbit_buttons>a:hover,.postbit_buttons>a:visited,.postbit_buttons>a:active{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;margin:2px;font-size:.8rem;
  background:var(--surface-3);border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);color:var(--text-2);
  font-family:var(--font-display);font-weight:600;
  transition:transform var(--dur) var(--ease),color var(--dur),border-color var(--dur),background var(--dur);
}
html[data-hover="on"] .postbit_buttons>a:hover{
  transform:translateY(-2px);border-color:var(--accent);color:var(--accent);background:var(--accent-soft);
}
.postbit_buttons a span{padding-left:0;display:inline-flex;height:auto;background:none;}
.post:not(.deleted_post) .postbit_qrestore,
.post:not(.deleted_post) .status_type,
.post.deleted_post .postbit_mirage{display:none;}

/* quotes & code blocks */
blockquote{
  border:1px solid var(--border);border-left:3px solid var(--accent);
  margin:12px 0;background:var(--surface-2);padding:14px 16px;border-radius:var(--radius-sm);
}
blockquote cite{
  font-weight:700;border-bottom:1px solid var(--border);font-style:normal;display:block;
  padding-bottom:8px;margin:0 0 10px;font-family:var(--font-display);color:var(--text);
}
blockquote cite>span{float:right;font-weight:400;font-size:.78rem;color:var(--muted);}
blockquote cite span.highlight{float:none;font-weight:700;padding-bottom:0;}
.codeblock{background:var(--bg-2);border:1px solid var(--border);padding:14px 16px;border-radius:var(--radius-sm);margin:12px 0;}
.codeblock .title{border-bottom:1px solid var(--border);font-weight:700;padding-bottom:8px;margin:0 0 10px;font-family:var(--font-display);}
.codeblock code{
  overflow:auto;height:auto;max-height:220px;display:block;
  font-family:Monaco,Consolas,"Courier New",monospace;font-size:.85rem;color:var(--accent-hover);
}
.smilie{vertical-align:middle;}
.smilie_pointer{cursor:pointer;}
.separator{margin:5px;padding:0;height:0;font-size:1px;list-style-type:none;border-top:1px solid var(--border);}
img.attachment{border:1px solid var(--border);padding:3px;border-radius:8px;background:var(--surface-2);}

/* ============================================================================
   USER COMPONENTS — reputation, polls, profile
   ============================================================================ */
.trow_reputation_positive{background:rgba(87,209,99,.14);}
.trow_reputation_negative{background:rgba(255,93,93,.14);}
.reputation_positive{color:var(--success);}
.reputation_neutral{color:var(--muted);}
.reputation_negative{color:var(--danger);}
.repbox{font-size:1rem;font-weight:800;padding:6px 10px;border-radius:var(--radius-sm);font-family:var(--font-display);}
._neutral{background:var(--surface-3);color:var(--muted);border:1px solid var(--border);}
._minus{background:rgba(255,93,93,.14);color:var(--danger);border:1px solid rgba(255,93,93,.4);}
._plus{background:rgba(87,209,99,.14);color:var(--success);border:1px solid rgba(87,209,99,.4);}

.pollbar{
  background:linear-gradient(90deg,var(--accent-2),var(--accent));
  border:1px solid transparent;height:10px;border-radius:99px;
  box-shadow:0 0 12px rgba(var(--accent-r),var(--accent-g),var(--accent-b),.5);
}
.pollbar .percent{display:none;}
.poll_votedfor{background:var(--accent-soft);border:1px solid transparent;}
.posticons_label{white-space:nowrap;}

.quick_jump{
  background:none;width:auto;height:auto;padding-left:0;margin:0;border:none;
}

/* usercp navigation */
.usercp_nav_item{
  display:block;padding:9px 12px;border-radius:10px;color:var(--text-2);
  font-family:var(--font-display);font-weight:600;font-size:.86rem;
  transition:background var(--dur),color var(--dur);
}
.usercp_nav_item:hover{background:var(--surface-3);color:var(--accent);}

/* moderation tools */
.modtools,.inline_mod,.inline_mod_check{color:var(--text-2);}

/* ============================================================================
   MYBB HEADER / PANEL / FOOTER — neutralize defaults
   ============================================================================ */
#header ul.menu,#footer ul.menu{margin:0;padding:0;list-style:none;}
#header ul.menu li,#footer ul.menu li{margin:0 7px;display:inline;}
#header ul.menu li a{
  padding-left:0;background-image:none;display:inline-flex;align-items:center;gap:6px;
  line-height:1.4;color:var(--text-2);font-family:var(--font-display);font-weight:600;font-size:.86rem;
}
#header ul.menu li a:hover{color:var(--accent);}
#logo ul.top_links{font-weight:700;text-align:right;margin:0;}
#logo ul.top_links a.search,#logo ul.top_links a.memberlist,
#logo ul.top_links a.calendar,#logo ul.top_links a.help,
#logo ul.top_links a.portal{background-position:0 0;background-image:none;padding-left:0;}

#panel{background:transparent;}
#panel .upper{
  background:var(--surface);color:var(--text-2);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:10px 0;clear:both;
}
#panel .upper a:link,#panel .upper a:visited,#panel .upper a:hover,#panel .upper a:active{color:var(--text-2);}
#panel .upper a:hover{color:var(--accent);}
#panel .upper a.logout,#panel .upper a.login,#panel .upper a.lost_password,#panel .upper a.register{
  background-image:none;padding:0;margin-left:12px;font-weight:700;
}
#panel .lower{
  background:var(--surface-2);color:var(--muted);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 0;
}
#panel .lower a:link,#panel .lower a:visited,#panel .lower a:hover,#panel .lower a:active{color:var(--text-2);}
#panel .lower a:hover{color:var(--accent);}
#panel .lower ul.panel_links{float:left;}
#panel .lower ul.user_links{float:right;}
#panel .lower ul.panel_links a.usercp,
#panel .lower ul.panel_links a.modcp,
#panel .lower ul.panel_links a.admincp{background-image:none;padding-left:0;}
#panel .lower ul.user_links li a{padding:0;background-image:none;}

#search{border:0;padding:0;margin:0;float:right;vertical-align:middle;}
#search input{margin:0;}
#search input.textbox{border-color:var(--border);}

#footer{clear:both;}
#footer .upper{
  background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:12px 0;font-size:.85rem;overflow:hidden;
}
#footer a:link,#footer a:visited{color:var(--text-2);}
#footer a:hover,#footer a:active{color:var(--accent);}
#footer .upper .language,#footer .upper .theme{float:right;margin:0 0 0 15px;}
#footer .upper .language select,#footer .upper .theme select{border-color:var(--border);}
#footer .upper ul.bottom_links{float:left;margin:4px 0 0;}
#footer .lower{color:var(--muted);padding:14px 0;overflow:hidden;font-size:.8rem;}
#footer .lower a:link,#footer .lower a:visited{color:var(--text-2);font-weight:700;}
#footer .lower a:hover,#footer .lower a:active{color:var(--accent);text-decoration:none;font-weight:700;}
#footer .lower #current_time{float:right;color:var(--muted);}
#debug{float:right;text-align:right;margin-top:20px;font-size:.78rem;color:var(--muted);}

/* ============================================================================
   THEME-SPECIFIC CLASSES
   ============================================================================ */
.theme-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.theme-card,.theme-panel{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;
}
.theme-card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);}
html[data-hover="on"] .theme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.theme-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;border-bottom:1px solid var(--border);
  font-family:var(--font-display);font-weight:800;font-size:.95rem;
}
.theme-header .icon{color:var(--accent);}
.theme-sidebar{display:flex;flex-direction:column;gap:var(--gap);}
.theme-widget{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;
}
.theme-widget-body{padding:18px;}
.theme-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px;border-radius:var(--radius-sm);
  font-family:var(--font-display);font-weight:700;font-size:.85rem;
  background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#04140a;
  border:1px solid transparent;box-shadow:var(--shadow-accent);cursor:pointer;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
html[data-hover="on"] .theme-button:hover{transform:translateY(-2px);box-shadow:var(--glow);}
.theme-button--ghost{background:transparent;color:var(--text);border-color:var(--border-strong);box-shadow:none;}
.theme-alert{
  padding:13px 16px;border-radius:var(--radius-sm);
  background:var(--accent-soft);color:var(--accent-hover);border:1px solid transparent;font-size:.86rem;
}
.theme-alert--danger{background:rgba(255,93,93,.12);border-color:rgba(255,93,93,.4);color:#ffb3b3;}
.theme-alert--warning{background:rgba(255,204,102,.14);border-color:transparent;color:var(--warning);}
.theme-dropdown{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-strong);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.theme-modal{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-strong);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:22px;
}
.theme-form{display:flex;flex-direction:column;gap:12px;}
.theme-table{width:100%;border-collapse:separate;border-spacing:0;}
.theme-avatar{border-radius:14px;border:2px solid var(--border-strong);object-fit:cover;}
.theme-avatar--hex{
  border:none;border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
.theme-profile-card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px;text-align:center;
}
.theme-forum-card,.theme-thread-card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;margin-bottom:var(--gap);
}
.theme-forum-card .theme-row,.theme-thread-card .theme-row{
  display:flex;align-items:center;gap:14px;padding:15px 18px;
  border-bottom:1px solid var(--border);position:relative;
  transition:background var(--dur),transform var(--dur) var(--ease);
}
.theme-forum-card .theme-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
  transform:scaleY(0);transform-origin:top;transition:transform var(--dur) var(--ease);
}
html[data-hover="on"] .theme-forum-card .theme-row:hover{background:var(--surface-2);}
html[data-hover="on"] .theme-forum-card .theme-row:hover::before{transform:scaleY(1);}
.theme-row:last-child{border-bottom:none;}

/* radius / shadow / animation toggles */
html[data-radius="off"]{--radius:0;--radius-sm:0;--radius-lg:0;--radius-pill:0;}
html[data-shadows="off"]{--shadow-sm:none;--shadow:none;--shadow-lg:none;--shadow-accent:none;}

/* ============================================================================
   THIRD-PARTY: jGrowl / Modal / Impromptu — restyled, functionality intact
   ============================================================================ */
.jGrowl{z-index:9999;color:var(--text);font-size:.85rem;font-family:var(--font-body);position:fixed;}
.jGrowl.top-left{left:0;top:0;}
.jGrowl.top-right{right:0;top:0;}
.jGrowl.bottom-left{left:0;bottom:0;}
.jGrowl.bottom-right{right:0;bottom:0;}
.jGrowl.center{top:0;width:50%;left:25%;}
.jGrowl.center .jGrowl-notification,.jGrowl.center .jGrowl-closer{margin-left:auto;margin-right:auto;}
.jGrowl-notification{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);opacity:.98;
  width:280px;padding:14px;margin:12px;text-align:left;display:none;word-break:break-word;
}
.jGrowl .jGrowl-notification{min-height:40px;}
.jGrowl-notification .jGrowl-header{font-weight:700;font-size:.86rem;font-family:var(--font-display);}
.jGrowl-notification .jGrowl-close{
  background:transparent;color:var(--muted);border:none;z-index:99;float:right;
  font-weight:700;font-size:1em;cursor:pointer;
}
.jGrowl-closer{
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  width:280px;padding:8px 14px;margin:12px;text-align:center;display:none;
  cursor:pointer;font-size:.82rem;font-weight:700;color:var(--text-2);
}
.jGrowl .jGrowl-notification.jgrowl_success{background:rgba(87,209,99,.16);border-color:rgba(87,209,99,.45);color:var(--text);}
.jGrowl .jGrowl-notification.jgrowl_error{background:rgba(255,93,93,.16);border-color:rgba(255,93,93,.45);color:var(--text);}
.jGrowl .jGrowl-notification.jgrowl_process{background:rgba(255,204,102,.16);border-color:rgba(255,204,102,.45);color:var(--text);}
@media print{.jGrowl{display:none;}}

.blocker{
  position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;
  overflow:auto;z-index:9999;padding:20px;box-sizing:border-box;
  background:rgba(4,8,6,.78);text-align:center;
}
.blocker::before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-right:-.05em;}
.blocker.behind{background:transparent;}
.modal{
  width:440px;max-width:94%;text-align:left;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  color:var(--text);display:inline-block;vertical-align:middle;position:relative;z-index:2;
  box-sizing:border-box;border:1px solid var(--border-strong);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;
}
.modal a.close-modal{
  position:absolute;top:-12px;right:-12px;display:block;width:30px;height:30px;
  text-indent:-9999px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:50%;
}
.modal-spinner{
  display:none;width:64px;height:64px;position:fixed;top:50%;left:50%;
  margin-right:-32px;margin-top:-32px;border-radius:var(--radius-sm);background:var(--surface-3);
}

.jqifade{position:absolute;background:rgba(4,8,6,.7);}
iframe.jqifade{display:block;z-index:-1;}
div.jqi{
  width:420px;max-width:92%;font-family:var(--font-body);position:absolute;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));color:var(--text);
  font-size:.88rem;text-align:left;border:1px solid var(--border-strong);
  border-radius:var(--radius);padding:8px;box-shadow:var(--shadow-lg);
}
div.jqi .jqiclose{position:absolute;top:6px;right:2px;width:18px;cursor:pointer;color:var(--muted);font-weight:700;}
div.jqi .jqistate{background:transparent;}
div.jqi .jqititle{padding:10px 12px;font-size:1.05rem;line-height:1.4;border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:800;}
div.jqi .jqimessage{padding:14px 12px;line-height:1.6;color:var(--text-2);overflow:auto;}
div.jqi .jqibuttonshide{display:none;}
div.jqi .jqibuttons{
  text-align:right;margin:0 -8px -8px;border-top:1px solid var(--border);
  background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);overflow:hidden;
}
div.jqi .jqibuttons button{
  margin:0;padding:14px 20px;background:transparent;border:none;border-left:1px solid var(--border);
  color:var(--text-2);font-weight:700;font-size:.86rem;box-shadow:none;border-radius:0;
}
div.jqi .jqibuttons button.jqidefaultbutton{color:var(--accent);}
div.jqi .jqibuttons button:hover,div.jqi .jqibuttons button:focus{color:var(--accent-hover);outline:none;transform:none;box-shadow:none;background:var(--surface-3);}
div.jqi .jqibuttons button[disabled]{color:var(--muted);}
.jqiwarning .jqi .jqibuttons{background:rgba(255,93,93,.16);}
div.jqi .jqiparentstate::after{
  background:rgba(4,8,6,.6);content:'';position:absolute;top:0;left:0;bottom:0;right:0;border-radius:var(--radius);
}
div.jqi .jqisubstate{
  position:absolute;top:0;left:20%;width:60%;padding:8px;
  border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);
}
div.jqi .jqisubstate .jqibuttons button{padding:10px 18px;}
.jqi .jqiarrow{position:absolute;height:0;width:0;line-height:0;font-size:0;border:solid 10px transparent;}
.jqi .jqiarrowtl{left:10px;top:-20px;border-bottom-color:var(--surface);}
.jqi .jqiarrowtc{left:50%;top:-20px;border-bottom-color:var(--surface);margin-left:-10px;}
.jqi .jqiarrowtr{right:10px;top:-20px;border-bottom-color:var(--surface);}
.jqi .jqiarrowbl{left:10px;bottom:-20px;border-top-color:var(--surface);}
.jqi .jqiarrowbc{left:50%;bottom:-20px;border-top-color:var(--surface);margin-left:-10px;}
.jqi .jqiarrowbr{right:10px;bottom:-20px;border-top-color:var(--surface);}
.jqi .jqiarrowlt{left:-20px;top:10px;border-right-color:var(--surface);}
.jqi .jqiarrowlm{left:-20px;top:50%;border-right-color:var(--surface);margin-top:-10px;}
.jqi .jqiarrowlb{left:-20px;bottom:10px;border-right-color:var(--surface);}
.jqi .jqiarrowrt{right:-20px;top:10px;border-left-color:var(--surface);}
.jqi .jqiarrowrm{right:-20px;top:50%;border-left-color:var(--surface);margin-top:-10px;}
.jqi .jqiarrowrb{right:-20px;bottom:10px;border-left-color:var(--surface);}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width:1440px){
  .wrapper,.theme-container{padding:0 20px;}
}

@media (max-width:1200px){
  :root{--gap:16px;}
  .post.classic .post_author{width:22%;}
  .post.classic .post_content{width:78%;}
}

@media (max-width:1024px){
  .wrapper,.theme-container{padding:0 16px;}
  #container{min-width:0;}
  .post.classic .post_author{float:none;width:auto;border-right:none;border-bottom:1px solid var(--border);padding:14px 18px;}
  .post.classic .post_content{float:none;width:auto;padding:14px 18px;}
  .post.classic .post_author div.author_avatar{float:left;margin-right:12px;}
  .post.classic .post_author div.author_information{float:left;text-align:left;}
  .post.classic .post_author div.author_statistics{border-top:none;margin:0;padding:4px 0;float:right;text-align:right;}
  #panel .lower ul.panel_links,#panel .lower ul.user_links{float:none;display:block;text-align:center;}
  #footer .upper .language,#footer .upper .theme,#footer .upper ul.bottom_links{float:none;margin:6px 0;text-align:center;}
}

@media (max-width:768px){
  :root{--radius:14px;--radius-sm:10px;}
  body{font-size:.92rem;}
  .wrapper,.theme-container{padding:0 14px;}
  #content{padding:14px 0;}
  /* collapse wide MyBB tables into readable blocks */
  .tborder td{padding:12px 14px;}
  .thead,.tcat{padding:12px 14px;}
  /* hide low-value columns on narrow screens */
  .forumdisplay_thread .views,.forum_stats,.thread_views{display:none;}
  .theme-forum-card .theme-row,.theme-thread-card .theme-row{padding:13px 14px;gap:11px;}
  .pagination .pagination_current,.pagination a{min-width:32px;height:32px;font-size:.78rem;}
  #search{float:none;display:block;margin-top:8px;}
  #footer .lower #current_time{float:none;display:block;text-align:center;margin-top:6px;}
  .modal{width:94%;}
  div.jqi{width:94%;}
}

@media (max-width:480px){
  :root{--gap:12px;}
  body{font-size:.9rem;}
  .wrapper,.theme-container{padding:0 12px;}
  .tborder td{padding:10px 12px;}
  .thead,.tcat{padding:10px 12px;font-size:.8rem;}
  .post .post_author{padding:12px 14px;}
  .post_content,.post.classic .post_content{padding:12px 14px;}
  .post_controls{padding:10px 14px;}
  .post .post_author div.author_avatar img,.theme-avatar{width:44px;height:44px;}
  .post .post_author div.author_statistics{float:none;text-align:left;padding:6px 0 0;}
  .postbit_buttons>a:link,.postbit_buttons>a:visited{padding:6px 10px;font-size:.76rem;}
  .pagination{gap:4px;}
  .pagination .pagination_current,.pagination a{min-width:30px;height:30px;padding:0 7px;font-size:.75rem;}
  .theme-header{padding:12px 14px;font-size:.88rem;}
  .theme-widget-body{padding:14px;}
  fieldset{padding:12px;}
  input.textbox,textarea,select{padding:9px 11px;font-size:.88rem;}
  button,input.button,a.button:link,a.button:visited{padding:9px 13px;font-size:.82rem;}
  .jGrowl-notification,.jGrowl-closer{width:calc(100vw - 24px);margin:8px 12px;}
}

/* prevent horizontal overflow on all breakpoints */
img,table,pre,.codeblock code{max-width:100%;}
.tborder{display:block;overflow-x:auto;}
@media (min-width:769px){.tborder{display:table;overflow-x:visible;}}
