/* ═══════════════════════════════════════════════════════════════════════
   SceneTime — base.css
   All site styles. Load AFTER dark.css or light.css.
   Uses CSS variables (--accent, --bg, --text, etc.) throughout.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Body / global base ─────────────────────────────────────────────── */
body {
  background: var(--bg);
  color: var(--text);
  margin: 0; padding: 0;
  font-family: verdana, arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
table td { white-space: normal; }
a:link, a:visited { color: var(--text-link); text-decoration: none; }
a:hover { color: var(--accent); text-decoration: none; }
img { border: 0; }
h1, h2, h3, h4 { color: var(--text-bright); margin: 0 0 10px; }

/* ── Global form elements ──────────────────────────────────────────── */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
textarea,
select {
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  padding: 6px 10px;
  border-radius: 4px;
  font-family: inherit;
  font-size: 13px;
  outline: none;
  transition: border-color .2s;
}
input:focus, textarea:focus, select:focus { border-color: var(--input-focus); }
button, input[type="submit"], input[type="button"] {
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
}

/* ── Utility color classes ─────────────────────────────────────────── */
.blue { color: var(--blue); }
.red  { color: var(--red); }
.green { color: var(--green); }
.gold { color: var(--gold); }
.text-danger  { color: var(--red); }
.text-success { color: var(--green); }
.text-warning { color: var(--gold); }
.text-info    { color: var(--blue); }
.text-muted   { color: var(--text-muted); }
.badge-unread {
  display: inline-block; background: var(--red); color: #fff;
  padding: 2px 6px; border-radius: 10px; font-size: 11px; font-weight: 700;
}
.inline-form { display: inline; margin: 0; }

/* ── VPimg.js image zoom (global) ──────────────────────────────────── */
img.bbImg { max-width: 100%; height: auto; }
.zoomWarp { display: inline-block; position: relative; max-width: 100%; }
.maxSize { max-width: 700px; height: auto; cursor: pointer; }
.zoomBtn, .zoom { display: none; }

/* ── Scroll-to-top button ──────────────────────────────────────────── */
.scrollToTop {
  display: none;
  position: fixed;
  bottom: 20px; right: 20px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  text-align: center;
  line-height: 36px;
  font-size: 18px;
  z-index: 9000;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  text-decoration: none;
}
.scrollToTop:hover { background: var(--accent-dark); color: #fff; text-decoration: none; }

/* ── Staff panel link ──────────────────────────────────────────────── */
.staff-pan {
  position: fixed;
  top: 10px; right: 10px;
  z-index: 9999;
  text-decoration: none;
}

/* ── CSS spinner (replaces loading.gif everywhere) ─────────────────── */
@keyframes st-spin { to { transform: rotate(360deg); } }
.st-spinner {
  display: inline-block;
  width: 18px; height: 18px;
  border: 2px solid var(--border-lg);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: st-spin .6s linear infinite;
  vertical-align: middle;
}
.st-spinner--lg { width: 32px; height: 32px; border-width: 3px; }

/* ── Announcement banner (.scx-banner-*) ───────────────────────────── */
.scx-banner-deck {
  max-width: 1280px; margin: 12px auto; padding: 0 12px;
  display: flex; flex-wrap: wrap; gap: 10px;
  justify-content: center;
}
/* Base card — uses --scx-bg and --scx-color from inline style */
a.scx-banner-card, a.scx-banner-card:link, a.scx-banner-card:visited {
  border-radius: 8px;
  border: 1px solid var(--border-lg);
  padding: 10px 18px;
  background: var(--scx-bg, var(--bg-card));
  color: var(--scx-color, var(--text));
  display: flex; flex-direction: column; gap: 4px;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none; cursor: pointer;
}
a.scx-banner-card:hover { transform: translateY(-2px); opacity: .9; }
.scx-banner-card--glow .scx-banner-card__label {
  animation: scx-glow-pulse 2s ease-in-out infinite;
}
@keyframes scx-glow-pulse {
  0%,100% { box-shadow: 0 0 8px 0 rgba(230,126,34,.3), 0 0 16px 0 rgba(52,152,219,.15); }
  50%     { box-shadow: 0 0 14px 3px rgba(230,126,34,.5), 0 0 28px 3px rgba(52,152,219,.25); }
}
.scx-banner-card__label {
  display: inline-block;
  padding: 2px 10px; border-radius: 4px;
  font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  background: var(--bg-raised);
  color: var(--accent);
  border: 1px solid var(--border);
  margin-bottom: 2px;
  align-self: flex-start;
}
.scx-banner-card__content { line-height: 1.4; font-weight: 600; }

/* ── AJAX feedback spinner ─────────────────────────────────────────── */
#ajax-feedback {
  display: none;
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
}

/* ── Site-wide layout wrapper (stdhead / stdfoot) ──────────────────── */
/* stdhead() outputs: <div class="startpage"><table class="startTable"><tr><td align="center"> */
/* stdfoot() closes:  </td></tr></table></div>                                                */
.startpage { max-width: 1280px; margin: 0 auto; }

.startTable { width: 100%; border-collapse: collapse; table-layout: fixed; }
.startTable > tbody > tr > td {
  padding: 0;
  text-align: left;
  overflow: hidden;
}

/* ── Navigation ─────────────────────────────────────────────────────── */
.st-nav-wrapper {
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
  box-shadow: var(--nav-shadow);
  z-index: 1000;
}
.st-nav-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px;
  height: var(--nav-height);
}

/* Menu */
.st-nav-menu {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; align-items: stretch;
  gap: 2px;
  height: 100%;
  flex: 1;
  justify-content: space-around;
}
.st-nav-item {
  position: relative;
  display: flex; align-items: stretch;
}

/* Link base */
.st-nav-link {
  display: flex; align-items: center; gap: 8px;
  padding: 0 18px;
  color: var(--nav-text);
  text-decoration: none;
  font-size: 14px; font-weight: 700;
  letter-spacing: .15px;
  white-space: nowrap;
  position: relative;
  transition: color .2s;
}
/* Bottom accent indicator — hidden by default, slides up on hover */
.st-nav-link::after {
  content: '';
  position: absolute; bottom: 0; left: 14px; right: 14px;
  height: 2px;
  background: var(--nav-indicator);
  border-radius: 2px 2px 0 0;
  transform: scaleX(0);
  transition: transform .2s cubic-bezier(.4,0,.2,1);
}
.st-nav-link:hover { color: var(--nav-text-bright); }
.st-nav-link:hover::after,
.st-nav-item:hover > .st-nav-link::after { transform: scaleX(1); }

/* Icons in nav links */
.st-nav-link i.fa {
  font-size: 15px;
  opacity: .5;
  transition: opacity .2s, color .2s;
}
.st-nav-link:hover i.fa { opacity: .9; }
.st-nav-link .fa-angle-down {
  font-size: 10px; opacity: .35;
  margin-left: -3px;
  transition: transform .2s, opacity .2s;
}
.st-nav-item:hover > .st-nav-link .fa-angle-down {
  transform: rotate(180deg);
  opacity: .7;
}

/* Active page */
.st-nav-link.st-nav-active { color: var(--nav-text-bright); }
.st-nav-link.st-nav-active::after { transform: scaleX(1); }
.st-nav-link.st-nav-active i.fa { opacity: .9; color: var(--nav-accent); }

/* ── Dropdown ──────────────────────────────── */
.st-nav-dropdown {
  position: absolute; top: 100%; left: 0;
  min-width: 200px; list-style: none;
  margin: 0; padding: 5px;
  background: var(--nav-dd-bg);
  border: 1px solid var(--nav-dd-border);
  border-radius: 8px;
  box-shadow: var(--nav-dd-shadow);
  z-index: 2000;
  /* Animated reveal */
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .15s, transform .15s, visibility .15s;
}
.st-nav-item:hover > .st-nav-dropdown,
.st-nav-item:focus-within > .st-nav-dropdown {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.st-nav-dropdown-item a {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px;
  color: var(--nav-text);
  text-decoration: none;
  font-size: 12.5px; font-weight: 450;
  border-radius: 5px;
  transition: background .12s, color .12s;
}
.st-nav-dropdown-item a:hover {
  background: var(--nav-hover);
  color: var(--nav-text-bright);
}
.st-nav-dropdown-item a i {
  width: 18px; text-align: center;
  color: var(--nav-accent);
  font-size: 12px;
  opacity: .7; flex-shrink: 0;
}
.st-nav-dropdown-item a:hover i { opacity: 1; }
/* Divider inside dropdowns */
.st-nav-dropdown-divider {
  height: 1px;
  background: var(--nav-dd-border);
  margin: 4px 8px;
}

/* ── Badge ──────────────────────────────────── */
.st-nav-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 8px;
  background: var(--nav-accent); color: #fff;
  font-size: 9px; font-weight: 700; line-height: 1;
  margin-left: 2px;
}

/* ── Donate link (special CTA styling) ─────── */
.st-nav-link--donate {
  color: var(--red) !important;
}
.st-nav-link--donate i.fa { color: var(--red); opacity: .8; }
.st-nav-link--donate::after { background: var(--red); }

/* ── Animated notification icon ────────────── */
@keyframes st-nav-bell {
  0%,100%  { transform: rotate(0); }
  20%      { transform: rotate(-12deg); }
  40%      { transform: rotate(12deg); }
  60%      { transform: rotate(-8deg); }
  80%      { transform: rotate(8deg); }
}
.st-nav-icon-animate {
  display: inline-block;
  animation: st-nav-bell 1.4s ease-in-out 2s 3;
  color: var(--nav-accent) !important;
  opacity: 1 !important;
}

/* ── Responsive nav ────────────────────────── */
@media (max-width: 900px) {
  .st-nav-inner { padding: 0 10px; }
  .st-nav-link { padding: 0 10px; font-size: 12px; }
}

/* ══════════════════════════════════════════════════════════════════════ */
/* ── StatusBar ──────────────────────────────────────────────────────── */
/* ══════════════════════════════════════════════════════════════════════ */
.st-status-bar {
  background: var(--sb-bg);
  border-bottom: 1px solid var(--sb-border);
}
.st-status-container {
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
  padding: 5px 20px;
  font-size: 12px;
  color: var(--nav-text);
  min-height: 34px;
  gap: 12px;
}
.st-status-left {
  display: flex; align-items: center; gap: 12px;
  min-width: 0;
}
.st-status-right {
  display: flex; align-items: center; gap: 8px;
  flex-shrink: 0;
}

/* Avatar + dropdown trigger */
.st-status-profile-trigger {
  position: relative;
  cursor: pointer;
}
.st-status-avatar-wrapper {
  width: 42px; height: 42px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color .2s;
  flex-shrink: 0;
}
.st-status-profile-trigger:hover .st-status-avatar-wrapper {
  border-color: var(--nav-accent);
}
.st-status-avatar {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.st-status-profile-trigger .st-nav-dropdown {
  top: 100%; left: 0;
  margin-top: 6px;
}
.st-status-profile-trigger:hover > .st-nav-dropdown,
.st-status-profile-trigger:focus-within > .st-nav-dropdown {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}

/* User info */
.st-status-user-info {
  display: flex; flex-direction: column; gap: 1px;
  min-width: 0;
}
.st-status-username-row {
  display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
}
.st-status-username {
  color: var(--nav-text-bright);
  font-weight: 600;
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.st-status-username:hover { color: var(--nav-accent); }
.st-status-stats {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap;
}
.st-status-stat-item {
  display: inline-flex; align-items: center; gap: 4px;
  color: var(--nav-text);
  font-size: 11px;
  white-space: nowrap;
}
.st-status-stat-item i { font-size: 10px; }
.st-status-stat-item .blue { color: var(--blue); }
.st-status-stat-item .red  { color: var(--red); }

/* Right-side action buttons */
.st-status-actions {
  display: flex; align-items: center; gap: 2px;
}
.st-status-action-btn {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 6px;
  color: var(--nav-text);
  text-decoration: none;
  font-size: 13px;
  transition: background .15s, color .15s;
}
.st-status-action-btn:hover {
  background: var(--nav-hover);
  color: var(--nav-text-bright);
}
.st-status-action-btn--staff {
  gap: 4px; width: auto; padding: 0 8px;
  font-size: 11px; font-weight: 600;
}
.st-status-action-btn--staff span { font-size: 11px; }

/* Badge (message count etc.) */
.st-status-badge {
  position: absolute; top: 0; right: 0;
  min-width: 14px; height: 14px; padding: 0 3px;
  border-radius: 7px;
  background: var(--red); color: #fff;
  font-size: 8px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  pointer-events: none;
}

/* Theme toggle */
.st-status-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  background: none; border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  transition: background .15s;
  position: relative;
}
.st-status-theme-toggle:hover { background: var(--nav-hover); }
.theme-icon {
  position: absolute;
  transition: opacity .3s, transform .3s;
}
.dark-theme .sun-icon  { opacity: 0; transform: rotate(180deg) scale(0); }
.dark-theme .moon-icon { opacity: 1; transform: rotate(0deg) scale(1); }
.light-theme .sun-icon  { opacity: 1; transform: rotate(0deg) scale(1); }
.light-theme .moon-icon { opacity: 0; transform: rotate(-180deg) scale(0); }

/* Time */
.st-status-time {
  color: var(--nav-text);
  font-size: 11px;
  white-space: nowrap;
  opacity: .6;
}

/* Responsive status bar */
@media (max-width: 768px) {
  .st-status-container { padding: 5px 10px; }
  .st-status-stats { display: none; }
  .st-status-time  { display: none; }
  .st-status-action-btn--staff span { display: none; }
}

/* ── Alert bars (HNR / Ratio warnings) ─────────────────────────────── */
.st-alert-bar {
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 20px;
  font-size: 13px; font-weight: 600;
  text-align: center;
}
.st-alert-bar a {
  color: inherit; text-decoration: underline;
  font-weight: 700;
}
.st-alert-bar i { margin-right: 6px; }
.st-alert-bar--danger {
  background: var(--red-dim);
  color: var(--red);
  border-bottom: 1px solid rgba(231,76,60,.2);
}
.st-alert-bar--danger a { color: var(--gold); }

/* ── VPbox modal ─────────────────────────────────────────────────────── */
/* VPbox.js positions #vpbox via left/top CSS; it is the dialog itself  */
#vpbox {
  display: none;
  position: fixed;
  z-index: 9998;
  background: var(--modal-bg);
  border: 1px solid var(--modal-border);
  border-radius: 10px;
  width: 660px;
  max-width: calc(100vw - 30px);
  max-height: 85vh;
  overflow-y: auto;
  box-shadow: 0 12px 48px rgba(0,0,0,.65);
}
#vpbox h3 {
  padding: 16px 46px 14px 20px;
  margin: 0;
  font-size: 15px; font-weight: 700;
  color: var(--modal-text);
  border-bottom: 1px solid var(--modal-head-border);
}
#vpbox h3 span { color: var(--modal-text); }

/* Reputation popup (.rp-*) */
.rp-popup { padding: 16px 20px; }
.rp-summary { display: flex; gap: 24px; padding: 12px 16px; background: var(--bg-alt); border-radius: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.rp-summary-item { display: flex; flex-direction: column; gap: 2px; }
.rp-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: var(--text-muted); }
.rp-value { font-size: 14px; font-weight: 700; color: var(--text-bright); }
.rp-points { color: var(--accent); }
.rp-field { margin-bottom: 14px; }
.rp-field-label { font-size: 12px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; display: block; }
.rp-radio-group { display: flex; gap: 10px; flex-wrap: wrap; }
.rp-radio-opt { cursor: pointer; }
.rp-radio-opt input[type="radio"] { display: none; }
.rp-radio-ui { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 600; border: 2px solid var(--border); color: var(--text-muted); background: var(--bg-alt); cursor: pointer; transition: all .15s; }
.rp-radio-opt input[type="radio"]:checked + .rp-radio-pos { border-color: var(--green, #22c55e); color: var(--green, #22c55e); background: var(--green-dim, rgba(34,197,94,.1)); }
.rp-radio-opt input[type="radio"]:checked + .rp-radio-neg { border-color: var(--red, #ef4444); color: var(--red, #ef4444); background: var(--red-dim, rgba(239,68,68,.1)); }
.rp-radio-ui:hover { border-color: var(--accent); color: var(--text-bright); }
.rp-input { width: 100%; padding: 8px 12px; border-radius: 6px; border: 1px solid var(--input-border); background: var(--input-bg); color: var(--input-text); font-size: 13px; font-family: inherit; box-sizing: border-box; }
.rp-input:focus { border-color: var(--accent); outline: none; }
.rp-input::placeholder { color: var(--text-dim); }
.rp-comments-head { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--text-muted); padding: 0 0 6px; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
.rp-comments { max-height: 280px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.rp-comment-row { display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px; border-radius: 6px; background: var(--bg-alt); font-size: 13px; color: var(--text); }
.rp-comment-row img { flex-shrink: 0; margin-top: 2px; }
.rp-empty { text-align: center; padding: 24px 0; color: var(--text-dim); font-size: 13px; }
.rp-success-msg { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: var(--green-dim, rgba(34,197,94,.1)); border: 1px solid var(--green, #22c55e); border-radius: 8px; color: var(--text-bright); font-size: 14px; font-weight: 600; margin-bottom: 16px; }
.rp-success-msg .fa { color: var(--green, #22c55e); font-size: 18px; }
.rp-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 12px; border-top: 1px solid var(--border); }
.rp-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 6px; border: none; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s; }
.rp-btn--primary { background: var(--accent); color: #fff; }
.rp-btn--primary:hover { background: var(--accent-dark); color: #fff; }
.rp-btn--outline { background: transparent; color: var(--text-muted); border: 1px solid var(--border); }
.rp-btn--outline:hover { color: var(--text-bright); border-color: var(--text-muted); }

.xclose {
  position: absolute; top: 12px; right: 16px;
  font-size: 22px; line-height: 1;
  color: var(--text-muted);
  cursor: pointer; transition: color .15s; z-index: 1;
}
.xclose:hover { color: var(--text-bright); }
.box_content.dialog { color: var(--modal-text); position: relative; }
.box_body { padding: 18px 20px; }
.box_options {
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  padding: 12px 20px;
  border-top: 1px solid var(--modal-head-border);
}
/* VPbox form layout */
.box_body dl { margin: 0; }
.box_body dt.label {
  float: left; clear: left; width: 130px;
  padding: 8px 0; font-size: 12px; color: var(--text-muted); font-weight: 600;
}
.box_body dd { margin-left: 140px; padding: 6px 0; }
.box_body input[type=text], .box_body textarea, .box_body select {
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  border-radius: 5px; padding: 7px 10px; font-size: 13px;
  width: 100%; box-sizing: border-box; font-family: inherit;
}
.box_body input[type=text]:focus, .box_body textarea:focus, .box_body select:focus {
  border-color: var(--input-focus); outline: none;
}
.box_body textarea { min-height: 80px; resize: vertical; }
.box_body .twocol { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.box_body .labFix { display: inline-flex; align-items: center; gap: 8px; }
.box_body .offer  { width: 70px !important; }
.box_body .offerLimit { font-size: 11px; color: var(--text-muted); }
/* VPbox action button */
.box_body label.uiButton, .box_options label.uiButton { display: inline-flex; cursor: pointer; }
.box_body label.uiButton.absoluteRight { margin-left: auto; }
.box_body label.uiButton button, .box_options label.uiButton button {
  all: unset; box-sizing: border-box;
  padding: 8px 20px; border-radius: 6px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  background: var(--accent); color: #fff;
  transition: background .15s;
}
.box_body label.uiButton button:hover,
.box_options label.uiButton button:hover { background: var(--accent-dark); }

/* ── Tooltip (tTip) + Info Card (iCard) ─────────────────────────────── */
/* JS appends .tTip inside .tTipWrap on hover; .ttop = arrow on top      */
.tTipWrap { position: relative; }
.tTip {
  display: none;
  position: absolute;
  z-index: 9000;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-card);
  border: 1px solid var(--border-lg);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  color: var(--text);
  white-space: nowrap;
  box-shadow: 0 6px 24px rgba(0,0,0,.45);
  pointer-events: none;
}
.tTipWrap:hover .tTip { display: block; }
.tTip.ttop { bottom: calc(100% + 8px); }
/* Arrow */
.tTip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--border-lg);
}

/* iCard — movie info card tooltip */
.tTip.iCard {
  white-space: normal;
  width: 520px;
  max-width: 90vw;
  display: none;
  padding: 0;
  overflow: hidden;
}
.tTipWrap:hover .tTip.iCard { display: flex; }
.iCard .lCol {
  flex-shrink: 0;
  width: 180px;
  background: var(--bg-alt);
}
.iCard .lCol .poster {
  width: 100%;
  height: auto;
  display: block;
}
.iCard .rCol {
  flex: 1;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iCard .rCol h1 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
  margin: 0;
  line-height: 1.3;
}
.iCard .tags { font-size: 12px; color: var(--text-muted); }
.iCard .rating { font-size: 13px; color: var(--gold); }
.iCard .rating img { width: 14px; height: 14px; vertical-align: middle; }
.iCard .plot { font-size: 12px; color: var(--text); line-height: 1.5; }
.iCard .cast { font-size: 12px; color: var(--text-muted); font-style: italic; }
.cardHov { cursor: pointer; }

/* ── Top Torrents — legacy table (top5.php) ────────────────────────── */
.st-browse-top5 {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.st-browse-top5 td { padding: 6px 10px; border: none; border-bottom: 1px solid var(--border-sub); }
.st-browse-top5 .cat_Head {
  background: var(--bg-raised);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 8px 10px;
}
.st-browse-top5 a.ii { color: var(--text-link); text-decoration: none; }
.st-browse-top5 a.ii:hover { color: var(--accent); }
.st-browse-top5 font[color="black"] b,
.st-browse-top5 font b { color: var(--text); }

/* ── Top Torrents — modern cards (top5new.php) ─────────────────────── */
.top5-row-list {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 4px 0;
  scrollbar-width: thin;
}
.top5-card {
  position: relative;
  flex: 0 0 180px;
  height: 240px;
  border-radius: 10px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-color: var(--bg-raised);
}
.top5-card-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 10px;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 50%, transparent 100%);
}
.top5-rank {
  position: absolute;
  top: 8px; left: 8px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
}
.top5-rating {
  position: absolute;
  top: 8px; right: 8px;
  font-size: 11px;
  color: var(--gold);
}
.top5-title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 6px;
}
.top5-title a { color: #fff; text-decoration: none; }
.top5-title a:hover { color: var(--accent); }
.top5-stats {
  display: flex;
  gap: 10px;
  font-size: 11px;
}
.top5-seeders { color: var(--green); }
.top5-leechers { color: var(--red); }

/* ── Inbox / Messages ──────────────────────────────────────────────── */
.chat-container {
  max-width: 1280px;
  margin: 20px auto;
  border-color: var(--border-lg);
  background: var(--bg-card);
  border-radius: 10px;
}
.chat-sidebar { border-right-color: var(--border-lg); background: var(--bg-alt); }
.chat-sidebar-header { border-bottom-color: var(--border); }
.chat-search-input { background: var(--input-bg); border-color: var(--input-border); color: var(--input-text); }
.chat-search-input:focus { border-color: var(--accent); }
.conv-name { color: var(--text-bright); }
.conv-time { color: var(--text-muted); }
.conv-preview { color: var(--text-muted); }
.conversation-item { border-bottom-color: var(--border-sub); }
.conversation-item:hover, .conversation-item.active { background: var(--bg-hover); }
.chat-header { border-bottom-color: var(--border); background: var(--bg-raised); }
.chat-header-name { color: var(--text-bright); }
.chat-messages { background: var(--bg); }
.message-received { background: var(--bg-raised); border-color: var(--border); color: var(--text); }
.message-sent { background: var(--bg-raised); color: var(--text); border: 1px solid var(--border); }
.message-time { color: var(--text-dim); }
.chat-input-area { border-top-color: var(--border); background: var(--bg-card); }
.chat-input { background: var(--input-bg); border-color: var(--input-border); color: var(--input-text); border-radius: 20px; }
.chat-input:focus { border-color: var(--accent); }
.chat-send-btn { background: var(--accent); }
.chat-send-btn:hover { background: var(--accent-dark); }
.chat-send-btn:disabled { background: var(--border-lg); }
.chat-empty-state { color: var(--text-muted); }
.typing-indicator { background: var(--bg-raised); border-color: var(--border); }
.typing-dot { background: var(--text-muted); }
.emoji-bar { border-color: var(--border); background: var(--bg-raised); }
.msg-delete-btn { background: var(--bg-card); border-color: var(--border); color: var(--red); }
.msg-delete-btn:hover { background: var(--red-dim); }
.unread-badge { background: var(--red); color: #fff; }

/* ── Chat (.ct-*) ──────────────────────────────────────────────────── */
.ct-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }
.ct-welcome {
  padding: 10px 16px; margin-bottom: 12px; border-radius: 8px;
  background: var(--accent-dim); border: 1px solid var(--accent);
  text-align: center; font-size: 13px; color: var(--text);
}
.ct-welcome a { color: var(--accent); font-weight: 600; }
.ct-disabled {
  padding: 24px; text-align: center; border-radius: 8px;
  background: var(--red-dim); border: 1px solid var(--red);
  color: var(--text); font-size: 14px;
}
.ct-toggle-btn {
  display: inline-block; margin-left: 12px; padding: 4px 14px;
  background: var(--green); color: #fff; border-radius: 4px;
  font-size: 12px; text-decoration: none;
}

/* Header */
.ct-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px; background: var(--bg-card);
  border: 1px solid var(--border); border-radius: 10px 10px 0 0;
  font-size: 14px; font-weight: 700; color: var(--text-bright);
}
.ct-header-left { display: flex; align-items: center; gap: 10px; }
.ct-header-left i { color: var(--accent); }
.ct-online-count { font-size: 11px; font-weight: 400; color: var(--text-muted); }
.ct-close-btn { color: var(--red); font-size: 14px; text-decoration: none; opacity: .6; }
.ct-close-btn:hover { opacity: 1; }

/* Body: sidebar + main */
.ct-body {
  display: flex;
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 10px 10px;
  background: var(--bg-card);
  min-height: 480px; max-height: 600px;
  overflow: hidden;
}

/* Sidebar */
.ct-sidebar {
  width: 140px; flex-shrink: 0;
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column;
  background: var(--bg-alt);
}
.ct-sidebar-head {
  padding: 8px 12px; font-size: 11px; font-weight: 700;
  color: var(--text-muted); text-transform: uppercase;
  letter-spacing: .5px; border-bottom: 1px solid var(--border);
}
.ct-user-list {
  flex: 1; overflow-y: auto; padding: 6px 10px;
  display: flex; flex-direction: column; gap: 3px;
}
.ct-user {
  font-size: 11px; font-weight: 600; text-decoration: none;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  padding: 2px 0;
}
.ct-user:hover { text-decoration: none; }

/* Main area */
.ct-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }

/* Tabs */
.ct-tabs {
  display: flex; gap: 0; border-bottom: 1px solid var(--border);
  background: var(--bg-raised); flex-shrink: 0;
}
.ct-tab {
  all: unset; box-sizing: border-box;
  padding: 8px 18px; font-size: 12px; font-weight: 600;
  color: var(--text-muted); cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.ct-tab:hover { color: var(--text-bright); }
.ct-tab.active { color: var(--accent); border-bottom-color: var(--accent); }

/* Messages panel */
.ct-messages {
  flex: 1; overflow-y: auto; padding: 0;
  display: none; flex-direction: column;
}
.ct-messages.active { display: flex; }

/* Single message */
.ct-msg {
  padding: 6px 14px;
  border-bottom: 1px solid var(--border-sub);
  font-size: 12px; line-height: 1.5;
  transition: background .1s;
}
.ct-msg:hover { background: var(--bg-hover); }
.ct-msg-staff { border-left: 3px solid var(--accent); }
.ct-msg-time { color: var(--text-dim); font-size: 11px; margin-right: 4px; }
.ct-msg-name { font-weight: 700; text-decoration: none; margin-right: 2px; }
.ct-msg-name:hover { text-decoration: none; }
.ct-msg-actions {
  float: right; opacity: 0; font-size: 10px;
  transition: opacity .15s;
}
.ct-msg:hover .ct-msg-actions { opacity: 1; }
.ct-msg-actions a {
  color: var(--text-muted); text-decoration: none;
  margin-left: 6px; padding: 1px 4px; border-radius: 3px;
}
.ct-msg-actions a:hover { color: var(--accent); background: var(--bg-hover); }
.ct-msg-actions .ct-del:hover { color: var(--red); }
.ct-msg-actions .ct-ban:hover { color: var(--red); }
.ct-msg-body { display: block; margin-top: 2px; color: var(--text); word-break: break-word; }
.ct-msg-body img { max-height: 20px; vertical-align: middle; }

/* UC color classes — use .ct-msg-name prefix to beat a:link specificity (0,2,0 > 0,1,1) */
.ct-msg-name.UC_0 { color: #d934c6; } .ct-msg-name.UC_4 { color: #9370DB; } .ct-msg-name.UC_8 { color: #FFD700; }
.ct-msg-name.UC_12 { color: #1E90FF; } .ct-msg-name.UC_14 { color: #bdb76b; } .ct-msg-name.UC_16 { color: #CD853F; }
.ct-msg-name.UC_20 { color: #00be6c; } .ct-msg-name.UC_24 { color: #05e5cf; } .ct-msg-name.UC_28 { color: #030aac; }
.ct-msg-name.UC_30 { color: #800080; } .ct-msg-name.UC_32 { color: #f80000; } .ct-msg-name.UC_SUPPORT { color: #FF00FF; }

/* Input area */
.ct-input-area {
  border-top: 1px solid var(--border);
  background: var(--bg-raised); padding: 8px 14px;
  flex-shrink: 0;
}
.ct-emojis {
  display: flex; gap: 4px; margin-bottom: 6px;
  overflow-x: auto; scrollbar-width: none;
}
.ct-emojis::-webkit-scrollbar { display: none; }
.ct-emoji {
  all: unset; box-sizing: border-box;
  cursor: pointer; padding: 3px; border-radius: 4px;
  transition: background .1s, transform .1s;
  flex-shrink: 0; line-height: 0;
}
.ct-emoji:hover { background: var(--bg-hover); transform: scale(1.15); }

/* "More" toggle button */
.ct-emoji-more {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 14px; color: var(--text-muted);
  padding: 3px 8px; border-radius: 4px;
  transition: background .1s, color .15s;
}
.ct-emoji-more:hover, .ct-emoji-more.active { color: var(--accent); background: var(--accent-dim); }
.ct-emoji-more img { display: none; }

/* Expanded emoji panel */
.ct-emoji-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-card);
  margin-bottom: 8px;
  padding: 10px;
  max-height: 220px;
  overflow-y: auto;
}
.ct-emoji-group { margin-bottom: 8px; }
.ct-emoji-group:last-child { margin-bottom: 0; }
.ct-emoji-group-label {
  font-size: 10px; font-weight: 700; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 4px; padding-left: 2px;
}
.ct-emoji-group-items { display: flex; flex-wrap: wrap; gap: 2px; }
.ct-emoji-panel .ct-emoji {
  padding: 4px; border-radius: 5px;
}
#ct-form {
  display: flex; gap: 8px; align-items: center;
}
#ct-input {
  flex: 1; padding: 8px 14px; border-radius: 20px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; outline: none;
}
#ct-input:focus { border-color: var(--accent); }
.ct-send {
  all: unset; box-sizing: border-box;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--accent); color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 14px;
  transition: background .15s;
  flex-shrink: 0;
}
.ct-send:hover { background: var(--accent-dark); }

/* Legend */
.ct-legend {
  margin-top: 10px; padding: 8px 14px;
  font-size: 11px; color: var(--text-muted);
  display: flex; flex-wrap: wrap; gap: 6px 14px;
  justify-content: center;
}

/* Responsive */
@media (max-width: 768px) {
  .ct-sidebar { display: none; }
  .ct-tab { padding: 8px 12px; font-size: 11px; }
}

/* ── Details page ──────────────────────────────────────────────────── */
.dt-banner {
  max-width: calc(1280px - 24px); margin: 14px auto 0; padding: 10px 16px;
  border-radius: 8px; font-size: 13px;
  display: flex; align-items: center; gap: 8px;
}
.dt-banner--ban {
  background: var(--red-dim); border: 1px solid var(--red); color: var(--red);
}
.dt-banner--hidden {
  background: rgba(255,193,7,.1); border: 1px solid var(--gold); color: var(--gold);
}
.block-title-bar {
  max-width: 1280px; margin: 16px auto 0; padding: 0 12px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
}
.title-left { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }
.torrent-title {
  font-size: 18px; font-weight: 700; color: var(--text-bright);
  margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.details-title-link { color: var(--text-bright); text-decoration: none; }
.details-title-link:hover { color: var(--accent); }
.search-icon { text-decoration: none; }
.title-right { flex-shrink: 0; }
.download-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 20px; border-radius: 8px;
  background: var(--accent); color: #fff;
  font-size: 13px; font-weight: 600;
  text-decoration: none; transition: background .15s;
}
.download-btn:hover { background: var(--accent-dark); color: #fff; text-decoration: none; }

.block-meta-strip {
  max-width: calc(1280px - 24px); margin: 12px auto; padding: 10px 16px;
  display: flex; flex-wrap: wrap; gap: 8px 20px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; font-size: 12px;
}
.meta-item {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--text-muted);
}
.meta-icon { font-size: 14px; }
.meta-value { color: var(--text); }
.meta-link { color: var(--accent); text-decoration: none; }
.meta-link:hover { text-decoration: none; }
.meta-toggle { color: var(--accent); text-decoration: none; font-size: 11px; }
.meta-item.freeleech { color: var(--green); font-weight: 600; }

/* File list panel */
.filelist-panel {
  max-width: 1280px; margin: 0 auto; padding: 0 12px;
  display: none;
}
.filelist-panel.fl-open { display: block; }
.filelist-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px;
  background: var(--bg-raised); border: 1px solid var(--border);
  border-radius: 8px 8px 0 0;
  font-size: 12px; color: var(--text-muted);
}
.filelist-close { color: var(--text-muted); text-decoration: none; font-size: 14px; }
.filelist-close:hover { color: var(--accent); }
.filelist-content {
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 8px 8px;
  max-height: 300px; overflow-y: auto;
}
.filelist-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.filelist-table td { padding: 4px 10px; border-bottom: 1px solid var(--border-sub); color: var(--text); }
.filelist-header-cell {
  padding: 6px 10px; font-weight: 600; color: var(--text-muted);
  background: var(--bg-alt); font-size: 11px;
}

/* IMDB panel */
.block-imdb-panel {
  max-width: 1280px; margin: 14px auto; padding: 0 12px;
}
.imdb-header {
  padding: 10px 16px; font-size: 13px; font-weight: 700;
  color: var(--text-muted); background: var(--bg-raised);
  border: 1px solid var(--border); border-radius: 8px 8px 0 0;
}
.imdb-content {
  display: flex; gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 8px 8px;
  background: var(--bg-card);
}
.imdb-poster { flex-shrink: 0; }
.imdb-poster img { border-radius: 6px; max-width: 160px; }
.imdb-info { flex: 1; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.imdb-row { display: flex; gap: 8px; }
.imdb-label { font-weight: 700; color: var(--text-muted); min-width: 80px; flex-shrink: 0; }
.imdb-value { color: var(--text); }
.imdb-value.rating { color: var(--gold); font-weight: 700; }
.imdb-value.plot { line-height: 1.5; color: var(--text); }
.imdb-link { color: var(--accent); text-decoration: none; }
.imdb-link:hover { text-decoration: none; }
.imdb-quick-update { font-size: 11px; }

/* Description section */
.block-description {
  max-width: 1280px; margin: 14px auto; padding: 0 12px;
}
.description-header {
  padding: 10px 16px; font-size: 13px; font-weight: 700;
  color: var(--text-muted); background: var(--bg-raised);
  border: 1px solid var(--border);
  border-radius: 8px 8px 0 0;
}
.description-header.align-center { text-align: center; }
.description-content {
  padding: 16px;
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: var(--bg-card);
  color: var(--text);
  font-size: 13px;
  line-height: 1.6;
  overflow-x: auto;
  overflow-y: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/* Images inside description — small thumbnails, click to enlarge */
.description-content img {
  max-width: 300px;
  max-height: 200px;
  height: auto;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity .15s;
}
.description-content img:hover { opacity: .8; }
/* Enlarged state (toggled via JS) */
.description-content img.img-enlarged {
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  cursor: zoom-out;
}
/* BBCode image before VPimg.js processes it */
.description-content img.bbImg {
  max-width: 300px;
  max-height: 200px;
  height: auto;
}
/* VPimg.js zoom system */
.description-content .zoomWarp {
  display: inline-block;
  position: relative;
  max-width: 100%;
}
.description-content .maxSize {
  max-width: 300px !important;
  max-height: 200px !important;
  height: auto !important;
  object-fit: cover;
  cursor: pointer;
}
.description-content .maxSize.img-enlarged {
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain;
  cursor: zoom-out;
}
.description-content .zoomBtn {
  display: none;
}
.description-content .zoom {
  display: none;
}
/* Tables inside description (uploaded by users via BBCode) */
.description-content table {
  max-width: 100%;
  border-collapse: collapse;
  overflow-x: auto;
  display: block;
}
.description-content td, .description-content th {
  padding: 4px 8px;
  border: 1px solid var(--border);
  color: var(--text);
}
/* Preformatted / code blocks */
.description-content pre, .description-content code {
  max-width: 100%;
  overflow-x: auto;
  word-break: break-all;
  background: var(--bg-alt);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 12px;
}
.description-content pre {
  padding: 10px 14px;
  border: 1px solid var(--border);
}
/* Links in description */
.description-content a { color: var(--accent); }
.description-content a:hover { text-decoration: none; }
/* BBCode quote/spoiler blocks */
.description-content blockquote, .description-content .quote {
  border-left: 3px solid var(--accent);
  margin: 8px 0;
  padding: 8px 14px;
  background: var(--bg-alt);
  border-radius: 0 6px 6px 0;
  color: var(--text-muted);
}
/* Prevent any child from overflowing */
.description-content > * {
  max-width: 100%;
}
/* Legacy font tags in descriptions */
.description-content font {
  max-width: 100%;
}

/* Action buttons bar */
.details-actions {
  max-width: 1280px; margin: 10px auto; padding: 0 12px;
}
.details-actions-primary {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 10px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
}

/* Modern buttons */
.modern-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 14px; border-radius: 6px; border: none;
  font-size: 12px; font-weight: 600; cursor: pointer;
  background: var(--accent); color: #fff;
  text-decoration: none; transition: background .15s, border-color .15s, color .15s;
}
.modern-btn:hover { background: var(--accent-dark); color: #fff; text-decoration: none; }
.modern-btn-outline {
  background: transparent; border: 1px solid var(--border-lg);
  color: var(--text-muted);
}
.modern-btn-outline:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); }
.modern-btn-sm { padding: 5px 12px; font-size: 11px; }
.trailer-btn, .mbrowse-trailer-btn {
  cursor: pointer; border: none;
  background: var(--accent); color: #fff;
  padding: 5px 14px; border-radius: 5px;
  font-size: 12px; font-weight: 600;
  transition: background .15s;
}
.trailer-btn:hover, .mbrowse-trailer-btn:hover { background: var(--accent-dark); }

/* Comments */
.comments-section {
  max-width: 1280px; margin: 14px auto; padding: 0 12px;
}
.comments-form {
  padding: 14px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 8px 8px;
}
.comments-rules {
  font-size: 11px; color: var(--text-muted);
  margin-bottom: 10px;
}
.comments-form textarea {
  width: 100%; min-height: 80px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); border-radius: 6px; padding: 10px;
  font-size: 13px; resize: vertical;
}
.comments-form textarea:focus { border-color: var(--accent); }
.comment-submit-btn {
  background: var(--accent); color: #fff; border: none;
  padding: 8px 20px; border-radius: 6px; font-weight: 600;
  cursor: pointer; margin-top: 8px;
  transition: background .15s;
}
.comment-submit-btn:hover { background: var(--accent-dark); }

/* Comment table */
/* Comment table (generated by commenttable() — nested tables: main_frame > frame > table.main per comment) */
#commenttable {
  max-width: 1280px; margin: 0 auto 14px; padding: 0 12px;
}
/* Outer wrapper table (begin_main_frame: <table class=main width=750>) */
#commenttable > table.main {
  width: 100% !important; background: none; border: none;
}
#commenttable > table.main > tbody > tr > td {
  border: none; padding: 0;
}
/* Middle frame table (begin_frame: <table width=100% border=1>) */
#commenttable table[border="1"] {
  width: 100% !important; border-collapse: collapse;
  border: none !important; background: none;
}
#commenttable table[border="1"] > tbody > tr > td {
  border: none !important; padding: 0;
}
/* Individual comment table (begin_table: <table class=main width=100% border=1>) */
#commenttable table.main table.main,
#commenttable table[border="1"] table.main {
  width: 100% !important;
  background: var(--bg-card);
  border: 1px solid var(--border) !important;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
/* Comment sub-header (p.sub — "#123 at 2025-01-01 — [Edit] [Delete]") */
#commenttable p.sub, #commenttable p {
  font-size: 11px; color: var(--text-muted);
  padding: 8px 14px; margin: 0;
  background: var(--bg-raised);
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
#commenttable p.sub a, #commenttable p a { color: var(--accent); font-size: 11px; }
/* Avatar cell (left side, width=150) */
#commenttable td[align="center"][width="150"],
#commenttable td[width="150"] {
  width: 140px !important;
  padding: 12px !important;
  border: none !important;
  border-right: 1px solid var(--border-sub) !important;
  background: var(--bg-alt);
  text-align: center;
  font-size: 11px;
  color: var(--text-muted);
  vertical-align: top;
}
#commenttable td[width="150"] a { color: var(--text-bright); font-weight: 600; font-size: 12px; }
#commenttable td[width="150"] img {
  max-width: 120px; height: auto;
  border-radius: 6px;
  display: block; margin: 6px auto;
}
/* Comment body cell (right side, td.text) */
#commenttable td.text {
  padding: 14px 16px !important;
  border: none !important;
  color: var(--text);
  font-size: 13px;
  line-height: 1.6;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
#commenttable td.text img { max-width: 100%; height: auto; border-radius: 4px; }
#commenttable td.text a { color: var(--accent); }
/* User class banner image */
#commenttable td[width="150"] img[src*="classes/"] {
  border-radius: 3px;
  max-width: 130px;
}
/* Bottom table inside avatar (legacy layout cleanup) */
#commenttable table.bottom { display: none; }
/* Embedded cells */
#commenttable td.embedded, #commenttable td.embedded2 {
  border: none !important; padding: 0 !important; background: none !important;
}
/* Pager inside comment section */
#commenttable > p, #commenttable > div > p {
  text-align: center; font-size: 12px; color: var(--text-muted);
  background: none; border: none; border-radius: 0;
}
.loading-spinner { display: block; text-align: center; margin: 10px 0; }

/* Related torrents */
.details-related {
  max-width: 1280px; margin: 14px auto; padding: 0 12px;
}

/* desc-table (related torrents + legacy detail tables) */
.desc-table {
  width: 100%; border-collapse: collapse;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.desc-table td { padding: 8px 12px; border-bottom: 1px solid var(--border-sub); color: var(--text); font-size: 12px; }
.desc-table a { color: var(--text-link); text-decoration: none; }
.desc-table a:hover { color: var(--accent); }

/* Peers table (seeders/leechers — uses table.main via dltable()) */
.details-peers {
  max-width: 1280px; margin: 14px auto; padding: 0 12px;
}
.details-peers b { color: var(--text-bright); font-size: 13px; }
.details-peers table.main {
  width: 100%; margin: 6px 0 0;
  border-radius: 8px; overflow: hidden;
  border: 1px solid var(--border);
}
.details-peers table.main td {
  padding: 6px 10px;
  border: none;
  border-bottom: 1px solid var(--border-sub);
  font-size: 12px;
  color: var(--text);
}
.details-peers .colhead {
  background: var(--bg-raised);
  color: var(--text-muted);
  font-size: 11px; font-weight: 700;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
}
.details-peers table.main a { color: var(--text-link); text-decoration: none; }
.details-peers table.main a:hover { color: var(--accent); }

/* Shared section header/content card pattern */
.colhead, .colhead6 {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 8px 14px;
  text-align: left;
}
.colhead6 { text-align: center; }

/* Trailer overlay */
.mbrowse-trailer-overlay {
  position: fixed; inset: 0;
  background: var(--bg-overlay);
  display: none; align-items: center; justify-content: center;
  z-index: 9999;
}
.mbrowse-trailer-dialog {
  background: var(--bg-card); border-radius: 10px;
  border: 1px solid var(--border-lg);
  max-width: 900px; width: 90%;
  max-height: 80vh; display: flex; flex-direction: column;
  box-shadow: 0 16px 48px rgba(0,0,0,.5);
}
.mbrowse-trailer-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 16px; border-bottom: 1px solid var(--border);
  color: var(--text-bright);
}
.mbrowse-trailer-header h3 { margin: 0; font-size: 15px; }
.mbrowse-trailer-close {
  background: transparent; border: none; color: var(--text-muted);
  font-size: 20px; cursor: pointer; padding: 0; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 4px; transition: background .15s;
}
.mbrowse-trailer-close:hover { background: var(--bg-hover); color: var(--text-bright); }
.mbrowse-trailer-body { padding: 0 10px 10px; }
.mbrowse-trailer-frame { width: 100%; height: 50vh; border: 0; border-radius: 6px; }

@media (max-width: 768px) {
  .block-title-bar { flex-direction: column; align-items: flex-start; }
  .block-meta-strip { gap: 6px 14px; font-size: 11px; }
  .details-actions-primary { gap: 4px; }
  .modern-btn-sm { padding: 4px 8px; font-size: 10px; }
  .imdb-content { flex-direction: column; }
  .imdb-poster img { max-width: 120px; }
  .imdb-label { min-width: 60px; }
}
.colhead, .colhead6 {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 8px 10px;
  text-align: left;
}
.colhead6 { text-align: center; }

/* Trailer overlay (from details.php inline style) */
.mbrowse-trailer-overlay {
  position: fixed; inset: 0;
  background: var(--bg-overlay);
  display: none; align-items: center; justify-content: center;
  z-index: 9999;
}
.mbrowse-trailer-dialog {
  background: var(--bg-card); border-radius: 8px;
  border: 1px solid var(--border-lg);
  max-width: 900px; width: 90%;
  max-height: 80vh; display: flex; flex-direction: column;
}
.mbrowse-trailer-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 12px; color: var(--text-bright);
}
.mbrowse-trailer-header h3 { margin: 0; font-size: 15px; }
.mbrowse-trailer-close {
  background: transparent; border: none; color: var(--text-muted);
  font-size: 18px; cursor: pointer;
}
.mbrowse-trailer-close:hover { color: var(--text-bright); }
.mbrowse-trailer-body { padding: 0 8px 8px; }
.mbrowse-trailer-frame { width: 100%; height: 50vh; border: 0; border-radius: 4px; }

@media (max-width: 768px) {
  .block-title-bar { flex-direction: column; align-items: flex-start; }
  .block-meta-strip { gap: 6px 14px; }
  .imdb-content { flex-direction: column; }
  .imdb-poster img { max-width: 120px; }
}

/* ── Legacy page wrapper ────────────────────────────────────────────── */
/* Shared by: makepoll, editforums, faq, guides, faqmanage, subscribed_topics,
   bookmark, mytorrents, upload, userdetails, my, and other legacy pages */
.legacy-page {
  max-width: 1280px; margin: 16px auto; padding: 0 12px;
}

/* ── Legacy table.main scoped styles ────────────────────────────────── */
table.main {
  background: var(--bg-card); border-collapse: collapse; margin: 0 auto;
  width: 100%; border: 1px solid var(--border); border-radius: 8px;
  overflow: hidden;
}
table.main td {
  color: var(--text); border: none; border-bottom: 1px solid var(--border-sub);
  padding: 8px 12px; font-size: 12px;
}
table.main th, table.main td.colhead, table.main .colhead {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 8px 12px;
  text-transform: uppercase; letter-spacing: .3px;
  border-bottom: 1px solid var(--border);
}
table.main a:link, table.main a:visited { color: var(--text-link-lg); text-decoration: none; }
table.main a:hover { color: var(--accent); text-decoration: none; }
table.main tr:hover td { background: var(--bg-hover); }
#commenttable table.main tr:hover td { background: inherit; }
table.main input[type="text"], table.main textarea, table.main select {
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); padding: 6px 10px; border-radius: 4px;
  font-size: 12px; font-family: inherit;
}
table.main input[type="submit"], table.main input[type="button"] {
  background: var(--accent); color: #fff; border: none;
  padding: 6px 16px; border-radius: 4px; font-size: 12px;
  font-weight: 600; cursor: pointer; font-family: inherit;
}
table.main input[type="submit"]:hover { background: var(--accent-dark); }

/* ── desc-table (used by upload, userdetails, my, subscribed_topics) ── */
.desc-table {
  width: 100%; border-collapse: collapse;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; overflow: hidden;
}
.desc-table td {
  padding: 8px 14px; border-bottom: 1px solid var(--border-sub);
  color: var(--text); font-size: 12px; vertical-align: top;
}
.desc-table td:first-child {
  width: 180px; font-weight: 600; color: var(--text-muted);
  white-space: nowrap;
}
.desc-table a { color: var(--text-link); text-decoration: none; }
.desc-table a:hover { color: var(--accent); }
.desc-table input[type="text"],
.desc-table input[type="password"],
.desc-table textarea,
.desc-table select {
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); padding: 6px 10px; border-radius: 4px;
  font-size: 12px; font-family: inherit;
}
.desc-table input[type="submit"], .desc-table input[type="button"] {
  background: var(--accent); color: #fff; border: none;
  padding: 6px 16px; border-radius: 4px; font-size: 12px;
  font-weight: 600; cursor: pointer;
}
.desc-table input[type="submit"]:hover { background: var(--accent-dark); }

/* ── Shared header classes ─────────────────────────────────────────── */
.colhead, td.colhead, .colhead4, td.colhead4, .colhead6 {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 10px 14px;
  border-bottom: 1px solid var(--border);
}
.colhead4 { text-align: left; }
.colhead6 { text-align: center; }
.rowhead {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 8px 14px;
  text-transform: uppercase; letter-spacing: .3px;
}

/* ── Legacy page titles ────────────────────────────────────────────── */
.legacy-page h1, .legacy-page h2 {
  font-size: 16px; font-weight: 700; color: var(--text-bright);
  margin: 0 0 14px; padding: 0;
}
.legacy-page h1 i, .legacy-page h2 i { color: var(--accent); margin-right: 6px; }

/* ── Legacy form buttons ───────────────────────────────────────────── */
.legacy-page input[type="submit"], .legacy-page input[type="button"], .legacy-page button {
  background: var(--accent); color: #fff; border: none;
  padding: 7px 18px; border-radius: 6px; font-size: 12px;
  font-weight: 600; cursor: pointer; font-family: inherit;
  transition: background .15s;
}
.legacy-page input[type="submit"]:hover, .legacy-page input[type="button"]:hover, .legacy-page button:hover {
  background: var(--accent-dark);
}

/* ── begin_frame / end_frame output ────────────────────────────────── */
.legacy-page table[border="1"] {
  background: var(--bg-card); border-collapse: collapse;
  width: 100%; border: 1px solid var(--border) !important;
  border-radius: 8px; overflow: hidden;
}
.legacy-page table[border="1"] td {
  border: none !important; border-bottom: 1px solid var(--border-sub) !important;
  padding: 8px 12px; color: var(--text); font-size: 12px;
}

/* ── Legacy font tag overrides ─────────────────────────────────────── */
.legacy-page font[color="red"], .legacy-page font[color="#FF0000"], .legacy-page font[color="#ff0000"] { color: var(--red) !important; }
.legacy-page font[color="green"], .legacy-page font[color="#008000"] { color: var(--green) !important; }
.legacy-page font[color="blue"], .legacy-page font[color="#0000FF"], .legacy-page font[color="#0000ff"] { color: var(--blue) !important; }
.legacy-page font[color="white"], .legacy-page font[color="#FFFFFF"] { color: var(--text-bright) !important; }
.legacy-page font[color="#FFFF00"] { color: var(--gold) !important; }

/* ── Details title (bookmark, mytorrents) ──────────────────────────── */
.details-title {
  font-size: 15px; font-weight: 700; color: var(--text-bright);
  margin-bottom: 14px;
}

/* ── Bookmark/mytorrents specific ──────────────────────────────────── */
.book, .booked {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 4px; font-size: 11px;
  font-weight: 600; cursor: pointer; text-decoration: none;
}
.book { background: var(--accent-dim); color: var(--accent); }
.book:hover { background: var(--accent); color: #fff; }
.booked { background: var(--green-dim); color: var(--green); }

/* ── Altlink (faq, legacy pages) ───────────────────────────────────── */
a.altlink { color: var(--accent); font-weight: 600; text-decoration: none; }
a.altlink:hover { color: var(--accent-dark); }

/* ── Reseed page (.rs-*) ────────────────────────────────────────────── */
.rs-page { max-width: 1280px; margin: 0 auto; padding: 0 12px 24px; }
.rs-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding: 16px 0 12px; border-bottom: 1px solid var(--border); }
.rs-header-title { font-size: 18px; font-weight: 700; color: var(--text-bright); margin-bottom: 3px; }
.rs-header-sub { font-size: 12px; color: var(--text-muted); }

/* Form card (offer form) */
.rs-form-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-bottom: 20px; max-width: 620px; }
.rs-form-card-head { padding: 16px 20px; border-bottom: 1px solid var(--border); }
.rs-form-card-head h2 { font-size: 14px; font-weight: 700; color: var(--text-bright); margin: 0 0 4px; }
.rs-form-card-head p { font-size: 12px; color: var(--text-muted); margin: 0; }
.rs-form-row { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; border-bottom: 1px solid var(--border-sub); font-size: 13px; }
.rs-form-label { color: var(--text-muted); font-size: 12px; }
.rs-form-value { color: var(--text-bright); font-weight: 600; }
.rs-form-value.bp { color: var(--accent); }
.rs-form-footer { padding: 16px 20px; display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.rs-form-input-wrap { display: flex; flex-direction: column; gap: 5px; }
.rs-form-input-wrap label { font-size: 11px; font-weight: 600; color: var(--text-muted); }
.rs-form-input-wrap input[type="number"] {
  padding: 8px 12px; border-radius: 6px; border: 1px solid var(--input-border);
  background: var(--input-bg); color: var(--input-text); font-size: 13px; font-family: inherit;
  width: 180px;
}
.rs-form-input-wrap input[type="number"]:focus { border-color: var(--accent); outline: none; }

/* Buttons */
.rs-btn, .rs-submit {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px; border-radius: 6px; border: none;
  font-size: 12px; font-weight: 600; cursor: pointer;
  background: var(--accent); color: #fff; transition: background .15s;
}
.rs-btn:hover, .rs-submit:hover { background: var(--accent-dark); }

/* Listing table */
.rs-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px; border-bottom: 1px solid var(--border-sub);
  font-size: 12px; color: var(--text);
  background: var(--bg-card);
}
.rs-row:last-child { border-bottom: none; }
.rs-row:not(.rs-col-head):hover { background: var(--bg-hover); }
.rs-col-head { background: var(--bg-raised) !important; font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .3px; border-radius: 8px 8px 0 0; }
.rs-cell { font-size: 12px; color: var(--text-muted); }
.rs-cell-name { flex: 1; min-width: 0; font-weight: 600; color: var(--text-bright); }
.rs-cell-name a { color: var(--text-link); }
.rs-cell-name a:hover { color: var(--accent); text-decoration: underline; }
.rs-cell-name-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; font-weight: 400; }
.rs-cell-num { width: 68px; text-align: center; flex-shrink: 0; }
.rs-cell-pool { width: 80px; flex-shrink: 0; }
.rs-cell-claim { width: 100px; flex-shrink: 0; }
.rs-cell-time { width: 90px; flex-shrink: 0; color: var(--text-muted); font-size: 11px; }
.rs-cell-act { width: 80px; flex-shrink: 0; }

/* Badges */
.rs-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.rs-badge-danger { background: var(--red-dim, rgba(239,68,68,.15)); color: var(--red, #ef4444); }
.rs-badge-success { background: var(--green-dim, rgba(34,197,94,.12)); color: var(--green, #22c55e); }
.rs-badge-neutral { background: var(--bg-alt); color: var(--text-muted); }
.rs-bp { font-weight: 700; color: var(--accent); }
.rs-claimed { font-size: 11px; color: var(--green, #22c55e); font-weight: 600; }
.rs-unclaimed { font-size: 11px; color: var(--text-dim); }
.rs-empty { text-align: center; padding: 48px 20px; color: var(--text-dim); font-size: 14px; }

/* ── Responsive ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .desc-table td:first-child { width: auto; white-space: normal; }
  table.main { font-size: 11px; }
}

/* ── Global pager ──────────────────────────────────────────────────── */
/* pager() outputs: <p align="center"><a><b>Prev</b></a> <br/> <a><b>0</b></a> | ... </p> */
.bw-pager p, .mv-pager-wrap p, .rq-pager p, #rows > p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--text-muted);
}
.bw-pager a, .mv-pager-wrap a, .rq-pager a, #rows > p a {
  font-size: 12px;
}
.pager-current b {
  background: var(--accent); color: #fff;
  padding: 2px 8px; border-radius: 4px; font-size: 12px;
  font-weight: 600;
}

/* ══════════════════════════════════════════════════════════════════════
   RECODED PAGES (faq, guides, faqmanage, makepoll, editforums, subscribed)
   ══════════════════════════════════════════════════════════════════════ */
/* faq.php styles */
.faq-page { max-width: 1280px; margin: 20px auto; padding: 0 16px; }
.faq-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden; margin-bottom: 20px;
}
.faq-card-header {
  background: var(--bg-raised); padding: 16px 22px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
}
.faq-card-header h1 {
  margin: 0; font-size: 18px; font-weight: 700; color: var(--text-bright);
}
.faq-card-header .faq-admin-link {
  font-size: 12px; color: var(--accent); text-decoration: none;
}
.faq-card-header .faq-admin-link:hover { color: var(--accent-dark); }
.faq-card-body { padding: 20px 22px; color: var(--text); font-size: 13px; line-height: 1.6; }
.faq-card-body a { color: var(--accent); text-decoration: none; }
.faq-card-body a:hover { text-decoration: underline; }

.faq-toc { list-style: none; padding: 0; margin: 0 0 8px; }
.faq-toc-category { margin-bottom: 14px; }
.faq-toc-category > a {
  display: inline-block; font-weight: 700; font-size: 14px;
  color: var(--text-bright); text-decoration: none; margin-bottom: 6px;
}
.faq-toc-category > a:hover { color: var(--accent); }
.faq-toc-items { list-style: disc; padding-left: 22px; margin: 0; }
.faq-toc-items li { margin-bottom: 4px; font-size: 13px; }
.faq-toc-items li a { color: var(--text-link); text-decoration: none; }
.faq-toc-items li a:hover { color: var(--accent); }
.faq-badge {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 2px 7px; border-radius: 4px; margin-left: 6px;
  vertical-align: middle; text-transform: uppercase; letter-spacing: .3px;
}
.faq-badge--updated { background: var(--blue-dim); color: var(--blue); }
.faq-badge--new { background: var(--green-dim); color: var(--green); }

.faq-section { margin-bottom: 24px; }
.faq-section-header {
  background: var(--bg-raised); padding: 14px 22px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; user-select: none;
}
.faq-section-header h2 {
  margin: 0; font-size: 15px; font-weight: 700; color: var(--text-bright);
}
.faq-section-header .faq-top-link {
  font-size: 12px; color: var(--text-muted); text-decoration: none;
}
.faq-section-header .faq-top-link:hover { color: var(--accent); }
.faq-section-body { padding: 16px 22px; }
.faq-item { margin-bottom: 18px; }
.faq-item:last-child { margin-bottom: 0; }
.faq-item-question {
  font-weight: 700; font-size: 13px; color: var(--text-bright);
  margin-bottom: 6px;
}
.faq-item-answer {
  font-size: 13px; color: var(--text); line-height: 1.65;
}

/* guides.php styles */
.guide-page { max-width: 1280px; margin: 20px auto; padding: 0 16px; }
.guide-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden; margin-bottom: 20px;
}
.guide-card-header {
  background: var(--bg-raised); padding: 16px 22px;
  border-bottom: 1px solid var(--border);
}
.guide-card-header h1 {
  margin: 0; font-size: 18px; font-weight: 700; color: var(--text-bright);
}
.guide-section {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden; margin-bottom: 16px;
}
.guide-section-header {
  background: var(--bg-raised); padding: 14px 22px;
  border-bottom: 1px solid var(--border);
}
.guide-section-header h2 {
  margin: 0; font-size: 15px; font-weight: 700; color: var(--gold);
}
.guide-section-body {
  padding: 18px 22px; color: var(--text); font-size: 13px; line-height: 1.65;
}
.guide-section-body ol {
  margin: 8px 0 0; padding-left: 22px;
}
.guide-section-body ol li {
  margin-bottom: 6px;
}
.guide-section-body a { color: var(--accent); text-decoration: none; }
.guide-section-body a:hover { text-decoration: underline; }
.guide-section-body strong { color: var(--text-bright); }

/* faqmanage.php styles */
.faqm-page { max-width: 1280px; margin: 20px auto; padding: 0 16px; }
.faqm-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden; margin-bottom: 20px;
}
.faqm-card-header {
  background: var(--bg-raised); padding: 16px 22px;
  border-bottom: 1px solid var(--border);
}
.faqm-card-header h1 {
  margin: 0; font-size: 18px; font-weight: 700; color: var(--text-bright);
}
.faqm-denied {
  padding: 40px 22px; text-align: center;
  font-size: 15px; font-weight: 600; color: var(--red);
}
.faqm-table {
  width: 100%; border-collapse: collapse;
}
.faqm-table th {
  background: var(--bg-raised); color: var(--text-muted);
  font-weight: 700; font-size: 11px; padding: 10px 14px;
  text-transform: uppercase; letter-spacing: .3px;
  border-bottom: 1px solid var(--border); text-align: center;
}
.faqm-table th.faqm-th-title { text-align: left; }
.faqm-table td {
  padding: 9px 14px; border-bottom: 1px solid var(--border-sub);
  color: var(--text); font-size: 13px; vertical-align: middle;
}
.faqm-table tr:hover td { background: var(--bg-hover); }
.faqm-row-category td { font-weight: 700; }
.faqm-row-item td:nth-child(2) { padding-left: 28px; }
.faqm-col-order { width: 60px; text-align: center; }
.faqm-col-status { width: 80px; text-align: center; }
.faqm-col-actions { width: 100px; text-align: center; white-space: nowrap; }
.faqm-table select {
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); padding: 4px 8px; border-radius: 4px;
  font-size: 12px; font-family: inherit;
}
.faqm-badge {
  display: inline-block; font-size: 11px; font-weight: 600;
  padding: 3px 8px; border-radius: 4px; letter-spacing: .2px;
}
.faqm-badge--hidden  { background: var(--red-dim);   color: var(--red); }
.faqm-badge--normal  { background: var(--bg-hover);  color: var(--text-muted); }
.faqm-badge--updated { background: var(--blue-dim);  color: var(--blue); }
.faqm-badge--new     { background: var(--green-dim); color: var(--green); }
.faqm-action {
  font-size: 12px; color: var(--text-link); text-decoration: none;
  margin: 0 4px;
}
.faqm-action:hover { color: var(--accent); }
.faqm-action--delete { color: var(--red); }
.faqm-action--delete:hover { color: var(--red-dark); }
.faqm-add-row td {
  text-align: center; padding: 10px 14px;
  background: var(--bg-raised); border-bottom: none;
}
.faqm-add-row td a {
  color: var(--accent); font-size: 12px; font-weight: 600; text-decoration: none;
}
.faqm-add-row td a:hover { text-decoration: underline; }
.faqm-footer {
  padding: 16px 22px; text-align: center;
  border-top: 1px solid var(--border);
}
.faqm-btn-reorder {
  background: var(--accent); color: #fff; border: none;
  padding: 8px 24px; border-radius: 6px; font-size: 13px;
  font-weight: 600; cursor: pointer; font-family: inherit;
  transition: background .15s;
}
.faqm-btn-reorder:hover { background: var(--accent-dark); }
.faqm-hint {
  margin-top: 10px; font-size: 12px; color: var(--text-muted); line-height: 1.5;
}
.faqm-orphan-header {
  padding: 12px 22px; background: var(--red-dim);
  border-bottom: 1px solid var(--border);
  font-weight: 700; font-size: 13px; color: var(--red); text-align: center;
}
.faqm-add-section {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden; margin-bottom: 20px;
  text-align: center; padding: 14px 22px;
}
.faqm-add-section a {
  color: var(--accent); font-size: 13px; font-weight: 600; text-decoration: none;
}
.faqm-add-section a:hover { text-decoration: underline; }

/* makepoll.php styles */
.poll-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.poll-card-header {
  background: var(--bg-raised);
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.poll-card-header h1 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
  margin: 0;
}
.poll-card-body {
  padding: 20px;
}
.poll-warning {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-left: 3px solid var(--red);
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 16px;
  font-size: 12px;
  color: var(--text);
}
.poll-warning b { color: var(--red); }
.poll-form-group {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-sub);
}
.poll-form-group:last-of-type {
  border-bottom: none;
}
.poll-form-label {
  min-width: 100px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .3px;
  flex-shrink: 0;
}
.poll-form-group input[type="text"] {
  flex: 1;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  transition: border-color .2s;
}
.poll-form-group input[type="text"]:focus {
  border-color: var(--input-focus);
  outline: none;
}
.poll-sort-group {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
}
.poll-sort-group label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--text);
  cursor: pointer;
}
.poll-sort-group input[type="radio"] {
  accent-color: var(--accent);
}
.poll-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  background: var(--bg-raised);
}
.poll-footer .poll-required {
  font-size: 11px;
  color: var(--text-muted);
}
.poll-footer input[type="submit"] {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 9px 24px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s;
}
.poll-footer input[type="submit"]:hover {
  background: var(--accent-dark);
}

/* editforums.php styles */
.ef-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.ef-card-header {
  background: var(--bg-raised);
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.ef-card-header h1 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
  margin: 0;
}
.ef-card-body {
  padding: 20px;
}
.ef-msg {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 14px 18px;
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--text);
}
.ef-msg a { font-weight: 600; color: var(--text-link); }
.ef-msg a:hover { color: var(--accent); }
.ef-confirm {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.ef-confirm a {
  display: inline-block;
  padding: 5px 16px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.ef-confirm .ef-yes {
  background: var(--red);
  color: #fff;
}
.ef-confirm .ef-yes:hover { opacity: .85; }
.ef-confirm .ef-no {
  background: var(--bg-raised);
  border: 1px solid var(--border);
  color: var(--text);
}
.ef-confirm .ef-no:hover { background: var(--bg-hover); }
.ef-form-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-sub);
}
.ef-form-row:last-child { border-bottom: none; }
.ef-form-label {
  min-width: 160px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .3px;
  flex-shrink: 0;
}
.ef-form-row input[type="text"] {
  flex: 1;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  transition: border-color .2s;
}
.ef-form-row input[type="text"]:focus {
  border-color: var(--input-focus);
  outline: none;
}
.ef-form-row select {
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--input-text);
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
}
.ef-form-footer {
  padding: 14px 20px;
  border-top: 1px solid var(--border);
  background: var(--bg-raised);
  text-align: center;
}
.ef-form-footer input[type="submit"] {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 9px 24px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s;
}
.ef-form-footer input[type="submit"]:hover {
  background: var(--accent-dark);
}
.ef-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 16px;
}
.ef-table th {
  background: var(--bg-raised);
  color: var(--text-muted);
  font-weight: 700;
  font-size: 11px;
  padding: 10px 12px;
  text-transform: uppercase;
  letter-spacing: .3px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: nowrap;
}
.ef-table td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border-sub);
  color: var(--text);
  font-size: 12px;
  vertical-align: middle;
}
.ef-table tr:last-child td { border-bottom: none; }
.ef-table tr:hover td { background: var(--bg-hover); }
.ef-table a { color: var(--text-link); text-decoration: none; font-weight: 500; }
.ef-table a:hover { color: var(--accent); }
.ef-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}
.ef-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg-raised);
  transition: background .15s;
}
.ef-action-btn:hover { background: var(--bg-hover); }
.ef-action-btn img { width: 14px; height: 14px; }
.ef-back-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-link);
  text-decoration: none;
}
.ef-back-link:hover { color: var(--accent); }
.ef-add-link {
  display: inline-block;
  margin-top: 12px;
  padding: 7px 18px;
  background: var(--accent);
  color: #fff;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.ef-add-link:hover { background: var(--accent-dark); color: #fff; }

/* subscribed_topics.php styles */
.st-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.st-card-header {
  background: var(--bg-raised);
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.st-card-header h1 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
  margin: 0;
}
.st-card-header .st-count {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 400;
}
.st-card-body {
  padding: 0;
}
.st-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-muted);
  font-size: 13px;
}
.st-empty p { margin: 6px 0; }
.st-empty a {
  color: var(--text-link);
  font-weight: 600;
  text-decoration: none;
}
.st-empty a:hover { color: var(--accent); }
.st-table {
  width: 100%;
  border-collapse: collapse;
}
.st-table th {
  background: var(--bg-raised);
  color: var(--text-muted);
  font-weight: 700;
  font-size: 11px;
  padding: 10px 14px;
  text-transform: uppercase;
  letter-spacing: .3px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: nowrap;
}
.st-table th.st-center { text-align: center; }
.st-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border-sub);
  color: var(--text);
  font-size: 12px;
  vertical-align: middle;
}
.st-table tr:last-child td { border-bottom: none; }
.st-table tr:hover td { background: var(--bg-hover); }
.st-table a { color: var(--text-link); text-decoration: none; font-weight: 500; }
.st-table a:hover { color: var(--accent); }
.st-table td.st-center { text-align: center; }
.st-unsub-btn {
  background: var(--bg-raised);
  color: var(--red);
  border: 1px solid var(--border);
  padding: 5px 14px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s, border-color .15s;
}
.st-unsub-btn:hover {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}
.st-quick-actions {
  padding: 14px 20px;
  border-top: 1px solid var(--border);
  background: var(--bg-raised);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.st-quick-actions span {
  color: var(--text-muted);
  font-weight: 600;
  margin-right: 4px;
}
.st-quick-actions a {
  display: inline-block;
  padding: 5px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-link);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, border-color .15s;
}
.st-quick-actions a:hover {
  background: var(--bg-hover);
  border-color: var(--accent);
  color: var(--accent);
}

/* ══════════════════════════════════════════════════════════════════════
   BROWSE  (.bw-*)
   ══════════════════════════════════════════════════════════════════════ */
/* ── reset global dark.css conflicts ──────────────────────────────── */
.bw-page table.bw-table { background: none; border: 0; }
.bw-page .bw-table th { border: 0; border-bottom: 2px solid var(--accent-glow); }
.bw-page .bw-table td { border: 0; border-bottom: 1px solid var(--border-sub); border-color: transparent; color: var(--text-muted); }
.bw-page .bw-table a:link, .bw-page .bw-table a:visited { text-decoration: none !important; }
.bw-page .bw-table .bw-torrent-link:link,
.bw-page .bw-table .bw-torrent-link:visited { color: inherit !important; }
.bw-page .bw-table .bw-torrent-meta a:link,
.bw-page .bw-table .bw-torrent-meta a:visited { color: var(--green-dark) !important; }
.bw-page .bw-table .bw-td-dl a:link,
.bw-page .bw-table .bw-td-dl a:visited { color: var(--text-muted) !important; }
.bw-page .bw-table .bw-td-dl a:hover { color: var(--accent) !important; }
.bw-page .bw-table th a:link, .bw-page .bw-table th a:visited { color: var(--text-muted) !important; }
.bw-page .bw-table th a:hover { color: var(--accent) !important; }
.bw-page .bw-table .bw-tag { box-shadow: none; }
.bw-page .bw-bar-link:link, .bw-page .bw-bar-link:visited { text-decoration: none !important; color: var(--text-muted) !important; }
.bw-page .bw-bar-link:hover { color: var(--text) !important; }
.bw-page .bw-bar-view:link, .bw-page .bw-bar-view:visited { text-decoration: none !important; color: var(--text-muted) !important; }
.bw-page .bw-bar-view:hover { color: var(--accent) !important; }
.bw-page .bw-pager a:link, .bw-page .bw-pager a:visited { text-decoration: none !important; color: var(--accent) !important; }
.bw-page .bw-pager .pager-current { color: #fff; font-size: 12px; }
.bw-page .bw-results-head a:link, .bw-page .bw-results-head a:visited { text-decoration: none !important; }
.bw-page input.bw-filter-input,
.bw-page select.bw-filter-select { background: var(--border); color: var(--text); font-size: 13px; }
.bw-page input.bw-filter-input:focus { border-color: var(--accent) !important; box-shadow: none !important; border-radius: 6px !important; }
.bw-page button.bw-filter-apply { height: auto; line-height: normal; box-shadow: none; border: 0; text-indent: 0; }
.bw-page button.bw-filter-apply:active { position: static; top: auto; }
.bw-page button.bw-bar-btn { height: auto; line-height: normal; box-shadow: none; text-indent: 0; }
.bw-page button.bw-bar-btn:active { position: static; top: auto; }

/* ── page ─────────────────────────────────────────────────────────── */
.bw-page { max-width: 1280px; margin: 0 auto; padding: 0 12px 40px; }

/* ── glass search bar ─────────────────────────────────────────────── */
.bw-search-wrap {
    display: flex; justify-content: center;
    margin: 18px 0 18px; padding: 28px 20px;
    background: linear-gradient(135deg, rgba(15,20,35,.75) 0%, rgba(25,30,50,.85) 100%);
    border-radius: 16px; position: relative; z-index: 10;
}
.bw-search-wrap::before, .bw-search-wrap::after { content: none; }
.bw-search-form {
    display: flex; width: 100%; max-width: 720px; position: relative; z-index: 2;
    border-radius: 50px;
    background: var(--bg-hover); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--input-border);
    box-shadow: 0 4px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.07);
}
.bw-page input.bw-search-input[type="text"] {
    all: unset; box-sizing: border-box; flex: 1; min-width: 0;
    padding: 12px 22px; font-size: 14px; color: #fff;
    border-radius: 50px 0 0 50px;
    height: auto; line-height: normal; background: transparent; border: 0; box-shadow: none;
}
.bw-page input.bw-search-input::placeholder { color: rgba(255,255,255,.4); }
.bw-page input.bw-search-input:focus { background: var(--border-sub); border: 0 !important; box-shadow: none !important; border-radius: 50px 0 0 50px !important; }
.bw-page select.bw-search-sort {
    all: unset; box-sizing: border-box;
    padding: 12px 14px; font-size: 12px; color: rgba(255,255,255,.6); cursor: pointer;
    border-left: 1px solid var(--input-border); -webkit-appearance: none;
    background: transparent; border-top: 0; border-bottom: 0; border-right: 0;
}
.bw-page select.bw-search-sort option { background: var(--bg-alt); color: var(--text); }
.bw-page button.bw-search-btn {
    all: unset; box-sizing: border-box; display: flex; align-items: center; align-self: stretch;
    gap: 6px; padding: 0 26px; cursor: pointer; font-size: 14px; font-weight: 600;
    background: rgba(230,126,34,.88); color: #fff; transition: background .2s;
    border-radius: 0 50px 50px 0; letter-spacing: .5px; white-space: nowrap;
    border-left: 1px solid var(--input-border);
    height: auto; line-height: normal; box-shadow: none; border-top: 0; border-bottom: 0; border-right: 0;
    text-indent: 0;
}
.bw-page button.bw-search-btn:hover { background: rgba(211,84,0,.95); }
.bw-page button.bw-search-btn:active { position: static; top: auto; }
.bw-page button.bw-search-filter-btn {
    all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 5px;
    padding: 12px 14px; cursor: pointer; font-size: 13px; color: rgba(255,255,255,.5);
    border-left: 1px solid var(--input-border);
    background: transparent; transition: color .15s; white-space: nowrap;
    height: auto; line-height: normal; box-shadow: none;
}
.bw-page button.bw-search-filter-btn:hover { color: rgba(255,255,255,.9); }
.bw-page button.bw-search-filter-btn.active { color: var(--accent); }
.bw-page button.bw-search-filter-btn:active { position: static; top: auto; }
.bw-search-filter-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display: none; flex-shrink: 0; }
.bw-search-filter-btn.has-active .bw-search-filter-dot { display: inline-block; }

/* ── action bar ───────────────────────────────────────────────────── */
.bw-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.bw-bar-left  { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bw-bar-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.bw-bar-btn {
    all: unset; box-sizing: border-box;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 14px; border-radius: 20px; cursor: pointer; font-size: 12px; font-weight: 600;
    background: var(--border); border: 1px solid rgba(255,255,255,.12); color: var(--text-muted);
    transition: background .15s, color .15s, border-color .15s; white-space: nowrap;
}
.bw-bar-btn:hover, .bw-bar-btn.active { background: var(--accent-dim); border-color: rgba(230,126,34,.35); color: var(--text); }
.bw-bar-btn .bw-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); display:none; margin-left:2px; }
.bw-bar-btn.has-active .bw-dot { display:inline-block; }
.bw-bar-fl {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12px; color: var(--text-muted); cursor: pointer; padding: 7px 14px;
    border-radius: 20px; border: 1px solid var(--bg-hover); transition: all .15s;
}
.bw-bar-fl:hover { border-color: rgba(39,174,96,.3); color: #6ee76e; }
.bw-bar-fl input { display: none; }
.bw-bar-fl input:checked ~ span { color: #6ee76e; font-weight: 600; }
.bw-bar-link {
    font-size: 12px; color: var(--text-muted); text-decoration: none; padding: 7px 14px;
    border-radius: 20px; border: 1px solid var(--bg-hover); transition: all .15s;
}
.bw-bar-link:hover { color: var(--text); border-color: rgba(255,255,255,.2); }
.bw-bar-view { font-size: 11px; color: var(--text-muted); text-decoration: none; transition: color .15s; }
.bw-bar-view:hover { color: var(--accent); }

/* ── collapsible panels ───────────────────────────────────────────── */
.bw-panel {
    background: var(--bg-alt); border: 1px solid var(--bg-raised); border-radius: 10px;
    padding: 16px 18px; margin-bottom: 14px; display: none;
}
.bw-panel.open { display: block; }

/* ── categories (column grid) ─────────────────────────────────────── */
.bw-cat-grid {
    display: flex; flex-wrap: wrap; gap: 8px;
}
.bw-cat-col {
    flex: 1 1 160px; min-width: 0;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 12px;
}
.bw-cat-col-head {
    font-size: 11px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: .3px;
    padding-bottom: 5px; margin-bottom: 5px;
    border-bottom: 1px solid var(--border-sub);
    display: flex; align-items: center; gap: 6px;
    cursor: pointer; user-select: none; transition: color .15s;
}
.bw-cat-col-head:hover { color: var(--accent); }
.bw-cat-item {
    display: flex; align-items: center; gap: 5px;
    cursor: pointer; font-size: 12px; color: var(--text-muted); transition: color .15s; padding: 2px 0;
}
.bw-cat-item:hover { color: var(--text); }
.bw-cat-item input[type=checkbox] {
    appearance: none; -webkit-appearance: none;
    width: 13px; height: 13px; flex-shrink: 0;
    background: var(--bg-alt); border: 1px solid var(--border-lg2);
    border-radius: 3px; cursor: pointer; margin: 0;
    position: relative; transition: background .15s, border-color .15s;
}
.bw-cat-item input[type=checkbox]:checked {
    background: var(--accent); border-color: var(--accent);
}
.bw-cat-item input[type=checkbox]:checked::after {
    content: ''; position: absolute;
    left: 3px; top: 0px; width: 4px; height: 8px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.bw-cat-item input:checked + span { color: var(--accent); font-weight: 600; }

/* ── filters ──────────────────────────────────────────────────────── */
.bw-filter-grid { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.bw-filter-field { display: flex; flex-direction: column; gap: 5px; }
.bw-filter-field label { font-size: 11px; color: var(--text-muted); }
.bw-filter-input, .bw-filter-select {
    all: unset; box-sizing: border-box;
    padding: 7px 11px; border-radius: 6px; font-size: 13px; color: var(--text);
    background: var(--border); border: 1px solid var(--input-border);
    transition: border-color .15s;
}
.bw-filter-input:focus, .bw-filter-select:focus { border-color: var(--accent); outline: none; }
.bw-filter-select { cursor: pointer; }
.bw-filter-select option { background: var(--bg-alt); color: var(--text); }
.bw-filter-input[type=number] { width: 100px; }
.bw-filter-input[type=text] { width: 140px; }
.bw-filter-apply {
    all: unset; box-sizing: border-box;
    display: inline-flex; align-items: center; gap: 5px;
    padding: 7px 16px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600;
    background: var(--accent); color: #fff; transition: background .15s;
}
.bw-filter-apply:hover { background: var(--accent-dark); }

/* ── top torrents ─────────────────────────────────────────────────── */
.bw-top-wrap {
    background: var(--bg-alt); border: 1px solid var(--bg-raised); border-radius: 10px;
    margin-bottom: 18px; display: none;
}
.bw-top-header { border-radius: 9px 9px 0 0; }
.bw-top-wrap.open { display: block; }
.bw-top-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 16px; border-bottom: 1px solid var(--bg-raised);
    font-size: 13px; font-weight: 600; color: var(--text);
}
.bw-top-body { padding: 12px; }

/* ── results meta + pager ─────────────────────────────────────────── */
.bw-results-head { font-size: 14px; color: var(--text-muted); margin-bottom: 10px; padding: 0 4px; }
.bw-results-head strong { color: var(--text); }
.bw-results-head em { color: var(--accent); font-style: normal; }
.bw-pager { text-align: center; margin: 10px 0; }
.bw-pager p { margin: 6px 0; }
.bw-pager a { color: var(--accent); text-decoration: none; }
.bw-pager a:hover { text-decoration: none; }
.bw-pager b { color: var(--text); }
.bw-suggest {
  padding: 10px 16px;
  margin-bottom: 10px;
  border-radius: 8px;
  background: var(--accent-dim);
  border: 1px solid var(--accent-glow);
  font-size: 13px;
  color: var(--text-muted);
}
.bw-suggest a {
  color: var(--accent);
  font-weight: 700;
  font-size: 14px;
  margin-left: 4px;
}
.bw-suggest a:hover { text-decoration: underline; }
.bw-empty { text-align: center; padding: 60px 20px; color: var(--text-muted); font-size: 15px; }
.bw-empty i { font-size: 40px; display: block; margin-bottom: 12px; opacity: .4; }

/* ── torrent table ────────────────────────────────────────────────── */
.bw-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; background: none; }
.bw-table th {
    padding: 9px 10px; font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .4px; color: var(--text-muted); text-align: center; white-space: nowrap;
    background: rgba(255,255,255,.03); border: 0; border-bottom: 2px solid var(--accent-glow);
}
.bw-table th:nth-child(2) { text-align: left; }
.bw-table td {
    padding: 4px 6px; border: 0; border-bottom: 1px solid var(--border-sub);
    vertical-align: middle; font-size: 13px; color: var(--text-muted); text-align: center;
}
.bw-table tr:hover td { background: rgba(255,255,255,.025); }
.bw-table .bw-td-type img { display: block; margin: 0 auto; }
.bw-table .bw-td-name { text-align: left; max-width: 0; width: 100%; }
.bw-torrent-link { text-decoration: none !important; display: block; }
.bw-torrent-name {
    color: var(--text-muted) !important; font-size: 13px; line-height: 1.4; word-break: break-word;
    transition: color .15s; display: inline;
}
.bw-torrent-link:hover .bw-torrent-name { color: var(--accent) !important; }
.bw-torrent-name.bw-bold { font-weight: 700; }
.bw-tag {
    display: inline-block; font-size: 9px; font-weight: 700; padding: 1px 5px;
    border-radius: 3px; margin-left: 5px; vertical-align: middle;
    text-transform: uppercase; letter-spacing: .3px; box-shadow: none;
    animation: none !important;
}
.bw-tag-fl     { background: rgba(39,174,96,.18) !important; color: #6ee76e !important; }
.bw-tag-new    { background: rgba(231,76,60,.18) !important; color: var(--red) !important; }
.bw-tag-ban    { background: rgba(231,76,60,.25) !important; color: #fff !important; border: 1px solid var(--red); }
.bw-tag-hidden { background: rgba(255,193,7,.2) !important; color: var(--gold) !important; }
.bw-torrent-meta { font-size: 11px; color: var(--text-dim); margin-top: 3px; }
.bw-torrent-meta a:link, .bw-torrent-meta a:visited { color: var(--green-dark) !important; text-decoration: none !important; }
.bw-td-seed { color: var(--green) !important; font-weight: 600; }
.bw-td-leech { color: #e57373 !important; }
.bw-td-dl a:link, .bw-td-dl a:visited { color: var(--text-muted) !important; transition: color .15s; font-size: 15px; text-decoration: none !important; }
.bw-td-dl a:hover { color: var(--accent) !important; }
.bw-td-bm .book { color: var(--text-dim); cursor: pointer; transition: color .15s; font-size: 15px; }
.bw-td-bm .book:hover, .bw-td-bm .book.booked { color: var(--gold); }

/* ── autocomplete dropdown ────────────────────────────────────────── */
.st-search-dropdown {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 9999;
    margin-top: 4px; border-radius: 12px; overflow: hidden;
    background: var(--bg-alt); border: 1px solid var(--bg-raised);
    box-shadow: 0 8px 32px rgba(0,0,0,.4); display: none;
}
.st-suggest-dym {
    padding: 10px 16px;
    font-size: 12px;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border);
    background: var(--accent-dim);
}
.st-suggest-dym a {
    color: var(--accent);
    font-weight: 700;
    font-size: 13px;
    margin-left: 2px;
}
.st-suggest-dym a:hover { text-decoration: underline; }
.st-search-suggestions { list-style: none; margin: 0; padding: 6px 0; }
.st-suggestion-header {
    padding: 8px 16px 6px; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: .5px; color: var(--text-muted);
}
.st-suggestion-match, .st-suggestion-trending {
    padding: 8px 16px; font-size: 13px; color: var(--text-link); cursor: pointer;
    display: flex; align-items: center; gap: 10px; transition: background .1s;
}
.st-suggestion-match:hover, .st-suggestion-trending:hover,
.st-suggestion-selected { background: var(--accent-dim); color: #fff; }
.st-suggestion-icon { flex-shrink: 0; width: 22px; text-align: center; font-size: 12px; color: var(--text-muted); }
.st-suggestion-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.st-trend-rank {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 6px; font-size: 10px; font-weight: 700;
    background: rgba(230,126,34,.2); color: var(--accent);
}
.st-trend-count { font-size: 11px; color: var(--text-muted); margin-left: 4px; }

/* ── light theme ──────────────────────────────────────────────────── */
.bw-lt .bw-search-wrap   { background: linear-gradient(135deg, rgba(200,212,235,.55) 0%, rgba(215,222,238,.65) 100%); }
.bw-lt .bw-search-form   { background: rgba(255,255,255,.55); border-color: rgba(255,255,255,.75);
    box-shadow: 0 4px 24px var(--border), inset 0 1px 0 rgba(255,255,255,.9); }
.bw-lt input.bw-search-input[type="text"] { color: var(--text-bright); }
.bw-lt input.bw-search-input::placeholder { color: var(--text-dim); }
.bw-lt select.bw-search-sort   { color: var(--text-muted); border-left-color: var(--border); }
.bw-lt select.bw-search-sort option { background: var(--bg-card); color: var(--text-bright); }
.bw-lt button.bw-search-filter-btn { color: var(--text-muted); border-left-color: var(--border); }
.bw-lt button.bw-search-filter-btn:hover { color: var(--text-bright); }
.bw-lt .bw-bar-btn:hover, .bw-lt .bw-bar-btn.active { background: rgba(192,83,10,.08); border-color: rgba(192,83,10,.3); color: var(--border-lg); }
.bw-lt .bw-bar-fl:hover  { border-color: rgba(39,174,96,.3); color: var(--green-dark); }
.bw-lt .bw-bar-link:hover { color: var(--text-bright) !important; border-color: var(--border); }
.bw-lt .bw-panel         { background: var(--bg-card); border-color: var(--border-lg2); }
.bw-lt .bw-filter-select option { background: var(--bg-card); color: var(--text-bright); }
.bw-lt .bw-top-wrap      { background: var(--bg-card); border-color: var(--border-lg2); }
.bw-lt .bw-table th      { background: var(--bg-input); border-bottom-color: rgba(192,83,10,.25); color: var(--text-muted); }
.bw-lt .bw-table tr:hover td { background: var(--bg-hover); }
.bw-lt .bw-torrent-meta a:link, .bw-lt .bw-torrent-meta a:visited { color: #5a8a3a !important; }
.bw-lt .st-search-dropdown { background: var(--bg-card); border-color: var(--border-lg2); box-shadow: 0 8px 32px var(--input-border); }
.bw-lt .st-suggestion-selected { background: rgba(192,83,10,.08); color: var(--text-bright); }

/* ── responsive ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bw-cat-grid { gap: 6px; }
    .bw-cat-col { flex: 1 1 140px; }
    .bw-table th, .bw-table td { padding: 7px 6px; font-size: 12px; }
}
@media (max-width: 640px) {
    .bw-search-form { flex-wrap: wrap; border-radius: 14px; }
    input.bw-search-input { border-radius: 14px 14px 0 0; width: 100%; padding: 12px 18px; }
    select.bw-search-sort { border-left: 0; border-top: 1px solid var(--input-border); padding: 10px 14px; flex: 1; }
    button.bw-search-btn  { border-radius: 0 0 14px 14px; justify-content: center; width: 100%; padding: 10px; border-left: 0; border-top: 1px solid var(--input-border); }
    .bw-filter-input[type=text] { width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════════
   UPLOADER APPLICATIONS  (.ua-*)
   ══════════════════════════════════════════════════════════════════════ */
.ua-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

.ua-header {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
  padding: 14px 18px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
  margin-bottom: 14px;
}
.ua-header-left { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.ua-header-left i { color: var(--accent); margin-right: 6px; }
.ua-count { font-size: 11px; color: var(--text-muted); font-weight: 400; margin-left: 8px; }
.ua-notice { font-size: 11px; color: var(--red); }

.ua-empty {
  text-align: center; padding: 60px 20px; color: var(--text-dim);
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.ua-empty i { font-size: 36px; display: block; margin-bottom: 12px; opacity: .4; }

/* Application list */
.ua-list {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
  overflow: hidden;
}
.ua-app { border-bottom: 1px solid var(--border-sub); }
.ua-app:last-child { border-bottom: none; }

/* Clickable row */
.ua-app-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px; cursor: pointer;
  transition: background .1s;
}
.ua-app-row:hover { background: var(--bg-hover); }
.ua-app-status { flex-shrink: 0; }
.ua-badge {
  display: inline-block; padding: 3px 10px; border-radius: 10px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px;
}
.ua-badge--new { background: var(--accent-dim); color: var(--accent); }
.ua-badge--voted { background: var(--green-dim); color: var(--green); }
.ua-badge--closed { background: var(--border); color: var(--text-dim); }
.ua-app-user { flex: 1; min-width: 0; }
.ua-app-user a { color: var(--text-bright); font-weight: 600; font-size: 13px; }
.ua-app-time { display: block; font-size: 10px; color: var(--text-dim); margin-top: 2px; }
.ua-app-votes { display: flex; gap: 10px; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.ua-vote-yes { color: var(--green); }
.ua-vote-no { color: var(--red); }
.ua-app-chevron {
  color: var(--text-dim); font-size: 12px; flex-shrink: 0;
  transition: transform .2s;
}
.ua-open .ua-app-chevron { transform: rotate(180deg); }

/* Expanded detail */
.ua-app-detail {
  display: none;
  border-top: 1px solid var(--border-sub);
  background: var(--bg-alt);
}
.ua-open .ua-app-detail { display: block; }
.ua-app-body {
  padding: 14px 18px; font-size: 13px; line-height: 1.6; color: var(--text);
}
.ua-app-body img { max-width: 100%; height: auto; }

/* Staff comments */
.ua-comments-head {
  padding: 8px 18px; font-size: 11px; font-weight: 700; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .3px;
  border-top: 1px solid var(--border-sub);
  border-bottom: 1px solid var(--border-sub);
  background: var(--bg-raised);
}
.ua-comments { padding: 8px 18px; }
.ua-comment {
  padding: 8px 12px; margin-bottom: 6px;
  border-radius: 6px; font-size: 12px; line-height: 1.5;
  border-left: 3px solid var(--border-lg);
  background: var(--bg-card);
}
.ua-comment--yes { border-left-color: var(--green); }
.ua-comment--no  { border-left-color: var(--red); }
.ua-comment--info { border-left-color: var(--blue); }
.ua-comment a { color: var(--text-bright); font-weight: 600; }
.ua-comment-date { color: var(--text-dim); font-size: 10px; margin-left: 6px; }
.ua-comment-text { display: block; margin-top: 4px; color: var(--text); }

/* Actions bar */
.ua-actions {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 10px 18px;
  border-top: 1px solid var(--border-sub);
}
.ua-comment-input {
  flex: 1; min-width: 200px;
  padding: 7px 12px; border-radius: 6px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 12px; font-family: inherit;
}
.ua-comment-input:focus { border-color: var(--accent); outline: none; }

/* Pager */
.ua-pager { text-align: center; margin-top: 14px; font-size: 12px; color: var(--text-muted); }

@media (max-width: 640px) {
  .ua-app-row { flex-wrap: wrap; gap: 6px; }
  .ua-app-votes { order: 3; width: 100%; }
  .ua-actions { flex-direction: column; }
  .ua-comment-input { min-width: 0; width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════════
   EDIT TORRENT  (.ed-*)
   ══════════════════════════════════════════════════════════════════════ */
.ed-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

/* Header */
.ed-header {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; padding: 16px 20px; margin-bottom: 14px;
}
.ed-header-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ed-header-title { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.ed-header-title i { color: var(--accent); margin-right: 6px; }
.ed-back { font-size: 12px; color: var(--text-muted); text-decoration: none; }
.ed-back:hover { color: var(--accent); }
.ed-torrent-info { border-top: 1px solid var(--border-sub); padding-top: 10px; }
.ed-info-name { font-size: 13px; font-weight: 600; color: var(--text-bright); display: block; margin-bottom: 6px; word-break: break-word; }
.ed-info-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--text-muted); }

/* Cards */
.ed-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; padding: 20px; margin-bottom: 14px;
}
.ed-card--danger { border-color: var(--red); border-left: 4px solid var(--red); }
.ed-danger-head { font-size: 13px; font-weight: 700; color: var(--red); margin-bottom: 14px; }

/* Fields */
.ed-field { margin-bottom: 16px; }
.ed-field:last-child { margin-bottom: 0; }
.ed-label { display: block; font-size: 12px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }
.ed-label i { color: var(--accent); margin-right: 4px; }
.ed-input, .ed-textarea {
  width: 100%; padding: 9px 14px; border-radius: 6px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; font-family: inherit;
}
.ed-input--sm { width: auto; padding: 5px 10px; font-size: 12px; display: inline-block; margin-left: 6px; }
.ed-select {
  width: 100%; padding: 9px 14px; border-radius: 6px;
  background: var(--bg-card); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; font-family: inherit;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px;
}
.ed-select option { background: var(--bg-card); color: var(--input-text); }
.ed-input:focus, .ed-select:focus, .ed-textarea:focus { border-color: var(--accent); outline: none; }
.ed-textarea { min-height: 220px; resize: vertical; line-height: 1.6; border: none; border-radius: 0; }
.ed-row { display: flex; gap: 14px; }
.ed-field--half { flex: 1; }
.ed-hint { font-size: 10px; color: var(--text-dim); margin-top: 4px; }

/* Toggle switch */
.ed-toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13px; color: var(--text); }
.ed-toggle input { display: none; }
.ed-toggle-track {
  width: 36px; height: 20px; border-radius: 10px; position: relative;
  background: var(--border-lg); transition: background .2s; flex-shrink: 0;
}
.ed-toggle-track::after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 16px; height: 16px; border-radius: 50%;
  background: #fff; transition: transform .2s;
}
.ed-toggle input:checked + .ed-toggle-track { background: var(--green); }
.ed-toggle input:checked + .ed-toggle-track::after { transform: translateX(16px); }
.ed-toggle-track--danger { }
.ed-toggle input:checked + .ed-toggle-track--danger { background: var(--red); }

/* Radio & NFO */
.ed-radio { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text); margin-bottom: 6px; cursor: pointer; }
.ed-radio input[type="radio"] { accent-color: var(--accent); }
.ed-nfo-options { display: flex; flex-direction: column; gap: 6px; }
.ed-file-inline { font-size: 11px; color: var(--text-muted); margin-left: 6px; }

/* Delete options */
.ed-delete-options { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }

/* Action buttons */
.ed-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ed-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px; border-radius: 6px; border: none;
  font-size: 13px; font-weight: 600; cursor: pointer;
  font-family: inherit; text-decoration: none; transition: .15s;
}
.ed-btn--primary { background: var(--accent); color: #fff; }
.ed-btn--primary:hover { background: var(--accent-dark); }
.ed-btn--ghost { background: transparent; color: var(--text-muted); border: 1px solid var(--border-lg); }
.ed-btn--ghost:hover { border-color: var(--text-muted); color: var(--text-bright); }
.ed-btn--danger { background: var(--red); color: #fff; }
.ed-btn--danger:hover { background: var(--red-dark); }

/* Denied */
.ed-denied { text-align: center; padding: 60px 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; }
.ed-denied i { font-size: 40px; color: var(--text-dim); display: block; margin-bottom: 14px; }
.ed-denied h2 { color: var(--text-bright); margin-bottom: 8px; }
.ed-denied p { color: var(--text-muted); }

@media (max-width: 640px) {
  .ed-row { flex-direction: column; gap: 0; }
  .ed-actions { flex-direction: column; }
  .ed-input--sm { display: block; margin: 4px 0 0; width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════════
   UPLOAD  (.up-*)
   ══════════════════════════════════════════════════════════════════════ */
.up-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

.up-header {
  padding: 14px 18px; margin-bottom: 14px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.up-header-left { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.up-header-left i { color: var(--accent); margin-right: 6px; }

/* Announce URL */
.up-announce {
  margin-bottom: 14px; padding: 14px 18px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.up-announce label { display: block; font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .3px; margin-bottom: 6px; }
.up-announce-url { display: flex; gap: 0; }
.up-announce-url input {
  flex: 1; padding: 8px 12px; border-radius: 6px 0 0 6px;
  background: var(--bg-alt); border: 1px solid var(--border);
  color: var(--text); font-size: 12px; font-family: monospace;
  border-right: none;
}
.up-copy-btn {
  all: unset; box-sizing: border-box;
  padding: 8px 14px; border-radius: 0 6px 6px 0;
  background: var(--accent); color: #fff;
  font-size: 12px; font-weight: 600; cursor: pointer;
  white-space: nowrap; transition: background .15s;
}
.up-copy-btn:hover { background: var(--accent-dark); }

/* Form card */
.up-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; padding: 20px; margin-bottom: 14px;
}
.up-field { margin-bottom: 16px; }
.up-field:last-child { margin-bottom: 0; }
.up-label {
  display: block; font-size: 12px; font-weight: 600; color: var(--text-muted);
  margin-bottom: 6px;
}
.up-label i { margin-right: 4px; color: var(--accent); }
.up-req { color: var(--red); }
.up-input, .up-textarea {
  width: 100%; padding: 9px 14px; border-radius: 6px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; font-family: inherit;
}
.up-select {
  width: 100%; padding: 9px 14px; border-radius: 6px;
  background: var(--bg-card); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; font-family: inherit;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
  cursor: pointer;
}
.up-select option { background: var(--bg-card); color: var(--input-text); }
.up-input:focus, .up-select:focus, .up-textarea:focus { border-color: var(--accent); outline: none; }
.up-textarea { min-height: 180px; resize: vertical; line-height: 1.6; }
.up-row { display: flex; gap: 14px; }
.up-field--half { flex: 1; }

/* Drag & drop zone */
.up-file-drop {
  display: flex; align-items: center; justify-content: center;
  border: 2px dashed var(--border-lg); border-radius: 10px;
  padding: 32px 20px; text-align: center; cursor: pointer;
  transition: border-color .2s, background .2s;
  position: relative;
}
.up-file-drop:hover, .up-file-drop--hover {
  border-color: var(--accent); background: var(--accent-dim);
}
.up-file-hidden {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0; cursor: pointer;
}
.up-file-placeholder { color: var(--text-muted); font-size: 13px; pointer-events: none; }
.up-file-placeholder i { font-size: 28px; display: block; margin-bottom: 8px; color: var(--text-dim); }
.up-file-drop:hover .up-file-placeholder i { color: var(--accent); }

/* Submit */
.up-submit-row { text-align: right; }
.up-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 20px; border-radius: 8px; border: none;
  background: var(--accent); color: #fff;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: background .15s; text-decoration: none;
}
.up-btn:hover { background: var(--accent-dark); }
.up-btn--lg { padding: 10px 28px; font-size: 14px; }

/* Denied state */
.up-denied {
  text-align: center; padding: 60px 20px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.up-denied i { font-size: 40px; color: var(--text-dim); display: block; margin-bottom: 14px; }
.up-denied h2 { color: var(--text-bright); margin-bottom: 8px; }
.up-denied p { color: var(--text-muted); margin-bottom: 16px; }

/* BBCode editor (.bb-*) — used by upload, edit, forums compose */
.bb-editor {
  border: 1px solid var(--input-border);
  border-radius: 6px;
  overflow: hidden;
}
.bb-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 2px;
  padding: 6px 8px;
  background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
}
.bb-btn {
  all: unset; box-sizing: border-box;
  width: 30px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 4px; cursor: pointer;
  color: var(--text-muted); font-size: 13px;
  transition: background .1s, color .1s;
}
.bb-btn:hover { background: var(--bg-hover); color: var(--text-bright); }
.bb-btn:active { background: var(--accent-dim); color: var(--accent); }
.bb-sep {
  width: 1px; height: 18px;
  background: var(--border); margin: 0 4px;
}
.bb-select {
  all: unset; box-sizing: border-box;
  padding: 3px 8px; border-radius: 4px;
  background: var(--input-bg); border: 1px solid var(--border);
  color: var(--text-muted); font-size: 11px;
  cursor: pointer; font-family: inherit;
}
.bb-select:hover { border-color: var(--text-dim); }
.bb-editor .up-textarea {
  border: none; border-radius: 0;
  min-height: 200px;
}
/* Preview panel */
.bb-preview {
  border-top: 1px solid var(--border);
  background: var(--bg-card);
}
.bb-preview-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 12px; font-size: 11px; font-weight: 700;
  color: var(--text-muted); background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
  text-transform: uppercase; letter-spacing: .3px;
}
.bb-preview-close {
  all: unset; cursor: pointer; color: var(--text-dim); font-size: 14px;
  padding: 2px 6px; border-radius: 3px;
}
.bb-preview-close:hover { color: var(--text-bright); background: var(--bg-hover); }
.bb-preview-body {
  padding: 14px 16px;
  font-size: 13px; line-height: 1.6;
  color: var(--text);
  min-height: 60px;
  max-height: 300px;
  overflow-y: auto;
}

@media (max-width: 640px) {
  .up-row { flex-direction: column; gap: 0; }
  .up-announce-url { flex-direction: column; }
  .up-announce-url input { border-radius: 6px 6px 0 0; border-right: 1px solid var(--border); border-bottom: none; }
  .up-copy-btn { border-radius: 0 0 6px 6px; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════════════
   BONUS POINTS  (.bp-*)
   ══════════════════════════════════════════════════════════════════════ */
.bp-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

/* Header */
.bp-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 16px;
}
.bp-header-left { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.bp-header-left i { color: var(--accent); margin-right: 6px; }
.bp-balance {
  display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
}
.bp-balance-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .5px; }
.bp-balance-value { font-size: 20px; font-weight: 800; color: var(--accent); }

/* Store grid */
.bp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.bp-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px 16px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  transition: border-color .2s, box-shadow .2s;
}
.bp-card:hover { border-color: var(--accent); box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.bp-card--locked { opacity: .5; }
.bp-card--locked:hover { border-color: var(--border); box-shadow: none; }
.bp-card-icon { font-size: 24px; color: var(--accent); margin-bottom: 4px; }
.bp-card-title { font-size: 14px; font-weight: 700; color: var(--text-bright); }
.bp-card-desc { font-size: 11px; color: var(--text-muted); line-height: 1.4; }
.bp-card-cost {
  font-size: 12px; font-weight: 700; color: var(--gold);
  margin-top: auto; padding-top: 8px;
}
.bp-card-cost i { font-size: 10px; }
.bp-btn {
  all: unset; box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 7px 20px; border-radius: 6px;
  background: var(--accent); color: #fff;
  font-size: 12px; font-weight: 600; cursor: pointer;
  transition: background .15s;
  margin-top: 6px;
}
.bp-btn:hover { background: var(--accent-dark); }
.bp-locked-label { font-size: 11px; color: var(--text-dim); margin-top: 6px; }
.bp-locked-label i { margin-right: 4px; }

/* Info section */
.bp-info {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden;
}
.bp-info-head {
  padding: 10px 18px; font-size: 13px; font-weight: 700;
  color: var(--text-muted); background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
}
.bp-info-head i { color: var(--blue); margin-right: 6px; }
.bp-info-body {
  padding: 16px 18px; font-size: 13px; line-height: 1.6; color: var(--text);
}
.bp-info-body p { margin: 0 0 10px; }
.bp-info-body p:last-child { margin: 0; }

@media (max-width: 640px) {
  .bp-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .bp-card { padding: 14px 10px; }
  .bp-header { flex-direction: column; gap: 8px; align-items: flex-start; }
  .bp-balance { align-items: flex-start; }
}

/* ══════════════════════════════════════════════════════════════════════
   POLL PAGE  (.pl-*)
   ══════════════════════════════════════════════════════════════════════ */
.pl-page { max-width: 800px; margin: 16px auto; padding: 0 12px; }
.pl-empty { text-align: center; padding: 60px 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; color: var(--text-dim); }
.pl-empty i { font-size: 40px; display: block; margin-bottom: 14px; opacity: .4; }
.pl-header {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
  padding: 14px 18px; background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; margin-bottom: 14px;
}
.pl-header-left { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.pl-header-left i { color: var(--accent); margin-right: 6px; }
.pl-header-right { display: flex; gap: 6px; }
.pl-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 6px; border: none;
  font-size: 12px; font-weight: 600; cursor: pointer;
  font-family: inherit; text-decoration: none; transition: .15s;
}
.pl-btn--primary { background: var(--accent); color: #fff; }
.pl-btn--primary:hover { background: var(--accent-dark); }
.pl-btn--lg { padding: 10px 24px; font-size: 14px; }
.pl-btn--outline { background: transparent; color: var(--text-muted); border: 1px solid var(--border-lg); }
.pl-btn--outline:hover { border-color: var(--accent); color: var(--accent); }
.pl-btn--danger { background: var(--red); color: #fff; }
.pl-btn--danger:hover { background: var(--red-dark); }
.pl-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; padding: 24px; margin-bottom: 14px;
}
.pl-question { font-size: 18px; font-weight: 700; color: var(--text-bright); margin-bottom: 6px; line-height: 1.4; }
.pl-meta { font-size: 11px; color: var(--text-muted); margin-bottom: 20px; }
/* Vote options */
.pl-options { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.pl-option {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px; border-radius: 8px;
  background: var(--bg-raised); border: 1px solid var(--border);
  font-size: 14px; color: var(--text); cursor: pointer;
  transition: background .15s, border-color .15s;
}
.pl-option:hover { border-color: var(--accent); background: var(--accent-dim); }
.pl-option input[type=radio] { accent-color: var(--accent); flex-shrink: 0; width: 16px; height: 16px; }
/* Results */
.pl-results { display: flex; flex-direction: column; gap: 12px; }
.pl-result-top { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.pl-result-label { flex: 1; font-size: 13px; color: var(--text); word-break: break-word; }
.pl-mine { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 8px; background: var(--green); color: #fff; margin-left: 6px; }
.pl-result-pct { font-size: 12px; font-weight: 700; color: var(--text-muted); min-width: 60px; text-align: right; }
.pl-bar { height: 8px; background: var(--bg-raised); border-radius: 10px; overflow: hidden; }
.pl-fill { height: 100%; border-radius: 10px; background: linear-gradient(90deg, var(--accent), var(--accent-light)); transition: width .7s cubic-bezier(.4,0,.2,1); }
.pl-fill--mine { background: linear-gradient(90deg, var(--green), var(--green-dark)); }
/* Past polls */
.pl-past {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden;
}
.pl-past-head { padding: 10px 18px; font-size: 12px; font-weight: 700; color: var(--text-muted); background: var(--bg-raised); border-bottom: 1px solid var(--border); text-transform: uppercase; letter-spacing: .3px; }
.pl-past-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; border-bottom: 1px solid var(--border-sub); font-size: 13px; }
.pl-past-item:last-child { border-bottom: none; }
.pl-past-q { color: var(--text); }
.pl-past-date { color: var(--text-dim); font-size: 11px; white-space: nowrap; margin-left: 12px; }

/* ══════════════════════════════════════════════════════════════════════
   CATEGORY MANAGEMENT  (.catm-*)
   ══════════════════════════════════════════════════════════════════════ */
.catm-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

/* Flash messages */
.catm-flash {
  padding: 10px 16px; border-radius: 8px; margin-bottom: 14px;
  font-size: 13px; display: flex; align-items: center; gap: 8px;
}
.catm-flash--ok { background: var(--green-dim); color: var(--green); border: 1px solid var(--green); }
.catm-flash--err { background: var(--red-dim); color: var(--red); border: 1px solid var(--red); }

/* Header */
.catm-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px 10px 0 0;
}
.catm-title { font-size: 15px; font-weight: 700; color: var(--text-bright); }
.catm-title i { color: var(--accent); margin-right: 6px; }
.catm-count { font-size: 11px; color: var(--text-muted); }

/* Body */
.catm-body {
  border: 1px solid var(--border); border-top: none;
  border-radius: 0 0 10px 10px;
  background: var(--bg-card);
  overflow: hidden;
}

/* Form section */
.catm-form-section { border-bottom: 1px solid var(--border); }
.catm-form-head {
  padding: 10px 18px; font-size: 12px; font-weight: 700;
  color: var(--gold); background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
  text-transform: uppercase; letter-spacing: .3px;
}
.catm-form { padding: 16px 18px; }
.catm-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px; align-items: end;
}
.catm-field { display: flex; flex-direction: column; gap: 4px; }
.catm-field label {
  font-size: 11px; font-weight: 600; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .3px;
}
.catm-field input[type="text"] {
  padding: 8px 12px; border-radius: 6px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  color: var(--input-text); font-size: 13px; font-family: inherit;
}
.catm-field input:focus { border-color: var(--accent); outline: none; }
.catm-field--actions {
  display: flex; flex-direction: row; gap: 8px;
  align-items: flex-end; padding-top: 4px;
}

/* Buttons */
.catm-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 16px; border-radius: 6px; border: none;
  font-size: 12px; font-weight: 600; cursor: pointer;
  font-family: inherit; text-decoration: none; transition: .15s;
  white-space: nowrap;
}
.catm-btn--primary { background: var(--accent); color: #fff; }
.catm-btn--primary:hover { background: var(--accent-dark); }
.catm-btn--ghost {
  background: transparent; color: var(--text-muted);
  border: 1px solid var(--border-lg);
}
.catm-btn--ghost:hover { border-color: var(--text-muted); color: var(--text-bright); }

/* Table section */
.catm-table-head {
  padding: 10px 18px; font-size: 12px; font-weight: 700;
  color: var(--text-muted); background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
  text-transform: uppercase; letter-spacing: .3px;
}
.catm-table-wrap { overflow-x: auto; }
.catm-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.catm-table th {
  padding: 8px 14px; text-align: left;
  font-size: 10px; font-weight: 700; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .4px;
  background: var(--bg-alt); border-bottom: 1px solid var(--border);
}
.catm-table td {
  padding: 8px 14px; border-bottom: 1px solid var(--border-sub);
  color: var(--text); vertical-align: middle;
}
.catm-table tbody tr:hover { background: var(--bg-hover); }
.catm-row--editing { background: var(--accent-dim); }
.catm-col-id { font-weight: 700; color: var(--text-muted); width: 50px; }
.catm-col-icon { width: 40px; text-align: center; }
.catm-col-icon img { vertical-align: middle; }
.catm-col-name { font-weight: 600; color: var(--text-bright); }
.catm-col-css code {
  font-size: 11px; padding: 2px 6px; border-radius: 3px;
  background: var(--bg-alt); color: var(--text-muted);
}
.catm-col-file { color: var(--text-dim); font-size: 11px; }
.catm-col-actions { text-align: right; white-space: nowrap; }
.catm-act {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 5px;
  color: var(--text-muted); text-decoration: none;
  transition: .15s; border: none; background: none; cursor: pointer;
  font-size: 13px;
}
.catm-act:hover { background: var(--bg-hover); color: var(--accent); }
.catm-act--del:hover { color: var(--red); }
.catm-no-img { color: var(--text-dim); }
.catm-empty { text-align: center; color: var(--text-dim); padding: 30px 0; }

@media (max-width: 640px) {
  .catm-form-grid { grid-template-columns: 1fr; }
  .catm-col-css, .catm-col-file { display: none; }
}

/* ══════════════════════════════════════════════════════════════════════
   CHEATS  (.cd-*)
   ══════════════════════════════════════════════════════════════════════ */
.cd-wrap{max-width:1280px;margin:20px auto;padding:0 12px;font-family:verdana,arial,sans-serif;font-size:11px;color:var(--text)}
.cd-header{background:var(--bg-card);border-radius:8px 8px 0 0;padding:20px 24px;border-bottom:2px solid var(--border-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.cd-title{font-size:16px;font-weight:700;color:var(--text-bright)}
.cd-title small{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:8px}
.cd-stats{display:flex;gap:12px;flex-wrap:wrap}
.cd-stat{background:var(--bg-card);border:1px solid var(--border-lg);border-radius:6px;padding:10px 16px;text-align:center;min-width:80px}
.cd-stat-val{font-size:18px;font-weight:700;line-height:1}
.cd-stat-lbl{font-size:9px;color:var(--text-muted);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}
.cd-stat-critical .cd-stat-val{color:#dc3545}
.cd-stat-high .cd-stat-val{color:#ff9800}
.cd-stat-med .cd-stat-val{color:var(--gold)}
.cd-stat-low .cd-stat-val{color:#28a745}
.cd-stat-info .cd-stat-val{color:#2196f3}
.cd-tabs{background:var(--bg-card);display:flex;border-bottom:1px solid var(--border-lg);padding:0 16px}
.cd-tab{padding:10px 20px;color:var(--text-muted);text-decoration:none;font-weight:600;font-size:11px;border-bottom:2px solid transparent;transition:.2s}
.cd-tab:hover{color:var(--text-bright);border-bottom-color:var(--text-dim)}
.cd-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.cd-toolbar{background:var(--bg-alt);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--border-lg)}
.cd-search{display:flex;gap:8px;align-items:center}
.cd-search input[type=text]{background:var(--bg-raised);border:1px solid var(--border-lg2);color:var(--text-bright);padding:6px 12px;border-radius:4px;font-size:11px;width:220px;font-family:inherit}
.cd-search input[type=text]:focus{border-color:var(--gold);outline:none}
.cd-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cb{padding:5px 12px;border:none;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.cb:hover{opacity:.85}
.cb-red{background:#dc3545;color:#fff}
.cb-orange{background:#f5711e;color:#fff}
.cb-green{background:#3c7b28;color:#fff}
.cb-yellow{background:var(--gold);color:#000}
.cb-blue{background:#2196f3;color:#fff}
.cb-purple{background:#9c27b0;color:#fff}
.cb-gray{background:var(--border-lg2);color:var(--text-link)}
.cb-outline{background:transparent;border:1px solid var(--text-dim);color:var(--text-link)}
.cb-outline:hover{border-color:var(--gold);color:var(--gold)}
.cb-sm{padding:3px 8px;font-size:9px}
.cb.active{box-shadow:0 0 0 2px var(--gold)}
.cd-body{background:var(--bg-card);border-radius:0 0 8px 8px;overflow:hidden}
.cd-table{width:100%;border-collapse:collapse}
.cd-table thead{background:var(--bg-raised)}
.cd-table th{padding:8px 10px;text-align:left;font-weight:700;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-lg)}
.cd-table td{padding:8px 10px;border-bottom:1px solid var(--border-sub);vertical-align:middle}
.cd-table tbody tr:hover{background:var(--bg-card)}
.cd-table tbody tr.row-critical{border-left:3px solid #dc3545}
.cd-table tbody tr.row-high{border-left:3px solid #ff9800}
.cd-user{display:flex;align-items:center;gap:8px}
.cd-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}
.cd-uname{font-weight:600;font-size:11px}
.cd-uname a{color:var(--gold);text-decoration:none}
.cd-uname a:hover{text-decoration:none;color:var(--text-bright)}
.cd-umeta{font-size:9px;color:var(--text-muted);margin-top:1px}
.cd-risk{display:inline-block;font-weight:700;font-size:13px;padding:3px 8px;border-radius:4px;text-align:center;min-width:28px}
.cd-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:600;color:#fff;white-space:nowrap}
.cd-agent{font-family:monospace;font-size:9px;color:var(--text-muted);background:var(--bg-raised);padding:2px 6px;border-radius:3px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.cd-time{font-size:10px;color:var(--text-muted);white-space:nowrap}
.cd-detail{font-size:10px;color:var(--text-dim);max-width:200px;line-height:1.3}
.cd-tname{font-size:10px;color:var(--gold)}
.cd-tname a{color:var(--gold);text-decoration:none}
.cd-tname a:hover{color:var(--text-bright);text-decoration:none}
.cd-status{display:inline-block;padding:2px 6px;border-radius:10px;font-size:9px;font-weight:600}
.cd-status-on{background:#3c7b28;color:#fff}
.cd-status-off{background:#dc3545;color:#fff}
.cd-status-warn{background:#ff9800;color:#fff}
.cd-pager{display:flex;justify-content:center;gap:4px;padding:12px;background:var(--bg-alt)}
.cd-pager a,.cd-pager span{padding:4px 10px;border-radius:3px;font-size:10px;font-weight:600;text-decoration:none}
.cd-pager a{color:var(--text-link);background:var(--bg-raised);border:1px solid var(--border-lg2)}
.cd-pager a:hover{background:var(--gold);color:#000;border-color:var(--gold)}
.cd-pager .cur{background:var(--gold);color:#000;border:1px solid var(--gold)}
.cd-msg{padding:10px 16px;font-weight:600;font-size:11px;border-bottom:1px solid var(--border-lg)}
.cd-msg-ok{background:var(--bg-raised);color:#28a745;border-left:3px solid #28a745}
.cd-msg-warn{background:var(--bg-raised);color:var(--gold);border-left:3px solid var(--gold)}
.cd-offender-row td{padding:10px}
.cd-form{background:var(--bg-card);padding:16px;border-bottom:1px solid var(--border-lg);display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.cd-form label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-muted);font-weight:600}
.cd-form input[type=text],.cd-form input[type=number]{background:var(--bg-card);border:1px solid var(--border-lg2);color:var(--input-text);padding:6px 10px;border-radius:4px;font-size:11px;font-family:inherit}
.cd-form input:focus{border-color:var(--gold);outline:none}
.cd-actions{display:flex;gap:4px;align-items:center}
.cd-cb{width:14px;height:14px;accent-color:var(--gold);cursor:pointer}
@media(max-width:900px){.cd-wrap{margin:0}.cd-header{flex-direction:column;text-align:center}.cd-stats{justify-content:center}}

/* ══════════════════════════════════════════════════════════════════════
   SYSOP  (.sp-*, .cb-*, .ann-*)
   ══════════════════════════════════════════════════════════════════════ */
.sp-wrap{max-width:1280px;margin:20px auto;padding:0 12px;font-family:verdana,arial,sans-serif;font-size:11px;color:var(--text-bright)}
.sp-header{background:var(--bg-card);border-radius:8px 8px 0 0;padding:20px 24px;border-bottom:2px solid var(--border-lg)}
.sp-title{font-size:16px;font-weight:700;color:var(--text-bright)}
.sp-title small{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:8px}
.sp-tabs{background:var(--bg-raised);display:flex;border-bottom:1px solid var(--border-lg);padding:0 16px;overflow-x:auto}
.sp-tab{padding:10px 20px;color:var(--text-muted);text-decoration:none;font-weight:600;font-size:11px;border-bottom:2px solid transparent;transition:.2s;white-space:nowrap}
.sp-tab:hover{color:var(--text-bright);border-bottom-color:var(--text-muted)}
.sp-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.sp-body{background:var(--bg-card);border-radius:0 0 8px 8px;overflow:hidden}
.sp-section{padding:16px;border-bottom:1px solid var(--border)}
.sp-section-title{font-size:12px;font-weight:700;color:var(--gold);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}
.sp-table{width:100%;border-collapse:collapse}
.sp-table thead{background:var(--bg-raised)}
.sp-table th{padding:8px 10px;text-align:left;font-weight:700;color:var(--text-muted);font-size:10px;text-transform:uppercase;border-bottom:1px solid var(--border-lg)}
.sp-table td{padding:8px 10px;border-bottom:1px solid var(--border-sub);vertical-align:middle;color:var(--text)}
.sp-table tbody tr:hover{background:var(--bg-hover)}
.sp-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:12px 16px;background:var(--bg-raised);border-bottom:1px solid var(--border)}
.sp-form label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-muted);font-weight:600}
.sp-form input[type=text],.sp-form input[type=number],.sp-form select{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);padding:6px 10px;border-radius:4px;font-size:11px;font-family:inherit}
.sp-form input:focus,.sp-form select:focus{border-color:var(--gold);outline:none}
/* Shared color buttons (used in sysop + cheats) */
.cb{padding:5px 12px;border:none;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.cb:hover{opacity:.85}
.cb-red{background:var(--red);color:#fff}
.cb-green{background:var(--green-dark);color:#fff}
.cb-yellow{background:var(--gold);color:#000}
.cb-blue{background:var(--blue);color:#fff}
.cb-gray{background:var(--bg-raised);color:var(--text-muted)}
.cb-sm{padding:3px 8px;font-size:9px}
.sp-status{display:inline-block;padding:3px 10px;border-radius:10px;font-size:10px;font-weight:600}
.sp-status-on{background:var(--green-dark);color:#fff}
.sp-status-off{background:var(--red);color:#fff}
.sp-status-warn{background:#ff9800;color:#fff}
.sp-msg{padding:10px 16px;font-weight:600;font-size:11px;border-bottom:1px solid var(--border);background:var(--green-dim);color:var(--green)}
.sp-kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-sub)}
.sp-kv:last-child{border:none}
.sp-k{color:var(--text-muted);font-weight:600}
.sp-v{color:var(--text-bright)}
.sp-pager{display:flex;justify-content:center;gap:4px;padding:12px;background:var(--bg-alt)}
.sp-pager a,.sp-pager span{padding:4px 10px;border-radius:3px;font-size:10px;font-weight:600;text-decoration:none}
.sp-pager a{color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border-lg)}
.sp-pager a:hover{background:var(--gold);color:#000;border-color:var(--gold)}
.sp-pager .cur{background:var(--gold);color:#000;border:1px solid var(--gold)}
.sp-search{display:flex;gap:8px;align-items:center;padding:12px 16px;background:var(--bg-raised);border-bottom:1px solid var(--border)}
.sp-search input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);padding:6px 12px;border-radius:4px;font-size:11px;width:280px;font-family:inherit}
.sp-search input:focus{border-color:var(--gold);outline:none}
.sp-muted{color:var(--text-muted)}
.sp-dim{color:var(--text-dim)}
.sp-bright{color:var(--text-bright)}
.sp-accent{color:var(--gold)}
.sp-input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);padding:6px 10px;border-radius:4px;font-size:11px;font-family:inherit}
.sp-input:focus{border-color:var(--gold);outline:none}
.sp-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:15px}
.sp-card-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.sp-bar-track{background:var(--border-lg);border-radius:4px;height:8px;overflow:hidden}
.sp-stat-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center}
.sp-stat-label{color:var(--text-muted);font-size:12px;margin-top:5px}
.sp-tpl-card{background:var(--bg-raised);border-radius:8px;overflow:hidden;transition:.2s}
/* Announcements */
.ann-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px}
.ann-tpl{cursor:pointer;border:2px solid var(--border-lg);border-radius:8px;overflow:hidden;transition:.2s;position:relative}
.ann-tpl:hover{border-color:var(--text-muted);transform:translateY(-2px)}
.ann-tpl.selected{border-color:var(--gold);box-shadow:0 0 12px rgba(255,193,7,0.2)}
.ann-tpl input[type=radio]{display:none}
.ann-tpl-preview{padding:16px 12px;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.ann-tpl-name{padding:8px 12px;font-weight:700;font-size:11px;color:var(--text-bright);background:var(--bg-raised);border-top:1px solid var(--border);display:flex;align-items:center;gap:6px}
.ann-tpl-desc{padding:0 12px 8px;font-size:9px;color:var(--text-muted);background:var(--bg-raised);line-height:1.3}
.ann-tpl-badge{position:absolute;top:6px;right:6px;background:var(--gold);color:#000;font-size:8px;font-weight:800;padding:2px 6px;border-radius:3px;text-transform:uppercase;display:none}
.ann-tpl.selected .ann-tpl-badge{display:block}
.ann-items{padding:16px}
.ann-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;margin-bottom:10px;overflow:hidden;transition:.2s}
.ann-item:hover{border-color:var(--text-muted)}
.ann-item.ann-item--active{border-color:var(--green-dark);box-shadow:0 0 8px rgba(60,123,40,0.15)}
.ann-item-row{display:flex;gap:10px;padding:10px 12px;align-items:center;flex-wrap:wrap}
.ann-item-row-main{border-bottom:1px solid var(--border-sub)}
.ann-field{display:flex;flex-direction:column;gap:3px}
.ann-field label{font-size:9px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.ann-field input[type=text],.ann-field input[type=number]{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);padding:5px 8px;border-radius:4px;font-size:11px;font-family:inherit}
.ann-field input:focus{border-color:var(--gold);outline:none}
.ann-color{width:28px;height:28px;border:1px solid var(--border-lg);border-radius:4px;padding:0;cursor:pointer;background:none}
.ann-check{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);cursor:pointer;user-select:none}
.ann-check input{accent-color:var(--gold)}
.ann-del{background:var(--red);color:#fff;border:none;width:26px;height:26px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:.15s;flex-shrink:0}
.ann-del:hover{background:var(--red-dark)}
.ann-preview-box{margin:16px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.ann-preview-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-raised);border-bottom:1px solid var(--border)}
.ann-preview-header span{font-size:11px;font-weight:700;color:var(--gold)}
.ann-preview-body{padding:20px;min-height:60px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;transition:background .3s}
.ann-empty{color:var(--text-muted);font-size:11px;text-align:center;padding:30px 0}
.ann-empty i{font-size:28px;display:block;margin-bottom:8px;opacity:.4}

/* ══════════════════════════════════════════════════════════════════════
   DONATE  (.dn-*)
   ══════════════════════════════════════════════════════════════════════ */
.dn-wrap{max-width:1280px;margin:0 auto;padding:30px 20px;font-size:14px;line-height:1.5}
.dn-promo{text-align:center;padding:12px;border-radius:8px;font-weight:700;font-size:15px;margin-bottom:20px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;animation:dn-pulse 2s ease-in-out infinite}
@keyframes dn-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.01)}}
.dn-tabs{display:flex;gap:0;margin-bottom:20px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.dn-tab{flex:1;padding:12px;text-align:center;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;border:none;outline:none;background:var(--bg-alt);color:var(--text-muted)}
.dn-tab.active{background:var(--accent);color:#fff}
.dn-tab:hover:not(.active){background:var(--bg-hover)}
.dn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:24px}
.dn-card{position:relative;border-radius:10px;padding:18px;text-align:center;transition:all .2s;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.dn-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15);border-color:var(--accent)}
.dn-card.recommended{border-color:var(--accent);box-shadow:0 2px 12px var(--accent-glow)}
.dn-card-badge{position:absolute;top:-8px;right:-8px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;background:var(--accent);color:#fff}
.dn-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;color:var(--text-muted)}
.dn-card-price{font-size:28px;font-weight:800;margin-bottom:8px;color:var(--text-bright)}
.dn-card-price span{font-size:14px;font-weight:400}
.dn-card-details{font-size:12px;line-height:1.7;text-align:left;margin:0 0 auto;padding:0;list-style:none;color:var(--text)}
.dn-card-details li{padding:2px 0}
.dn-card-details li:before{content:"\f00c";font-family:FontAwesome;margin-right:6px;font-size:10px;color:var(--green)}
.dn-card-perk{margin-top:8px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;background:var(--accent-dim);color:var(--accent)}
.dn-card-pay{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px}
.dn-card-pay-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;border:none;cursor:pointer;font-size:12px;font-weight:700;color:#fff;transition:all .2s;text-decoration:none!important;width:100%}
.dn-card-pay-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
.dn-card-pay-btn.pp{background:linear-gradient(135deg,#003087,#009cde)}
.dn-card-pay-btn.cc{background:linear-gradient(135deg,#1a8754,#28a745)}
.dn-card-pay-btn.cr{background:linear-gradient(135deg,#f7931a,#ff6b35)}
.dn-card-divider{border:none;margin:0;border-top:1px solid var(--border)}
.dn-card-2x{position:absolute;top:-8px;left:-8px;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;letter-spacing:.5px}
.dn-du-row{display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap}
.dn-du-old{text-decoration:line-through;opacity:.5;font-size:13px}
.dn-du-arrow{font-size:10px;opacity:.6}
.dn-du-new{font-weight:800;font-size:15px;padding:2px 8px;border-radius:4px;background:var(--accent-dim);color:var(--accent)}
.dn-du-tag{font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;vertical-align:middle;background:var(--accent);color:#fff}
.dn-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:20px;padding:16px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border)}
.dn-benefit{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text)}
.dn-benefit i{font-size:16px;margin-top:2px;min-width:20px;text-align:center;color:var(--accent)}
.dn-hero{text-align:center;padding:24px 20px;border-radius:10px;margin-bottom:20px;line-height:1.7;background:var(--bg-card);border:1px solid var(--border)}
.dn-hero-title{font-size:22px;font-weight:700;margin-bottom:8px;color:var(--text-bright)}
.dn-hero-text{font-size:14px;max-width:700px;margin:0 auto;color:var(--text-muted)}
.dn-footer{text-align:center;font-size:12px;padding:12px;border-radius:8px;margin-top:10px;line-height:1.6;color:var(--text-muted)}
.dn-footer a{font-weight:700;color:var(--accent)!important}
@media(max-width:600px){
    .dn-grid{grid-template-columns:1fr 1fr}
    .dn-benefits{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════════════
   FORUMS  (.fm-*)
   ══════════════════════════════════════════════════════════════════════ */
/* ── Conflict resets ─────────────────────────────────────────────────── */
.fm-page a:link,.fm-page a:visited{color:var(--text-link) !important;text-decoration:none !important}
.fm-page a:hover{color:var(--accent) !important}
.fm-page button,.fm-page input[type="submit"]{background:none !important;background-image:none !important;background-color:transparent !important;box-shadow:none !important;border:none !important;height:auto !important;line-height:normal !important;text-indent:0 !important;width:auto !important;font-size:inherit !important}
.fm-page button:active,.fm-page input[type="submit"]:active{position:static !important;top:auto !important}
.fm-page button.fm-btn{display:inline-flex !important;align-items:center !important;gap:5px !important;padding:7px 16px !important;border-radius:6px !important;cursor:pointer !important;font-size:12px !important;font-weight:600 !important;background:var(--border) !important}
.fm-page button.fm-btn:hover{background:var(--bg-hover) !important}
.fm-page button.fm-btn-sm{padding:4px 12px !important;font-size:11px !important}
.fm-page button.fm-btn-primary{display:inline-flex !important;align-items:center !important;gap:5px !important;padding:7px 16px !important;border-radius:6px !important;cursor:pointer !important;font-size:12px !important;font-weight:600 !important;background:linear-gradient(135deg,var(--accent),var(--accent-dark)) !important;color:#fff !important;box-shadow:0 2px 8px var(--accent-glow) !important}
.fm-page button.fm-btn-primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent)) !important}
.fm-page button.fm-btn-danger{display:inline-flex !important;align-items:center !important;gap:5px !important;padding:7px 16px !important;border-radius:6px !important;cursor:pointer !important;font-size:12px !important;font-weight:600 !important;background:var(--red-dim) !important;color:var(--red) !important}
.fm-page button.fm-btn-danger:hover{background:rgba(231,76,60,.22) !important}
.fm-page textarea.fm-textarea{box-shadow:none !important;height:auto !important;font-size:13px !important;background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:10px 12px !important}
.fm-page input.fm-input{box-shadow:none !important;height:auto !important;font-size:13px !important;background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:8px 12px !important}
.fm-page select.fm-select{box-shadow:none !important;height:auto !important;font-size:12px !important;background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:6px 10px !important}
.fm-page input[type="radio"]{width:auto !important;height:auto !important}
.fm-page .fm-post-body table{background:none !important;border:none !important}
.fm-page .fm-post-body td{border:none !important;color:inherit !important;background:none !important}
.fm-page p{font-size:13px !important;color:inherit !important}
.fm-page h1,.fm-page h2{margin-left:0 !important;color:inherit !important}
.fm-page ul,.fm-page ol{margin:0 !important;padding:0 !important;list-style:none !important}
.fm-page li{margin:0 !important;padding:0 !important}
.fm-page .fm-post-body ul,.fm-page .fm-post-body ol{margin:0 0 8px 20px !important;list-style:disc !important}
.fm-page .fm-post-body ol{list-style:decimal !important}
.fm-page .fm-post-body li{margin:2px 0 !important}
.fm-page img{border:0 !important}
/* ── Layout ──────────────────────────────────────────────────────────── */
.fm-page{max-width:1280px;margin:0 auto;padding:10px 12px 60px;text-align:left !important}
.fm-page table.fm-fi-table{background-color:transparent !important;border:none !important}
.fm-page .fm-fi-table td{border-width:0 !important;border:none !important;color:inherit !important;background-color:transparent !important}
.fm-page .fm-fi-table tr{background-color:transparent !important}
/* ── Breadcrumb ──────────────────────────────────────────────────────── */
.fm-breadcrumb{font-size:12px;color:var(--text-muted);margin-bottom:18px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.fm-breadcrumb a{color:var(--text-muted) !important;text-decoration:none !important}
.fm-breadcrumb a:hover{color:var(--accent) !important}
.fm-bc-sep{color:var(--bg-raised)}
.fm-bc-cur{color:var(--text-dim)}
/* ── Page header ─────────────────────────────────────────────────────── */
.fm-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}
.fm-header-title{font-size:21px;font-weight:700;color:var(--border-lg2);display:flex;align-items:center;gap:12px;letter-spacing:-.3px}
.fm-header-title .fm-icon{width:36px;height:36px;border-radius:8px;background:rgba(230,126,34,.14);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-size:16px;flex-shrink:0}
.fm-header-title i{color:var(--accent)}
.fm-header-sub{font-size:13px;color:var(--text-muted);margin-top:4px}
.fm-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-top:4px}
/* ── Forum index ─────────────────────────────────────────────────────── */
.fm-cat{margin-bottom:24px;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.22)}
.fm-cat-head{padding:0 20px;height:46px;display:flex;align-items:center;gap:10px;background:var(--border-sub);border-bottom:1px solid var(--border);font-weight:700;font-size:11px;color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase}
.fm-cat-head-icon{color:var(--accent);width:18px;text-align:center}
.fm-fi-table{width:100%;border-collapse:collapse}
.fm-fi-row{border-bottom:1px solid var(--border-sub);transition:background .12s}
.fm-fi-row:last-child{border-bottom:none}
.fm-fi-row:hover td{background:rgba(255,255,255,.025)}
.fm-fi-icon-cell{width:52px;padding:14px 6px 14px 18px !important;vertical-align:middle}
.fm-fi-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.fm-fi-icon.fm-fi-new{background:rgba(230,126,34,.14);color:var(--accent)}
.fm-fi-icon.fm-fi-read{background:var(--border-sub);color:var(--text-dim)}
.fm-fi-main-cell{padding:14px 16px !important;vertical-align:middle;text-align:left}
.fm-page .fm-fi-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:7px}
.fm-page .fm-fi-name a{color:var(--text) !important;text-decoration:none !important}
.fm-page .fm-fi-name a:hover{color:var(--accent) !important}
.fm-fi-desc{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.5}
.fm-fi-stat-cell{width:90px;text-align:center;padding:14px 12px !important;vertical-align:middle;white-space:nowrap}
.fm-fi-stat-num{font-size:16px;font-weight:700;color:var(--text-dim);line-height:1}
.fm-fi-stat-lbl{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
.fm-fi-lp-cell{width:210px;padding:14px 18px 14px 14px !important;vertical-align:middle;border-left:1px solid var(--border-sub);text-align:left}
.fm-fi-lp-date{color:var(--text-muted);font-size:11px;margin-bottom:4px}
.fm-fi-lp-by{color:var(--text-muted);font-size:12px}
.fm-fi-lp-by a{color:var(--text-muted) !important}
.fm-fi-lp-by a:hover{color:var(--accent) !important}
.fm-fi-lp-topic{color:var(--text-muted);font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.fm-fi-lp-topic a{color:var(--text-muted) !important}
.fm-fi-lp-topic a:hover{color:var(--accent) !important}
.fm-new-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}
/* ── Topic list ──────────────────────────────────────────────────────── */
.fm-topic-row{display:flex;align-items:center;padding:12px 16px;background:var(--bg-card)00;border-bottom:1px solid var(--border-sub);transition:background .12s;gap:10px}
.fm-topic-row:last-child{border-bottom:none}
.fm-topic-row:hover{background:#21252e55}
.fm-topic-row.fm-sticky{border-left:3px solid var(--accent);padding-left:13px}
.fm-topic-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.18);margin-bottom:14px}
.fm-topic-col-head{display:grid;grid-template-columns:28px 1fr 72px 72px 130px 178px;align-items:center;padding:10px 16px;background:rgba(255,255,255,.03);border-bottom:1px solid var(--border);gap:8px}
.fm-topic-col-head>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}
.fm-topic-table-wrap .fm-topic-row{display:grid;grid-template-columns:45px 1fr 72px 72px 130px 178px;align-items:center;padding:13px 16px;gap:8px}
.fm-ti img{width:20px;height:20px;display:block}
.fm-tt{min-width:0;text-align:left}
.fm-tt-link{font-weight:600;font-size:13px;color:var(--text) !important;text-decoration:none !important;line-height:1.4;display:block}
.fm-tt-link:hover{color:var(--accent) !important}
.fm-tt-meta{margin-top:4px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.fm-tt-badge{font-size:10px;padding:2px 7px;border-radius:3px;font-weight:700;letter-spacing:.3px}
.fm-tt-badge.sticky{background:rgba(230,126,34,.18);color:var(--accent)}
.fm-tt-badge.locked{background:var(--red-dim);color:var(--red)}
.fm-tt-pages{display:flex;align-items:center;gap:3px}
.fm-tt-pages a{color:var(--text-muted) !important;padding:1px 5px;border-radius:3px;font-size:10px;background:var(--border);text-decoration:none !important}
.fm-tt-pages a:hover{color:var(--accent) !important;background:rgba(230,126,34,.1)}
.fm-ts{text-align:center;font-size:13px;color:var(--text-muted);font-weight:500}
.fm-ta{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}
.fm-ta a{color:var(--text-muted) !important;text-decoration:none !important}
.fm-ta a:hover{color:var(--accent) !important}
.fm-tlp{font-size:11px;color:var(--text-muted);overflow:hidden;text-align:left}
.fm-tlp-date{color:var(--text-muted);margin-bottom:2px}
.fm-tlp a{color:var(--text-muted) !important;text-decoration:none !important}
.fm-tlp a:hover{color:var(--accent) !important}
.fm-col-head{display:flex;align-items:center;padding:9px 14px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0}
.fm-col-head>*{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}
.fm-list-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.18);margin-bottom:14px}
.fm-list-wrap .fm-col-head{border-radius:0;border:none;border-bottom:1px solid var(--border)}
.fm-list-wrap .fm-topic-row{border-bottom:1px solid var(--border-sub)}
/* ── Post view ───────────────────────────────────────────────────────── */
.fm-post{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 10px var(--input-border)}
.fm-post.fm-new-marker{border-left:3px solid var(--accent)}
.fm-post-head{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;background:rgba(255,255,255,.025);border-bottom:1px solid var(--bg-input)}
.fm-post-head-left{display:flex;align-items:center}
.fm-post-num{font-size:12px;color:var(--text-muted);font-weight:600}
.fm-post-num a{color:var(--text-muted) !important;text-decoration:none !important}
.fm-post-num a:hover{color:var(--accent) !important}
.fm-post-date{font-size:11px;color:var(--text-dim);margin-left:8px}
.fm-post-head-actions{display:flex;align-items:center;gap:2px}
.fm-post-action{font-size:11px;color:var(--text-muted) !important;text-decoration:none !important;padding:3px 9px;border-radius:4px;transition:background .12s,color .12s;display:inline-block}
.fm-post-action:hover{background:var(--border);color:var(--text-link) !important}
.fm-post-action.delete{color:#8a3535 !important}
.fm-post-action.delete:hover{background:var(--red-dim);color:var(--red) !important}
.fm-post-wrap{display:flex}
.fm-post-user{width:180px;flex-shrink:0;padding:18px 14px;border-right:1px solid var(--bg-input);display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg-hover)}
.fm-avatar{width:100px;height:100px;object-fit:cover;border-radius:8px;display:block;border:2px solid var(--bg-hover)}
.fm-pu-name{font-weight:700;font-size:13px;margin-top:10px}
.fm-pu-name a{color:var(--text) !important;text-decoration:none !important}
.fm-pu-name a:hover{color:var(--accent) !important}
.fm-pu-badges{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:4px;min-height:6px}
.fm-pu-title{font-size:11px;color:var(--text-muted);margin:3px 0 5px}
.fm-class-badge{height:20px;width:auto;display:block;margin:0 auto 4px}
.fm-pu-stats{width:100%;margin-top:10px;border-top:1px solid var(--bg-input);padding-top:10px}
.fm-pu-stat-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.025)}
.fm-pu-stat-row:last-child{border-bottom:none}
.fm-pu-stat-lbl{color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.2px}
.fm-pu-stat-val{color:var(--text-muted);font-size:11px;font-weight:500;text-align:right}
.fm-post-body{flex:1;min-width:0;padding:18px 20px;font-size:13px;color:var(--text-link);line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}
.fm-post-body img{max-width:100%;height:auto}
.fm-post-body a{color:var(--accent) !important}
.fm-post-sig{margin-top:20px;padding-top:12px;border-top:1px solid var(--bg-input);font-size:11px;color:var(--text-muted);line-height:1.5}
.fm-post-foot{display:flex;align-items:center;padding:7px 16px;border-top:1px solid var(--border-sub);gap:2px;background:var(--border)}
.fm-post-foot-link{font-size:11px;color:var(--text-muted) !important;text-decoration:none !important;padding:3px 9px;border-radius:4px;transition:background .12s;display:inline-block}
.fm-post-foot-link:hover{background:var(--border);color:var(--text-dim) !important}
.fm-jail-bar{color:var(--red);font-weight:600;padding:9px 16px;cursor:pointer;font-size:12px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;gap:6px;background:rgba(231,76,60,.04)}
.fm-jail-bar:hover{background:rgba(231,76,60,.07)}
.fm-jail-hidden{display:none}
/* ── Buttons ─────────────────────────────────────────────────────────── */
.fm-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:background .15s,color .15s;background:var(--border);text-decoration:none !important;border:none;white-space:nowrap}
.fm-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark)) !important;box-shadow:0 2px 8px var(--accent-glow)}
.fm-btn-primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent)) !important;box-shadow:0 3px 12px rgba(230,126,34,.4)}
.fm-btn-danger{background:var(--red-dim) !important}
.fm-btn-danger:hover{background:rgba(231,76,60,.22) !important}
.fm-btn-sub{background:rgba(39,174,96,.12) !important}
.fm-btn-sub:hover{background:rgba(39,174,96,.22) !important}
.fm-btn-sm{padding:4px 12px !important;font-size:11px !important}
.fm-page .fm-btn{color:var(--text-dim) !important}
.fm-page .fm-btn:hover{background:var(--bg-hover) !important;color:#fff !important}
.fm-page .fm-btn-primary{color:#fff !important}
.fm-page .fm-btn-primary:hover{color:#fff !important}
.fm-page .fm-btn-danger{color:var(--red) !important}
.fm-page .fm-btn-danger:hover{color:var(--red) !important}
.fm-page .fm-btn-sub{color:var(--green) !important}
.fm-page .fm-btn-sub:hover{color:var(--green) !important}
.fm-page .fm-tt-link{color:var(--text) !important}
.fm-page .fm-tt-link:hover{color:var(--accent) !important}
.fm-page .fm-post-action{color:var(--text-muted) !important}
.fm-page .fm-post-action:hover{color:var(--text-link) !important}
.fm-page .fm-post-action.delete{color:#8a3535 !important}
.fm-page .fm-post-action.delete:hover{color:var(--red) !important}
.fm-page .fm-post-foot-link{color:var(--text-muted) !important}
.fm-page .fm-post-foot-link:hover{color:var(--text-dim) !important}
.fm-page .fm-post-num a{color:var(--text-muted) !important}
.fm-page .fm-post-num a:hover{color:var(--accent) !important}
.fm-page .fm-pu-name a{color:var(--text) !important}
.fm-page .fm-pu-name a:hover{color:var(--accent) !important}
.fm-page .fm-tt-pages a{color:var(--text-muted) !important}
.fm-page .fm-tt-pages a:hover{color:var(--accent) !important}
.fm-page .fm-pg{color:var(--text-muted) !important}
.fm-page .fm-pg:hover{color:var(--text) !important}
.fm-page .fm-pg-on{color:#fff !important}
.fm-page .fm-pg-off{color:var(--border-lg2) !important}
/* ── Pager ───────────────────────────────────────────────────────────── */
.fm-pager{display:flex;align-items:center;justify-content:center;gap:3px;margin:16px 0;flex-wrap:wrap}
.fm-pg{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 8px;border-radius:5px;font-size:12px;font-weight:600;color:var(--text-muted) !important;text-decoration:none !important;transition:background .12s,color .12s;border:1px solid transparent}
.fm-pg:hover{background:var(--bg-hover);color:var(--text) !important;border-color:var(--bg-hover)}
.fm-pg-on{background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important}
.fm-pg-on:hover{background:var(--accent-dark) !important}
.fm-pg-off{color:var(--border-lg2) !important;cursor:default}
.fm-pg-off:hover{background:none;color:var(--border-lg2) !important;border-color:transparent !important}
.fm-pg-dots{color:var(--text-dim);padding:0 4px}
/* ── Forms ───────────────────────────────────────────────────────────── */
.fm-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.fm-form-head{padding:15px 20px;border-bottom:1px solid var(--border);font-weight:700;color:var(--text);font-size:14px;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:8px}
.fm-form-body{padding:20px}
.fm-textarea{width:100%;min-height:160px;background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:10px 12px !important;font-size:13px !important;font-family:inherit;resize:vertical}
.fm-textarea:focus{border-color:var(--accent) !important;outline:none}
.fm-input{background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:8px 12px !important;font-size:13px !important}
.fm-input:focus{border-color:var(--accent) !important;outline:none}
.fm-select{background:var(--bg-input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;border-radius:6px !important;padding:6px 10px !important;font-size:12px !important}
.fm-form-actions{margin-top:16px;display:flex;gap:8px;align-items:center}
/* ── Mod panel ───────────────────────────────────────────────────────── */
.fm-mod{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:20px}
.fm-mod-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--bg-input)}
.fm-mod-title i{color:var(--accent)}
.fm-mod-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}
.fm-mod-row label{min-width:90px;font-weight:600;color:var(--text-muted)}
/* ── Quick jump ──────────────────────────────────────────────────────── */
.fm-jump{margin-top:20px;text-align:center;font-size:12px;color:var(--text-muted);padding:14px;background:rgba(255,255,255,.02);border:1px solid var(--border-sub);border-radius:8px}
.fm-jump label{margin-right:8px}
/* ── Search ──────────────────────────────────────────────────────────── */
.fm-search-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;flex-wrap:wrap}
.fm-search-row label{min-width:100px;font-weight:600;color:var(--text-muted);text-align:right;flex-shrink:0}
.fm-search-cats{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;font-size:12px;padding:14px;background:rgba(255,255,255,.02);border-radius:6px;border:1px solid var(--border-sub)}
.fm-search-cats label{color:var(--text-muted);cursor:pointer;font-weight:400;min-width:auto;text-align:left}
/* ── Misc ────────────────────────────────────────────────────────────── */
.fm-empty{text-align:center;padding:60px 20px;color:var(--text-dim);font-size:14px}
.fm-empty i{display:block;font-size:36px;margin-bottom:14px;opacity:.25}
.fm-legend{display:flex;gap:18px;align-items:center;font-size:11px;color:var(--text-dim);margin-top:16px}
.fm-legend span{display:flex;align-items:center;gap:6px}
.fm-legend img{vertical-align:middle;width:18px}
.fm-confirm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;max-width:480px;margin:60px auto;padding:36px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.35)}
.fm-confirm-card p{color:var(--text-dim);margin-bottom:24px;font-size:15px;line-height:1.6}
/* ─── LIGHT THEME ──────────────────────────────────────────────────── */
.fm-lt .fm-page button.fm-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark)) !important;color:#fff !important;box-shadow:0 2px 8px var(--accent-glow) !important}
.fm-lt .fm-page button.fm-btn-primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent)) !important}
.fm-lt .fm-fi-row:hover td{background:var(--bg-hover)}
.fm-lt .fm-fi-row td{background: var(--bg-card)}
.fm-lt .fm-topic-row{background: var(--bg-card);border-bottom-color:var(--border-sub)}
.fm-lt .fm-post{background: var(--bg-card);border-color:var(--border);box-shadow:0 2px 6px var(--border-sub)}
.fm-lt .fm-post-action.delete:hover{background:rgba(192,57,43,.07)}
.fm-lt .fm-jail-bar{color:var(--red-dark);background:rgba(185,28,28,.03)}
.fm-lt .fm-jail-bar:hover{background:rgba(185,28,28,.06)}
.fm-lt .fm-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark)) !important;box-shadow:0 2px 8px var(--accent-glow) !important}
.fm-lt .fm-btn-primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent)) !important}
.fm-lt .fm-btn-sub{background:rgba(21,128,61,.1) !important}
.fm-lt .fm-page .fm-btn-primary{color:#fff !important}
.fm-lt .fm-page .fm-btn-primary:hover{color:#fff !important}
.fm-lt .fm-page .fm-pg-on{color:#fff !important}
.fm-lt .fm-pg-on{background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important}
.fm-lt .fm-form-card{background: var(--bg-card);border-color:var(--border);box-shadow:0 2px 8px var(--border)}
.fm-lt .fm-mod{background: var(--bg-card);border-color:var(--border)}
.fm-lt .fm-jump{background:rgba(0,0,0,.01);border-color:var(--border);color:var(--text-muted)}
.fm-lt .fm-search-cats{background:rgba(0,0,0,.01);border-color:var(--border)}
.fm-lt .fm-confirm-card{background: var(--bg-card);border-color:var(--border);box-shadow:0 4px 20px var(--bg-hover)}

/* ══════════════════════════════════════════════════════════════════════
   HIT & RUN  (.hnr-*)
   ══════════════════════════════════════════════════════════════════════ */
.hnr-page { max-width: 1280px; margin: 20px auto; padding: 0 12px; font-size: 13px; }
.hnr-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 16px; }
.hnr-card { background: var(--bg-secondary,var(--border-lg)); border: 1px solid var(--border-color,var(--border-lg2)); border-radius: 8px; padding: 16px; }
.hnr-card__label { font-size: 10px; text-transform: uppercase; letter-spacing: .8px; color: var(--text-muted,var(--text-muted)); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.hnr-card__value { font-size: 28px; font-weight: 700; color: var(--text-secondary,#fff); line-height: 1; margin-bottom: 4px; }
.hnr-card__value small { font-size: 13px; color: var(--text-muted); font-weight: 400; }
.hnr-card__sub { font-size: 11px; color: var(--text-muted,var(--text-muted)); margin-top: 6px; }
.hnr-card--safe    { border-color: #27ae60; }
.hnr-card--warning { border-color: #f39c12; }
.hnr-card--danger  { border-color: var(--red); }
.hnr-card--safe    .hnr-card__value { color: #27ae60; }
.hnr-card--warning .hnr-card__value { color: #f39c12; }
.hnr-card--danger  .hnr-card__value { color: var(--red); }
.hnr-pbar { background: var(--bg-raised); border-radius: 4px; height: 5px; overflow: hidden; margin: 10px 0 6px; }
.hnr-pbar__fill { height: 100%; border-radius: 4px; transition: width .4s ease; min-width: 2px; }
.hnr-pbar__fill--safe    { background: #27ae60; }
.hnr-pbar__fill--warning { background: #f39c12; }
.hnr-pbar__fill--danger  { background: var(--red); }
.hnr-vip { background: linear-gradient(135deg,#2a1f00,#332700); border: 1px solid rgba(243,156,18,.4); border-radius: 8px; padding: 11px 16px; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--text-link); }
.hnr-vip i { color: #f39c12; flex-shrink: 0; }
.hnr-vip a { color: #f39c12; text-decoration: none; }
.hnr-vip a:hover { text-decoration: none; }
.hnr-table-wrap { background: var(--bg-secondary,var(--border-lg)); border: 1px solid var(--border-color,var(--border-lg2)); border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.hnr-tbl { width: 100%; border-collapse: collapse; }
.hnr-tbl thead th { background: var(--bg-alt); color: var(--text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .6px; padding: 10px 12px; font-weight: 600; border-bottom: 1px solid var(--bg-legacy); white-space: nowrap; }
.hnr-tbl thead th:first-child { text-align: left; }
.hnr-tbl thead th:not(:first-child) { text-align: center; }
.hnr-tbl tbody tr { border-bottom: 1px solid var(--border-sub); transition: background .12s; }
.hnr-tbl tbody tr:last-child { border-bottom: none; }
.hnr-tbl tbody tr:hover { background: rgba(255,255,255,.03); }
.hnr-tbl td { padding: 9px 12px; color: var(--text-dim); vertical-align: middle; }
.hnr-tbl td:not(:first-child) { text-align: center; white-space: nowrap; }
.hnr-name { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hnr-name a { color: var(--text); text-decoration: none; }
.hnr-name a:hover { color: #fff; text-decoration: none; }
.hnr-seed { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.hnr-seed__bar { width: 64px; height: 3px; background: var(--bg-raised); border-radius: 2px; overflow: hidden; }
.hnr-seed__fill { height: 100%; background: var(--red-dark); border-radius: 2px; }
.hnr-seed__txt { font-size: 11px; color: var(--text-muted); }
.hnr-gap { color: var(--red); font-weight: 600; }
.hnr-actions { display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; }
.hnr-btn { padding: 5px 9px; border: none; border-radius: 4px; font-size: 11px; cursor: pointer; white-space: nowrap; transition: filter .15s, transform .1s; display: inline-flex; align-items: center; gap: 4px; }
.hnr-btn:hover  { filter: brightness(1.2); transform: translateY(-1px); }
.hnr-btn:active { transform: translateY(0); }
.hnr-btn--pts { background: #1b5e4a; color: #a8e6cf; }
.hnr-btn--upl { background: #1a3a5c; color: #90caf9; }
.hnr-btn--del { background: #5c1b1b; color: #ef9a9a; padding: 5px 8px; }
.hnr-empty { text-align: center; padding: 56px 20px; }
.hnr-empty__icon { font-size: 44px; color: #27ae60; margin-bottom: 14px; }
.hnr-empty__title { font-size: 17px; font-weight: 700; color: #27ae60; margin-bottom: 6px; }
.hnr-empty__sub { font-size: 12px; color: var(--text-muted); }
.hnr-info { background: var(--bg-secondary,var(--border-lg)); border: 1px solid var(--border-color,var(--border-lg2)); border-radius: 8px; padding: 16px 20px; font-size: 12px; color: var(--text-muted); line-height: 1.75; }
.hnr-info__title { font-size: 10px; text-transform: uppercase; letter-spacing: .8px; color: var(--text-muted); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.hnr-info ul { margin: 0; padding-left: 18px; }
.hnr-info li { margin-bottom: 3px; }
.hnr-info li::marker { color: var(--red); }
.hnr-info a { color: #f39c12; text-decoration: none; }
.hnr-info a:hover { text-decoration: none; }
@media (max-width: 720px) {
    .hnr-stats { grid-template-columns: repeat(2,1fr); }
    .hnr-name  { max-width: 140px; }
    .hnr-tbl thead th:nth-child(3),
    .hnr-tbl td:nth-child(3) { display: none; }
}
/* Light */
.hnr-lt .hnr-card { background: var(--bg-card); border-color: var(--text-muted); }
.hnr-lt .hnr-card--safe    .hnr-card__value { color: #1e8449; }
.hnr-lt .hnr-card--warning .hnr-card__value { color: #b7770d; }
.hnr-lt .hnr-vip { background: #fffbf0; border-color: rgba(243,156,18,.5); color: var(--text-dim); }
.hnr-lt .hnr-vip a { color: #b7770d; }
.hnr-lt .hnr-table-wrap { background: var(--bg-card); border-color: var(--text-muted); }
.hnr-lt .hnr-tbl thead th { background: #2c3e50; color: #fff; border-bottom-color: #1a2d3d; }
.hnr-lt .hnr-name a { color: #2c3e50; }
.hnr-lt .hnr-name a:hover { color: var(--text-bright); }
.hnr-lt .hnr-info { background: #f8f8f8; border-color: var(--text-muted); color: var(--text-dim); }

/* ══════════════════════════════════════════════════════════════════════
   MOVIES  (.mv-*)
   ══════════════════════════════════════════════════════════════════════ */
.mv-page { max-width: 1280px; margin: 0 auto; padding: 0 12px 40px; }
.mv-search-wrap { display: flex; justify-content: center; margin: 18px 0 16px; padding: 28px 20px; background: linear-gradient(135deg, rgba(15,20,35,.75) 0%, rgba(25,30,50,.85) 100%); border-radius: 16px; position: relative; overflow: hidden; }
.mv-search-wrap::before, .mv-search-wrap::after { content: ''; position: absolute; border-radius: 50%; filter: blur(45px); pointer-events: none; }
.mv-search-wrap::before { width:220px; height:220px; top:-70px; left:12%; background:rgba(230,126,34,.22); }
.mv-search-wrap::after  { width:180px; height:180px; bottom:-60px; right:15%; background:rgba(52,152,219,.18); }
.mv-search-form { display: flex; width: 100%; max-width: 720px; border-radius: 50px; overflow: hidden; background: var(--bg-hover); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid var(--input-border); box-shadow: 0 4px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.07); position: relative; z-index: 1; }
.mv-page input.mv-search-input[type="text"] { all: unset; box-sizing: border-box; flex: 1; min-width: 0; padding: 14px 22px; font-size: 15px; color: #fff; height: auto; line-height: normal; background: transparent; border: 0; box-shadow: none; border-radius: 50px 0 0 50px; }
.mv-page input.mv-search-input::placeholder { color: rgba(255,255,255,.4); }
.mv-page input.mv-search-input:focus { background: var(--border-sub); border: 0 !important; box-shadow: none !important; border-radius: 50px 0 0 50px !important; }
.mv-search-btn { all: unset; box-sizing: border-box; display: flex; align-items: center; align-self: stretch; padding: 0 26px; cursor: pointer; font-size: 14px; font-weight: 600; background: rgba(230,126,34,.88); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; transition: background .2s; letter-spacing: .5px; white-space: nowrap; border-left: 1px solid var(--input-border); }
.mv-search-btn:hover { background: rgba(211,84,0,.95); }
.mv-search-clear { display: flex; align-items: center; padding: 0 14px; background: transparent; color: rgba(255,255,255,.38); font-size: 18px; line-height: 1; text-decoration: none; transition: color .15s; border-left: 1px solid var(--input-border); }
.mv-search-clear:hover { color: rgba(255,255,255,.85); }
/* Filter button inside search bar */
.mv-search-filter-btn { all: unset; box-sizing: border-box; display: flex; align-items: center; align-self: stretch; padding: 0 16px; cursor: pointer; font-size: 14px; color: var(--text-muted); transition: color .15s, background .15s; border-left: 1px solid var(--input-border); position: relative; }
.mv-search-filter-btn:hover, .mv-search-filter-btn.active { color: var(--accent); background: var(--accent-dim); }
.mv-search-filter-btn.has-active { color: var(--accent); }
.mv-search-filter-btn .mv-filter-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); position:absolute; top:8px; right:8px; display:none; }
.mv-search-filter-btn.has-active .mv-filter-dot { display:block; }
.mv-filter-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.mv-sort-row { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.mv-sort-label { font-size: 12px; color: var(--text-muted); }
.mv-sort-link { font-size: 12px; padding: 5px 12px; border-radius: 15px; text-decoration: none; color: var(--text-muted); border: 1px solid var(--input-border); transition: background .15s, color .15s; }
.mv-sort-link:hover  { color: var(--text); background: var(--border); }
.mv-sort-link.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.mv-panel { background: var(--bg-alt); border: 1px solid var(--bg-raised); border-radius: 10px; padding: 16px 18px; margin-bottom: 16px; display: none; }
.mv-panel.open { display: block; }
.mv-panel-section { margin-bottom: 16px; }
.mv-panel-section:last-child { margin-bottom: 0; }
.mv-panel-label { font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .6px; margin-bottom: 10px; }
.mv-genre-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.mv-gpill { display: inline-block; padding: 5px 13px; border-radius: 15px; font-size: 12px; text-decoration: none; color: var(--text-muted); border: 1px solid var(--input-border); transition: background .15s, color .15s, border-color .15s; }
.mv-gpill:hover  { background: var(--accent-dim); color: var(--text); border-color: var(--accent-glow); }
.mv-gpill.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.mv-panel-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.mv-panel-field { display: flex; flex-direction: column; gap: 5px; }
.mv-panel-field label { font-size: 11px; color: var(--text-muted); }
.mv-panel-input, .mv-panel-select { all: unset; box-sizing: border-box; padding: 7px 11px; border-radius: 6px; font-size: 13px; color: var(--text); background: var(--border); border: 1px solid var(--input-border); transition: border-color .15s; width: 110px; }
.mv-panel-input:focus, .mv-panel-select:focus { border-color: var(--accent); outline: none; }
.mv-panel-select { width: auto; cursor: pointer; }
.mv-panel-select option { background: var(--bg-alt); color: var(--text); }
.mv-panel-apply { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 5px; padding: 7px 16px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600; background: var(--accent); color: #fff; transition: background .15s; }
.mv-panel-apply:hover { background: var(--accent-dark); }
.mv-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.mv-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 13px; border-radius: 15px; font-size: 12px; background: var(--accent-dim); border: 1px solid var(--accent-glow); color: #e0a060; text-decoration: none; }
.mv-chip-x { color: rgba(255,255,255,.5); font-size: 14px; line-height: 1; }
.mv-chip:hover .mv-chip-x { color: #fff; }
.mv-chip-clear { font-size: 12px; color: var(--text-muted); text-decoration: none; padding: 4px 10px; border-radius: 15px; border: 1px solid var(--bg-hover); transition: color .15s, background .15s; }
.mv-chip-clear:hover { color: var(--text); background: var(--border); }
.mv-results-meta { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mv-results-meta strong { color: var(--text); }
.mv-results-meta a { color: var(--accent); text-decoration: none; }
.mv-results-meta a:hover { text-decoration: none; }
.mv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; margin-bottom: 24px; }
.mv-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-radius: 7px; overflow: hidden; background: var(--bg-raised); box-shadow: 0 2px 8px rgba(0,0,0,.3); transition: transform .2s, box-shadow .2s; }
.mv-card:hover { transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.55); }
.mv-poster-wrap { position: relative; overflow: hidden; aspect-ratio: 2/3; background: #1a1c20; }
.mv-poster { width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s, opacity .35s; }
.mv-card:hover .mv-poster { transform: scale(1.06); opacity: .35; }
.mv-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 10px 9px; opacity: 0; transition: opacity .3s; background: linear-gradient(to top, rgba(0,0,0,.85) 0%, var(--input-border) 70%, transparent 100%); }
.mv-card:hover .mv-overlay { opacity: 1; }
.mv-overlay-inner { width: 100%; }
.mv-plot { font-size: 11px; line-height: 1.45; color: var(--text); margin: 0 0 6px; }
.mv-genres { display: flex; flex-wrap: wrap; gap: 4px; }
.mv-genre  { font-size: 10px; padding: 2px 6px; border-radius: 10px; background: rgba(230,126,34,.75); color: #fff; white-space: nowrap; }
.mv-rating { position:absolute; top:7px; right:7px; font-size:11px; font-weight:700; padding:3px 6px; border-radius:4px; line-height:1; color:#fff; }
.mv-rating--hi  { background: rgba(39,174,96,.85); }
.mv-rating--mid { background: rgba(241,196,15,.85); color: var(--text-bright); }
.mv-rating--lo  { background: rgba(231,76,60,.85); }
.mv-info   { padding: 8px 9px 9px; }
.mv-title  { font-size: 12px; font-weight: 600; color: var(--text); line-height: 1.3; word-break: break-word; }
.mv-year   { color: var(--text-muted); font-weight: 400; }
.mv-pager-wrap { text-align: center; margin: 10px 0 20px; }
.mv-pager-wrap .pagination { display: inline-block; }
.mv-pager-wrap .pagination a { line-height: 28px; cursor: pointer; margin: 0 3px; padding: 3px 8px; color: var(--text-dim); text-decoration: none; border-radius: 4px; transition: background .15s, color .15s; }
.mv-pager-wrap .pagination a.number { border: 1px solid var(--border-lg2); background: var(--bg-raised); }
.mv-pager-wrap .pagination a.number:hover { background: #2e3138; color: #fff; }
.mv-pager-wrap .pagination a.current { border-color: var(--accent); background: var(--accent); color: #fff; }
.mv-empty { text-align: center; padding: 60px 20px; color: var(--text-muted); font-size: 15px; }
.mv-empty i { font-size: 40px; display: block; margin-bottom: 12px; opacity: .4; }
/* Light */
.mv-lt .mv-search-wrap   { background: linear-gradient(135deg, rgba(200,212,235,.55) 0%, rgba(215,222,238,.65) 100%); }
.mv-lt .mv-search-wrap::before { background: rgba(230,126,34,.14); }
.mv-lt .mv-search-wrap::after  { background: rgba(52,152,219,.12); }
.mv-lt .mv-search-form   { background: rgba(255,255,255,.55); border-color: rgba(255,255,255,.75); box-shadow: 0 4px 24px var(--border), inset 0 1px 0 rgba(255,255,255,.9); }
.mv-lt input.mv-search-input::placeholder { color: var(--text-dim); }
.mv-lt input.mv-search-input[type="text"] { color: var(--text-bright); }
.mv-lt .mv-search-clear  { color: rgba(0,0,0,.28); border-left-color: var(--border); }
.mv-lt .mv-search-clear:hover { color: rgba(0,0,0,.7); }
.mv-lt .mv-search-filter-btn { color: var(--text-muted); }
.mv-lt .mv-search-filter-btn:hover { color: var(--text-bright); background: rgba(0,0,0,.05); }
.mv-lt .mv-panel         { background: var(--bg-card); border-color: var(--border-lg2); }
.mv-lt .mv-gpill:hover   { background: rgba(192,83,10,.08); color: var(--text-bright); border-color: rgba(192,83,10,.3); }
.mv-lt .mv-panel-select option { background: var(--bg-card); color: var(--text-bright); }
.mv-lt .mv-card          { background: var(--bg-card); box-shadow: 0 1px 5px var(--border); }
.mv-lt .mv-card:hover    { box-shadow: 0 6px 18px var(--border); }
.mv-lt .mv-pager-wrap .pagination a.number:hover { background: var(--border-lg2); color: var(--text-bright); }
.mv-lt .mv-chip          { background: rgba(192,83,10,.08); border-color: rgba(192,83,10,.25); color: #8a3800; }
/* Tabs */
.mv-tabs { display: flex; gap: 0; margin: 0 0 20px; border-bottom: 2px solid var(--bg-hover); }
.mv-tab { padding: 11px 24px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--text-muted); border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; display: inline-flex; align-items: center; gap: 8px; }
.mv-tab:hover  { color: var(--text); }
.mv-tab.active { color: var(--accent); border-bottom-color: var(--accent); }

/* ══════════════════════════════════════════════════════════════════════
   NEWS  (.nw-*)
   ══════════════════════════════════════════════════════════════════════ */
.nw-page    { max-width: 1280px; margin: 0 auto; padding: 0 12px 48px; }
.nw-section { margin-bottom: 20px; }
.nw-card { background: var(--bg-alt); border: 1px solid var(--bg-raised); border-radius: 10px; overflow: hidden; }
.nw-card-hd { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 13px 18px; border-bottom: 1px solid var(--bg-raised); background: #191c22; }
.nw-card-title { font-size: 14px; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 8px; }
.nw-card-title i { color: var(--accent); }
.nw-card-bd { padding: 18px; }
.nw-count   { font-size: 11px; padding: 3px 10px; border-radius: 10px; background: rgba(230,126,34,.14); color: var(--accent); font-weight: 600; }
.nw-flash { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 10px 15px; border-radius: 7px; font-size: 13px; }
.nw-flash--ok { background: rgba(39,174,96,.12); border: 1px solid rgba(39,174,96,.25); color: #2ecc71; }
.nw-flash i   { flex-shrink: 0; }
.nw-form    { display: flex; flex-direction: column; gap: 14px; }
.nw-label   { display: block; font-size: 11px; font-weight: 700; color: var(--text-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .5px; }
.nw-textarea { all: unset; box-sizing: border-box; display: block; width: 100%; min-height: 130px; padding: 11px 13px; border-radius: 7px; background: var(--border); border: 1px solid rgba(255,255,255,.11); font-size: 13px; color: var(--text); font-family: inherit; line-height: 1.6; resize: vertical; transition: border-color .15s, background .15s; }
.nw-textarea:focus   { background: rgba(255,255,255,.09); border-color: var(--accent); outline: none; }
.nw-textarea::placeholder { color: #484c58; }
.nw-hint { font-size: 11px; color: var(--text-dim); margin-top: 5px; }
.nw-form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nw-edit-banner { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 6px; margin-bottom: 14px; background: rgba(230,126,34,.1); border: 1px solid rgba(230,126,34,.22); font-size: 12px; color: #e0a060; }
.nw-edit-banner i { color: var(--accent); }
.nw-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; text-decoration: none; transition: background .15s, color .15s; }
.nw-btn-primary       { background: var(--accent); color: #fff; }
.nw-btn-primary:hover { background: var(--accent-dark); }
.nw-btn-ghost         { background: transparent; border: 1px solid var(--input-border); color: var(--text-muted); }
.nw-btn-ghost:hover   { background: var(--border); color: var(--text-link); }
.nw-item { padding: 18px 0; border-bottom: 1px solid var(--border); }
.nw-item:first-child { padding-top: 4px; }
.nw-item:last-child  { border-bottom: none; padding-bottom: 4px; }
.nw-item-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.nw-item-date  { font-size: 11px; color: var(--text-dim); padding: 2px 9px; border-radius: 10px; background: var(--border); white-space: nowrap; }
.nw-item-ago   { font-size: 11px; color: #484c56; }
.nw-item-by    { font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.nw-item-by a  { color: var(--accent); text-decoration: none; font-weight: 600; }
.nw-item-by a:hover { text-decoration: none; }
.nw-item-donor { color: #f1c40f; font-size: 11px; }
.nw-item-actions { display: flex; gap: 6px; margin-left: auto; }
.nw-item-action { font-size: 11px; color: var(--text-muted); text-decoration: none; padding: 3px 9px; border-radius: 4px; background: var(--bg-input); transition: color .15s, background .15s; }
.nw-item-action:hover          { color: var(--text); background: var(--input-border); }
.nw-item-action--del           { color: #7a3030; }
.nw-item-action--del:hover     { color: var(--red); background: var(--red-dim); }
.nw-item-body { font-size: 13px; color: #c0c0c0; line-height: 1.7; }
.nw-empty { text-align: center; padding: 36px 20px; color: var(--text-dim); font-size: 13px; }
.nw-empty i { font-size: 30px; display: block; margin-bottom: 10px; opacity: .3; }
/* Light */
.nw-lt .nw-card       { background: var(--bg-card); border-color: var(--border-lg2); }
.nw-lt .nw-card-hd    { background: #f5f7fa; border-bottom-color: var(--border-lg2); }
.nw-lt .nw-textarea   { background: var(--bg-hover); border-color: rgba(0,0,0,.13); color: var(--text-bright); }
.nw-lt .nw-textarea:focus { background: var(--border); border-color: #c0530a; }
.nw-lt .nw-btn-ghost  { border-color: rgba(0,0,0,.18); color: var(--text-muted); }
.nw-lt .nw-edit-banner { background: rgba(192,83,10,.07); border-color: rgba(192,83,10,.2); color: #8a4010; }
.nw-lt .nw-flash--ok  { background: rgba(39,174,96,.08); border-color: rgba(39,174,96,.2); color: #1a7a40; }

/* ══════════════════════════════════════════════════════════════════════
   REQUESTS  (.rq-*)
   ══════════════════════════════════════════════════════════════════════ */
/* ── Reset modelbox conflicts ─────────────────────────────────────── */
.rq-page div.modelbox { border: none !important; text-align: left; max-width: none !important; }
.rq-page div.modelbox .rows { overflow: visible !important; background: none !important; padding: 0 !important; }
.rq-page div.modelbox .rows.view_mess { background: var(--bg-alt) !important; }
.rq-page div.modelbox .rows ul { display: flex !important; float: none !important; }
.rq-page div.modelbox ul       { list-style: none; }
.rq-page div.modelbox ul li    { padding-top: 0 !important; margin: 0; }
.rq-page div.modelbox li.subject { float: none !important; width: auto !important; height: auto !important; position: static !important; }
.rq-page div.modelbox li.subject span.date { position: static !important; bottom: auto !important; font-size: 11px !important; color: var(--text-dim) !important; }
.rq-page div.modelbox li.subject span.request { color: var(--text-muted) !important; }
.rq-page div.modelbox li.status_icon { padding-left: 42px !important; }
.rq-page div.modelbox li.double { line-height: normal !important; }
.rq-page div.modelbox li.name { float: none !important; line-height: normal !important; height: auto !important; }
.rq-page div.modelbox li.status { float: none !important; line-height: normal !important; height: auto !important; }
.rq-page div.modelbox .dropline { border-bottom: none !important; }
.rq-page div.modelbox .padding-mess { padding: 14px 16px !important; }
.rq-page div.modelbox .padding-mess.open { display: block !important; }
.rq-page div.modelbox div.options { overflow: visible !important; border-top: none !important; padding: 0 !important; }
.rq-page div.modelbox .options ul { color: inherit !important; font-weight: normal !important; }
.rq-page div.modelbox div.messbody { overflow: visible !important; margin: 0 0 12px !important; }
.rq-page div.modelbox h3 { padding: 0 !important; }
/* ── Reset button conflicts ────────────────────────────────────────── */
.rq-page button.rq-new-btn,
.rq-page label.uiButton button,
.rq-page span.uireqinput button {
    height: auto !important; line-height: normal !important;
    box-shadow: none !important; background-image: none !important;
    text-indent: 0 !important; border: none !important;
}
.rq-page button.rq-new-btn:active,
.rq-page label.uiButton button:active,
.rq-page span.uireqinput button:active { position: static !important; top: auto !important; }
/* ── Reset input conflicts ─────────────────────────────────────────── */
.rq-page span.uireqinput input[type=text] {
    background: var(--border) !important; color: var(--text) !important;
    border-color: var(--input-border) !important;
}
.rq-page span.uireqinput input[type=text]:focus {
    border-color: var(--accent) !important; box-shadow: none !important;
}
/* ── Reset link conflicts ──────────────────────────────────────────── */
#rows span.date a:link,
#rows span.date a:visited    { color: var(--green-dark) !important; text-decoration: none !important; }
#rows li.name a:link,
#rows li.name a:visited      { color: var(--green-dark) !important; text-decoration: none !important; }
#rows .commentbub a:link,
#rows .commentbub a:visited  { color: var(--text-muted) !important; text-decoration: none !important; }
/* ── Page ─────────────────────────────────────────────────────────── */
.rq-page { max-width: 1280px; margin: 0 auto; padding: 0 12px 40px; }

/* ── Header bar ───────────────────────────────────────────────────── */
.rq-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.rq-header-title { font-size: 20px; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 10px; }
.rq-header-title i { color: var(--accent); }
.rq-new-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 600; letter-spacing: .2px; background: var(--accent); color: #fff; transition: background .15s; height: auto; line-height: normal; box-shadow: none; }
.rq-new-btn:hover { background: var(--accent-dark); }
.rq-new-btn:active { position: static; top: auto; }
/* ── Filter tabs ──────────────────────────────────────────────────── */
.rq-tabs { display: flex; gap: 4px; margin-bottom: 16px; border-bottom: 2px solid var(--border); }
.rq-tab { padding: 9px 18px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text-dim); border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; user-select: none; }
.rq-tab:hover { color: var(--text-muted); }
.rq-tab.active { color: var(--accent); border-bottom-color: var(--accent); }
/* ── Column header ────────────────────────────────────────────────── */
.rq-col-head.rows.view_mess { background: none !important; border-color: transparent !important; margin-bottom: 8px; pointer-events: none; }
.rq-col-head.rows.view_mess:hover { border-color: transparent !important; }
.rq-col-head li.rq-col-head-cell { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .4px !important; color: var(--text-dim) !important; cursor: default !important; background-image: none !important; padding-left: 0 !important; line-height: normal !important; height: auto !important; }
/* ── Request rows ─────────────────────────────────────────────────── */
.modelbox { background: none; }
.rows.view_mess { background: var(--bg-alt); border: 1px solid var(--bg-input); border-radius: 8px; margin-bottom: 4px; transition: border-color .15s; }
.rows.view_mess:hover { border-color: var(--input-border); }
.rows.view_mess.expanded { border-radius: 8px 8px 0 0; border-bottom-color: transparent; }
.rows.view_mess.filled { border-left: 3px solid rgba(76,175,80,.6); }
.rows.view_mess ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 10px 12px; gap: 0; }
li.subject.status_icon { flex: 1; min-width: 0; cursor: pointer; margin-right: 10px; background-size: 32px 32px; background-repeat: no-repeat; background-position: 0 center; padding-left: 42px; }
span.request { display: block; font-size: 13px; font-weight: 600; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; }
li.subject.status_icon:hover span.request { color: var(--accent); }
span.date { display: block; font-size: 11px; color: var(--text-dim); margin-top: 2px; }
span.date a:hover { color: #6a9e56 !important; }
span.date font { font-size: 11px; }
li.name { flex-shrink: 0; width: 80px; text-align: center; font-size: 13px; color: var(--text-muted); }
li.name.fname { width: 180px !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
li.name a:hover { color: #6a9e56 !important; }
/* ── Expanded detail panel ────────────────────────────────────────── */
.padding-mess { display: none; background: rgba(255,255,255,.02); border: 1px solid var(--bg-input); border-top: none; border-radius: 0 0 8px 8px; padding: 14px 16px; margin-bottom: 4px; }
.padding-mess.open { display: block; }
.messbody { font-size: 13px; color: var(--text-muted); line-height: 1.6; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--bg-input); }
.messbody:empty { display: none; }
.padding-mess > h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--text-dim); margin: 10px 0 8px; padding: 0; border: none; background: none; }
#rows .options { background: none; border: none; padding: 0; margin: 0; }
.commentbub { background: rgba(255,255,255,.03); border-radius: 6px; padding: 8px 12px; margin-bottom: 6px; font-size: 12px; color: var(--text-muted); border: none; }
div.options > ul.options { display: flex; align-items: center; list-style: none; margin: 10px 0 0; padding: 10px 0 0; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--bg-input); }
li.lfloat { flex: 1; min-width: 0; }
li.rfloat { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-left: auto; }
/* ── Comment input ────────────────────────────────────────────────── */
span.uireqinput { display: flex !important; align-items: center; width: 100% !important; max-width: 400px; background: none !important; border: none !important; height: auto !important; position: static !important; }
span.uireqinput input[type=text] { flex: 1 !important; min-width: 0; padding: 7px 11px !important; background: var(--border) !important; border: 1px solid var(--input-border) !important; border-right: none !important; border-radius: 6px 0 0 6px !important; font-size: 12px !important; color: var(--text) !important; outline: none; height: auto !important; width: auto !important; position: static !important; left: auto !important; margin: 0 !important; box-shadow: none !important; }
span.uireqinput input[type=text]:focus { border-color: var(--accent) !important; box-shadow: none !important; }
span.uireqinput button { all: unset; box-sizing: border-box; padding: 7px 14px; font-size: 12px; font-weight: 600; cursor: pointer; background: rgba(230,126,34,.75); color: #fff; border-radius: 0 6px 6px 0; transition: background .15s; white-space: nowrap; height: auto !important; line-height: normal; box-shadow: none; position: static !important; }
span.uireqinput button:hover { background: rgba(230,126,34,.95); }
span.uireqinput button:active { position: static !important; top: auto !important; }
/* ── Action buttons ───────────────────────────────────────────────── */
label.uiButton { display: inline-flex; cursor: pointer; }
label.uiButton button { all: unset; box-sizing: border-box; padding: 6px 14px; font-size: 12px; font-weight: 600; cursor: pointer; border-radius: 6px; transition: background .15s, color .15s; background: var(--border); color: var(--text-muted); height: auto; line-height: normal; box-shadow: none; text-indent: 0; }
label.uiButton button:active { position: static; top: auto; }
label.uiButton:hover button           { background: var(--bg-hover); color: var(--text); }
label.uiButton.vote button            { background: var(--blue-dim);  color: #5dade2; }
label.uiButton.vote:hover button      { background: rgba(52,152,219,.28); }
label.uiButton.fill button,
label.uiButton.uiButtoncolor button   { background: rgba(230,126,34,.18);  color: var(--accent); }
label.uiButton.fill:hover button,
label.uiButton.uiButtoncolor:hover button { background: rgba(230,126,34,.32); }
label.uiButton.reset button           { background: rgba(243,156,18,.15);  color: #f0a500; }
label.uiButton.reset:hover button     { background: rgba(243,156,18,.28); }
label.uiButton.goto button            { background: var(--green-dim);   color: var(--green); }
label.uiButton.goto:hover button      { background: rgba(39,174,96,.28); }
label.uiButton.edit button            { background: var(--bg-input); color: var(--text-muted); }
label.uiButton.edit:hover button      { background: rgba(255,255,255,.11); color: var(--text-link); }
label.uiButton.delete button          { background: var(--red-dim);   color: var(--red); }
label.uiButton.delete:hover button    { background: rgba(231,76,60,.28); }
/* ── Pager ────────────────────────────────────────────────────────── */
.rq-pager, #rows > p, #rows > div > p { text-align: center; margin: 16px 0; font-size: 13px; color: var(--text-muted); }
#rows a:link, #rows a:visited { color: var(--accent) !important; text-decoration: none !important; }
#rows > p a:hover, #rows > div > p a:hover { text-decoration: none !important; }
#rows b { color: var(--text); }
#rows .pager-current { color: #fff; font-size: 12px; }
/* ── Loading ──────────────────────────────────────────────────────── */
.rq-loading { text-align: center; padding: 50px 20px; }
/* ── Light theme ──────────────────────────────────────────────────── */
.rq-lt .rq-page { background: #f3f4f6; }
.rq-lt .rq-page div.modelbox .rows.view_mess { background: var(--bg-card) !important; }
.rq-lt .rows.view_mess { background: var(--bg-card); border-color: var(--bg-hover); box-shadow: 0 1px 3px var(--bg-hover); }
.rq-lt .rows.view_mess:hover { border-color: rgba(0,0,0,.16) !important; box-shadow: 0 2px 8px var(--border); }
.rq-lt .rows.view_mess.filled { border-left-color: rgba(34,113,54,.65) !important; }
.rq-lt .commentbub { background: var(--bg-card) !important; color: var(--text-dim); border: 1px solid var(--bg-hover) !important; box-shadow: 0 1px 2px var(--border-sub); }
.rq-lt #rows span.date a:visited   { color: #2a6e1a !important; text-decoration: none !important; }
.rq-lt #rows li.name a:visited     { color: #2a6e1a !important; text-decoration: none !important; }
.rq-lt span.uireqinput input[type=text] { background: var(--bg-raised) !important; border-color: rgba(0,0,0,.18) !important; color: var(--text-bright) !important; }
.rq-lt span.uireqinput button { background: var(--accent) !important; color: #fff !important; box-shadow: none !important; border: none !important; background-image: none !important; }
.rq-lt label.uiButton button { background: #efefef !important; background-image: none !important; box-shadow: none !important; color: var(--text-dim) !important; border: 1px solid var(--border) !important; }
.rq-lt label.uiButton:hover button            { background: #e2e2e2 !important; color: var(--text-bright) !important; }
.rq-lt label.uiButton.vote button             { background: #e8f0fe !important; color: #1a5eb8 !important; border-color: rgba(26,94,184,.15) !important; }
.rq-lt label.uiButton.vote:hover button       { background: #cdd9fb !important; }
.rq-lt label.uiButton.uiButtoncolor button    { background: #fef0e6 !important; color: var(--accent) !important; border-color: rgba(192,81,10,.18) !important; }
.rq-lt label.uiButton.uiButtoncolor:hover button { background: #fddfc8 !important; }
.rq-lt label.uiButton.reset button            { background: #fef9e7 !important; color: #92640a !important; border-color: rgba(146,100,10,.15) !important; }
.rq-lt label.uiButton.reset:hover button      { background: #fdefc0 !important; }
.rq-lt label.uiButton.goto button             { background: #eafaf1 !important; color: #1a7a42 !important; border-color: rgba(26,122,66,.15) !important; }
.rq-lt label.uiButton.goto:hover button       { background: #c8f0d8 !important; }
.rq-lt label.uiButton.delete button           { background: #fdecea !important; color: var(--red-dark) !important; border-color: rgba(185,28,28,.15) !important; }
.rq-lt label.uiButton.delete:hover button     { background: #fcd5d1 !important; }
@media (max-width: 640px) {
    .rq-col-head li.name.fname, li.name.fname { display: none; }
    .rq-col-head-pts, .rq-col-head-votes { width: 55px; }
    li.name { width: 55px; }
}

/* ══════════════════════════════════════════════════════════════════════
   SEEDING  (.sd-*)
   ══════════════════════════════════════════════════════════════════════ */
.sd-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; font-size: 12px; }
.sd-hdr { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.sd-hdr__title { font-size:16px; font-weight:700; color:var(--text); }
.sd-hdr__title a { color:#7eb8e0; text-decoration:none; }
.sd-hdr__title a:hover { text-decoration:none; }
.sd-counts { display:flex; gap:8px; }
.sd-badge { display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:5px; font-size:11px; font-weight:600; background:var(--bg-legacy); border:1px solid var(--border-lg2); color:var(--text-link); }
.sd-badge i { font-size:12px; }
.sd-badge--seed { border-color:#27ae60; color:#27ae60; }
.sd-badge--leech { border-color:var(--accent); color:var(--accent); }
.sd-badge--hnr { border-color:#9b59b6; color:#9b59b6; }
.sd-section { margin-bottom:20px; }
.sd-section-hdr { display:flex; align-items:center; justify-content:space-between; background:var(--bg-alt); border:1px solid var(--bg-legacy); border-radius:6px 6px 0 0; padding:9px 14px; }
.sd-section-hdr__left { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--text-link); }
.sd-section-hdr__left i { font-size:13px; }
.sd-section-hdr__left .sd-cnt { background:var(--border-lg); border:1px solid var(--border-lg2); border-radius:10px; padding:1px 8px; font-size:10px; font-weight:700; }
.sd-section-hdr__right { font-size:10px; color:var(--text-muted); display:flex; align-items:center; gap:6px; }
.sd-legend { display:flex; gap:6px; flex-wrap:wrap; }
.sd-leg { display:flex; align-items:center; gap:3px; font-size:10px; color:var(--text-muted); }
.sd-leg::before { content:''; display:inline-block; width:8px; height:8px; border-radius:2px; flex-shrink:0; }
.sd-leg--ok::before    { background:#27ae60; }
.sd-leg--bad::before   { background:var(--red); }
.sd-leg--own::before   { background:#f39c12; }
.sd-leg--still::before { background:#7f8c8d; }
.sd-leg--lb::before    { background:#16a085; }
.sd-leg--lbad::before  { background:#8e44ad; }
.sd-table-wrap { background:var(--bg-legacy); border:1px solid var(--border-lg); border-top:none; border-radius:0 0 6px 6px; overflow:hidden; }
.sd-tbl { width:100%; border-collapse:collapse; font-size:11px; }
.sd-th { padding:8px 10px; background:var(--bg-raised); color:var(--text-muted); font-size:10px; text-transform:uppercase; letter-spacing:.5px; border-bottom:1px solid var(--border); white-space:nowrap; }
.sd-th a { color:var(--text-muted); text-decoration:none; display:flex; align-items:center; justify-content:center; gap:4px; }
.sd-th a:hover { color:var(--text-dim); }
.sd-th:first-child a { justify-content:flex-start; }
.sd-th--on { background:var(--bg-alt); }
.sd-th--on a { color:#f39c12; }
.sd-sort-icon { font-size:9px; }
.sd-tbl tbody tr { border-bottom:1px solid rgba(255,255,255,.03); transition:background .1s; border-left:3px solid transparent; }
.sd-tbl tbody tr:last-child { border-bottom:none; }
.sd-tbl td { padding:7px 10px; color:var(--text-dim); vertical-align:middle; }
.sd-tbl td:not(:first-child) { text-align:center; white-space:nowrap; }
tr.sd-ok    { border-left-color:#27ae60; background:rgba(39,174,96,.08); }
tr.sd-bad   { border-left-color:var(--red); background:rgba(231,76,60,.08); }
tr.sd-own   { border-left-color:#f39c12; background:rgba(243,156,18,.08); }
tr.sd-still { border-left-color:#7f8c8d; background:rgba(127,140,141,.08); }
tr.sd-lb    { border-left-color:#16a085; background:rgba(22,160,133,.08); }
tr.sd-lbad  { border-left-color:#8e44ad; background:rgba(142,68,173,.08); }
tr.sd-ok:hover    { background:var(--green-dim); }
tr.sd-bad:hover   { background:var(--red-dim); }
tr.sd-own:hover   { background:rgba(243,156,18,.15); }
tr.sd-still:hover { background:rgba(127,140,141,.15); }
tr.sd-lb:hover    { background:rgba(22,160,133,.15); }
tr.sd-lbad:hover  { background:rgba(142,68,173,.15); }
.sd-name { max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd-name a { color:var(--text-link); text-decoration:none; }
.sd-name a:hover { color:#fff; text-decoration:none; }
.sd-active { display:inline-flex; align-items:center; gap:4px; }
.sd-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.sd-dot--on  { background:#27ae60; box-shadow:0 0 4px #27ae60; }
.sd-dot--off { background:var(--text-dim); }
.sd-dual { display:flex; flex-direction:column; align-items:center; gap:1px; }
.sd-dual__main { font-size:11px; }
.sd-dual__sub  { font-size:9px; color:var(--text-muted); }
.sd-ip a { color:#7eb8e0; text-decoration:none; font-family:monospace; font-size:10px; }
.sd-ip a:hover { text-decoration:none; }
.sd-ip span { font-family:monospace; font-size:10px; color:var(--text-muted); }
.sd-empty { text-align:center; padding:24px; color:var(--text-muted); font-size:11px; }
.sd-empty i { font-size:20px; display:block; margin-bottom:6px; }
/* Light */
.sd-lt .sd-badge--seed  { border-color:#27ae60; color:#1e8449; }
.sd-lt .sd-badge--leech { border-color:var(--accent); color:#b7600d; }
.sd-lt .sd-badge--hnr   { border-color:#9b59b6; color:#7d3c98; }
.sd-lt .sd-table-wrap { background: var(--bg-card);  }
.sd-lt .sd-th { background:#2c3e50; color:#fff; border-bottom-color:#1a2d3d; }
.sd-lt .sd-th a:hover { color:#fff; }
.sd-lt .sd-th--on { background:#1a2d3d; }
.sd-lt .sd-th--on a { color:#f39c12; }
.sd-lt .sd-name a { color:#2c3e50; }
.sd-lt .sd-name a:hover { color:var(--text-bright); }
.sd-lt tr.sd-ok    { background:rgba(39,174,96,.09); }
.sd-lt tr.sd-bad   { background:rgba(231,76,60,.09); }
.sd-lt tr.sd-own   { background:rgba(243,156,18,.09); }
.sd-lt tr.sd-still { background:rgba(127,140,141,.09); }
.sd-lt tr.sd-lb    { background:rgba(22,160,133,.09); }
.sd-lt tr.sd-lbad  { background:rgba(142,68,173,.09); }
.sd-lt tr.sd-ok:hover    { background:rgba(39,174,96,.18); }
.sd-lt tr.sd-bad:hover   { background:rgba(231,76,60,.18); }
.sd-lt tr.sd-own:hover   { background:rgba(243,156,18,.18); }
.sd-lt tr.sd-still:hover { background:rgba(127,140,141,.18); }
.sd-lt tr.sd-lb:hover    { background:rgba(22,160,133,.18); }
.sd-lt tr.sd-lbad:hover  { background:rgba(142,68,173,.18); }
@media (max-width:800px) {
    .sd-tbl .sd-col-client,
    .sd-tbl .sd-col-ip { display:none; }
    .sd-name { max-width:180px; }
}

/* ══════════════════════════════════════════════════════════════════════
   BOOKMARKS  (.bk-*)
   ══════════════════════════════════════════════════════════════════════ */
.bk-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

/* RSS card */
.bk-rss-card {
  margin-bottom: 14px; padding: 14px 18px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.bk-rss-label {
  display: block; font-size: 11px; font-weight: 700;
  color: var(--text-muted); text-transform: uppercase;
  letter-spacing: .3px; margin-bottom: 6px;
}
.bk-rss-label i { color: var(--accent); margin-right: 4px; }
.bk-rss-row { display: flex; gap: 0; }
.bk-rss-input {
  flex: 1; padding: 8px 12px; border-radius: 6px 0 0 6px;
  background: var(--bg-alt); border: 1px solid var(--border);
  color: var(--text); font-size: 12px; font-family: monospace;
  border-right: none; outline: none;
}
.bk-rss-input:focus { border-color: var(--accent); }
.bk-copy-btn {
  all: unset; box-sizing: border-box;
  padding: 8px 14px; border-radius: 0 6px 6px 0;
  background: var(--accent); color: #fff;
  font-size: 12px; font-weight: 600; cursor: pointer;
  white-space: nowrap; transition: background .15s;
}
.bk-copy-btn:hover { background: var(--accent-dark); }

/* Pager */
.bk-pager {
  padding: 10px 0; text-align: center;
  font-size: 12px; color: var(--text-muted);
}

/* Table */
.bk-table-wrap {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden;
}
.bk-table {
  width: 100%; border-collapse: collapse;
  font-size: 12px; color: var(--text);
}
.bk-table thead tr {
  background: var(--bg-head);
  border-bottom: 1px solid var(--border);
}
.bk-table th {
  padding: 10px 12px; font-size: 11px; font-weight: 700;
  color: var(--text-muted); text-transform: uppercase;
  letter-spacing: .3px; white-space: nowrap;
}
.bk-table tbody tr {
  border-bottom: 1px solid var(--border-sub);
  transition: background .12s;
}
.bk-table tbody tr:last-child { border-bottom: none; }
.bk-table tbody tr:hover { background: var(--bg-hover); }
.bk-table td { padding: 8px 12px; vertical-align: middle; }

/* Column alignment */
.bk-col-type { text-align: center; width: 40px; }
.bk-col-type img { max-height: 20px; vertical-align: middle; }
.bk-col-name { text-align: left; }
.bk-col-bm,
.bk-col-dl { text-align: center; width: 40px; }
.bk-col-comm { text-align: center; width: 50px; }
.bk-col-size { text-align: center; width: 90px; white-space: nowrap; }
.bk-col-sn { text-align: center; width: 60px; }
.bk-col-se { text-align: center; width: 50px; }
.bk-col-le { text-align: center; width: 50px; }

/* Links & badges */
.bk-torrent-link { color: var(--text-link); text-decoration: none; }
.bk-torrent-link:hover { color: var(--accent); }
.bk-free {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  border-radius: 3px; font-size: 10px; font-weight: 700;
  background: var(--green-dim); color: var(--green);
}
.bk-new {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  border-radius: 3px; font-size: 10px; font-weight: 700;
  background: var(--red-dim); color: var(--red);
}
.bk-dl-icon { color: var(--accent); font-size: 14px; }
.bk-dl-icon:hover { color: var(--accent-dark); }
.bk-seed { color: var(--green); font-weight: 700; text-decoration: none; }
.bk-seed:hover { color: var(--green-dark); }
.bk-noseed { color: var(--text-dim); }
.bk-leech { color: var(--red); font-weight: 700; text-decoration: none; }
.bk-leech:hover { color: var(--red-dark); }
.bk-toggle { cursor: pointer; opacity: .8; transition: opacity .15s; }
.bk-toggle:hover { opacity: 1; }
.bk-table a { color: var(--text-link); text-decoration: none; }
.bk-table a:hover { color: var(--accent); }

/* Empty state */
.bk-empty {
  text-align: center; padding: 60px 20px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.bk-empty i { font-size: 48px; color: var(--text-dim); margin-bottom: 12px; }
.bk-empty h2 { font-size: 18px; font-weight: 700; color: var(--text-bright); margin: 8px 0 4px; }
.bk-empty p { font-size: 13px; color: var(--text-muted); margin: 0; }

@media (max-width: 768px) {
  .bk-col-comm,
  .bk-col-sn { display: none; }
  .bk-table th,
  .bk-table td { padding: 6px 8px; }
  .bk-rss-row { flex-direction: column; }
  .bk-rss-input { border-radius: 6px 6px 0 0; border-right: 1px solid var(--border); border-bottom: none; }
  .bk-copy-btn { border-radius: 0 0 6px 6px; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════════════
   MY TORRENTS  (.mt-*)
   ══════════════════════════════════════════════════════════════════════ */
.mt-page { max-width: 1280px; margin: 16px auto; padding: 0 12px; }

/* Header */
.mt-header {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px;
  padding: 14px 18px; margin-bottom: 14px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.mt-header-left {
  font-size: 15px; font-weight: 700; color: var(--text-bright);
}
.mt-header-left i { color: var(--accent); margin-right: 6px; }
.mt-count {
  display: inline-block; margin-left: 8px; padding: 2px 10px;
  border-radius: 12px; font-size: 11px; font-weight: 700;
  background: var(--accent-dim); color: var(--accent);
}
.mt-header-right { display: flex; align-items: center; gap: 8px; }
.mt-clear-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 6px;
  background: var(--bg-raised); border: 1px solid var(--border);
  color: var(--text); font-size: 12px; font-weight: 600;
  text-decoration: none; cursor: pointer; transition: all .15s;
}
.mt-clear-btn:hover {
  background: var(--bg-hover); border-color: var(--accent);
  color: var(--text-bright);
}
.mt-new-tag { color: var(--red); font-weight: 700; }

/* Pager */
.mt-pager {
  padding: 10px 0; text-align: center;
  font-size: 12px; color: var(--text-muted);
}

/* Table wrapper — wraps torrenttable() output */
.mt-table-wrap {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden;
}
.mt-table-wrap table {
  width: 100%; border-collapse: collapse;
  font-size: 12px; color: var(--text);
}
.mt-table-wrap table .colhead {
  background: var(--bg-head);
  padding: 10px 12px; font-size: 11px; font-weight: 700;
  color: var(--text-muted); text-transform: uppercase;
  letter-spacing: .3px; white-space: nowrap;
  border-bottom: 1px solid var(--border);
}
.mt-table-wrap table tr {
  border-bottom: 1px solid var(--border-sub);
  transition: background .12s;
}
.mt-table-wrap table tr:last-child { border-bottom: none; }
.mt-table-wrap table tr:hover { background: var(--bg-hover); }
.mt-table-wrap table td {
  padding: 8px 12px; vertical-align: middle;
}
.mt-table-wrap table a { color: var(--text-link); text-decoration: none; }
.mt-table-wrap table a:hover { color: var(--accent); }

/* Empty state */
.mt-empty {
  text-align: center; padding: 60px 20px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
}
.mt-empty i { font-size: 48px; color: var(--text-dim); margin-bottom: 12px; }
.mt-empty h2 { font-size: 18px; font-weight: 700; color: var(--text-bright); margin: 8px 0 4px; }
.mt-empty p { font-size: 13px; color: var(--text-muted); margin: 0; }

@media (max-width: 768px) {
  .mt-header { flex-direction: column; align-items: flex-start; }
  .mt-table-wrap { overflow-x: auto; }
}

/* ── IPTV gate (non-VIP access screen) ─────────────────────────────── */
.iv-page { padding: 20px; }
.iv-gate { text-align: center; max-width: 600px; margin: 60px auto; padding: 40px 30px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px; }
.iv-gate-icon { font-size: 48px; color: var(--accent); margin-bottom: 16px; }
.iv-gate h1 { font-size: 24px; color: var(--text-bright); margin: 0 0 8px; }
.iv-gate p { color: var(--text-muted); font-size: 14px; margin: 0 0 24px; }
.iv-gate-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; margin-bottom: 24px; text-align: left; }
.iv-gate-feat { padding: 10px 12px; background: var(--bg-alt); border-radius: 8px; font-size: 12px; color: var(--text); }
.iv-gate-feat i { color: var(--accent); width: 18px; margin-right: 6px; }
.iv-gate-btn { display: inline-block; padding: 14px 32px; background: var(--accent); color: #fff; border-radius: 8px; font-weight: 700; font-size: 15px; text-decoration: none; }
.iv-gate-btn:hover { background: var(--accent-dark); color: #fff; }
