/* ===== 00-tokens.css ===== */
/* Roidboard theme — design tokens (modern dark violet) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/images/roidboard/fonts/inter-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/images/roidboard/fonts/inter-500.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/images/roidboard/fonts/inter-600.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/images/roidboard/fonts/inter-700.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700 900;font-display:swap;src:url(/images/roidboard/fonts/montserrat-var.woff2) format('woff2')}
@font-face{font-family:'RB Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/images/roidboard/fonts/mono-500.woff2) format('woff2')}
@font-face{font-family:'RB Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/images/roidboard/fonts/mono-700.woff2) format('woff2')}

:root{
  --bg:#0a0b0e;
  --bg-2:#07080a;
  --surface:#101216;
  --surface-2:#14171c;
  --surface-3:#1a1e25;
  --surface-4:#22272f;
  --line:#1e2229;
  --line-2:#2a3039;
  --fg:#e6e8ec;
  --fg-2:#b4b8c2;
  --muted:#7d8390;
  --faint:#4f5560;
  --accent:#2d63c7;
  --accent-2:#5b8def;
  --accent-deep:#1b3a7a;
  --accent-soft:rgba(45,99,199,.14);
  --accent-ring:rgba(45,99,199,.35);
  --accent-grad:#2d63c7;
  --accent-grad-2:#5b8def;
  --link:#7fa6ff;
  --blue:#2d63c7; --blue-2:#5b8def; --blue-dark:#1b3a7a; --blue-soft:rgba(45,99,199,.14);
  --magenta:#d8589a;
  /* one calm jade green for every positive state (2026-10-15, owner found the old bright greens ugly):
     --green icons, dots, positive numbers, edges; --green-strong solid fills behind white text (5.2:1);
     --green-text text on tinted green; --green-soft tinted fill; --green-line hairline edge */
  --green:#48a67f; --green-strong:#2c7a5b; --green-text:#8ccbb0;
  --green-soft:rgba(72,166,127,.14); --green-line:rgba(72,166,127,.34);
  --amber:#d29922; --amber-soft:rgba(210,153,34,.14);
  --orange:#e8893a;
  --red:#f05252;   --red-soft:rgba(240,82,82,.14);
  --pink:#e2749e;  --pink-soft:rgba(226,116,158,.14);
  --radius:3px; --radius-sm:3px; --radius-xs:2px;
  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadow-sm:0 1px 1px rgba(0,0,0,.4);
  --glow:none;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'RB Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1320px;
  --gap:16px;
  --topbar-h:52px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ===== 10-base.css ===== */
/* ---- reset & base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-h) + 12px)}
body{margin:0;min-height:100vh;font-family:var(--font);font-size:14px;line-height:1.55;color:var(--fg);background:var(--bg) radial-gradient(900px 300px at 50% -120px,rgba(59,125,221,.12),rgba(59,125,221,0) 70%) no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--accent-2);text-decoration:none;transition:color .12s var(--ease)}
a:hover{color:#fff}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:700;line-height:1.25;color:var(--fg)}
h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}h4{font-size:14px}
p{margin:0 0 .9em}
hr,.rb-divider{border:0;border-top:1px solid var(--line);margin:16px 0}
ul,ol{margin:0 0 1em;padding-left:1.4em}
table{border-collapse:collapse;border-spacing:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
code,kbd,pre,samp{font-family:var(--mono);font-size:.92em}
::selection{background:rgba(59,118,171,.55);color:#fff}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:1px}
input,button,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
strong,b{font-weight:700}
small{font-size:12.5px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0b0b10}
::-webkit-scrollbar-thumb{background:#30303f;border-radius:0;border:2px solid #0b0b10}
::-webkit-scrollbar-thumb:hover{background:#44445a}

/* ---- helpers ---- */
.rb-muted{color:var(--muted)}
.rb-fg2{color:var(--fg-2)}
.rb-small{font-size:12.5px}
.rb-xs{font-size:11.5px}
.rb-strong{font-weight:700;color:var(--fg)}
.rb-mono{font-family:var(--mono)}
.rb-nowrap{white-space:nowrap}
.rb-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rb-hide{display:none!important}
.rb-row{display:flex;align-items:center;gap:12px;min-width:0}
.rb-row-wrap{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;min-width:0}
.rb-grow{flex:1 1 auto;min-width:0}
.rb-right{margin-left:auto}
.rb-center{text-align:center}
.rb-stack{display:flex;flex-direction:column;gap:12px}
.rb-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.rb-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
@media (max-width:860px){.rb-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rb-cols-2,.rb-cols-3{grid-template-columns:minmax(0,1fr)}}
.rb-hide-mobile{}
.rb-hide-desktop{display:none!important}
@media (max-width:760px){.rb-hide-mobile{display:none!important}.rb-hide-desktop{display:revert!important}}

/* ---- legacy MyBB helpers kept working ---- */
.float_left{float:left}.float_right{float:right}
.clear{clear:both}
br.clear{clear:both;height:0;line-height:0}
.hidden{display:none}
.smalltext{font-size:12.5px;color:var(--fg-2)}
.largetext{font-size:17px;font-weight:700}
.highlight{background:rgba(245,166,35,.3);padding:0 2px}
.invalid_field{border-color:var(--red)!important}
.valid_field{border-color:var(--green)!important}
.validation_error,.validation_success,.validation_loading{display:block;margin-top:6px;font-size:12.5px}
.validation_error{color:var(--red)}
.validation_success{color:var(--green)}
.validation_loading{color:var(--muted)}
.hiddenrow{display:none}
.scaleimages img{max-width:100%}

/* ---- icons: Font Awesome 6 (self-hosted). `.fa-solid fa-xxx` everywhere. ---- */
.fa-solid,.fa-regular,.fa-brands{line-height:1}
.rb-ic{display:inline-block}

/* ===== 20-layout.css ===== */
/* ---- shell ---- */
.rb-shell{min-height:100vh;display:flex;flex-direction:column}
.rb-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 16px}
#content{flex:1 0 auto}
.rb-content{padding:14px 0 40px}
.rb-page{display:flex;flex-direction:column;gap:var(--gap)}

/* ---- topbar (flat dark bar, icon + label items) ---- */
.rb-nav-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.rb-topbar{position:sticky;top:0;z-index:60;height:var(--topbar-h);background:rgba(13,13,19,.82);-webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.rb-topbar-in{display:flex;align-items:stretch;gap:0;height:100%}
.rb-burger{display:none;align-items:center;justify-content:center;width:46px;color:#fff;cursor:pointer;font-size:20px}
.rb-burger:hover{background:#24242f}
.rb-brand{display:flex;align-items:center;gap:10px;padding:0 14px 0 2px;margin-right:4px}
.rb-brand-mark svg{width:30px;height:30px;display:block}
.rb-brand-name{font-weight:900;letter-spacing:.03em;color:#fff;font-size:15px;text-transform:uppercase}
.rb-brand-name b{color:var(--accent-2);font-weight:900}
.rb-nav{display:flex;align-items:stretch;gap:0;list-style:none;margin:0;padding:0}
.rb-nav li{list-style:none;display:flex}
.rb-nav a{display:inline-flex;align-items:center;gap:9px;padding:0 15px;color:var(--fg-2);font-weight:500;font-size:14.5px;line-height:1;white-space:nowrap;transition:background .15s,color .15s;position:relative}
.rb-nav a .fa-solid{font-size:14px;color:var(--muted);transition:color .15s}
.rb-nav a:hover .fa-solid,.rb-nav a.is-active .fa-solid{color:var(--accent-2)}
.rb-nav a:hover{background:#25252f;color:#fff}
.rb-nav a.is-active{background:#25252f;box-shadow:inset 0 -3px 0 var(--blue-2)}
.rb-topbar-right{margin-left:auto;display:flex;align-items:stretch;gap:0}
.rb-topbar-right > a,.rb-topbar-right .rb-btn{display:inline-flex;align-items:center;gap:9px;padding:0 15px;color:var(--fg);font-weight:500;font-size:15px;background:transparent;border:0;border-radius:0;height:auto;box-shadow:none}
.rb-topbar-right > a:hover,.rb-topbar-right .rb-btn:hover{background:#25252f;color:#fff;box-shadow:none}
.rb-topbar-right .rb-btn-primary{background:transparent}
.rb-topbar-right .rb-btn-primary:hover{background:#25252f}
.rb-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;color:var(--fg);font-size:17px;transition:background .12s}
.rb-iconbtn:hover{background:#25252f;color:#fff}
.rb-count{position:absolute;top:10px;right:7px;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center}
.rb-count.is-zero{display:none}
.rb-count.is-red{background:var(--red)}

/* user menu (member) */
.rb-user{position:relative;display:flex}
.rb-user-btn{display:inline-flex;align-items:center;gap:10px;padding:0 14px 0 10px;color:var(--fg);font-weight:500;font-size:15px;max-width:260px}
.rb-user-btn:hover,.rb-user:focus-within .rb-user-btn{background:#25252f;color:#fff}
.rb-user-btn .rb-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-user-btn .fa-chevron-down{font-size:12px;color:var(--muted)}
.rb-user-menu{position:absolute;right:0;top:100%;min-width:250px;padding:6px 0;background:#181822;border:1px solid #30303f;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 10px 24px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .15s var(--ease);z-index:70}
.rb-user:hover .rb-user-menu,.rb-user:focus-within .rb-user-menu{opacity:1;visibility:visible;transform:none}
.rb-user-menu ul{list-style:none;margin:0;padding:0}
.rb-user-menu li{list-style:none}
.rb-user-menu a{display:flex;align-items:center;gap:12px;padding:9px 16px;color:var(--fg-2);font-size:14px}
.rb-user-menu a:hover{background:#27273a;color:#fff}
.rb-user-menu a .fa-solid{width:16px;text-align:center;font-size:14px;color:#b8b8c8}
.rb-user-menu a:hover .fa-solid{color:#fff}
.rb-user-menu .rb-menu-sep{height:1px;background:#30303f;margin:6px 0}
.rb-user-menu .rb-menu-head{display:flex;align-items:center;gap:12px;padding:10px 16px 12px}
.rb-user-menu .rb-menu-head b{display:block;font-size:15px;color:#fff}
.rb-user-menu .rb-menu-head span{display:block;font-size:12.5px;color:var(--muted)}
.rb-user-menu a.is-danger{color:#ff7b7b}
.rb-user-menu a.is-danger .fa-solid{color:#ff7b7b}
.rb-user-menu .rb-menu-foot{padding:8px 16px 6px;font-size:12px;color:var(--muted);line-height:1.4}
.rb-user-menu .rb-menu-foot strong{color:var(--fg-2)}
#rb-member-flag{display:none}
.rb-shell:has(#rb-member-flag) .rb-guest-only{display:none!important}
.rb-shell:not(:has(#rb-member-flag)) .rb-member-only{display:none!important}

/* ---- hero: see 25-brand.css ---- */
.rb-logo{display:inline-flex;flex-direction:column;gap:3px}
/* quick search */
.rb-qsearch{position:relative}
.rb-qsearch fieldset{display:flex;align-items:center;gap:0;position:relative}
.rb-qsearch .fa-solid{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--muted);pointer-events:none}
.rb-qsearch input[type=text]{width:300px;max-width:100%;height:40px;padding:0 96px 0 36px;border-radius:var(--radius);border:1px solid var(--line-2);background:#14141c;color:var(--fg);font-size:14px}
.rb-qsearch input[type=text]::placeholder{color:var(--muted)}
.rb-qsearch input[type=text]:focus{outline:0;border-color:var(--blue-2);box-shadow:none;background:#17171f}
.rb-qsearch input[type=submit]{position:absolute;right:4px;top:4px;height:32px;padding:0 14px;font-size:13px}

/* ---- breadcrumbs ---- */
.rb-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:6px 0 16px;font-size:13px;color:var(--muted)}
.rb-crumbs a{color:var(--fg-2)}
.rb-crumbs a:hover{color:#fff}
.rb-crumbs .rb-crumb-sep{font-size:10px;color:var(--faint)}
.rb-crumbs .active{color:#fff;font-weight:500}
.rb-crumbs .active img,.rb-crumbs img.pagination_breadcrumb_link{display:none}
.rb-crumbs .rb-crumb-pages{cursor:pointer;color:var(--muted);margin-left:2px}
.rb-crumbs .rb-crumb-pages:hover{color:#fff}

/* ---- notices ---- */
.rb-notices{margin:0}
.rb-notices .rb-alert,.rb-notices .red_alert,.rb-notices .pm_alert{margin-bottom:12px}

/* ---- footer ---- */
.rb-footer{margin-top:36px;border-top:1px solid var(--line);background:#0b0b10}
.rb-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding:30px 0 22px}
.rb-footer h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.rb-footer-brand p{color:var(--muted);font-size:13px;max-width:380px}
.rb-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.rb-footer li{list-style:none}
.rb-footer ul a{display:inline-flex;align-items:center;gap:9px;color:var(--fg-2);font-size:13.5px}
.rb-footer ul a:hover{color:#fff}
.rb-footer ul a .fa-solid{width:16px;text-align:center;font-size:13px;color:var(--muted)}
.rb-footer-selects{display:flex;flex-direction:column;gap:10px}
.rb-footer-selects form{display:flex;gap:6px;align-items:center}
.rb-footer-selects select{flex:1 1 auto;min-width:0}
.rb-footer-bottom{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0 24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.rb-footer-bottom #copyright{margin-left:auto}
.rb-footer-bottom a{color:var(--fg-2)}
.rb-footer .rb-totop{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #30303f;color:var(--fg-2);background:var(--surface);border-radius:var(--radius)}
.rb-footer .rb-totop:hover{border-color:var(--blue-2);color:#fff}

/* ---- responsive layout ---- */
@media (max-width:1100px){
  .rb-nav a span{display:none}
  .rb-nav a{padding:0 13px}
  .rb-nav a .fa-solid{font-size:17px}
  .rb-topbar-right > a span{display:none}
}
@media (max-width:760px){
  :root{--topbar-h:52px}
  .rb-burger{display:inline-flex}
  .rb-brand{padding-left:0}
  .rb-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#121219;border-bottom:1px solid #30303f;box-shadow:0 12px 24px rgba(0,0,0,.5)}
  .rb-nav-toggle:checked ~ .rb-topbar .rb-nav{display:flex}
  .rb-nav-toggle:checked ~ .rb-topbar .rb-burger{background:#25252f}
  .rb-nav li{display:block}
  .rb-nav a{padding:14px 18px;font-size:15px;border-top:1px solid #24242f;display:flex}
  .rb-nav a span{display:inline}
  .rb-nav a .fa-solid{width:20px;text-align:center}
  .rb-user-btn .rb-user-name{display:none}
  .rb-user-btn{padding:0 10px}
  .rb-user-btn .fa-chevron-down{display:none}
  .rb-hero-in{flex-direction:column;align-items:stretch;gap:12px;padding:16px 0;min-height:0}
  .rb-logo{align-items:center}
  .rb-hero .rb-qsearch{margin-left:0}
  .rb-qsearch input[type=text],.rb-qsearch input[type=text]:focus{width:100%}
  .rb-crumbs{font-size:12.5px;margin:2px 0 12px}
  .rb-footer-top{grid-template-columns:1fr;gap:22px;padding:22px 0 16px}
  .rb-footer-bottom #copyright{margin-left:0;flex-basis:100%}
}

/* ===== 25-brand.css ===== */
/* ---- brand: integrated wordmark (R + orb + IDBOARD) with pulse line ---- */
.rb-wordmark{position:relative;display:inline-flex;align-items:center;gap:0;line-height:1;padding-bottom:14px}
.rb-wordmark::before{content:"";position:absolute;left:-14%;right:-14%;top:-40%;bottom:-20%;background:radial-gradient(60% 70% at 30% 50%,rgba(59,125,221,.35),rgba(59,125,221,0) 70%);filter:blur(14px);pointer-events:none;z-index:0}
.rb-wordmark > *{position:relative;z-index:1}
.rb-wm-l{font-family:'Montserrat',var(--font);font-size:42px;font-weight:800;letter-spacing:.02em;color:#fff;text-transform:uppercase;line-height:1}
.rb-wm-l.is-grad{background:var(--accent-grad-2);-webkit-background-clip:text;background-clip:text;color:transparent}
.rb-wm-orb{display:inline-flex;margin:0 1px 0 2px}
.rb-wm-orb .rb-orb{width:44px;height:44px;display:block;filter:drop-shadow(0 6px 16px rgba(59,125,221,.55))}
.rb-wm-line{position:absolute;left:0;right:0;bottom:0;width:100%;height:12px;z-index:1;opacity:.95}
.rb-wordmark.is-small{padding-bottom:0;gap:9px}
.rb-wordmark.is-small .rb-wm-l{font-size:18px}
.rb-wordmark.is-small .rb-orb{width:26px;height:26px;filter:none}
.rb-wordmark.is-small::before{display:none}
.rb-logo{text-decoration:none;display:inline-flex;flex-direction:column}
.rb-logo .rb-tagline{margin-top:6px;padding-left:3px;font-size:11.5px;letter-spacing:.36em;color:var(--muted);font-weight:500}
.rb-brand-mark .rb-orb{width:32px;height:32px;display:block;filter:drop-shadow(0 4px 10px rgba(59,125,221,.5))}
.rb-brand-name{font-family:'Montserrat',var(--font);font-weight:800;letter-spacing:.02em;font-size:15px;color:#fff}
.rb-brand-name b{background:var(--accent-grad-2);-webkit-background-clip:text;background-clip:text;color:transparent}
.rb-footer-brand .rb-wordmark{margin-bottom:10px}
.rb-topbar.is-scrolled{box-shadow:0 10px 30px -14px rgba(0,0,0,.8)}
.rb-totop-float{position:fixed;right:18px;bottom:18px;z-index:55;width:42px;height:42px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2);color:var(--fg-2);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s var(--ease)}
.rb-totop-float.is-visible{opacity:1;visibility:visible;transform:none}
.rb-totop-float:hover{color:#fff;border-color:var(--accent);background:var(--surface-3)}

/* ---- banner (hero): violet aurora, grain, thin accent line ---- */
.rb-hero{position:relative;overflow:hidden;background:#0b0f18;border-bottom:1px solid rgba(255,255,255,.06)}
.rb-hero::before{content:"";position:absolute;inset:-40% -10% -40% -10%;pointer-events:none;background:
  radial-gradient(42% 60% at 12% 50%,rgba(59,125,221,.55),rgba(59,125,221,0) 70%),
  radial-gradient(36% 55% at 58% 120%,rgba(59,125,221,.28),rgba(59,125,221,0) 70%),
  radial-gradient(30% 50% at 92% 0%,rgba(96,165,250,.22),rgba(96,165,250,0) 70%);
  filter:blur(10px)}
.rb-hero .rb-hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(../../../%23n)' opacity='.9'/%3E%3C/svg%3E")}
.rb-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#3b7ddd 0%,#9dbcff 30%,rgba(157,188,255,0) 75%)}
.rb-hero-in{display:flex;align-items:center;gap:20px;min-height:180px;position:relative;z-index:1}
.rb-hero .rb-qsearch{margin-left:auto}
.rb-hero .rb-qsearch input[type=text]{background:rgba(12,11,20,.72);border-color:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rb-hero .rb-qsearch input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
@media (max-width:760px){
  .rb-wm-l{font-size:28px}
  .rb-wm-orb .rb-orb{width:30px;height:30px}
  .rb-logo{align-items:center}
  .rb-logo .rb-tagline{text-align:center;font-size:10px;padding-left:0}
  .rb-hero-in{flex-direction:column;align-items:stretch;gap:14px;padding:20px 0;min-height:0}
  .rb-hero .rb-qsearch{margin-left:0}
  .rb-totop-float{right:12px;bottom:12px}
}

/* ===== 30-components.css ===== */
/* ================= CARDS (block with steel-blue title bar) ================= */
.rb-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.rb-card + .rb-card{margin-top:var(--gap)}
.rb-card-head{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 16px 8px 18px;background:linear-gradient(90deg,rgba(59,125,221,.13),rgba(59,125,221,0) 60%),var(--surface-2);color:#fff;border-bottom:1px solid var(--line);position:relative}
.rb-card-head::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--accent-grad-2)}
.rb-card-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(59,125,221,.6),rgba(59,125,221,0) 70%)}
.rb-card-head.is-accent{padding-left:18px}
.rb-card-title{margin:0;display:inline-flex;align-items:center;gap:9px;min-width:0;padding:6px 12px;border-radius:var(--radius);background:var(--blue-dark);color:#fff;font-size:14px;font-weight:700;line-height:1.2}
.rb-card-title .fa-solid{font-size:13px;color:var(--accent-2)}
.rb-card-title a{color:#fff}
.rb-card-title a:hover{color:var(--accent-2)}
.rb-card-sub{font-size:12.5px;color:var(--muted);font-weight:400;margin-left:2px}
.rb-card-tools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:13px;color:var(--muted)}
.rb-card-tools a{color:var(--fg-2)}
.rb-card-tools a:hover{color:#fff}
.rb-card-tools .rb-chip{background:var(--blue-dark);border-color:transparent;color:#fff;height:28px}
.rb-card-tools .rb-chip:hover{background:#163a7a;color:#fff}
.rb-card-body{padding:14px 16px}
.rb-card-body.is-tight{padding:10px 12px}
.rb-card-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);background:#12121a;font-size:13px;color:var(--muted)}
.rb-card.is-flush .rb-card-body{padding:0}
.rb-card.is-glow{border-color:var(--accent)}
.rb-card-head.is-dark{background:#12121a}
.rb-card-head.is-dark .rb-card-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:#dcdce6}
.rb-section-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.rb-section-title::after{content:"";flex:1;height:1px;background:var(--line)}
.rb-subcard{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
/* dark column-label strip (FORUM / POSTS / THREADS ...) */
.rb-labels{display:flex;align-items:center;gap:14px;padding:9px 16px;background:#12121a;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8}

/* ================= BUTTONS (flat) ================= */
.rb-btn,.button,input[type=submit],input[type=button],input[type=reset],button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:var(--radius);
  border:1px solid var(--line-2);background:#25252f;color:var(--fg);font-weight:500;font-size:14px;line-height:1;cursor:pointer;
  white-space:nowrap;text-decoration:none;-webkit-appearance:none;appearance:none;transition:background .12s,border-color .12s,color .12s;vertical-align:middle;user-select:none}
.rb-btn:hover,.button:hover,input[type=submit]:hover,input[type=button]:hover,button.button:hover{background:#33334a;border-color:#44445a;color:#fff}
.rb-btn .fa-solid{font-size:13px}
.rb-btn-primary,input[type=submit],input[type=submit].button{background:var(--blue);border-color:var(--blue);color:#fff}
.rb-btn-primary:hover,input[type=submit]:hover,input[type=submit].button:hover{background:var(--blue-2);border-color:var(--blue-2);color:#fff}
input[type=submit][name=preview],input[type=submit][name=previewpost],input[type=submit][name=savedraft],input[type=submit][value="Preview Post"],input[type=submit].rb-btn-ghost,input[type=button].button,input[type=reset].button{background:#25252f;border-color:var(--line-2);color:var(--fg)}
input[type=submit][name=preview]:hover,input[type=submit][name=previewpost]:hover,input[type=submit][name=savedraft]:hover,input[type=button].button:hover{background:#33334a}
.rb-btn-ghost,input[type=submit].rb-btn-ghost{background:transparent;border-color:transparent;color:var(--fg-2)}
.rb-btn-ghost:hover,input[type=submit].rb-btn-ghost:hover{background:#25252f;color:#fff;border-color:transparent}
.rb-btn-outline{background:transparent;border-color:var(--line-2);color:var(--fg-2)}
.rb-btn-outline:hover{border-color:var(--blue-2);color:#fff}
.rb-btn-danger{background:#3a1f1f;border-color:#5a2a2a;color:#ffb3b3}
.rb-btn-danger:hover{background:#4a2424;border-color:var(--red);color:#fff}
.rb-btn-success{background:var(--green-soft);border-color:var(--green-line);color:var(--green-text)}
.rb-btn-success:hover{background:rgba(72,166,127,.22);border-color:var(--green);color:#fff}
.rb-btn-sm{height:30px;padding:0 11px;font-size:13px}
.rb-btn-sm .fa-solid{font-size:12px}
.rb-btn-lg{height:44px;padding:0 22px;font-size:15px}
.rb-btn-icon{width:36px;padding:0}
.rb-btn-icon.rb-btn-sm{width:30px}
.rb-btn-block{width:100%}
.rb-btn-pill{border-radius:999px}
.rb-btn[disabled],.button[disabled],input[type=submit][disabled]{opacity:.5;cursor:not-allowed}
.rb-btn-group{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.rb-segmented{gap:0;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:#181822}
.rb-segmented .rb-btn{border:0;border-radius:0;background:transparent;height:32px}
.rb-segmented .rb-btn + .rb-btn{border-left:1px solid var(--line-2)}
.rb-segmented .rb-btn.is-active{background:var(--blue);color:#fff}
.rb-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:4px}
.rb-form-actions.is-left{justify-content:flex-start}
.rb-form-actions.is-between{justify-content:space-between}

/* ================= FORMS ================= */
.rb-input,.textbox,.textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select{
  width:100%;max-width:100%;min-height:38px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--line-2);background:#12121a;color:var(--fg);font-size:14px;line-height:1.4;transition:border-color .12s,background .12s;-webkit-appearance:none;appearance:none}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],select{height:38px;padding-top:0;padding-bottom:0}
input[size],.textbox[size]{width:auto;min-width:0}
input[type=text].textbox,input[type=password].textbox{width:100%}
textarea,.textarea{min-height:120px;resize:vertical;line-height:1.5}
.rb-input::placeholder,.textbox::placeholder,textarea::placeholder{color:var(--muted)}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{outline:0;border-color:var(--blue-2);background:var(--surface);box-shadow:none}
select{padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f8f8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;cursor:pointer}
select[multiple],select[size]{height:auto;background-image:none;padding:6px}
select option{background:var(--surface);color:var(--fg)}
input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;margin:0 6px 0 0;padding:0;accent-color:var(--blue-2);vertical-align:-3px;cursor:pointer;appearance:auto;-webkit-appearance:auto;border:0;background:transparent;box-shadow:none}
input[type=file]{min-height:0;padding:8px;background:#12121a;border:1px dashed var(--line-2);border-radius:var(--radius);width:100%;font-size:13px;color:var(--fg-2)}
input[type=file]::file-selector-button{margin-right:10px;height:28px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--line-2);background:#25252f;color:var(--fg);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.rb-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}
.rb-field:last-child{margin-bottom:0}
.rb-field > label,.rb-label{font-size:13px;font-weight:700;color:var(--fg-2);display:flex;align-items:center;gap:6px}
.rb-label .rb-req{color:var(--red)}
.rb-help{font-size:12.5px;color:var(--muted);line-height:1.45}
.rb-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 14px}
.rb-field-row .rb-field{margin-bottom:0}
.rb-fields{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 18px;align-items:start}
.rb-fields > .rb-label{padding-top:9px}
.rb-fields > .rb-fields-full{grid-column:1 / -1}
.rb-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--fg-2);cursor:pointer;line-height:1.3}
.rb-check:hover{color:#fff}
.rb-checks{display:flex;flex-direction:column;gap:8px}
.rb-checks.is-inline{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
.rb-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--fg-2)}
.rb-switch input{position:absolute;opacity:0;width:0;height:0}
.rb-switch .rb-switch-track{width:38px;height:22px;border-radius:999px;background:#30303f;border:1px solid #44445a;position:relative;transition:all .2s;flex:none}
.rb-switch .rb-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.rb-switch input:checked + .rb-switch-track{background:var(--blue);border-color:var(--blue)}
.rb-switch input:checked + .rb-switch-track::after{transform:translateX(16px)}
.rb-input-group{display:flex;align-items:stretch}
.rb-input-group > *{border-radius:0}
.rb-input-group > :first-child{border-radius:var(--radius) 0 0 var(--radius)}
.rb-input-group > :last-child{border-radius:0 var(--radius) var(--radius) 0}
.rb-input-group .rb-btn,.rb-input-group .button{height:38px}
.rb-search{position:relative}
.rb-search .fa-solid{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}
.rb-search input{padding-left:34px}
fieldset.rb-fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:0 0 14px}
fieldset.rb-fieldset legend{padding:0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tborder td .textbox,.tborder td select,.tborder td .textarea{max-width:100%}

/* ================= BADGES / CHIPS / STATUS ================= */
.rb-badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1;white-space:nowrap;text-transform:uppercase;background:#30303f;color:#dcdce6;vertical-align:middle}
.rb-badge .fa-solid{font-size:10px}
.rb-badge.is-accent,.rb-badge.is-blue{background:var(--blue);color:#fff}
.rb-badge.is-green{background:var(--green-strong);color:#fff}
.rb-badge.is-amber{background:#7a5312;color:#ffe7b8}
.rb-badge.is-red{background:#7a2626;color:#ffd6d6}
.rb-badge.is-pink{background:#7a2347;color:#ffd6e6}
.rb-badge.is-muted{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2)}
.rb-badge.is-solid{background:var(--blue);color:#fff}
.rb-badge.is-sm{height:18px;padding:0 6px;font-size:10px}
.rb-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:var(--radius);background:#25252f;border:1px solid var(--line-2);color:var(--fg-2);font-size:13px;font-weight:500;white-space:nowrap;transition:all .12s}
.rb-chip:hover{background:#33334a;color:#fff}
.rb-chip.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.rb-chip .fa-solid{font-size:12px;color:#a7a7b8}
.rb-chip:hover .fa-solid,.rb-chip.is-active .fa-solid{color:inherit}
.rb-chips{display:flex;flex-wrap:wrap;gap:6px}
.rb-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--faint);vertical-align:middle;flex:none}
.rb-dot.is-online{background:var(--green)}
.rb-dot.is-away{background:var(--amber)}
.rb-dot.is-offline{background:var(--faint)}
.rb-kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:var(--radius);background:#25252f;border:1px solid var(--line-2);color:var(--fg-2)}

/* usergroup name styles (set in ACP namestyle) */
.rb-name-admin{color:var(--red);font-weight:700}
.rb-name-smod{color:var(--orange);font-weight:700}
.rb-name-mod{color:var(--green);font-weight:700}
.rb-name-banned{color:#7a7a8c;text-decoration:line-through}

/* ================= AVATARS ================= */
.rb-avatar{display:inline-flex;flex:none;width:40px;height:40px;border-radius:var(--radius);overflow:hidden;background:#24242f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4.5 0-9 2.25-9 5.5V21h18v-1.5c0-3.25-4.5-5.5-9-5.5z'/%3E%3C/svg%3E") center/62% no-repeat;vertical-align:middle;position:relative}
.rb-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rb-avatar.is-xs{width:20px;height:20px}
.rb-avatar.is-sm{width:28px;height:28px}
.rb-avatar.is-md{width:40px;height:40px}
.rb-avatar.is-lg{width:64px;height:64px}
.rb-avatar.is-xl{width:100px;height:100px}
.rb-avatar.is-round{border-radius:50%}
.rb-avatar.is-ring{box-shadow:0 0 0 2px var(--blue)}
.rb-avatar .rb-dot{position:absolute;right:2px;bottom:2px;width:10px;height:10px;border:2px solid var(--surface)}

/* ================= ALERTS ================= */
.rb-alert,.red_alert,.pm_alert,.error,.success_message,.error_message,.high_warning,.moderate_warning,.low_warning{
  display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius);border:1px solid #30303f;border-left:4px solid #5a5a70;background:var(--surface-2);color:var(--fg);font-size:14px;line-height:1.5;margin:0 0 14px}
.rb-alert p:last-child{margin:0}
.rb-alert .rb-alert-icon{font-size:16px;flex:none;margin-top:2px}
.rb-alert .rb-alert-body{flex:1;min-width:0}
.rb-alert .rb-alert-close{margin-left:auto;flex:none;color:inherit;opacity:.6}
.rb-alert .rb-alert-close:hover{opacity:1}
.rb-alert.is-info,.pm_alert{border-left-color:var(--blue-2)}
.rb-alert.is-info .rb-alert-icon{color:var(--blue-2)}
.rb-alert.is-success,.success_message{border-left-color:var(--green)}
.rb-alert.is-success .rb-alert-icon{color:var(--green)}
.rb-alert.is-warning,.moderate_warning,.low_warning{border-left-color:var(--amber)}
.rb-alert.is-warning .rb-alert-icon{color:var(--amber)}
.rb-alert.is-danger,.red_alert,.error,.error_message,.high_warning{border-left-color:var(--red)}
.rb-alert.is-danger .rb-alert-icon{color:var(--red)}
.rb-alert.is-accent{border-left-color:var(--blue-2)}
.rb-alert a,.red_alert a,.pm_alert a,.error a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.error{flex-direction:column;gap:4px}
.error p{margin:0;font-weight:700}
.error p em{font-style:normal}
.error ul{margin:0;padding-left:18px}
.pm_alert{align-items:center}
.pm_alert .float_right{order:2;margin-left:auto}
.pm_alert .float_right img{display:none}
.pm_alert .float_right a{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:#30303f;color:#fff;text-decoration:none;border-radius:var(--radius)}
.pm_alert .float_right a::before{content:"×";font-size:18px;line-height:1}

/* ================= TABLES ================= */
.rb-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table.rb-table,table.tborder{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:14px}
table.tborder{margin-bottom:var(--gap)}
.rb-card table.tborder,.rb-card-body table.tborder{margin-bottom:0;border:0}
table.rb-table th,table.rb-table thead td{padding:9px 16px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8;background:#12121a;border-bottom:1px solid var(--line)}
.thead{padding:11px 16px 11px 18px;font-size:14.5px;font-weight:700;color:#fff;background:linear-gradient(90deg,rgba(59,125,221,.13),rgba(59,125,221,0) 60%),var(--surface-2);position:relative;box-shadow:inset 3px 0 0 var(--accent);border-bottom:1px solid var(--line)}
.thead strong{font-weight:700}
.thead a{color:#fff}
.thead .smalltext{font-weight:400;color:var(--muted);display:block;font-size:12.5px;margin-top:2px}
.thead .float_right{float:right;font-weight:500;font-size:13px}
.tcat{padding:8px 16px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8;background:#12121a;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.tcat .smalltext{font-size:12px;color:inherit}
.tcat a{color:#dcdce6}
.trow1,.trow2,table.rb-table td{padding:11px 16px;vertical-align:top;border-bottom:1px solid var(--line);color:var(--fg-2)}
.trow2,table.rb-table tbody tr:nth-child(even) td{background:#17171f}
.trow1 strong,.trow2 strong,table.rb-table td strong{color:var(--fg)}
.trow_shaded{background:rgba(245,166,35,.12)!important}
.trow_selected,.trow_selected td{background:var(--blue-soft)!important}
.trow_sep{padding:7px 16px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8;background:#12121a;border-bottom:1px solid var(--line)}
.tfoot{padding:10px 16px;font-size:13px;color:var(--muted);background:#12121a;border-top:1px solid var(--line)}
.tfoot .smalltext{color:inherit}
table.tborder tr:last-child td{border-bottom:0}
table.rb-table tbody tr:hover td{background:#1b1b25}
.tborder .thead .expcolimage,.rb-card-head .expcolimage{float:right;margin-left:auto}
.thead .expcolimage img,.tcat .expcolimage img{display:none}
.expcolimage{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);cursor:pointer;color:var(--muted);flex:none;position:relative}
.expcolimage:hover{background:var(--surface-3);color:#fff}
.expcolimage::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s var(--ease)}
.expcolimage img{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.thead_collapsed .expcolimage::after,.tcat_collapse_collapsed .expcolimage::after{transform:rotate(-90deg)}

/* ================= TABS / SUBNAV ================= */
.rb-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px}
.rb-tabs::-webkit-scrollbar{display:none}
.rb-tab{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 16px;border-radius:var(--radius-xs);color:var(--fg-2);font-weight:600;font-size:13.5px;white-space:nowrap;flex:none;transition:background .15s,color .15s}
.rb-tab .fa-solid{font-size:14px;color:#b8b8c8}
.rb-tab:hover{background:#27273a;color:#fff}
.rb-tab.is-active{background:#30303f;color:#fff;box-shadow:inset 0 -3px 0 var(--blue-2)}
.rb-tab.is-active .fa-solid{color:#fff}
.rb-tab .rb-badge{margin-left:2px}
.rb-subnav{display:flex;flex-direction:column;gap:0;padding:0}
.rb-subnav-title{padding:12px 16px 6px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:#12121a;border-bottom:1px solid var(--line)}
.rb-subnav-item,.rb-subnav a{display:flex;align-items:center;gap:11px;padding:10px 16px;color:var(--fg-2);font-size:14px;font-weight:500;border-bottom:1px solid #1b1b25;transition:all .12s}
.rb-subnav-item .fa-solid,.rb-subnav a .fa-solid{width:16px;text-align:center;font-size:14px;color:#a7a7b8}
.rb-subnav-item:hover,.rb-subnav a:hover{background:var(--line);color:#fff}
.rb-subnav-item.is-active,.rb-subnav a.is-active{background:#24242f;color:#fff;box-shadow:inset 3px 0 0 var(--blue-2)}
.rb-subnav-item.is-active .fa-solid,.rb-subnav a.is-active .fa-solid{color:#fff}
.rb-subnav-item .rb-count,.rb-subnav a .rb-count{position:static;margin-left:auto}

/* ================= PAGINATION ================= */
.pagination,.rb-pager{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;margin:0}
.pagination .pages{color:var(--muted);margin-right:8px;font-weight:500}
.pagination a,.pagination .pagination_current,.rb-pager a,.rb-pager span.is-current{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:32px;height:32px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--line);color:var(--fg-2);font-weight:500;transition:all .12s}
.pagination a:hover,.rb-pager a:hover{border-color:#4a4a5e;color:#fff;background:#2b2b38}
.pagination .pagination_current,.pagination a.pagination_current,.rb-pager span.is-current{background:var(--blue);border-color:var(--blue);color:#fff}
.pagination .go_page img{display:none}
.pagination .go_page{width:32px;padding:0}
.pagination .go_page::before{content:"\2026";font-weight:700;line-height:0;position:relative;top:-3px}
.pagination_breadcrumb{position:absolute;z-index:50;background:#181822;border:1px solid #30303f;border-radius:var(--radius);padding:8px;box-shadow:var(--shadow);margin-top:4px}
.drop_go_page{padding:8px;min-width:200px}
.drop_go_page form{display:flex;align-items:center;gap:6px;white-space:nowrap}
.drop_go_page label{font-size:12.5px;color:var(--muted)}
.drop_go_page input[type=number]{width:64px;height:30px;padding:0 8px}
.drop_go_page input[type=submit]{height:30px;padding:0 10px}
.rb-thread-pages{display:inline-flex;gap:3px;margin-left:6px}
.rb-thread-pages a{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius);background:#2a2a37;color:var(--fg-2);font-size:11px;font-weight:600}
.rb-thread-pages a:hover{background:var(--blue);color:#fff}

/* ================= POPUP MENUS / MODALS ================= */
.popup_menu{background:#181822;border:1px solid #34344a;border-radius:var(--radius);box-shadow:0 10px 24px rgba(0,0,0,.5);padding:4px 0;min-width:200px;z-index:80;text-align:left;font-size:13.5px}
.popup_menu .popup_item_container{margin:0}
.popup_menu .popup_item{display:flex;align-items:center;gap:10px;padding:8px 14px;color:var(--fg-2);white-space:nowrap;cursor:pointer}
.popup_menu .popup_item:hover{background:#27273a;color:#fff}
.popup_menu .popup_item.popup_item_active{background:var(--blue);color:#fff}
.popup_menu .popup_divider{height:1px;background:#30303f;margin:4px 0}
.popup_menu form{padding:4px 10px}
.popup_menu .popup_item input[type=checkbox]{margin:0}
.rb-dropdown{position:relative;display:inline-block}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border:1px solid #30303f;border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,.7);padding:0;z-index:9999;text-align:left}
.modal > div[style]{max-height:none!important;overflow:visible!important}
.modal table.tborder{border:0;border-radius:0;margin:0;background:transparent}
.modal .thead{padding:12px 20px;font-size:15px}
.modal .trow1,.modal .trow2{padding:12px 20px}
.modal .tfoot{padding:12px 20px}
.modal .modal_buttons{display:flex;gap:8px;justify-content:flex-end}
.modal .rb-modal-body{padding:18px 20px}
.modal .rb-modal-head{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(90deg,rgba(59,125,221,.13),rgba(59,125,221,0) 60%),var(--surface-2);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--accent);font-size:15px;font-weight:700;color:#fff}
.modal .rb-modal-head .fa-solid{color:var(--accent-2)}
.modal .rb-modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid #24242f;background:#12121a}
.modal a.close-modal{position:absolute;right:10px;top:9px;width:28px;height:28px;border-radius:var(--radius);background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;color:#fff;text-indent:0;overflow:visible;font-size:0}
.modal a.close-modal::before{content:"×";font-size:20px;line-height:1}
.modal a.close-modal:hover{background:rgba(0,0,0,.45)}
.blocker{background:rgba(0,0,0,.72);z-index:9998}
#modal_notice{padding:0}
.jGrowl{display:none}

/* ================= LISTS / KV ================= */
.rb-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.rb-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);min-width:0;transition:background .12s}
.rb-list-item:last-child{border-bottom:0}
.rb-list-item:hover{background:var(--surface-2)}
.rb-li-icon{flex:none;width:38px;height:38px;border-radius:var(--radius);background:#24242f;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.rb-li-main{flex:1 1 auto;min-width:0}
.rb-li-title{font-weight:700;color:var(--fg);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-li-title a{color:var(--fg)}
.rb-li-title a:hover{color:var(--accent-2)}
.rb-li-sub{font-size:13px;color:var(--muted);margin-top:2px}
.rb-li-meta{flex:none;text-align:right;font-size:13px;color:var(--muted);white-space:nowrap}
.rb-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0;font-size:14px}
.rb-kv dt{color:var(--muted);font-weight:500}
.rb-kv dd{margin:0;color:var(--fg);min-width:0;overflow-wrap:anywhere}
.rb-kv.is-wide{grid-template-columns:200px minmax(0,1fr)}
@media (max-width:600px){.rb-kv,.rb-kv.is-wide{grid-template-columns:minmax(0,1fr);gap:2px 0}.rb-kv dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-top:8px}.rb-kv dt:first-child{margin-top:0}}

/* ================= STATS / EMPTY / TOOLBAR ================= */
.rb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.rb-stat{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid #24242f;min-width:0}
.rb-stat > .fa-solid{width:42px;height:42px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-2);font-size:17px}
.rb-stat > div{min-width:0}
.rb-stat-num,.rb-stat b{display:block;font-size:19px;font-weight:700;color:#fff;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-stat span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:500}
.rb-stat a{color:#fff}
.rb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}
.rb-empty .fa-solid{font-size:34px;color:#44445a}
.rb-empty b{color:var(--fg-2);font-size:15px}
.rb-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.rb-toolbar .rb-right{margin-left:auto}
.rb-toolbar form{display:inline-flex;align-items:center;gap:6px;margin:0}
.rb-toolbar select{height:34px;width:auto;min-width:0;padding-top:0;padding-bottom:0}
.rb-toolbar label{font-size:13px;color:var(--muted)}
.rb-inline-form{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.rb-inline-form select,.rb-inline-form input[type=text]{width:auto;height:34px}
.rb-inline-form .button,.rb-inline-form .rb-btn{height:34px}

/* ================= LEGEND ================= */
.rb-legend,.forum_legend,.thread_legend{display:grid;grid-template-columns:repeat(4,auto 1fr);gap:8px 10px;align-items:center;margin:12px 0 0;font-size:13px;color:var(--muted)}
.forum_legend dt,.thread_legend dt{display:inline-flex;align-items:center;justify-content:center;margin:0}
.forum_legend dd,.thread_legend dd{margin:0 14px 0 0;white-space:nowrap}
@media (max-width:900px){.rb-legend,.forum_legend,.thread_legend{grid-template-columns:repeat(2,auto 1fr)}}
@media (max-width:480px){.rb-legend,.forum_legend,.thread_legend{grid-template-columns:auto 1fr}}
.rb-legend-item{display:inline-flex;align-items:center;gap:7px}

/* ================= CONTENT TYPOGRAPHY (posts) ================= */
.rb-prose,.post_body,.post_content{font-size:15px;line-height:1.6;color:var(--fg);overflow-wrap:anywhere}
.rb-prose a,.post_body a{color:var(--accent-2);text-decoration:underline;text-decoration-color:rgba(90,160,221,.4);text-underline-offset:3px}
.rb-prose a:hover,.post_body a:hover{color:#fff}
.rb-prose img,.post_body img{max-width:100%;height:auto;border-radius:var(--radius)}
.rb-prose ul,.rb-prose ol,.post_body ul,.post_body ol{margin:0 0 1em;padding-left:1.5em}
blockquote,.mycode_quote{margin:12px 0;padding:10px 14px 10px 16px;border-left:3px solid var(--blue-2);background:var(--surface-2);color:var(--fg-2);font-size:14px}
blockquote cite,.mycode_quote cite{display:flex;align-items:center;gap:8px;font-style:normal;font-weight:700;font-size:13px;color:var(--fg);margin-bottom:6px}
blockquote cite a{color:var(--accent-2);text-decoration:none}
blockquote cite span.smalltext{margin-left:auto;font-weight:400;color:var(--muted)}
blockquote cite span.smalltext a{color:var(--muted)}
.codeblock,.mycode_code{margin:12px 0;background:#0b0b10;border:1px solid #24242f;border-radius:var(--radius);overflow:hidden;font-size:13px}
.codeblock .title{padding:7px 12px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#14141c;border-bottom:1px solid #24242f}
.codeblock code,.mycode_code code{display:block;padding:12px 14px;overflow-x:auto;white-space:pre;font-family:var(--mono);color:#d9d9e2;line-height:1.55;max-height:460px;overflow-y:auto}
.mycode_img{max-width:100%}
.mycode_u{text-decoration:underline}
.mycode_s{text-decoration:line-through}
.mycode_hr{border:0;border-top:1px solid #30303f}
.mycode_email,.mycode_url{word-break:break-all}
.mycode_list{margin:0 0 1em;padding-left:1.6em}
.mycode_align_center{text-align:center}
.mycode_align_right{text-align:right}
.mycode_align_justify{text-align:justify}
.rb-prose table,.post_body table{width:auto;max-width:100%;border:1px solid #30303f}
.rb-prose td,.post_body td{padding:6px 10px;border:1px solid #30303f}
.videoframe{border-radius:var(--radius);overflow:hidden}
.spoiler_title{cursor:pointer}

/* ================= SELECT2 ================= */
.select2-container .select2-choice,.select2-container-multi .select2-choices{background:#12121a!important;border:1px solid var(--line-2)!important;border-radius:var(--radius)!important;color:var(--fg)!important;height:38px;line-height:36px;padding-left:12px;box-shadow:none!important}
.select2-container .select2-choice .select2-arrow{background:transparent!important;border:0!important}
.select2-container .select2-choice .select2-arrow b{background-image:none!important}
.select2-drop{background:#181822!important;border:1px solid #34344a!important;border-radius:var(--radius)!important;color:var(--fg)!important;box-shadow:var(--shadow)!important}
.select2-results .select2-highlighted{background:var(--blue)!important;color:#fff!important}
.select2-results .select2-result-label{padding:8px 10px}
.select2-search input,.select2-drop .select2-search input{background:#12121a!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;border-radius:var(--radius)!important}
.select2-container-multi .select2-choices .select2-search-choice{background:#2a2a37!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;border-radius:var(--radius)!important;box-shadow:none!important}
.select2-container-multi .select2-choices .select2-search-field input{color:var(--fg)!important;background:transparent!important}
.select2-container .select2-choice > .select2-chosen{color:var(--fg)}
.select2-results{background:transparent!important}
.select2-results .select2-no-results,.select2-results .select2-searching{background:transparent!important;color:var(--muted)!important}

/* ================= MISC LEGACY ================= */
.bottommenu{display:none}
.thread_status,.forum_status,.subforumicon{display:inline-block}
.quick_edit_textarea{width:100%;min-height:160px}
#jgrowl_container{display:none}
.editor_control_bar{background:transparent;border:0}
.star_rating{list-style:none;margin:0;padding:0}
.hoverable{cursor:pointer}
.post_management_buttons{display:flex;gap:6px}
.reputation_positive{color:var(--green);font-weight:700}
.reputation_neutral{color:var(--muted);font-weight:700}
.reputation_negative{color:var(--red);font-weight:700}
.warning_high{color:var(--red)}.warning_moderate{color:var(--amber)}.warning_low{color:var(--green)}

/* ===== 40-index.css ===== */
/* ================= INDEX LAYOUT ================= */
.rb-index{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:max-content max-content max-content max-content max-content 1fr max-content max-content max-content;gap:var(--gap);align-items:start}
.rb-index-main{grid-column:1;grid-row:1 / span 6;min-width:0}
.rb-index-stats{display:contents}
.rb-side-welcome{grid-column:2;grid-row:1}
.rb-side-ann{grid-column:2;grid-row:2}
.rb-side-latest{grid-column:2;grid-row:3}
.rb-side-posts{grid-column:2;grid-row:4}
.rb-side-bdays{grid-column:2;grid-row:5}
.rb-online-block{grid-column:1;grid-row:7}
.rb-stats-row{grid-column:1;grid-row:8}
.rb-stats-links{grid-column:1;grid-row:9}
.rb-index .rb-card + .rb-card{margin-top:0}
@media (max-width:1100px){
  .rb-index{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .rb-index-main,.rb-side-welcome,.rb-side-ann,.rb-side-latest,.rb-side-posts,.rb-side-bdays,.rb-online-block,.rb-stats-row,.rb-stats-links{grid-column:auto;grid-row:auto}
}

/* category tabs (built by rb.js) */
.rb-cattabs{display:none;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:var(--gap);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow)}
.rb-cattabs.is-ready{display:flex}
.rb-cattabs::-webkit-scrollbar{display:none}
.rb-cattabs a{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 18px;border-radius:var(--radius-xs);color:var(--fg-2);font-weight:600;font-size:13.5px;white-space:nowrap;flex:none;transition:background .15s,color .15s}
.rb-cattabs a .fa-solid{font-size:14px;color:#b8b8c8}
.rb-cattabs a:hover{background:#27273a;color:#fff}
.rb-cattabs a.is-active{background:#30303f;color:#fff;box-shadow:inset 0 -3px 0 var(--blue-2)}
.rb-cattabs a.is-active .fa-solid{color:#fff}

/* ================= CATEGORY CARD ================= */
.rb-cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--gap);overflow:hidden}
.rb-cat:last-child{margin-bottom:0}
.rb-cat-head{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 16px 8px 18px;background:linear-gradient(90deg,rgba(59,125,221,.13),rgba(59,125,221,0) 60%),var(--surface-2);color:#fff;text-transform:none;letter-spacing:0;font-size:inherit;position:relative;border-bottom:1px solid var(--line)}
.rb-cat-head::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--accent-grad-2)}
.rb-cat-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(59,125,221,.6),rgba(59,125,221,0) 70%)}
.rb-cat-title{min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rb-cat-title a{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius);background:var(--blue-dark);color:#fff;font-size:14px;font-weight:700;line-height:1.2}
.rb-cat-title a:hover{background:rgba(6,14,32,.6);color:#fff}
.rb-cat-desc{font-size:12.5px;color:var(--muted)}
.rb-cat-desc:empty{display:none}
.rb-cat-head .expcolimage{margin-left:auto}
.rb-cat-head.thead_collapsed{border-bottom:0}
.rb-cat-head.thead_collapsed::after{display:none}
.rb-cat-body{display:block}
.rb-cat-labels{display:grid;grid-template-columns:52px minmax(0,1fr) 120px 120px 300px;gap:16px;align-items:center;padding:9px 18px;background:#12121a;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8}
.rb-cat-labels .rb-cat-col{text-align:center}
.rb-cat-labels .rb-cat-col.is-forum{grid-column:1 / span 2;text-align:left}
.rb-cat-labels .rb-cat-col.is-last{text-align:left}

/* forum row */
.rb-forum{display:grid;grid-template-columns:52px minmax(0,1fr) 120px 120px 300px;gap:16px;align-items:center;padding:15px 18px;border-top:1px solid var(--line);transition:background .12s}
.rb-cat-labels + .rb-forum{border-top:0}
.rb-forum:hover{background:#181822}
.rb-forum-icon{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--line)}
.rb-forum-icon .forum_status{width:24px;height:24px;background:#8d8ba0;-webkit-mask:var(--fi) center/contain no-repeat;mask:var(--fi) center/contain no-repeat;cursor:default;--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M416 32H96C43 32 0 75 0 128v160c0 53 43 96 96 96v64c0 13 15 20 25 12l101-76h194c53 0 96-43 96-96V128c0-53-43-96-96-96z'/%3E%3C/svg%3E")}
.rb-forum-icon:has(.forum_on){background:var(--accent-soft);border-color:rgba(59,125,221,.35)}
.rb-forum-icon .forum_on{background:var(--accent-2)}
.rb-forum-icon .forum_on::after{content:"";position:absolute;right:8px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--blue-2);border:2px solid var(--surface)}
.rb-forum-icon .forum_offclose{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M144 144v48h160v-48a80 80 0 1 0-160 0zM80 192v-48a144 144 0 1 1 288 0v48h16c35 0 64 29 64 64v192c0 35-29 64-64 64H64c-35 0-64-29-64-64V256c0-35 29-64 64-64h16z'/%3E%3C/svg%3E")}
.rb-forum-icon .forum_offlink{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M320 0c-18 0-32 14-32 32s14 32 32 32h83L233 234c-13 13-13 33 0 46s33 13 46 0L448 109v83c0 18 14 32 32 32s32-14 32-32V32c0-18-14-32-32-32H320zM80 32C36 32 0 68 0 112v320c0 44 36 80 80 80h320c44 0 80-36 80-80V320c0-18-14-32-32-32s-32 14-32 32v112c0 9-7 16-16 16H80c-9 0-16-7-16-16V112c0-9 7-16 16-16h112c18 0 32-14 32-32s-14-32-32-32H80z'/%3E%3C/svg%3E")}
.rb-forum-cat .rb-forum-icon .forum_status{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 480h384c35 0 64-29 64-64V160c0-35-29-64-64-64H288c-10 0-20-5-27-13l-19-19c-12-12-28-19-45-19H64C29 45 0 74 0 109v307c0 35 29 64 64 64z'/%3E%3C/svg%3E")}
.rb-forum-main{min-width:0}
.rb-forum-name{font-size:18px;font-weight:700;color:#fff;line-height:1.25}
.rb-forum-name:hover{color:var(--accent-2)}
.rb-forum-viewers{font-size:12.5px;color:var(--muted);margin-left:8px;white-space:nowrap}
.rb-forum-viewers .fa-solid{font-size:11px;margin-right:4px}
.rb-forum-desc{font-size:13.5px;color:#a3a3b3;margin-top:3px;line-height:1.45}
.rb-forum-desc:empty{display:none}
.rb-forum-mods{font-size:12.5px;color:var(--muted);margin-top:5px}
.rb-forum-mods .fa-solid{font-size:11px;margin-right:5px}
.rb-forum-mods a{color:var(--fg-2)}
.rb-forum-stats-wrap{display:contents}
.rb-forum-stat{text-align:center;min-width:0}
.rb-forum-stat b{display:block;font-size:16px;font-weight:500;color:#fff;line-height:1.15;font-variant-numeric:tabular-nums}
.rb-forum-stat span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.rb-forum-stat .rb-unapproved{display:block;font-size:11.5px;color:var(--amber)}
.rb-forum-last{min-width:0;font-size:13.5px;line-height:1.4}
.rb-forum-last-subject{display:block;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-forum-last-subject:hover{color:var(--accent-2)}
.rb-forum-last-meta{display:flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.rb-forum-last-meta .fa-solid{display:none}
.rb-forum-last-meta a{color:var(--fg-2);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.rb-forum-last-never{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
/* sub-forum strip under a forum row */
.rb-subforums{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px -16px -15px;padding:9px 18px 9px 86px;background:#12121a;border-top:1px solid var(--line)}
.rb-subforum{display:inline-flex;align-items:center;gap:8px;color:#e6e6ee;font-size:14px;font-weight:500;white-space:nowrap}
.rb-subforum:hover{color:#fff}
.rb-subforum .subforumicon{width:16px;height:14px;background:var(--accent-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 480h384c35 0 64-29 64-64V160c0-35-29-64-64-64H288c-10 0-20-5-27-13l-19-19c-12-12-28-19-45-19H64C29 45 0 74 0 109v307c0 35 29 64 64 64z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 480h384c35 0 64-29 64-64V160c0-35-29-64-64-64H288c-10 0-20-5-27-13l-19-19c-12-12-28-19-45-19H64C29 45 0 74 0 109v307c0 35 29 64 64 64z'/%3E%3C/svg%3E") center/contain no-repeat;flex:none}
.rb-subforum .subforum_minion{background:#9dbcff}
.rb-subforum .subforum_minioffclose,.rb-subforum .subforum_minioff{background:var(--accent-2)}

@media (max-width:1000px){
  .rb-cat-labels{display:none}
  .rb-forum{grid-template-columns:44px minmax(0,1fr);gap:8px 12px;padding:12px 14px}
  .rb-forum-icon{width:44px;height:44px}
  .rb-forum-icon .forum_status{width:26px;height:26px}
  .rb-forum-stats-wrap{display:flex;grid-column:2;gap:16px}
  .rb-forum-stat{display:inline-flex;align-items:baseline;gap:5px;text-align:left}
  .rb-forum-stat b{font-size:14px}
  .rb-forum-stat span{margin:0;font-size:12.5px}
  .rb-forum-last{grid-column:2;padding-top:8px;border-top:1px dashed #2a2a37}
  .rb-subforums{margin:10px -14px -12px;padding:8px 14px}
}
@media (max-width:560px){
  .rb-forum-name{font-size:16px}
}

/* ================= SIDEBAR / BLOCKS ================= */
.rb-welcome .rb-card-body{padding:14px 16px}
.rb-welcome-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rb-welcome-buttons .rb-btn{height:40px;font-size:14.5px}
.rb-welcome-member{display:flex;align-items:center;gap:12px}
.rb-welcome-member .rb-welcome-name{min-width:0}
.rb-welcome-member b{display:block;font-size:16px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-welcome-member span{display:block;font-size:12.5px;color:var(--muted)}
.rb-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.rb-quicklinks a{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--radius);background:#25252f;border:1px solid var(--line-2);color:#e6e6ee;font-size:13.5px;font-weight:500}
.rb-quicklinks a:hover{background:#33334a;color:#fff}
.rb-quicklinks a .fa-solid{color:#b8b8c8;font-size:13px;width:16px;text-align:center}
/* who's online block (main column) */
.rb-online-block .rb-card-title{text-transform:none}
.rb-online-list{display:block;font-size:14px;line-height:1.9;color:var(--fg-2)}
.rb-online-list a{font-weight:500}
.rb-online-list:empty::after{content:"–";color:var(--faint)}
.rb-online-note{font-size:13px;color:var(--muted);margin:0 0 6px}
.rb-online-counts{display:none}
.rb-bdays-list{font-size:14px;color:var(--fg-2);line-height:1.7}
.rb-stats-row .rb-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1300px){.rb-stats-row .rb-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.rb-stats-row .rb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rb-stats-row .rb-stat-num a{color:#fff}
.rb-stats-sentences{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12.5px}
.rb-stats-sentences b{color:var(--fg)}
.rb-index-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:4px}
.rb-index-foot a{color:var(--fg-2)}
.rb-index-foot .rb-legend{margin:0}
.rb-legend .forum_status{display:inline-block;width:18px;height:18px;background:#9a9aac;-webkit-mask:var(--fi) center/contain no-repeat;mask:var(--fi) center/contain no-repeat;--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M416 32H96C43 32 0 75 0 128v160c0 53 43 96 96 96v64c0 13 15 20 25 12l101-76h194c53 0 96-43 96-96V128c0-53-43-96-96-96z'/%3E%3C/svg%3E")}
.rb-legend .forum_status.forum_on{background:#fff}
.rb-legend .forum_status.forum_offclose{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M144 144v48h160v-48a80 80 0 1 0-160 0zM80 192v-48a144 144 0 1 1 288 0v48h16c35 0 64 29 64 64v192c0 35-29 64-64 64H64c-35 0-64-29-64-64V256c0-35 29-64 64-64h16z'/%3E%3C/svg%3E")}
.rb-legend .forum_status.forum_offlink{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M320 0c-18 0-32 14-32 32s14 32 32 32h83L233 234c-13 13-13 33 0 46s33 13 46 0L448 109v83c0 18 14 32 32 32s32-14 32-32V32c0-18-14-32-32-32H320zM80 32C36 32 0 68 0 112v320c0 44 36 80 80 80h320c44 0 80-36 80-80V320c0-18-14-32-32-32s-32 14-32 32v112c0 9-7 16-16 16H80c-9 0-16-7-16-16V112c0-9 7-16 16-16h112c18 0 32-14 32-32s-14-32-32-32H80z'/%3E%3C/svg%3E")}
.rb-menu-foot{padding:8px 10px 6px;line-height:1.4}
.rb-pager-gap{color:var(--faint);padding:0 2px}
.rb-login-row{margin:2px 0 14px}
.rb-login-modal{padding-bottom:20px}
.rb-error-card{max-width:800px;margin:0 auto}
.rb-error-list{padding-left:1.4em;color:var(--fg-2)}
.rb-error-list li{margin:8px 0}
.rb-error-list .rb-btn{margin-left:4px;vertical-align:middle}
/* redirect page */
.rb-redirect-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.rb-redirect{width:min(480px,100%)}
.rb-redirect-body{text-align:center;padding:36px 28px}
.rb-redirect-body h2{font-size:20px;margin:18px 0 8px}
.rb-redirect-body p{color:var(--fg-2);margin-bottom:22px}
.rb-redirect-body .smalltext{font-size:13.5px;color:#fff}
.rb-redirect-spinner{width:44px;height:44px;margin:0 auto;border-radius:50%;border:3px solid #30303f;border-top-color:var(--blue-2);animation:rb-spin 1s linear infinite}
@keyframes rb-spin{to{transform:rotate(360deg)}}

/* section tabs: flags + filtered categories */
.rb-cattabs .rb-flag{width:18px;height:11px;border-radius:1px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.rb-cat.is-filtered-out{display:none}

/* latest threads / latest activity widgets */
.rb-latest .rb-list.is-compact .rb-list-item{padding:10px 14px;gap:10px;align-items:flex-start}
.rb-latest .rb-li-title{font-size:13.5px;font-weight:500;color:#fff;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.rb-latest .rb-li-title:hover{color:var(--accent-2)}
.rb-latest .rb-li-sub{font-size:12px;margin-top:3px}
.rb-latest .rb-li-sub a{color:var(--fg-2)}
.rb-latest .rb-li-excerpt{font-size:12.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-faint{color:var(--faint)}

/* ===== 45-forum-icons.css ===== */
/* ================= FORUM ICONS (Font Awesome glyph chosen from the forum name; override per fid below) ================= */
.rb-forum-icon::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f086";font-size:21px;line-height:1;color:#9593a8;transition:color .15s}
.rb-forum:hover .rb-forum-icon::before{color:#fff}
.rb-forum-icon .forum_status{position:absolute;right:-4px;top:-4px;width:12px;height:12px;border-radius:50%;background:var(--green);border:2px solid var(--surface);-webkit-mask:none;mask:none;display:none;cursor:pointer}
.rb-forum-icon .forum_on{display:block}
.rb-forum-icon .forum_on::after{display:none}
.rb-forum-icon:has(.forum_on)::before{color:var(--accent-2)}
.rb-forum-icon:has(.forum_offclose)::before{content:"\f023"}
.rb-forum-icon:has(.forum_offlink)::before{content:"\f08e"}
.rb-forum-cat .rb-forum-icon::before{content:"\f07b"}
/* keyword rules (case-insensitive substring of the forum name) — later rules win */
.rb-forum[data-name*="general" i] .rb-forum-icon::before,.rb-forum[data-name*="allmänt" i] .rb-forum-icon::before,.rb-forum[data-name*="generelt" i] .rb-forum-icon::before,.rb-forum[data-name*="diskus" i] .rb-forum-icon::before{content:"\f086"}
.rb-forum[data-name*="lounge" i] .rb-forum-icon::before,.rb-forum[data-name*="off-topic" i] .rb-forum-icon::before,.rb-forum[data-name*="offtopic" i] .rb-forum-icon::before,.rb-forum[data-name*="off topic" i] .rb-forum-icon::before{content:"\f7b6"}
.rb-forum[data-name*="intro" i] .rb-forum-icon::before,.rb-forum[data-name*="presentasjon" i] .rb-forum-icon::before,.rb-forum[data-name*="presentation" i] .rb-forum-icon::before{content:"\f256"}
.rb-forum[data-name*="announce" i] .rb-forum-icon::before,.rb-forum[data-name*="kunngj" i] .rb-forum-icon::before,.rb-forum[data-name*="nyheter" i] .rb-forum-icon::before{content:"\f0a1"}
.rb-forum[data-name*="rule" i] .rb-forum-icon::before,.rb-forum[data-name*="regler" i] .rb-forum-icon::before{content:"\f24e"}
.rb-forum[data-name*="announce" i][data-name*="rule" i] .rb-forum-icon::before{content:"\f0a1"}
.rb-forum[data-name*="training" i] .rb-forum-icon::before,.rb-forum[data-name*="trening" i] .rb-forum-icon::before,.rb-forum[data-name*="träning" i] .rb-forum-icon::before,.rb-forum[data-name*="træning" i] .rb-forum-icon::before,.rb-forum[data-name*="workout" i] .rb-forum-icon::before,.rb-forum[data-name*="gym" i] .rb-forum-icon::before{content:"\f44b"}
.rb-forum[data-name*="nutrition" i] .rb-forum-icon::before,.rb-forum[data-name*="diet" i] .rb-forum-icon::before,.rb-forum[data-name*="kosthold" i] .rb-forum-icon::before,.rb-forum[data-name*="& kost" i] .rb-forum-icon::before,.rb-forum[data-name*="recipe" i] .rb-forum-icon::before{content:"\f2e7"}
.rb-forum[data-name*="supplement" i] .rb-forum-icon::before,.rb-forum[data-name*="kosttilskudd" i] .rb-forum-icon::before,.rb-forum[data-name*="tilskudd" i] .rb-forum-icon::before{content:"\f484"}
.rb-forum[data-name*="ped" i] .rb-forum-icon::before,.rb-forum[data-name*="steroid" i] .rb-forum-icon::before,.rb-forum[data-name*="aas" i] .rb-forum-icon::before,.rb-forum[data-name*="anabol" i] .rb-forum-icon::before,.rb-forum[data-name*="sarm" i] .rb-forum-icon::before,.rb-forum[data-name*="peptid" i] .rb-forum-icon::before{content:"\f48e"}
.rb-forum[data-name*="log" i] .rb-forum-icon::before,.rb-forum[data-name*="journal" i] .rb-forum-icon::before,.rb-forum[data-name*="dagbok" i] .rb-forum-icon::before{content:"\f02d"}
.rb-forum[data-name*="blood" i] .rb-forum-icon::before,.rb-forum[data-name*="health" i] .rb-forum-icon::before,.rb-forum[data-name*="helse" i] .rb-forum-icon::before,.rb-forum[data-name*="hälsa" i] .rb-forum-icon::before,.rb-forum[data-name*="sundhed" i] .rb-forum-icon::before,.rb-forum[data-name*="pct" i] .rb-forum-icon::before{content:"\f21e"}
.rb-forum[data-name*="market" i] .rb-forum-icon::before,.rb-forum[data-name*="marked" i] .rb-forum-icon::before,.rb-forum[data-name*="handel" i] .rb-forum-icon::before,.rb-forum[data-name*="buy" i] .rb-forum-icon::before,.rb-forum[data-name*="sell" i] .rb-forum-icon::before{content:"\f54e"}
.rb-forum[data-name*="gaming" i] .rb-forum-icon::before,.rb-forum[data-name*="game" i] .rb-forum-icon::before,.rb-forum[data-name*="spill" i] .rb-forum-icon::before{content:"\f11b"}
.rb-forum[data-name*="news" i] .rb-forum-icon::before,.rb-forum[data-name*="nyhet" i] .rb-forum-icon::before{content:"\f1ea"}
.rb-forum[data-name*="graphic" i] .rb-forum-icon::before,.rb-forum[data-name*="gfx" i] .rb-forum-icon::before,.rb-forum[data-name*="design" i] .rb-forum-icon::before{content:"\f1fc"}
.rb-forum[data-name*="support" i] .rb-forum-icon::before,.rb-forum[data-name*="help" i] .rb-forum-icon::before,.rb-forum[data-name*="hjelp" i] .rb-forum-icon::before,.rb-forum[data-name*="hjälp" i] .rb-forum-icon::before{content:"\f059"}
.rb-forum[data-name*="feedback" i] .rb-forum-icon::before,.rb-forum[data-name*="suggest" i] .rb-forum-icon::before{content:"\f4ad"}
.rb-forum[data-name*="international" i] .rb-forum-icon::before,.rb-forum[data-name*="language" i] .rb-forum-icon::before,.rb-forum[data-name*="språk" i] .rb-forum-icon::before{content:"\f0ac"}
.rb-forum[data-name*="giveaway" i] .rb-forum-icon::before,.rb-forum[data-name*="konkurranse" i] .rb-forum-icon::before{content:"\f06b"}
.rb-forum[data-name*="achievement" i] .rb-forum-icon::before,.rb-forum[data-name*="progress" i] .rb-forum-icon::before,.rb-forum[data-name*="result" i] .rb-forum-icon::before,.rb-forum[data-name*="transformation" i] .rb-forum-icon::before{content:"\f091"}
.rb-forum[data-name*="source" i] .rb-forum-icon::before,.rb-forum[data-name*="review" i] .rb-forum-icon::before,.rb-forum[data-name*="lab" i] .rb-forum-icon::before{content:"\f492"}
.rb-forum[data-name*="video" i] .rb-forum-icon::before,.rb-forum[data-name*="media" i] .rb-forum-icon::before{content:"\f03d"}
.rb-forum[data-name*="member" i] .rb-forum-icon::before,.rb-forum[data-name*="community" i] .rb-forum-icon::before{content:"\f0c0"}
.rb-forum[data-name*="changelog" i] .rb-forum-icon::before{content:"\f15c"}
.rb-forum[data-name*="guideline" i] .rb-forum-icon::before{content:"\f24e"}
/* per-forum overrides: .rb-forum[data-fid="12"] .rb-forum-icon::before{content:"\fXXX"} */

/* ================= USERS ONLINE: group legend ================= */
.rb-group-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:700}
.rb-group-legend:empty{display:none}
.rb-legend-group{display:inline-flex;align-items:baseline;gap:3px}
.rb-legend-group small{font-size:12px;font-weight:500;color:var(--muted)}

/* ================= WIDGETS: icon tabs, announcements, counts ================= */
.rb-widget-tabs{display:flex;background:#12121a;border-bottom:1px solid var(--line)}
.rb-widget-tabs a{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;height:40px;color:var(--muted);font-size:14px;border-right:1px solid var(--line);transition:background .15s,color .15s}
.rb-widget-tabs a:last-child{border-right:0}
.rb-widget-tabs a:hover{background:var(--surface-3);color:#fff}
.rb-widget-tabs a.is-active{background:var(--surface-2);color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}
.rb-widget-tabs .rb-flag{width:18px;height:11px;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.rb-latest .rb-list-item.is-filtered-out{display:none}
.rb-iconsquare{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:var(--radius-xs);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:13px;font-weight:600;margin-top:2px;transition:all .15s}
.rb-iconsquare:hover{background:var(--surface-4);color:#fff}
.rb-iconsquare.is-count{font-variant-numeric:tabular-nums}
.rb-card-foot.is-action{padding:12px 14px;background:transparent}
.rb-side-ann .rb-li-sub a{font-weight:700}

/* ===== 46-shoutbox.css ===== */
/* ================= SHOUTBOX (chat panel, rb_shoutbox 1.2) =================
   Markup: templates/rb_shoutbox.html + rb_shoutbox_shout.html; behaviour: assets/rb.js section 6c.
   1.2 extras for VIP and Donator members: edit pencil and inline editor, emote and colour pickers in the input bar,
   six message colours (.is-c-<key>, the keys of rb_shoutbox_colors()).
   1.3 channels: every tab has .is-ch-<key>; VIP and Staff carry a small accent icon (.rb-sb-tab-ic) and an accent
   underline when active. The tab row scrolls sideways inside itself (.has-more / .has-less fade the edges).
   The panel uses its own rb-sb-* classes so the old .rb-shout* rules in 70-pro.css no longer apply to it.
   Usernames keep their group namestyle (rb-name-*): only the plain link colour is set here, never a name colour. */
.rb-shoutbox{margin-bottom:var(--gap)}

/* header tools: members online + small icon buttons on the blue bar */
.rb-sb-tools{gap:2px;flex-wrap:nowrap}
.rb-sb-online{display:inline-flex;align-items:center;gap:6px;margin-right:8px;font-size:12.5px;color:rgba(255,255,255,.85);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-sb-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}
.rb-sb-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:rgba(255,255,255,.8);font-size:12.5px;line-height:1;cursor:pointer}
.rb-sb-iconbtn:hover{background:rgba(0,0,0,.25);color:#fff;text-decoration:none}
.rb-sb-iconbtn:focus-visible{outline:1px solid rgba(255,255,255,.7);outline-offset:1px}
.rb-sb-iconbtn.is-busy{opacity:.5;pointer-events:none}

/* channel tabs: flat underline tabs, unread dot when another channel has new messages */
.rb-sb-tabs{display:flex;align-items:stretch;padding:0 8px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.rb-sb-tabs::-webkit-scrollbar{display:none}
.rb-sb-tab{position:relative;display:inline-flex;align-items:center;gap:6px;flex:none;height:38px;margin:0;padding:0 12px;background:transparent;border:0;border-radius:0;color:var(--muted);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:color .12s}
.rb-sb-tab:hover{color:var(--fg)}
.rb-sb-tab:focus-visible{outline:1px solid var(--accent-2);outline-offset:-3px}
.rb-sb-tab.is-active{color:var(--fg)}
.rb-sb-tab.is-active::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--accent)}
.rb-sb-unread{display:none;width:6px;height:6px;border-radius:50%;background:var(--accent-2);flex:none}
.rb-sb-tab.has-unread .rb-sb-unread{display:inline-block}
.rb-sb-tab.has-unread{color:var(--fg-2)}
/* 1.3 private channels: VIP a small gold crown, Staff a muted red shield; the active underline takes the same
   colour. The label keeps the normal tab colours. */
.rb-sb-tab.is-ch-vip{--rb-sb-tab-accent:var(--amber)}
.rb-sb-tab.is-ch-staff{--rb-sb-tab-accent:#c26161}
.rb-sb-tab-ic{flex:none;margin-right:-1px;font-size:11px;line-height:1;color:var(--rb-sb-tab-accent,var(--muted));opacity:.8;transition:opacity .12s}
.rb-sb-tab:hover .rb-sb-tab-ic,.rb-sb-tab.is-active .rb-sb-tab-ic{opacity:1}
.rb-sb-tab.is-ch-vip.is-active::after,.rb-sb-tab.is-ch-staff.is-active::after{background:var(--rb-sb-tab-accent)}
/* more tabs than room: the row scrolls sideways inside itself and fades at the edge that has more (rb.js) */
.rb-sb-tabs.has-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.rb-sb-tabs.has-less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.rb-sb-tabs.has-less.has-more{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}

/* message list: fixed height, newest at the bottom */
.rb-sb-body{position:relative}
/* a flex column whose first child takes margin-top:auto: a short channel sits on the input like a chat, a long
   one scrolls normally (the auto margin collapses to 0 once the list overflows) */
.rb-sb-list{display:flex;flex-direction:column;height:360px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 10px;background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--surface-4) transparent;transition:opacity .12s}
.rb-sb-list > :first-child{margin-top:auto}
.rb-sb-list > *{flex:none}
.rb-sb-list:focus{outline:0}
.rb-sb-list:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-2)}
.rb-sb-list.is-loading{opacity:.55}
.rb-sb-list::-webkit-scrollbar{width:8px}
.rb-sb-list::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:3px}
.rb-sb-list::-webkit-scrollbar-track{background:transparent}

/* one message: 28px round avatar | name + time on one line, text under it */
.rb-sb-msg{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;margin-top:2px;padding:6px 14px 3px}
.rb-sb-msg:hover{background:var(--surface-2)}
.rb-sb-msg.is-cont{margin-top:0;padding-top:1px}
.rb-sb-msg.is-mention{box-shadow:inset 2px 0 0 var(--accent-2)}
.rb-sb-msg.is-fresh{animation:rb-sb-fade .12s ease-out}
@keyframes rb-sb-fade{from{opacity:0}to{opacity:1}}
.rb-sb-av{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:2px;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;user-select:none}
.rb-sb-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--surface-3)}
.rb-sb-msg.is-cont .rb-sb-av{visibility:hidden;height:0;margin:0}
.rb-sb-main{min-width:0}
/* room for the action icons on the right: 26px per icon */
.rb-sb-msg.can-del .rb-sb-main,.rb-sb-msg.can-edit .rb-sb-main{padding-right:26px}
.rb-sb-msg.can-del.can-edit .rb-sb-main{padding-right:52px}
.rb-sb-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;min-height:20px;line-height:20px}
.rb-sb-name{min-width:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.rb-sb-name a{color:var(--fg);text-decoration:none}
.rb-sb-name a:hover{color:#fff;text-decoration:none}
.rb-sb-time{flex:none;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-sb-text{font-size:14px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere;word-break:break-word}
.rb-sb-text a{color:var(--link)}
.rb-sb-text a:hover{text-decoration:underline;text-underline-offset:2px}
.rb-sb-text img{max-width:100%;max-height:22px;vertical-align:-5px}
.rb-sb-text blockquote,.rb-sb-text .codeblock{margin:4px 0;font-size:13px}
/* a quote sits one step above the row, so it stays visible on the --surface-2 hover background */
.rb-sb-text blockquote,.rb-sb-text .mycode_quote{background:var(--surface-3)}
/* grouped follow-up message: no avatar and name; its clock time (HH:MM) appears in the avatar gutter on hover */
.rb-sb-msg.is-cont .rb-sb-meta{display:block;min-height:0;line-height:0}
.rb-sb-msg.is-cont .rb-sb-name{display:none}
.rb-sb-msg.is-cont .rb-sb-time{position:absolute;left:4px;top:1px;width:44px;overflow:hidden;text-overflow:clip;font-size:11px;line-height:21px;text-align:center;opacity:0}
.rb-sb-msg.is-cont:hover .rb-sb-time{opacity:1}

/* actions: small icons on hover, top right (edit pencil, delete). The delete icon needs two clicks: the first arms
   it (red), the second deletes. */
.rb-sb-acts{position:absolute;top:4px;right:8px;display:flex;gap:2px}
.rb-sb-msg.is-cont .rb-sb-acts{top:0}
.rb-sb-act{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:11.5px;line-height:1;opacity:0;cursor:pointer;transition:opacity .12s}
.rb-sb-msg:hover .rb-sb-act,.rb-sb-act:focus-visible,.rb-sb-act.is-armed{opacity:1}
.rb-sb-act:hover{background:var(--surface-3);color:var(--fg)}
.rb-sb-del:hover{color:var(--red)}
.rb-sb-act:focus-visible{outline:1px solid var(--accent-2);outline-offset:0}
.rb-sb-del.is-armed{background:var(--red-soft);color:var(--red)}
.rb-sb-act:disabled{opacity:.4;cursor:default}
/* touch screens: no icons on every row; a tap on a message opens it (rb.js) and shows its icons,
   grouped messages show their time faintly. pointer-events keeps a hidden icon from catching the tap. */
@media (hover:none){
  .rb-sb-msg:hover{background:transparent}
  .rb-sb-act,.rb-sb-msg:hover .rb-sb-act{opacity:0;pointer-events:none}
  .rb-sb-msg.is-open{background:var(--surface-2)}
  .rb-sb-msg.is-open .rb-sb-act,.rb-sb-msg.is-open:hover .rb-sb-act{opacity:1;pointer-events:auto}
  .rb-sb-msg.is-open .rb-sb-act:disabled{opacity:.4}
  .rb-sb-act{width:30px;height:28px}
  .rb-sb-msg.can-del .rb-sb-main,.rb-sb-msg.can-edit .rb-sb-main{padding-right:32px}
  .rb-sb-msg.can-del.can-edit .rb-sb-main{padding-right:64px}
  .rb-sb-msg.is-cont .rb-sb-time,.rb-sb-msg.is-cont:hover .rb-sb-time{opacity:.6}
  .rb-sb-msg.is-cont.is-open .rb-sb-time{opacity:1}
}

/* "(edited)" after the text, never in the message colour */
.rb-sb-edited{margin-left:2px;color:var(--muted);font-size:11.5px;font-weight:400;white-space:nowrap;cursor:default}

/* inline editor (own message, extras): the text hides, a textarea with Cancel and Save takes its place */
.rb-sb-msg.is-editing,.rb-sb-msg.is-editing:hover{background:var(--surface-2)}
.rb-sb-msg.is-editing .rb-sb-text,.rb-sb-msg.is-editing .rb-sb-acts{display:none}
.rb-sb-msg.is-editing .rb-sb-main,.rb-sb-msg.is-editing.can-del.can-edit .rb-sb-main{padding-right:0}
.rb-sb-editbox{margin:4px 0 6px}
.rb-sb-editbox .rb-sb-editinput{display:block;width:100%;min-width:0;height:auto;min-height:52px;max-height:none;margin:0;padding:6px 8px;background:var(--bg);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg);font-size:14px;line-height:20px;resize:none;overflow-y:hidden}
.rb-sb-editbox .rb-sb-editinput:focus{background:var(--bg);border-color:var(--accent-2);box-shadow:none;outline:0}
.rb-sb-editbox .rb-sb-editinput[readonly]{color:var(--fg-2)}
.rb-sb-editbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin-top:6px}
.rb-sb-edithint{margin-right:auto;color:var(--muted);font-size:12px}
.rb-sb-editbtn{display:inline-flex;align-items:center;justify-content:center;height:26px;margin:0;padding:0 10px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:var(--fg);font-size:12.5px;font-weight:500;line-height:1;cursor:pointer;transition:background .12s,border-color .12s}
.rb-sb-editbtn:hover{background:var(--surface-4)}
.rb-sb-editbtn:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sb-editsave{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-sb-editsave:hover{background:#3d75d9;border-color:#3d75d9}
.rb-sb-editbtn:disabled{opacity:.45;cursor:default}
@media (hover:none){
  .rb-sb-edithint{display:none}
  .rb-sb-editbtn{height:30px;padding:0 14px}
}

/* day separator: small centred label between hairlines */
.rb-sb-day{display:flex;align-items:center;gap:10px;margin:10px 14px 4px;color:var(--muted);font-size:11.5px;font-weight:500;line-height:16px;white-space:nowrap}
.rb-sb-day::before,.rb-sb-day::after{content:"";flex:1 1 auto;height:1px;background:var(--line)}

.rb-sb-list > .rb-sb-empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;margin:0;padding:24px 16px;color:var(--fg-2);font-size:13px;text-align:center}

/* "New messages" bar: flat strip pinned to the bottom of the list while the reader is scrolled up */
.rb-sb-jump{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:30px;margin:0;padding:0 12px;background:var(--surface-3);border:0;border-top:1px solid var(--line-2);border-radius:0;color:var(--fg);font-size:12.5px;font-weight:500;line-height:1;cursor:pointer}
.rb-sb-jump[hidden]{display:none}
.rb-sb-jump:hover{background:var(--surface-4)}
.rb-sb-jump .fa-solid{font-size:11px;color:var(--accent-2)}

/* input bar pinned to the bottom of the card */
.rb-sb-foot{padding:10px 12px 12px;background:var(--surface);border-top:1px solid var(--line)}
.rb-sb-form{display:block;margin:0}
.rb-sb-compose{display:flex;align-items:flex-end;gap:6px;padding:4px 4px 4px 12px;background:var(--bg);border:1px solid var(--line-2);border-radius:3px;transition:border-color .12s}
.rb-sb-compose:focus-within{border-color:var(--accent-2)}
.rb-sb-compose .rb-sb-input{display:block;flex:1 1 auto;width:auto;min-width:0;height:28px;min-height:28px;max-height:none;margin:0;padding:4px 0;background:transparent;border:0;border-radius:0;box-shadow:none;outline:0;color:var(--fg);font-size:14px;line-height:20px;resize:none;overflow-y:hidden}
.rb-sb-compose .rb-sb-input:focus{background:transparent;border:0;box-shadow:none;outline:0}
.rb-sb-compose .rb-sb-input::placeholder{color:var(--muted);opacity:1}
.rb-sb-compose .rb-sb-input[readonly]{color:var(--fg-2)}
.rb-sb-count{flex:none;align-self:center;padding:0 4px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.rb-sb-count[hidden]{display:none}
.rb-sb-count.is-warn{color:var(--amber)}
.rb-sb-count.is-over{color:var(--red)}
.rb-sb-send{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:28px;margin:0;padding:0;background:var(--accent);border:0;border-radius:3px;color:#fff;font-size:12.5px;line-height:1;cursor:pointer;transition:background .12s,opacity .12s}
.rb-sb-send:hover{background:#3d75d9}
.rb-sb-send:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sb-send:disabled{opacity:.45;cursor:default}
.rb-sb-send:disabled:hover{background:var(--accent)}
/* extras in the input bar: emote and palette buttons between the field and Send */
.rb-sb-tool{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;margin:0;padding:0;background:transparent;border:0;border-radius:3px;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;transition:background .12s,color .12s}
.rb-sb-tool:hover,.rb-sb-tool.is-active{background:var(--surface-3);color:var(--fg)}
.rb-sb-tool:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}

/* pickers: a small flat panel above the input bar, right aligned (inside the card, which clips overflow) */
.rb-sb-form{position:relative}
.rb-sb-pop{position:absolute;right:0;bottom:calc(100% + 6px);z-index:20;max-width:100%;padding:6px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:var(--shadow)}
.rb-sb-pop[hidden]{display:none}
.rb-sb-emotes{display:grid;grid-template-columns:repeat(8,32px);gap:2px}
.rb-sb-emote{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;background:transparent;border:0;border-radius:3px;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',var(--font);font-size:18px;line-height:1;cursor:pointer}
.rb-sb-emote:hover{background:var(--surface-4)}
.rb-sb-emote:focus-visible{background:var(--surface-4);outline:1px solid var(--accent-2);outline-offset:-1px}
.rb-sb-colors{display:flex;align-items:center;gap:6px}
.rb-sb-pop-label{margin:0 4px 0 2px;color:var(--muted);font-size:12px;white-space:nowrap}
.rb-sb-swatch{display:inline-block;flex:none;width:24px;height:24px;margin:0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:3px;cursor:pointer}
.rb-sb-swatch.is-default{background:var(--fg)}
.rb-sb-swatch:hover{border-color:rgba(255,255,255,.5)}
.rb-sb-swatch:focus-visible{outline:1px solid var(--accent-2);outline-offset:2px}
.rb-sb-swatch.is-selected{outline:2px solid var(--fg);outline-offset:2px}
@media (hover:none){
  .rb-sb-emotes{grid-template-columns:repeat(6,38px)}
  .rb-sb-emote{width:38px;height:38px;font-size:20px}
  .rb-sb-swatch{width:30px;height:30px}
}

/* the six message colours (keys of rb_shoutbox_colors()): message text, the input while typing, the palette icon
   and the swatches. Readable on the dark surfaces; links and @mentions inside a message keep their own colour. */
.rb-sb-text.is-c-blue,.rb-sb-compose .rb-sb-input.is-c-blue,.rb-sb-tool.is-c-blue{color:var(--link)}
.rb-sb-text.is-c-violet,.rb-sb-compose .rb-sb-input.is-c-violet,.rb-sb-tool.is-c-violet{color:#b392f0}
.rb-sb-text.is-c-green,.rb-sb-compose .rb-sb-input.is-c-green,.rb-sb-tool.is-c-green{color:var(--green)}
.rb-sb-text.is-c-gold,.rb-sb-compose .rb-sb-input.is-c-gold,.rb-sb-tool.is-c-gold{color:var(--amber)}
.rb-sb-text.is-c-orange,.rb-sb-compose .rb-sb-input.is-c-orange,.rb-sb-tool.is-c-orange{color:var(--orange)}
.rb-sb-text.is-c-pink,.rb-sb-compose .rb-sb-input.is-c-pink,.rb-sb-tool.is-c-pink{color:var(--pink)}
.rb-sb-swatch.is-c-blue{background:var(--link)}
.rb-sb-swatch.is-c-violet{background:#b392f0}
.rb-sb-swatch.is-c-green{background:var(--green)}
.rb-sb-swatch.is-c-gold{background:var(--amber)}
.rb-sb-swatch.is-c-orange{background:var(--orange)}
.rb-sb-swatch.is-c-pink{background:var(--pink)}

.rb-sb-error{margin-top:6px;color:var(--red);font-size:12.5px;line-height:1.4}
.rb-sb-error[hidden]{display:none}
.rb-sb-note{display:flex;align-items:center;gap:8px;color:var(--fg-2);font-size:13px}
.rb-sb-note .fa-solid{color:var(--muted);font-size:12px}
.rb-sb-note a{color:var(--link)}

@media (prefers-reduced-motion:reduce){
  .rb-sb-msg.is-fresh{animation:none}
  .rb-sb-list,.rb-sb-tab,.rb-sb-tab-ic,.rb-sb-act,.rb-sb-send,.rb-sb-compose,.rb-sb-tool,.rb-sb-editbtn{transition:none}
}
@media (max-width:600px){
  .rb-sb-list{height:300px}
  .rb-sb-tabs{padding:0 4px}
  .rb-sb-tab{padding:0 10px}
  .rb-sb-tab.is-active::after{left:6px;right:6px}
  .rb-sb-msg{padding-left:12px;padding-right:12px}
  .rb-sb-day{margin-left:12px;margin-right:12px}
  .rb-sb-online{margin-right:4px}
  .rb-sb-foot{padding:8px 10px 10px}
  /* 16px keeps iOS from zooming into the field on focus */
  .rb-sb-compose .rb-sb-input{font-size:16px;line-height:22px;height:30px;min-height:30px}
  .rb-sb-editbox .rb-sb-editinput{font-size:16px;line-height:22px}
  .rb-sb-send{height:30px}
  .rb-sb-tool{width:30px;height:30px}
  .rb-sb-compose{gap:4px;padding-left:10px}
}
/* phones: the five channel tabs fit a 375px screen; narrower screens scroll the row sideways (has-more fade) */
@media (max-width:420px){
  .rb-sb-tab{gap:5px;padding:0 8px}
  .rb-sb-tab.is-active::after{left:5px;right:5px}
}

/* ===== parts/alerts.css ===== */
/* ===================================================================
   Roidboard: alerts (plugin rb_alerts)
   Topbar bell + dropdown (header_welcomeblock_member) and misc.php?action=alerts.
   Flat surfaces, hairlines, 3px corners, white text, --fg-2 meta, 2px accent bar on unread rows.
   Usernames are format_name() namestyle spans: only the wrapper is styled, never the spans.
   Parts load before 70-pro.css, so selectors that compete with it carry one extra class.
   =================================================================== */

/* ---- bell ---- */
.rb-alerts{position:relative;display:flex;align-items:center;align-self:center}
.rb-topbar-right .rb-alerts.is-open .rb-alerts-link{background:var(--surface-3);color:#fff}

/* ---- dropdown ---- */
.rb-alerts-menu{position:absolute;top:calc(100% + 9px);right:-4px;z-index:80;display:flex;flex-direction:column;width:380px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 12px 24px rgba(0,0,0,.5);overflow:hidden;text-align:left;white-space:normal}
.rb-alerts-menu[hidden]{display:none}
.rb-alerts-menu-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-alerts-menu-title{font-size:13.5px;font-weight:600;color:#fff;line-height:1.3}
.rb-alerts-menu .rb-alerts-markall{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:0;height:auto;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:12.5px;font-weight:500;line-height:1.3;color:var(--link);cursor:pointer}
.rb-alerts-menu .rb-alerts-markall:hover,.rb-alerts-menu .rb-alerts-markall:focus-visible{background:transparent;color:#fff}
.rb-alerts-menu .rb-alerts-markall:disabled{opacity:.6;cursor:default}
.rb-alerts-menu .rb-alerts-markall .fa-solid{font-size:11.5px}
.rb-alerts-menu-list{max-height:min(440px,calc(100vh - 170px));overflow-y:auto;overscroll-behavior:contain}
.rb-alerts-menu .rb-alerts-menu-foot{display:block;padding:10px 14px;background:var(--surface-2);border-top:1px solid var(--line);font-size:13px;font-weight:500;line-height:1.3;color:var(--link);text-align:center}
.rb-alerts-menu .rb-alerts-menu-foot:hover{background:var(--surface-3);color:#fff}

/* dropdown rows: the whole row is one link */
.rb-alerts-menu .rb-al-mrow{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;color:var(--fg);text-decoration:none}
.rb-alerts-menu .rb-al-mrow:last-child{border-bottom:0}
.rb-alerts-menu .rb-al-mrow:hover{background:var(--surface-2);color:var(--fg)}
.rb-alerts-menu .rb-al-mrow.is-unread{background:rgba(45,99,199,.07);box-shadow:inset 2px 0 0 var(--accent)}
.rb-alerts-menu .rb-al-mrow.is-unread:hover{background:var(--surface-2)}
.rb-alerts-menu .rb-al-mav{width:24px;height:24px;margin-top:1px}
.rb-al-mmain{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-al-mtext{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rb-al-mmeta{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;color:var(--fg-2)}
.rb-al-mmeta .fa-solid{width:12px;font-size:11px;text-align:center}

/* empty, loading and error lines in the dropdown */
.rb-alerts-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 16px;font-size:13px;line-height:1.4;color:var(--fg-2);text-align:center}
.rb-alerts-empty .fa-solid{font-size:14px;color:var(--fg-2)}
.rb-alerts-empty.is-error .fa-solid{color:var(--amber)}

/* ---- sentence parts (dropdown and page) ---- */
.rb-al-actor{font-weight:600;color:#fff}
.rb-al-verb{color:var(--fg)}
.rb-al-subject{font-weight:600;color:#fff}
.rb-al-rep{font-weight:600;font-variant-numeric:tabular-nums}
.rb-al-rep.is-pos{color:var(--green)}
.rb-al-rep.is-neg{color:var(--red)}
.rb-al-rep.is-neutral{color:var(--fg-2)}

/* ---- alerts page ---- */
.rb-al-page{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-al-card .rb-al-tabs{padding:0 8px;background:var(--surface)}
.rb-al-tabs .rb-tab .fa-solid{font-size:12.5px}
.rb-al-list{display:flex;flex-direction:column}
.rb-al-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-al-item:last-child{border-bottom:0}
.rb-al-item:hover{background:var(--surface-2)}
.rb-al-list .rb-al-item.is-unread{background:rgba(45,99,199,.07);box-shadow:inset 2px 0 0 var(--accent)}
.rb-al-card .rb-al-av{width:36px;height:36px}
.rb-al-main{min-width:0}
.rb-al-text{font-size:14px;line-height:1.45;color:var(--fg);overflow-wrap:anywhere}
.rb-al-text a.rb-al-actor{color:#fff}
.rb-al-text a.rb-al-subject{color:#fff}
.rb-al-text a.rb-al-subject:hover{color:var(--link);text-decoration:underline;text-underline-offset:2px}
.rb-al-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:5px;padding-left:10px;border-left:2px solid var(--line-2);font-size:13px;line-height:1.5;color:var(--fg-2);overflow-wrap:anywhere}
.rb-al-meta{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:12.5px;line-height:1.3;color:var(--fg-2)}
.rb-al-meta .fa-solid{width:13px;font-size:11.5px;text-align:center}
.rb-al-pager{padding:10px 16px;border-top:1px solid var(--line)}
.rb-al-card .rb-al-empty{padding:40px 16px;color:var(--fg-2)}
.rb-al-card .rb-al-empty .fa-solid{font-size:26px;color:var(--fg-2)}
.rb-al-card .rb-al-empty b{color:#fff}
.rb-al-card .rb-al-empty span{color:var(--fg-2)}

/* Mark all read in the blue head bar */
.rb-al-markall-form{display:flex;margin:0}
.rb-al-card .rb-card-tools .rb-al-markall{display:inline-flex;align-items:center;gap:6px;height:auto;min-height:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:12.5px;font-weight:500;line-height:1.3;color:rgba(255,255,255,.85);cursor:pointer}
.rb-al-card .rb-card-tools .rb-al-markall:hover,.rb-al-card .rb-card-tools .rb-al-markall:focus-visible{background:transparent;color:#fff}
.rb-al-card .rb-card-tools .rb-al-markall .fa-solid{font-size:11.5px}

@media (max-width:760px){
  .rb-al-card .rb-al-tabs{padding:0}
  .rb-al-tabs .rb-tab{padding:0 12px}
  .rb-al-tabs .rb-tab .fa-solid{display:none}
  .rb-al-item{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:11px 12px}
  .rb-al-text{font-size:13.5px}
  .rb-al-pager{padding:10px 12px}
}

/* ===== parts/awards.css ===== */
/* ===================================================================
   Roidboard: awards (plugin rb_awards)
   misc.php?action=awards (+ &aid=N), awards_give, awards_revoke, awards_manage, awards_edit, awards_delete,
   the "Awards" card on profiles ({$rb_profile_awards}, top of the 340px right column) and the award images in the post
   author column ({$post['rb_awards']}, under the group banners, 234px inside).
   Award images (.rb-aw-img) are 144px tiles with their own frame, shown at 28 (posts), 36, 44, 48 (profile) and 56px.
   Awards without an image keep the coloured icon circle. Flat cards with the head bar, hairlines, 3px corners.
   =================================================================== */

/* ---- page stack ---- */
.rb-aw,.rb-aw-form{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-aw .rb-card + .rb-card{margin-top:0}
.rb-aw-card .rb-label{color:var(--fg);font-weight:600}
.rb-aw-card .rb-help{color:var(--fg-2)}
.rb-aw-card .rb-card-foot{color:var(--fg-2)}
.rb-aw-dim{color:var(--fg-2);font-weight:400}

/* ---- card head buttons: All awards, Give award, Manage awards, New award ---- */
.rb-aw-tools{gap:8px}
.rb-card-tools .rb-aw-headbtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.rb-card-tools .rb-aw-headbtn:hover{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff}
.rb-card-tools .rb-aw-headbtn .fa-solid{margin:0;font-size:11.5px;color:rgba(255,255,255,.8)}

/* ---- the coloured icon circle (palette: blue green gold red violet teal grey) ---- */
.rb-aw-circle{--aw-c:#c3c7d0;--aw-rgb:150,156,168;display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:rgba(var(--aw-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--aw-rgb),.4);color:var(--aw-c);font-size:15px;line-height:1}
.rb-aw-circle .fa-solid{font-size:inherit;color:inherit;line-height:1}
.rb-aw-circle.is-blue{--aw-c:#7fa6ff;--aw-rgb:91,141,239}
.rb-aw-circle.is-green{--aw-c:#5fd07a;--aw-rgb:63,185,80}
.rb-aw-circle.is-gold{--aw-c:#e8b84a;--aw-rgb:210,153,34}
.rb-aw-circle.is-red{--aw-c:#f47c7c;--aw-rgb:240,82,82}
.rb-aw-circle.is-violet{--aw-c:#ad91f7;--aw-rgb:139,92,246}
.rb-aw-circle.is-teal{--aw-c:#3ccbb8;--aw-rgb:38,166,154}
.rb-aw-circle.is-grey{--aw-c:#c3c7d0;--aw-rgb:150,156,168}
.rb-aw-circle.is-xs{width:28px;height:28px;font-size:12px}
.rb-aw-circle.is-md{width:44px;height:44px;font-size:18px}
.rb-aw-circle.is-tile{width:48px;height:48px;font-size:19px}
.rb-aw-circle.is-lg{width:56px;height:56px;font-size:23px}

/* ---- award images: square tiles with their own rounded frame, so no border or radius here ---- */
.rb-aw-img{display:block;flex:none;width:36px;height:36px;max-width:none;object-fit:contain;border:0;border-radius:0;background:transparent}
.rb-aw-img.is-xs{width:28px;height:28px}
.rb-aw-img.is-md{width:44px;height:44px}
.rb-aw-img.is-tile{width:48px;height:48px}
.rb-aw-img.is-lg{width:56px;height:56px}
.rb-aw-auto{margin-left:8px}

/* ---- overview: every award ---- */
.rb-aw-intro{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-aw-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(84px,auto);gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.rb-aw-row:last-child{border-bottom:0}
.rb-aw-row:hover{background:var(--surface-2)}
.rb-aw-row-icon{display:flex}
.rb-aw-row-main{min-width:0}
.rb-aw-row-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0;font-size:15px;font-weight:600;line-height:1.3}
.rb-aw-row-title a{color:#fff}
.rb-aw-row-title a:hover{color:#fff;text-decoration:underline}
.rb-aw-row-desc{margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--fg-2);overflow-wrap:anywhere}
.rb-aw-row-desc:empty{display:none}
.rb-aw-row-holders{margin-top:6px;font-size:13px;line-height:1.5;color:var(--fg-2);overflow-wrap:anywhere}
.rb-aw-row-holders:empty{display:none}
.rb-aw-row-holders a{font-weight:500}
.rb-aw-morelink{color:var(--link);white-space:nowrap}
.rb-aw-row-count{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.rb-aw-row-count b{font-size:20px;font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.rb-aw-row-count span{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-aw-row-count .rb-aw-side-date{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap}
.rb-aw-intro a{color:var(--link);font-weight:500;white-space:nowrap}
.rb-aw-empty{padding:36px 16px}
.rb-aw-empty span{color:var(--fg-2)}

/* ---- one award: hero + holders ---- */
.rb-aw-hero{display:flex;align-items:center;gap:16px;padding:18px 16px;border-bottom:1px solid var(--line)}
.rb-aw-hero-main{min-width:0}
.rb-aw-hero-name{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0;font-size:18px;font-weight:600;line-height:1.3;color:#fff}
.rb-aw-hero-desc{margin-top:4px;font-size:14px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere}
.rb-aw-hero-meta{margin-top:6px;font-size:12.5px;color:var(--fg-2)}
.rb-aw-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) minmax(0,1fr) 130px 96px;gap:12px;align-items:center}
.rb-labels.rb-aw-grid,.rb-labels.rb-aw-mgrid{display:grid;color:var(--fg-2)}
.rb-aw-hrow{padding:10px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2)}
.rb-aw-hrow:last-child{border-bottom:0}
.rb-aw-hrow:hover{background:var(--surface-2)}
.rb-aw-c{min-width:0}
.rb-aw-member{display:flex;align-items:center;gap:10px}
.rb-aw-member .rb-avatar{flex:none;width:28px;height:28px;border-radius:50%;overflow:hidden;background:var(--surface-3)}
.rb-aw-member .rb-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.rb-aw-uname{min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-aw-hidden{flex:none}
.rb-aw-reason{color:var(--fg);overflow-wrap:anywhere}
.rb-aw-by{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-aw-act{text-align:right}
.rb-aw-act .rb-btn{gap:6px}
.rb-aw-act .rb-btn .fa-solid{font-size:11px}
.rb-aw-pager{padding:10px 16px;border-top:1px solid var(--line)}

/* ---- forms: give, edit ---- */
.rb-aw-form > .error,.rb-aw-form > .rb-alert{margin:0}
.rb-aw-card .rb-card-body > .error{margin:0 0 14px}
.rb-aw-lbl{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:9px}
.rb-aw-lbl .rb-label,.rb-aw-lbl .rb-help{display:block}
.rb-aw-fields select{max-width:100%}
.rb-aw-foot{gap:10px 16px}
.rb-aw-foot .rb-form-actions{margin-left:auto;padding-top:0}
.rb-aw-foot-note{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2)}
.rb-aw-foot-note .fa-solid{flex:none;font-size:12px;color:var(--fg-2)}
.rb-aw-form .rb-form-actions .rb-btn .fa-solid{font-size:12px}
/* give: the picture and description of the chosen award next to the select */
.rb-aw-give-pick{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;min-width:0}
.rb-aw-fields .rb-aw-give-pick select{flex:1 1 240px;width:auto;max-width:420px;min-width:0}
.rb-aw-give-badges{display:flex;flex:1 1 220px;min-width:0}
.rb-aw-give-badge{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;line-height:1.4;color:var(--fg-2)}
.rb-aw-give-badge[hidden]{display:none}
.rb-aw-give-name{min-width:0;overflow-wrap:anywhere}

/* edit: preview column + fields */
.rb-aw-edit{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}
.rb-aw-preview{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;text-align:center}
.rb-aw-preview-name{max-width:100%;font-size:13.5px;font-weight:600;color:#fff;overflow-wrap:anywhere}
.rb-aw-preview-note{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-aw-edit .rb-fields{grid-template-columns:180px minmax(0,1fr)}
.rb-aw-icon-input{font-family:var(--mono);max-width:320px}
.rb-aw-preview [hidden]{display:none}
.rb-aw-key{padding:1px 5px;border:1px solid var(--line-2);border-radius:2px;background:var(--surface-3);font-family:var(--mono);font-size:12px;color:var(--fg)}
.rb-aw-sugs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rb-aw-sug{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:14px;line-height:1;cursor:pointer}
.rb-aw-sug:hover{background:var(--surface-3);border-color:#363d48;color:#fff}
.rb-aw-sug.is-active{border-color:var(--accent);color:#fff;background:var(--accent-soft)}
.rb-aw-sug .fa-solid{font-size:14px}
.rb-aw-ruletext{padding-top:9px;font-size:13.5px;line-height:1.5;color:var(--fg)}

/* ---- confirm: remove / delete ---- */
.rb-aw-confirm-top{display:flex;align-items:flex-start;gap:16px}
.rb-aw-confirm-main{min-width:0}
.rb-aw-confirm-q{margin:4px 0 6px;font-size:16px;font-weight:600;line-height:1.35;color:#fff;overflow-wrap:anywhere}
.rb-aw-confirm-text{margin:0;font-size:14px;line-height:1.55;color:var(--fg-2);overflow-wrap:anywhere}
.rb-aw-confirm .rb-aw-foot .rb-form-actions{margin-left:auto}

/* ---- manage: order, award, holders, actions ---- */
.rb-aw-mgrid{display:grid;grid-template-columns:76px minmax(0,1fr) 72px 168px;gap:12px;align-items:center}
.rb-aw-mrow{padding:10px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2)}
.rb-aw-mrow:last-child{border-bottom:0}
.rb-aw-mrow:hover{background:var(--surface-2)}
.rb-aw-order{display:flex;gap:4px}
.rb-aw-move{display:inline-flex;margin:0}
.rb-aw-order .rb-btn-icon{width:30px;height:30px;padding:0}
.rb-aw-order .rb-btn-icon .fa-solid{font-size:11px}
.rb-aw-move-off{opacity:.35;cursor:default;pointer-events:none}
.rb-aw-mmain{display:flex;align-items:center;gap:12px}
.rb-aw-mtext{min-width:0}
.rb-aw-mtitle{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}
.rb-aw-mname{font-size:14px;font-weight:600;color:#fff}
.rb-aw-mname:hover{color:#fff;text-decoration:underline}
.rb-aw-mdesc{margin-top:2px;font-size:13px;line-height:1.45;color:var(--fg-2);overflow-wrap:anywhere}
.rb-aw-rule{color:var(--fg)}
.rb-aw-mcount{font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.rb-aw-mact{display:flex;justify-content:flex-end;gap:6px}
.rb-aw-mact .rb-btn{gap:6px}
.rb-aw-mact .rb-btn .fa-solid{font-size:11px}
.rb-aw-manage .rb-aw-foot{justify-content:space-between}
.rb-aw-inline{display:inline-flex;margin:0}
.rb-aw-inline .rb-btn{gap:6px}

/* ---- profile: Awards card, top of the right column (owner 2026-10-15: smaller, 36px tiles, seven per row at 340px).
   The tile PNGs are 144px, so 36px stays sharp on normal and Retina screens. ---- */
.rb-aw-profile > .rb-card-head{flex-wrap:nowrap}
.rb-aw-profile .rb-card-title{min-width:0;white-space:nowrap}
.rb-aw-count{margin-left:2px;font-weight:500;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.rb-aw-ptools{flex:none;gap:6px;margin-left:auto}
.rb-aw-ptools a{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 9px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:12px;font-weight:500;line-height:1;white-space:nowrap}
.rb-aw-ptools a:hover{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff}
.rb-aw-ptools .rb-aw-give{width:26px;padding:0}
.rb-aw-ptools .fa-solid{margin:0;font-size:11.5px;color:rgba(255,255,255,.85)}
.rb-aw-ptiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:8px 6px;padding:14px 16px;justify-items:center}
.rb-aw-ptile{display:block;width:36px;height:36px;line-height:0;border-radius:5px}
.rb-aw-ptile .rb-aw-img{width:36px;height:36px}
.rb-aw-ptile .rb-aw-circle{width:36px;height:36px;font-size:15px}
.rb-aw-ptile:hover .rb-aw-img{filter:brightness(1.12)}
.rb-aw-ptile:hover .rb-aw-circle{background:rgba(var(--aw-rgb),.26)}
.rb-aw-ptile:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}

/* ---- postbit: one row of 28px award images under the group banners ----
   six images and the "+N" box: 6 x 28 + 6 x 4 gap + a 28 to 42px box = 220 to 234px, the desktop author column is 234px.
   70-pro hides every .fa-star in .rb-post-author (old rank stars) with !important; an award icon may be fa-star,
   so this one rule needs !important too (three classes win over two). */
.rb-aw-post{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%}
.rb-aw-post:empty{display:none}
.rb-post-author .rb-aw-post .fa-star{display:var(--fa-display,inline-block)!important}
.rb-aw-pi{display:inline-flex;flex:none;line-height:0;border-radius:5px}
.rb-aw-pi:hover .rb-aw-img{filter:brightness(1.12)}
.rb-aw-pi:hover .rb-aw-circle{background:rgba(var(--aw-rgb),.26)}
.rb-aw-pi:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
.rb-aw-more{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 5px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);font-size:11.5px;font-weight:600;line-height:1;color:var(--fg-2);font-variant-numeric:tabular-nums}
a.rb-aw-more:hover{border-color:#363d48;color:#fff}
/* strip (mobile, horizontal layout below 761px): a full width row; auto placed, so it lands after the group banners */
.rb-post-author .rb-aw-post{grid-column:1 / -1;justify-content:center;margin-top:8px}

/* ---- desktop ---- */
@media (min-width:761px){
  /* author column: centred under the group banners (same order, later in the markup), before the stat rows */
  .rb-post.is-classic .rb-post-author .rb-aw-post,.rb-post.is-horizontal .rb-post-author .rb-aw-post{order:5;justify-content:center;width:100%;margin-top:12px}
}

/* ---- tablet / phone ---- */
@media (max-width:900px){
  .rb-aw-edit{grid-template-columns:minmax(0,1fr)}
  .rb-aw-preview{flex-direction:row;justify-content:flex-start;gap:14px;padding:12px;text-align:left}
  .rb-aw-preview-note{margin-left:auto}
  .rb-aw-edit .rb-fields{grid-template-columns:minmax(0,1fr)}
  .rb-aw-edit .rb-aw-lbl{padding-top:0}
}
@media (max-width:760px){
  .rb-aw-fields{grid-template-columns:minmax(0,1fr)}
  .rb-aw-lbl{padding-top:0}
  .rb-aw-foot .rb-form-actions{margin-left:0;width:100%}
  .rb-aw-foot .rb-form-actions .rb-btn{flex:1 1 0}
  .rb-aw-row{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:12px}
  .rb-aw-row-icon{grid-row:1 / span 2;align-self:start}
  .rb-aw-row-icon .rb-aw-circle,.rb-aw-row-icon .rb-aw-img{width:40px;height:40px;font-size:16px}
  .rb-aw-row-count{grid-column:2;flex-direction:row;align-items:baseline;gap:6px;text-align:left}
  .rb-aw-row-count b{font-size:14px}
  .rb-aw-hero{padding:14px 12px;gap:12px}
  .rb-aw-hero .rb-aw-circle.is-lg,.rb-aw-hero .rb-aw-img.is-lg{width:48px;height:48px;font-size:19px}
  .rb-aw-hero-name{font-size:16px}
  .rb-labels.rb-aw-labels{display:none}
  .rb-aw-hrow.rb-aw-grid{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px}
  .rb-aw-hrow .rb-aw-member{grid-column:1;grid-row:1}
  .rb-aw-hrow .rb-aw-act{grid-column:2;grid-row:1}
  .rb-aw-hrow .rb-aw-reason,.rb-aw-hrow .rb-aw-by,.rb-aw-hrow .rb-aw-date{grid-column:1 / -1;font-size:13px}
  .rb-aw-hrow .rb-aw-by,.rb-aw-hrow .rb-aw-date{white-space:normal}
  .rb-aw-hrow .rb-aw-by::before,.rb-aw-hrow .rb-aw-date::before{content:attr(data-label) ": ";color:var(--fg-2);font-weight:400}
  .rb-aw-hrow .rb-aw-act:empty{display:none}
  .rb-aw-hrow .rb-aw-reason:empty{display:none}
  .rb-aw-mrow.rb-aw-mgrid{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px}
  .rb-aw-mrow .rb-aw-mmain{grid-column:1 / -1;grid-row:1}
  .rb-aw-mrow .rb-aw-order{grid-column:1;grid-row:2}
  .rb-aw-mrow .rb-aw-mcount{grid-column:2;grid-row:2;justify-self:end;font-size:13px}
  .rb-aw-mrow .rb-aw-mcount::before{content:attr(data-label) ": ";color:var(--fg-2);font-weight:400}
  .rb-aw-mrow .rb-aw-mact{grid-column:1 / -1;grid-row:3;justify-content:stretch}
  .rb-aw-mrow .rb-aw-mact .rb-btn{flex:1 1 0}
  .rb-aw-manage .rb-aw-foot{flex-direction:column;align-items:stretch}
  .rb-aw-manage .rb-aw-inline .rb-btn{width:100%}
  .rb-aw-tools{gap:6px}
  .rb-card-tools .rb-aw-headbtn{height:26px;padding:0 9px;font-size:12px}
  .rb-aw-ptiles{padding:12px}
  .rb-aw-confirm-top{gap:12px}
  .rb-aw-confirm-top .rb-aw-circle.is-lg,.rb-aw-confirm-top .rb-aw-img.is-lg{width:44px;height:44px;font-size:18px}
}
@media (max-width:420px){
  .rb-aw-card > .rb-card-head{flex-wrap:wrap;row-gap:8px}
  .rb-aw-tools{margin-left:0;justify-content:flex-start}
}

/* overview list: no count column (owner 2026-10-15) */
.rb-aw-row-count:empty{display:none}
.rb-aw-row:has(> .rb-aw-row-count:empty){grid-template-columns:auto minmax(0,1fr)}

/* ===== parts/community.css ===== */
/* ===== Roidboard — community pages: search, member list, who's online, stats, team, help, smilies,
   syndication, who-posted / buddy modals, contact, send thread, announcement, preview ===== */

/* ---- page stack & shared bits ---- */
.rb-cm{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-cm > .rb-card + .rb-card{margin-top:0}
.rb-cm > .rb-toolbar:empty,.rb-cm-toolbar:empty,.rb-sr-toolbar:empty{display:none}
.rb-cm > form{margin:0}
.rb-cm-toolbar{align-items:flex-start}
.rb-cm-foot{justify-content:flex-end;padding:10px 16px}
.rb-cm-foot .rb-form-actions{margin-left:auto;padding-top:0}
.rb-cm-gap{margin-top:22px}
.rb-cm-short{width:110px}
.rb-cm-checks{margin-top:10px}
.rb-cm-lbl{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-fields > .rb-cm-lbl{padding-top:9px}
.rb-cm-lbl .rb-label{display:block}
.rb-cm-lbl .rb-help{display:block}
.rb-cm-captcha:empty{display:none}
.rb-cm-captcha table.tborder{border:0;background:transparent;margin:0}
.rb-labels a{color:var(--fg-2)}
.rb-labels a:hover{color:#fff}
.rb-groupimage{max-height:18px;width:auto;vertical-align:middle}
.rb-userstar{width:12px;height:12px;vertical-align:middle;margin-right:1px}

/* sort-direction chip next to the active column label (search results / member list) */
.rb-sortdir{display:inline-flex;align-items:center;gap:4px;margin-left:3px;height:18px;padding:0 6px;border-radius:var(--radius);background:var(--blue);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:lowercase;vertical-align:middle;line-height:1}
.rb-sortdir:hover{background:var(--blue-2);color:#fff}
.rb-sortdir .fa-solid{font-size:9px}

/* ================= SEARCH FORM ================= */
.rb-srch{margin:0}
.rb-srch-card{min-width:0}
/* top block: keyword label, 48px search bar with the primary button attached, scope segments */
.rb-srch-top{padding:18px 22px 20px}
.rb-srch-top .rb-srch-kw-lbl{margin-bottom:8px}
.rb-srch-bar{display:flex;align-items:stretch;min-width:0}
.rb-srch-bar .rb-search{flex:1 1 auto;min-width:0}
.rb-srch-bar .rb-search .fa-solid{left:16px;font-size:15px;color:var(--muted)}
.rb-srch-bar .rb-search input{height:48px;min-height:48px;padding-left:44px;padding-right:14px;font-size:15px;border-radius:3px 0 0 3px;border-right:0}
.rb-srch-bar input[type=submit]{flex:none;height:48px;padding:0 24px;font-size:14px;font-weight:600;border-radius:0 3px 3px 0}
.rb-srch-scope{margin-top:12px}
/* segmented control: visually hidden radios, labels styled as flat segments sharing one border */
.rb-srch-seg{position:relative;display:inline-flex;align-items:stretch;flex:none;max-width:100%;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);overflow:hidden;vertical-align:middle}
.rb-srch-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.rb-srch-seg label{display:block;min-width:0;padding:0 13px;line-height:34px;font-size:13px;font-weight:500;color:var(--fg-2);text-align:center;cursor:pointer;user-select:none;white-space:nowrap;transition:background .12s,color .12s}
.rb-srch-seg label::first-letter{text-transform:uppercase}
.rb-srch-seg label + input + label{border-left:1px solid var(--line-2)}
.rb-srch-seg label:hover{color:#fff}
.rb-srch-seg input:checked + label{background:var(--surface-4);color:#fff}
.rb-srch-seg input:focus-visible + label{box-shadow:inset 0 0 0 1px var(--accent-2)}
/* filters: two columns of compact fields */
.rb-srch-filters{padding:18px 22px 22px;border-top:1px solid var(--line)}
.rb-srch-filters-head{margin:0 0 14px;font-size:13px;font-weight:600;line-height:1.3;color:#fff}
.rb-srch-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;align-items:start}
.rb-srch-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.rb-srch-group{display:contents}
.rb-srch-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-srch-lbl{display:block;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--fg-2)}
.rb-srch-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.rb-srch-row select{flex:1 1 160px;width:auto;min-width:0}
.rb-srch-row .rb-srch-seg{flex:none}
/* Replies: small at least / at most select and a 90px number box, nothing else on the line */
.rb-srch-row.rb-srch-row-replies{flex-wrap:nowrap}
.rb-srch-row select.rb-srch-sel-cmp{flex:none;width:auto;min-width:120px}
.rb-srch-row input.rb-srch-num{flex:none;width:90px;min-width:0}
.rb-srch-help{font-size:12px;line-height:1.4;color:var(--muted)}
.rb-srch-check{font-size:13px;color:var(--fg-2)}
.rb-srch-check:hover{color:#fff}
/* author box after select2 (3.5) takes over: same 36px height as the other fields */
.rb-srch-f .select2-container{display:block;width:100%;min-width:0}
.rb-srch-f .select2-container .select2-choice{height:36px;line-height:34px}
.rb-srch-f .select2-container .select2-choice abbr{top:11px}
.rb-srch-f .select2-container .select2-choice .select2-arrow b::after{line-height:34px}
/* forum listbox (search_forumlist); .rb-forumlist is shared with the syndication page */
.rb-forumlist{width:100%;min-height:380px;font-size:13.5px;line-height:1.6;padding:6px}
.rb-forumlist option{padding:3px 6px;border-radius:2px}
.rb-forumlist option:checked{background:var(--accent) linear-gradient(0deg,var(--accent),var(--accent));color:#fff}
.rb-synd-forums{min-height:260px}
/* search page: "All forums" and categories (depth "") in white 600, child forums indented by the &nbsp; depth
   prefix MyBB passes in {$depth} plus a little padding; no dash prefixes and no separator option */
.rb-srch-f-forums .rb-forumlist{height:220px;min-height:0;padding:4px;font-size:13px;line-height:1.5;overflow:auto;border-radius:3px}
.rb-srch-f-forums .rb-forumlist option{padding:4px 8px;background-color:transparent;color:var(--fg-2)}
.rb-srch-f-forums .rb-forumlist option[value=all],.rb-srch-f-forums .rb-forumlist option[data-depth=""]{color:#fff;font-weight:600}
.rb-srch-f-forums .rb-forumlist option[data-depth]:not([data-depth=""]){padding-left:14px}
.rb-srch-f-forums .rb-forumlist option:checked{background:var(--accent) linear-gradient(0deg,var(--accent),var(--accent));color:#fff}
/* prefix listbox ({$prefixselect}); the field disappears when the board has no prefixes */
.rb-srch-f-prefix:not(:has(select)){display:none}
.rb-srch-card .rb-srch-f-prefix select.rb-prefix-select{width:100%;max-width:none;height:110px;min-height:0;padding:4px;font-size:13px;line-height:1.5;overflow:auto}
.rb-srch-card .rb-srch-f-prefix select option{padding:4px 8px;border-radius:2px;background-color:transparent;color:var(--fg-2)}
.rb-srch-card .rb-srch-f-prefix select option:checked{background:var(--accent) linear-gradient(0deg,var(--accent),var(--accent));color:#fff}
/* footer: hint at the left, second primary button at the right */
.rb-srch-foot{padding:12px 22px}
.rb-srch-hint{font-size:12.5px;color:var(--fg-2)}
.rb-srch-foot input[type=submit]{margin-left:auto;height:36px;padding:0 20px;font-weight:600}
@media (max-width:760px){
  .rb-srch-top{padding:16px 14px}
  .rb-srch-scope{display:flex;width:100%}
  .rb-srch-scope label{flex:1 1 0}
  .rb-srch-scope label{line-height:38px}
  .rb-srch-filters{padding:16px 14px 18px}
  .rb-srch-cols{grid-template-columns:minmax(0,1fr);gap:16px}
  .rb-srch-help{display:none}
  .rb-srch-f-forums .rb-forumlist{height:180px}
  .rb-srch-foot{padding:12px 14px}
  .rb-srch-hint{flex-basis:100%}
  .rb-srch-foot input[type=submit]{width:100%;height:40px;margin-left:0}
}
@media (max-width:420px){
  .rb-srch-bar .rb-search input{padding-left:40px;font-size:14px}
  .rb-srch-bar .rb-search .fa-solid{left:14px;font-size:14px}
  .rb-srch-bar input[type=submit]{padding:0 16px}
}
/* touch devices (iOS Safari, Android Chrome) draw select[multiple] as a dropdown button, not a listbox:
   size the Forums and Prefix boxes like the other fields and give them the same chevron */
@media (hover:none) and (pointer:coarse){
  .rb-srch-f-forums .rb-forumlist,.rb-srch-card .rb-srch-f-prefix select.rb-prefix-select{height:40px;min-height:40px;padding:0 32px 0 12px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b4b8c2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 8px}
  .rb-srch-help{display:none}
}

/* ================= SEARCH RESULTS ================= */
.rb-sr-card{min-width:0}
.rb-sr-labels,.rb-srow{display:grid;gap:0 16px;align-items:center}
.rb-sr-labels.is-threads,.rb-sr-list.is-threads .rb-srow{grid-template-columns:36px minmax(0,1fr) 180px 72px 72px 210px auto}
.rb-sr-labels.is-posts,.rb-sr-list.is-posts .rb-srow{grid-template-columns:36px minmax(0,1fr) 180px 72px 72px auto}
/* regular members get no check column: drop the trailing track so its gap does not push the row inward */
.rb-sr-labels.is-threads:not(:has(.is-check)),.rb-sr-list.is-threads .rb-srow:not(:has(> .rb-sr-check)){grid-template-columns:36px minmax(0,1fr) 180px 72px 72px 210px}
.rb-sr-labels.is-posts:not(:has(.is-check)),.rb-sr-list.is-posts .rb-srow:not(:has(> .rb-sr-check)){grid-template-columns:36px minmax(0,1fr) 180px 72px 72px}
/* column labels */
.rb-sr-labels{padding:7px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-sr-labels .rb-sr-col{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-sr-labels .rb-sr-col.is-main{grid-column:1 / span 2}
.rb-sr-labels .rb-sr-col.is-num,.rb-sr-labels .rb-sr-col.is-check{text-align:center}
.rb-sr-labels .rb-sr-col.is-check input{margin:0;vertical-align:middle}
.rb-sr-labels a{color:var(--fg-2)}
.rb-sr-labels a:hover{color:#fff}
.rb-sr-sep{color:var(--faint);margin:0 6px}
.rb-sr-labels .rb-sortdir{height:auto;padding:0;margin-left:5px;border-radius:0;background:transparent;color:var(--fg-2);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.rb-sr-labels .rb-sortdir:hover{background:transparent;color:#fff}
.rb-sr-labels .rb-sortdir .fa-solid{font-size:9px}
.rb-sr-labels .rb-sr-col.is-num .rb-sortdir span{display:none}
/* rows */
.rb-sr-list{min-width:0}
.rb-srow{min-height:56px;padding:9px 16px;border-top:1px solid var(--line);transition:background .12s}
.rb-sr-list .rb-srow:first-child{border-top:0}
.rb-srow:hover{background:var(--surface-2)}
.rb-srow.is-post{align-items:start;padding:12px 16px}
.rb-srow.is-post .rb-sr-forum,.rb-srow.is-post .rb-sr-num,.rb-srow.is-post .rb-sr-check{padding-top:2px}
/* status: plain glyph, same language as the thread list (beats the thread_status sheet by specificity) */
.rb-sr-status{display:flex;align-items:center;justify-content:center;min-width:0}
.rb-sr-list .rb-srow .thread_status{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:0;border-radius:0;box-shadow:none}
.rb-sr-list .rb-srow .thread_status::after{-webkit-mask:none;mask:none;background:none;width:auto;height:auto;font-family:"Font Awesome 6 Free";font-weight:900;content:"\f15c";color:var(--fg-2);font-size:20px;line-height:1}
.rb-sr-list .rb-srow .thread_status[class*="new"]::after{color:var(--accent-2)}
.rb-sr-list .rb-srow .thread_status[class*="hot"]::after{content:"\f06d";color:var(--red)}
.rb-sr-list .rb-srow .thread_status[class*="close"]::after{content:"\f023";color:var(--muted)}
.rb-sr-list .rb-srow .thread_status[class*="dot_"]::before{display:none}
/* title + meta */
.rb-sr-main{min-width:0}
.rb-sr-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:500;line-height:1.35;color:#fff;overflow-wrap:anywhere}
.rb-sr-title a{color:#fff}
.rb-sr-title a:hover{color:var(--link)}
.rb-sr-title a.subject_new{font-weight:600}
.rb-sr-ticon,.rb-sr-poll,.rb-sr-prefix{display:inline-flex;align-items:center}
/* the post icon slot holds "&nbsp;" when the thread has no icon, so it is never :empty */
.rb-sr-ticon:not(:has(img)),.rb-sr-poll:empty,.rb-sr-prefix:empty{display:none}
.rb-sr-ticon img{width:16px;height:16px;object-fit:contain}
.rb-sr-poll{font-size:12px;font-weight:600;color:var(--fg-2)}
.rb-sr-prefix{white-space:nowrap}
.rb-sr-title .rb-trow-attach{margin-left:0}
.rb-sr-title .rb-thread-pages{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0;margin-left:0;font-size:12.5px;font-weight:400;line-height:1.35;color:var(--muted)}
.rb-sr-title .rb-thread-pages::before{content:"(Pages:"}
.rb-sr-title .rb-thread-pages::after{content:")"}
.rb-sr-title .rb-thread-pages a{display:inline;min-width:0;height:auto;margin:0 0 0 4px;padding:0;border-radius:0;background:transparent;box-shadow:none;font-size:inherit;font-weight:500;color:var(--fg-2)}
.rb-sr-title .rb-thread-pages a:hover{background:transparent;color:#fff}
.rb-sr-title .rb-thread-pages .rb-pager-gap{margin-left:4px;padding:0;color:var(--muted)}
.rb-sr-title .rb-thread-pages .rb-pager-gap + a{margin-left:2px}
.rb-sr-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:2px;font-size:12px;line-height:1.4;color:var(--fg-2);min-width:0}
.rb-sr-meta .smalltext{font-size:inherit;color:inherit}
.rb-sr-meta a{color:var(--fg);font-weight:500}
.rb-sr-meta a:hover{color:#fff}
.rb-sr-lbl{color:var(--muted)}
.rb-sr-byline{gap:4px 12px;margin-top:6px}
.rb-sr-date{display:inline-flex;align-items:center;gap:5px;color:var(--fg-2);white-space:nowrap}
.rb-sr-date i{font-size:11px;color:var(--muted)}
.rb-sr-excerpt{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--fg-2);overflow-wrap:anywhere}
.rb-sr-excerpt em{font-style:normal}
.rb-sr-excerpt .highlight{background:var(--accent-soft);color:#fff;border-radius:2px;padding:0 2px}
/* forum, numbers, last post */
.rb-sr-forum{min-width:0;font-size:12.5px;line-height:1.4}
.rb-sr-forum a{display:block;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-sr-forum a:hover{color:#fff}
.rb-sr-num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums}
.rb-sr-num > a,.rb-sr-num > span:first-child{font-size:14px;font-weight:500;color:#fff}
.rb-sr-num > a:hover{color:var(--link)}
.rb-sr-num-lbl{display:none;font-size:12px;font-weight:400;color:var(--fg-2)}
.rb-sr-last{min-width:0;font-size:12.5px;line-height:1.4}
.rb-sr-last-by{display:block;color:#fff;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-sr-last-by a{color:#fff}
.rb-sr-last-by a:hover{color:var(--link)}
.rb-sr-last-lbl{display:none}
.rb-sr-last-date{display:block;color:var(--fg-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-sr-last-date:hover{color:#fff}
.rb-sr-check{display:flex;align-items:center;justify-content:center;min-width:0}
.rb-sr-check input{margin:0}
/* select-all notices (inline_moderation.js toggles them with show/hide, so no flex here) */
.rb-sr-selectall{padding:9px 16px;background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;color:var(--fg)}
.rb-sr-selectall.hiddenrow{display:none}
.rb-sr-selectall .fa-solid{margin-right:8px;font-size:13px;color:var(--accent-2)}
.rb-sr-selectall a{color:#fff;text-decoration:underline;text-underline-offset:2px}
/* inline moderation form */
.rb-sr-inlinemod{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.rb-sr-inlinemod-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--fg-2)}
.rb-sr-inlinemod-label .fa-solid{color:var(--muted);font-size:12px}
.rb-sr-inlinemod select{width:auto;height:34px;max-width:280px;padding-top:0;padding-bottom:0}
.rb-sr-inlinemod .button{height:34px}
/* toolbars: the bottom one always carries the .rb-right slot, so it is never :empty; hide it when neither
   pagination nor inline moderation rendered anything */
.rb-sr-toolbar{align-items:flex-start}
.rb-sr-toolbar .rb-right{margin-left:auto}
.rb-sr-toolbar:not(:has(> :not(.rb-right))):not(:has(> .rb-right > *)){display:none}
.rb-sr-toolbar > .rb-right:empty{display:none}
/* 901 to 1100px: narrower side columns so the title keeps room */
@media (max-width:1100px){
  .rb-sr-labels,.rb-srow{gap:0 12px}
  .rb-sr-labels.is-threads,.rb-sr-list.is-threads .rb-srow{grid-template-columns:32px minmax(0,1fr) 130px 58px 58px 150px auto}
  .rb-sr-labels.is-posts,.rb-sr-list.is-posts .rb-srow{grid-template-columns:32px minmax(0,1fr) 140px 58px 58px auto}
  .rb-sr-labels.is-threads:not(:has(.is-check)),.rb-sr-list.is-threads .rb-srow:not(:has(> .rb-sr-check)){grid-template-columns:32px minmax(0,1fr) 130px 58px 58px 150px}
  .rb-sr-labels.is-posts:not(:has(.is-check)),.rb-sr-list.is-posts .rb-srow:not(:has(> .rb-sr-check)){grid-template-columns:32px minmax(0,1fr) 140px 58px 58px}
}
/* up to 900px the rows stack (the grid leaves too little room for the title below that) */
@media (max-width:900px){
  .rb-sr-labels{display:none}
  .rb-sr-labels:has(input[name=allbox]){display:flex;justify-content:flex-end;padding:6px 14px}
  .rb-sr-labels:has(input[name=allbox]) > :not(.is-check){display:none}
  /* rows become blocks: status at the left, checkbox at the right, details flow under the title */
  .rb-sr-list .rb-srow,.rb-sr-list.is-threads .rb-srow,.rb-sr-list.is-posts .rb-srow{display:block;position:relative;min-height:0;padding:11px 14px 11px 50px}
  .rb-sr-status{position:absolute;left:14px;top:11px}
  .rb-sr-list .rb-srow .thread_status{width:24px;height:24px}
  .rb-sr-list .rb-srow .thread_status::after{font-size:17px}
  .rb-sr-check{position:absolute;right:14px;top:12px}
  .rb-sr-check:empty{display:none}
  .rb-srow:has(.rb-sr-check:not(:empty)) .rb-sr-main{padding-right:30px}
  .rb-sr-forum,.rb-sr-num{display:inline-flex;vertical-align:middle;margin:6px 14px 0 0;padding-top:0}
  .rb-sr-forum a{display:inline;white-space:normal}
  .rb-sr-num{flex-direction:row;align-items:baseline;gap:4px;text-align:left}
  .rb-sr-num > a,.rb-sr-num > span:first-child{font-size:12.5px}
  .rb-sr-num-lbl{display:inline}
  .rb-sr-last{display:block;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}
  .rb-sr-last-by,.rb-sr-last-date{display:inline;white-space:normal}
  .rb-sr-last-lbl{display:inline;color:var(--fg-2);font-weight:400}
  .rb-sr-last-date{margin-left:8px}
  .rb-srow.is-post .rb-sr-forum,.rb-srow.is-post .rb-sr-num{padding-top:0}
  .rb-sr-toolbar .rb-right{margin-left:0;flex-basis:100%}
  .rb-sr-inlinemod select{max-width:100%;flex:1 1 160px}
}
@media (max-width:420px){
  .rb-sr-title{font-size:13.5px}
}

/* ================= MEMBER LIST ================= */
.rb-ml-card{min-width:0}
.rb-ml-alpha{display:flex;flex-wrap:wrap;gap:4px;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-ml-alpha a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 6px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:12px;font-weight:700}
.rb-ml-alpha a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.rb-ml-labels,.rb-member{display:grid;grid-template-columns:56px minmax(0,1fr) 150px 150px 100px 100px auto;gap:14px;align-items:center}
.rb-ml-labels{padding:9px 16px}
.rb-ml-labels .rb-ml-col{min-width:0;white-space:nowrap}
.rb-ml-labels .rb-ml-col.is-num{text-align:center}
.rb-ml-list{min-width:0}
.rb-member{padding:12px 16px;border-top:1px solid var(--line);border-bottom:0;transition:background .12s;color:var(--fg-2)}
.rb-ml-list .rb-member:first-child{border-top:0}
.rb-member.trow2{background:var(--surface-2)}
.rb-member:hover,.rb-member.trow2:hover{background:var(--surface-3)}
.rb-member-avatar{display:flex;align-items:center;justify-content:center}
.rb-member-main{min-width:0}
.rb-member-name{font-size:15px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-member-name a{color:#fff}
.rb-member-name a:hover{color:var(--accent-2)}
.rb-member-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:3px;min-width:0}
.rb-member-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-member-title:empty{display:none}
.rb-member-cell{min-width:0;font-size:13.5px}
.rb-member-cell.trow1,.rb-member-cell.trow2{padding:0;border:0;background:transparent}
.rb-member-cell b{display:block;font-weight:500;color:#fff;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-member-cell span{display:none}
.rb-member-cell.is-num{text-align:center}
.rb-member-cell.is-num b{font-size:16px}
.rb-ml-empty{grid-column:1 / -1}
.rb-ml-empty p{margin:0 0 4px}
.rb-ml-search .rb-field .rb-checks{margin-top:10px}
.rb-ml-userrow{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px}
@media (max-width:1000px){
  .rb-ml-labels{display:none}
  .rb-member{grid-template-columns:48px minmax(0,1fr);gap:8px 12px;padding:12px 14px}
  .rb-member-avatar{grid-row:1 / span 2;align-self:start}
  .rb-member-main{grid-column:2}
  .rb-member-cell{grid-column:2;display:flex;align-items:baseline;gap:6px;font-size:13px}
  .rb-member-cell b{display:inline;font-size:13.5px;white-space:normal}
  .rb-member-cell span{display:inline;color:var(--muted);font-size:12.5px}
  .rb-member-cell.is-num{text-align:left}
  .rb-member-cell.is-num b{font-size:13.5px}
  .rb-member-cell span::after{content:""}
}
@media (max-width:760px){
  .rb-ml-alpha{padding:8px 12px;gap:3px}
  .rb-ml-alpha a{min-width:26px;height:24px;font-size:11.5px}
  .rb-ml-userrow{grid-template-columns:minmax(0,1fr)}
}

/* ================= WHO'S ONLINE ================= */
.rb-wol-card{min-width:0}
.rb-wol-labels,.rb-online-row{display:grid;grid-template-columns:minmax(0,1.1fr) 170px minmax(0,1.6fr);gap:14px;align-items:center}
.rb-wol-labels.is-today,.rb-online-row.is-today{grid-template-columns:minmax(0,1fr) 220px}
.rb-wol-labels{padding:9px 16px}
.rb-wol-labels .rb-wol-col{min-width:0;white-space:nowrap}
.rb-wol-labels .rb-wol-col.is-time{text-align:center}
.rb-wol-list{min-width:0}
.rb-online-row{padding:11px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--fg-2);transition:background .12s}
.rb-wol-list .rb-online-row:first-child{border-top:0}
.rb-wol-list .rb-online-row:nth-child(even){background:var(--surface-2)}
.rb-online-row:hover{background:var(--surface-3)}
.rb-wol-user{min-width:0;font-weight:500;color:#fff;overflow-wrap:anywhere}
.rb-wol-user a{color:#fff}
.rb-wol-user a:hover{color:var(--accent-2)}
.rb-wol-time{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-wol-time .fa-solid{font-size:11px;color:var(--faint)}
.rb-wol-loc{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;color:var(--fg-2)}
.rb-wol-loc .fa-solid{font-size:12px;color:var(--faint);flex:none}
.rb-wol-loc span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-wol-loc a{color:var(--fg-2)}
.rb-wol-loc a:hover{color:#fff}
.rb-wol-ip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--muted);font-weight:400}
.rb-wol-ip-lbl{text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700}
.rb-wol-lookup{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:11px;font-weight:600}
.rb-wol-lookup:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.rb-wol-lookup .fa-solid{font-size:10px}
.rb-wol-foot{gap:8px;color:var(--fg-2)}
.rb-wol-foot .fa-solid{color:var(--muted)}
.rb-wol-foot strong{color:#fff}
@media (max-width:760px){
  .rb-wol-labels{display:none}
  .rb-online-row,.rb-online-row.is-today{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:11px 14px}
  .rb-wol-user{grid-column:1}
  .rb-wol-time{grid-column:2;grid-row:1;justify-content:flex-end}
  .rb-wol-loc{grid-column:1 / -1}
  .rb-wol-loc span{white-space:normal}
}

/* ================= BOARD STATISTICS ================= */
.rb-bstats-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
.rb-bstats-avg{grid-template-columns:repeat(6,minmax(0,1fr))}
.rb-bstats-lines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;font-size:14px;color:var(--fg-2)}
.rb-bstats-lines li{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:9px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere}
.rb-bstats-lines li .fa-solid{width:18px;text-align:center;color:var(--accent-2);font-size:13px;margin-top:3px;flex:none}
.rb-bstats-lines b,.rb-bstats-lines strong{color:#fff}
.rb-bstats-lines a{color:#fff}
.rb-bstats-lines a:hover{color:var(--accent-2)}
.rb-bstats-ref:has(> span:empty){display:none}
.rb-bstats-popular-title{margin:0 0 -4px}
.rb-bstats-popular .rb-card + .rb-card{margin-top:0}
.rb-bstats-list{display:flex;flex-direction:column;counter-reset:rb-stat}
.rb-bstats-list:empty::after{content:"–";display:block;padding:18px 16px;color:var(--faint)}
.rb-bstats-thread{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line);counter-increment:rb-stat;min-width:0}
.rb-bstats-list .rb-bstats-thread:first-child{border-top:0}
.rb-bstats-thread:hover{background:var(--surface-2)}
.rb-bstats-thread::before{content:counter(rb-stat);flex:none;width:26px;height:26px;border-radius:var(--radius);background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.rb-bstats-thread:nth-child(1)::before{background:var(--blue);color:#fff}
.rb-bstats-thread-link{flex:1 1 auto;min-width:0;color:#fff;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-bstats-thread-link:hover{color:var(--accent-2)}
.rb-bstats-thread-count{flex:none;font-size:12.5px;color:var(--muted);white-space:nowrap}
.rb-bstats-thread-count b{color:#fff;font-weight:600}
@media (max-width:1200px){.rb-bstats-avg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .rb-bstats-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-bstats-avg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-bstats-lines{grid-template-columns:minmax(0,1fr)}
  .rb-bstats-thread-link{white-space:normal}
}
@media (max-width:480px){
  .rb-bstats-totals{grid-template-columns:minmax(0,1fr)}
  .rb-bstats-avg{grid-template-columns:minmax(0,1fr)}
}

/* ================= FORUM TEAM ================= */
.rb-team-card{min-width:0}
.rb-team-labels,.rb-team-row{display:grid;grid-template-columns:minmax(0,1fr) 200px 90px 90px;gap:14px;align-items:center}
.rb-team-labels.is-mods,.rb-team-row.is-mods{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 200px 90px 90px}
.rb-team-labels{padding:9px 16px}
.rb-team-labels .rb-team-col{min-width:0;white-space:nowrap}
.rb-team-labels .rb-team-col.is-act{text-align:center}
.rb-team-list{min-width:0}
.rb-team-row{padding:12px 16px;border-top:1px solid var(--line);transition:background .12s;font-size:14px;color:var(--fg-2)}
.rb-team-list .rb-team-row:first-child{border-top:0}
.rb-team-row:hover{background:var(--surface-2)}
.rb-team-user{display:flex;align-items:center;gap:10px;min-width:0}
.rb-team-user .rb-dot{width:9px;height:9px}
.rb-team-name{font-size:15px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-team-name:hover{color:var(--accent-2)}
.rb-team-scope{display:flex;flex-wrap:wrap;gap:5px;min-width:0;font-size:13px;color:var(--fg-2)}
.rb-team-forum{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:12px;font-weight:500;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.rb-team-forum:hover{background:var(--surface-4);color:#fff}
.rb-team-forum .fa-solid{font-size:10.5px;color:var(--accent-2)}
.rb-team-visit{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rb-team-visit .fa-solid{font-size:11px;color:var(--faint);flex:none}
.rb-team-visit .postbit_buttons{display:contents}
.rb-team-act{display:flex;align-items:center;justify-content:center;min-width:0}
.rb-team-act:empty::after{content:"–";color:var(--faint)}
.rb-team-act a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface-3);color:var(--fg);font-size:13px;font-weight:500;white-space:nowrap}
.rb-team-act a:hover{background:var(--surface-4);border-color:var(--line-2);color:#fff}
@media (max-width:1000px){
  .rb-team-labels{display:none}
  .rb-team-row,.rb-team-row.is-mods{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px;padding:12px 14px}
  .rb-team-user{grid-column:1;grid-row:1}
  .rb-team-act{grid-row:1;justify-content:flex-end}
  .rb-team-act:empty{display:none}
  .rb-team-scope{grid-column:1 / -1}
  .rb-team-visit{grid-column:1 / -1;white-space:normal}
}

/* ================= HELP DOCUMENTS ================= */
.rb-help-section .rb-card-head.thead{padding:6px 12px;min-height:46px;box-shadow:none}
.rb-help-section .rb-card-head .expcolimage{margin-left:auto}
.rb-help-section .rb-card-head.thead_collapsed{border-bottom:0}
.rb-help-section .rb-card-head.thead_collapsed::after{display:none}
.rb-help-body{padding:0}
.rb-help-intro{padding:10px 16px;font-size:13px;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-help-intro:empty{display:none}
.rb-help-item{color:inherit}
.rb-help-item .rb-li-title{white-space:normal}
.rb-help-item .rb-li-sub{line-height:1.45}
.rb-help-item .rb-li-meta .fa-solid{color:var(--faint);font-size:12px}
.rb-help-item:hover .rb-li-meta .fa-solid{color:#fff}
.rb-help-prev em{font-style:normal}
.rb-help-search-row{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap}
.rb-help-search-row .rb-search{flex:1 1 260px;min-width:0}
.rb-help-search-row .rb-checks{gap:6px 16px}
.rb-help-search-row .button{flex:none}
.rb-help-results .rb-labels{padding:9px 16px}
@media (max-width:760px){
  .rb-help-search-row .button{flex:1 1 100%}
}

/* ================= SMILIES ================= */
.rb-smilie-labels,.rb-smilie-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center}
.rb-smilie-labels{padding:9px 16px}
.rb-smilie-labels .rb-smilie-col.is-name{grid-column:1 / span 2}
.rb-smilie-list{min-width:0}
.rb-smilie-row{padding:9px 16px;border-top:1px solid var(--line);border-bottom:0;color:var(--fg-2);transition:background .12s}
.rb-smilie-list .rb-smilie-row:first-child{border-top:0}
.rb-smilie-row.trow2{background:var(--surface-2)}
.rb-smilie-row:hover,.rb-smilie-row.trow2:hover{background:var(--surface-3)}
.rb-smilie-img{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);margin:0 auto}
.rb-smilie-img img{max-width:32px;max-height:32px}
.rb-smilie-name{font-weight:600;color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-smilie-code{display:inline-block;max-width:100%;padding:3px 8px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line-2);color:var(--accent-2);font-family:var(--mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.rb-smilie-hint{margin:0 0 12px;font-size:13px;color:var(--muted)}
.rb-smilie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.rb-smilie-prow{display:contents}
.rb-smilie-tile{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 8px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);min-width:0;transition:background .12s,border-color .12s}
.rb-smilie-tile:hover{background:var(--surface-3);border-color:var(--blue-2)}
.rb-smilie-tile .rb-smilie-img{width:40px;height:40px;background:transparent;border:0}
.rb-smilie-tile .rb-smilie-code{font-size:11.5px;max-width:100%}
.rb-smilie-tile .smilie{cursor:pointer}
.rb-smilie-none{grid-column:1 / -1;padding:24px}
@media (max-width:480px){
  .rb-smilie-labels,.rb-smilie-row{grid-template-columns:52px minmax(0,1fr)}
  .rb-smilie-labels .rb-smilie-col.is-name{grid-column:1 / span 2}
  .rb-smilie-labels .rb-smilie-col.is-code{display:none}
  .rb-smilie-code{grid-column:2}
  .rb-smilie-img{width:40px;height:40px}
}

/* ================= SYNDICATION ================= */
.rb-synd .rb-alert{margin:0}
.rb-synd-versions{gap:8px;padding-top:9px}
.rb-feedurl-code{display:block;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);color:var(--accent-2);font-family:var(--mono);font-size:13px;overflow-wrap:anywhere;user-select:all}
.rb-feedurl-code a{color:var(--accent-2)}

/* ================= WHO POSTED (modal + page) ================= */
.rb-who-labels,.rb-who-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center}
.rb-who-labels{padding:9px 16px}
.rb-who-labels .rb-who-col.is-num{text-align:center}
.rb-who-modal .rb-who-labels{padding:9px 20px}
.rb-who-list{min-width:0}
.rb-who-row{padding:10px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--fg-2)}
.rb-who-modal .rb-who-row{padding:10px 20px}
.rb-who-list .rb-who-row:first-child{border-top:0}
.rb-who-row:hover{background:var(--surface-2)}
.rb-who-user{min-width:0;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-who-user a{color:#fff}
.rb-who-user a:hover{color:var(--accent-2)}
.rb-who-count{display:inline-flex;align-items:center;justify-content:center;justify-self:center;min-width:34px;height:24px;padding:0 9px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);color:#fff;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.rb-who-page .rb-card-tools .rb-chip{cursor:default}

/* ================= BUDDY LIST (modal) ================= */
.rb-buddy-list{min-width:0}
.rb-buddy-label{display:flex;align-items:center;gap:9px;padding:8px 20px}
.rb-buddy{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--line);color:var(--fg-2)}
.rb-buddy.trow1,.rb-buddy.trow2{padding:10px 20px;border-bottom:1px solid var(--line)}
.rb-buddy.trow2{background:var(--surface-2)}
.rb-buddy:hover{background:var(--surface-3)}
.rb-buddy-group:last-child .rb-buddy:last-child{border-bottom:0}
.rb-buddy .rb-avatar{float:none}
.rb-buddy.is-offline .rb-avatar img{filter:grayscale(1);opacity:.7}
.rb-buddy-main{min-width:0;flex:1 1 auto}
.rb-buddy-name{font-size:14.5px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-buddy-name a{color:#fff}
.rb-buddy-name a:hover{color:var(--accent-2)}
.rb-buddy-meta{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin-top:2px;font-size:12.5px;color:var(--muted)}
.rb-buddy-meta strong{color:var(--fg-2);font-weight:500}
.rb-buddy-pm{display:inline-flex;align-items:center;gap:6px;color:var(--accent-2);font-weight:500;white-space:nowrap}
.rb-buddy-pm:hover{color:#fff}
.rb-buddy-pm .fa-solid{font-size:11px}
.rb-buddy-none{padding:18px 20px;font-size:13.5px;color:var(--muted);text-align:center}
.rb-buddy-none em{font-style:normal}

/* ================= CONTACT / SEND THREAD / ANNOUNCEMENT / PREVIEW ================= */
.rb-contact,.rb-sendthread{margin:0}
.rb-contact-card,.rb-sendthread-card{max-width:900px;margin:0 auto}
.rb-sendthread{margin-top:0}
.rb-announce .rb-card-body,.rb-preview .rb-card-body{padding:0}
.rb-announce #posts > .post:last-child,.rb-preview #posts > .post:last-child{margin-bottom:0}
.rb-preview{margin-bottom:var(--gap)}
.rb-announce .rb-card-title,.rb-preview .rb-card-title{min-width:0}
.rb-announce .postbit_edit,.rb-announce .postbit_qdelete{text-transform:none}
.postbit_buttons .rb-btn-sm.rb-btn-danger{color:#ffb3b3}
@media (max-width:760px){
  .rb-fields > .rb-cm-lbl{padding-top:0;margin-top:10px}
  .rb-fields > .rb-cm-lbl:first-child{margin-top:0}
  .rb-cm-foot .rb-form-actions{margin-left:0;width:100%}
  .rb-contact-card,.rb-sendthread-card{max-width:none}
}

/* ===== parts/contactguard.css ===== */
/* ===================================================================
   Roidboard: contact guard (plugin rb_contactguard)
   private.php do_send: "Message waiting for a check" card for New Members,
   modcp.php?action=rb_held: Held messages (tabs, one block per message, approve / reject).
   Flat cards with the blue head bar, hairlines, 3px corners; green only from the --green tokens.
   =================================================================== */

/* ---- sender: message waiting ---- */
.rb-cg-held{max-width:720px;margin:0 auto}
.rb-cg-held-lead{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;font-size:15px;font-weight:600;line-height:1.45;color:#fff}
.rb-cg-held-lead .fa-solid{flex:none;margin-top:3px;font-size:14px;color:var(--amber)}
.rb-cg-held-kv{margin:0 0 14px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.5px}
.rb-cg-held-kv dt{color:var(--fg-2)}
.rb-cg-held-text{margin:0;font-size:14px;line-height:1.55;color:var(--fg-2)}
.rb-cg-held-foot{justify-content:flex-end;padding:12px 16px}

/* ---- Mod CP: Held messages ---- */
.rb-cg-card{min-width:0}
.rb-cg-tabs{padding:0 8px}
.rb-cg-tabcount{margin-left:2px;font-size:12px;font-weight:500;color:var(--fg-2);font-variant-numeric:tabular-nums}
.rb-tab.is-active .rb-cg-tabcount{color:#fff}
.rb-cg-intro{margin:0;padding:11px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-cg-list{min-width:0}
.rb-cg-empty{padding:36px 16px}

.rb-cg-item{padding:14px 16px;border-bottom:1px solid var(--line);min-width:0}
.rb-cg-item:last-child{border-bottom:0}
.rb-cg-item-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin:0 0 4px}
.rb-cg-route{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0;font-size:14px;color:var(--fg-2)}
.rb-cg-route > .fa-solid{flex:none;font-size:11px;color:var(--fg-2)}
.rb-cg-from,.rb-cg-to{min-width:0;overflow-wrap:anywhere}
.rb-cg-from a{font-weight:600}
.rb-cg-to a{color:var(--fg);font-weight:500}
.rb-cg-to a:hover,.rb-cg-from a:hover{color:#fff;text-decoration:underline}
.rb-cg-comma{color:var(--fg-2)}
.rb-cg-bcc-tag{margin-left:2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-2)}
.rb-cg-gone{color:var(--fg-2);font-style:italic}
.rb-cg-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--fg-2);white-space:nowrap}
.rb-cg-facts{margin:0 0 12px;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-cg-facts a{color:var(--link)}
.rb-cg-facts a:hover{color:#fff;text-decoration:underline}
.rb-cg-dot{margin:0 2px;color:var(--faint)}
.rb-cg-subject{margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.4;color:#fff;overflow-wrap:anywhere}
.rb-cg-message{max-height:320px;overflow:auto;margin:0;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);font-size:13.5px;line-height:1.55;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}
.rb-cg-hit{padding:0 2px;border-radius:var(--radius-xs);background:var(--amber-soft);color:#fff;box-shadow:inset 0 -1px 0 var(--amber)}
.rb-cg-found{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none;font-size:12.5px}
.rb-cg-found:empty{display:none}
.rb-cg-found li{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}
.rb-cg-found .rb-badge{flex:none}
.rb-cg-found code{min-width:0;font-family:var(--mono);font-size:12px;color:var(--fg);overflow-wrap:anywhere}

.rb-cg-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.rb-cg-actions .rb-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.rb-cg-actions-note{font-size:12.5px;color:var(--fg-2)}
.rb-cg-actions-note:empty{display:none}
.rb-cg-outcome{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-cg-outcome .fa-solid{flex:none;font-size:12px}
.rb-cg-outcome.is-ok .fa-solid{color:var(--green)}
.rb-cg-outcome.is-no .fa-solid{color:var(--red)}
.rb-cg-outcome a{color:var(--fg)}
.rb-cg-pager{padding:10px 16px;border-top:1px solid var(--line)}
.rb-cg-pager .pagination{margin:0}

/* ---- Mod CP nav: square count next to Held messages ---- */
.rb-subnav-card .rb-subnav-item span.rb-cg-navcount,.rb-cg-navcount{flex:none;margin-left:auto;min-width:20px;height:20px;padding:0 6px;overflow:visible;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---- phone ---- */
@media (max-width:760px){
  .rb-cg-item{padding:12px}
  .rb-cg-meta{white-space:normal}
  .rb-cg-tabs .rb-tab{padding:0 10px}
  .rb-cg-message{max-height:260px;font-size:13px}
  .rb-cg-actions .rb-btn{flex:1 1 0;justify-content:center}
  .rb-cg-actions-note{flex:1 1 100%}
  .rb-cg-held-foot{justify-content:stretch}
  .rb-cg-held-foot .rb-btn{flex:1 1 auto;justify-content:center}
}

/* ===== parts/editor.css ===== */
/* ================= EDITOR EXTRAS (assets/rb-editor.js + inc/plugins/rb_editor.php) =================
   Markup is built by rb-editor.js right above the editor (SCEditor container or the plain #message textarea):
   .rb-ed-bar (.rb-ed-tabs Write / Preview, .rb-ed-status upload chips, .rb-ed-tools image + shortcuts buttons),
   .rb-ed-keys (shortcut list), and after the editor .rb-ed-preview (.rb-prose, the parsed preview). */

.rb-ed-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0 10px;min-width:0;margin:0 0 8px;border-bottom:1px solid var(--line)}

/* Write / Preview tabs: underline tabs like .rb-tab, sized for a form */
.rb-ed-tabs{display:flex;flex:none;min-width:0}
.rb-ed-tab{position:relative;display:inline-flex;align-items:center;gap:7px;height:34px;margin:0;padding:0 12px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:color .12s}
.rb-ed-tab .fa-solid{font-size:11.5px;color:var(--muted)}
.rb-ed-tab:hover{color:#fff}
.rb-ed-tab:hover .fa-solid{color:var(--fg-2)}
.rb-ed-tab.is-active{color:#fff}
.rb-ed-tab.is-active .fa-solid{color:var(--accent-2)}
.rb-ed-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.rb-ed-tab:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}

/* upload / notice chips */
.rb-ed-status{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;flex:1 1 180px;min-width:0;padding:4px 0 5px}
.rb-ed-status:empty{padding:0}
.rb-ed-chip{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;min-height:26px;padding:3px 8px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-3);color:var(--fg-2);font-size:12.5px;line-height:1.35;overflow:hidden}
.rb-ed-chip > .fa-solid{flex:none;font-size:11.5px;color:var(--muted)}
.rb-ed-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-ed-chip-pct{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}
.rb-ed-chip-bar{position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .2s linear}
.rb-ed-chip.is-done > .fa-solid{color:var(--green)}
.rb-ed-chip.is-info{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--fg)}
.rb-ed-chip.is-info > .fa-solid{color:var(--accent-2)}
.rb-ed-chip.is-error{border-color:rgba(240,82,82,.45);background:var(--red-soft);color:#f6c4c4}
.rb-ed-chip.is-error > .fa-solid{color:var(--red)}
/* notices and errors are read in full, so they wrap */
.rb-ed-chip.is-info .rb-ed-chip-text,.rb-ed-chip.is-error .rb-ed-chip-text{white-space:normal;overflow-wrap:anywhere}
.rb-ed-chip-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 -4px 0 0;padding:0;border:0;border-radius:2px;background:transparent;color:var(--muted);cursor:pointer}
.rb-ed-chip-x .fa-solid{font-size:11px}
.rb-ed-chip-x:hover{background:rgba(255,255,255,.08);color:#fff}

/* right side tools */
.rb-ed-tools{display:flex;align-items:center;gap:2px;flex:none;padding:0 0 4px}
.rb-ed-hint{margin-right:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.rb-ed-bar.has-chips .rb-ed-hint{display:none}
.rb-ed-tool{display:inline-flex;align-items:center;gap:6px;height:28px;margin:0;padding:0 9px;border:0;border-radius:var(--radius);background:transparent;box-shadow:none;color:var(--muted);font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}
.rb-ed-tool .fa-solid{font-size:12.5px}
.rb-ed-tool:hover,.rb-ed-tool[aria-expanded="true"]{background:var(--surface-3);color:#fff}
.rb-ed-tool:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-ed-bar.is-preview .rb-ed-tool.is-image,.rb-ed-bar.is-preview .rb-ed-hint{display:none}

/* shortcut list */
.rb-ed-keys{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);font-size:12.5px;color:var(--fg-2)}
.rb-ed-keys[hidden]{display:none}
.rb-ed-key{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;color:var(--faint)}
.rb-ed-key .rb-kbd{padding:1px 6px;font-size:11px;line-height:1.5;color:var(--fg-2)}
.rb-ed-key-label{margin-left:5px;color:var(--fg-2)}

/* the editor while Preview is open, and while files are dragged over it */
.rb-ed-off{display:none!important}
.sceditor-container.rb-ed-drop,textarea.rb-ed-drop{outline:2px dashed var(--accent-2);outline-offset:-2px}

/* preview panel */
.rb-ed-preview{min-height:160px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:auto;overflow-wrap:anywhere}
.rb-ed-preview[hidden]{display:none}
.rb-ed-preview:focus{outline:none}
.rb-ed-preview:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-ed-preview > :first-child{margin-top:0}
.rb-ed-preview > :last-child{margin-bottom:0}
.rb-ed-preview img.smilie{display:inline;width:auto;max-height:22px;vertical-align:middle;border-radius:0}
.rb-ed-preview iframe{max-width:100%}
.rb-ed-note{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;color:var(--muted)}
.rb-ed-note .fa-solid{flex:none;font-size:12.5px}
.rb-ed-note.is-error{color:#f08080}

/* the plain quick reply / PM quick reply textarea sits right under the bar */
.rb-qr-body .rb-ed-bar,.rb-pm-qr-editor .rb-ed-bar{margin-top:-4px}

/* SCEditor toolbar on touch screens and phones: 36x36 buttons. The theme file (jscripts/sceditor/themes/roidboard.css)
   loads after global.css and sizes .sceditor-button at 26x28, so these selectors carry the container class to win. */
@media (max-width:1000px),(pointer:coarse){
  .rb-ed-tab{height:36px}
  .rb-ed-tool{height:36px}
  .sceditor-container .sceditor-toolbar .sceditor-button{width:16px;height:16px;padding:10px;margin:0 1px 2px}
  .sceditor-container .sceditor-toolbar .sceditor-button svg,.sceditor-container .sceditor-toolbar .sceditor-button div{margin:0}
}
@media (max-width:760px){
  /* new thread and edit post on phones: fewer buttons (font, size, the four alignments, email, remove formatting, and
     PHP, which shares the <> glyph with source) and no group breaks, so 16 buttons fill two rows of 8 at 375px
     instead of three. New reply (87-m-thread.css) and the User CP (89-m-account.css) trim their own toolbars. */
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .sceditor-container .sceditor-toolbar :is(.sceditor-button-font,.sceditor-button-size,.sceditor-button-left,.sceditor-button-center,.sceditor-button-right,.sceditor-button-justify,.sceditor-button-email,.sceditor-button-removeformat,.sceditor-button-php){display:none}
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .sceditor-container .sceditor-toolbar .sceditor-group{display:contents}
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .sceditor-container .sceditor-toolbar .sceditor-button{margin:0}
  /* iOS zooms in on fields under 16px (source mode textarea; the WYSIWYG body is set by rb-editor.js) */
  div.sceditor-container textarea{font-size:16px}
}
@media (max-width:760px){
  .rb-ed-bar{gap:0 6px}
  .rb-ed-tab{height:36px;padding:0 11px}
  .rb-ed-status{order:3;flex:1 1 100%;justify-content:flex-start}
  .rb-ed-status:not(:empty){padding:6px 0}
  .rb-ed-tools{margin-left:auto}
  .rb-ed-hint,.rb-ed-tool.is-keys,.rb-ed-keys{display:none!important}
  .rb-ed-preview{padding:10px 12px}
}
@media (hover:none){
  .rb-ed-hint,.rb-ed-tool.is-keys{display:none}
}

/* ===== parts/forumdisplay.css ===== */
/* ================= FORUMDISPLAY (thread list of one forum) ================= */
.rb-forumdisplay .rb-card + .rb-card{margin-top:0}
.rb-forumdisplay .rb-cat{margin-bottom:0}
.rb-forumdisplay > .rb-alert{margin:0}

/* small meta lines (moderated by / users browsing) */
.rb-forum-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:var(--muted);padding:0 2px}
.rb-forum-meta:empty{display:none}
.rb-forum-meta.is-foot{padding-top:2px}
.rb-forum-metaitem{display:inline-flex;align-items:flex-start;gap:8px;min-width:0;line-height:1.5}
.rb-forum-metaitem .fa-solid{font-size:12px;margin-top:4px;color:var(--faint);flex:none}
.rb-forum-metaitem .smalltext{font-size:13px;color:var(--muted)}
.rb-forum-metaitem strong{color:var(--fg-2);font-weight:500}
.rb-forum-metaitem a{color:var(--fg-2)}
.rb-forum-metaitem a:hover{color:#fff}

/* rules */
.rb-forum-rules-body{font-size:14px;color:var(--fg-2)}
.rb-forum-rules-body .smalltext{font-size:inherit;color:inherit}
.rb-forum-rules-link .rb-alert-body a{color:#fff;text-decoration:none}
.rb-forum-rules-link .rb-alert-body a:hover{text-decoration:underline}

/* sub-forums card reuses .rb-cat / .rb-forum components */
.rb-subforums-card .rb-card-head{min-height:46px}

/* ---- thread list card ---- */
.rb-threads .rb-card-head{position:relative}
.rb-threads .rb-card-tools{gap:6px}
.rb-threads .rb-card-tools .rb-chip{height:30px;padding:0 10px;font-size:13px}
.rb-threads .rb-card-tools .new_thread_button{height:32px;padding:0 14px;margin-left:6px;font-weight:700;font-size:13.5px}
.rb-threads-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-threads-bar:empty{display:none}
.rb-threads-bar .pagination .pages{display:none}

/* column widths shared by the label strip and every row (flex, fixed bases) */
.rb-th-status{flex:0 0 40px;display:flex;align-items:center;justify-content:center}
.rb-th-main{flex:1 1 auto;min-width:0}
.rb-th-stats{display:contents}
.rb-th-num{flex:0 0 88px;text-align:center;min-width:0}
.rb-th-rating{flex:0 0 96px;text-align:center;min-width:0}
.rb-th-last{flex:0 0 232px;min-width:0;font-size:13px;line-height:1.4}
.rb-th-mod{flex:0 0 30px;display:flex;align-items:center;justify-content:center}
.rb-th-mod input[type=checkbox]{margin:0;width:16px;height:16px}

/* label strip */
.rb-threads-labels .rb-th-main{display:flex;align-items:center;gap:8px;min-width:0}
.rb-threads-labels a{color:var(--muted)}
.rb-threads-labels a:hover{color:#fff}
.rb-threads-labels .rb-labels-sep{color:var(--faint);font-weight:400}
.rb-threads-labels .rb-sort{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.rb-threads-labels .rb-sort:has(.rb-sort-arrow) > a{color:#fff}
.rb-threads-labels .rb-th-rating script{display:none}
.rb-sort-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:10px;line-height:1;flex:none}
.rb-sort-arrow:hover{background:var(--accent-2);color:#fff}
.rb-sort-arrow .fa-solid{font-size:10px}
.rb-sort-arrow.is-asc .rb-sort-ic-asc{display:none}
.rb-sort-arrow.is-desc .rb-sort-ic-desc{display:none}

/* select-all info strips (shown by inline_moderation.js) */
.rb-threads-selectall{padding:9px 16px;text-align:center;font-size:13px;color:var(--fg);background:var(--accent-soft);border-bottom:1px solid var(--line)}
.rb-threads-selectall.hiddenrow{display:none}
.rb-threads-selectall a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.rb-threads-selectall strong{color:#fff}

/* separators (announcements / important / normal) */
.rb-trow-sep{display:flex;align-items:center;gap:8px;padding:7px 16px;background:var(--surface);border-bottom:1px solid var(--line);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-trow-sep .fa-solid{font-size:11px;color:var(--faint)}
.rb-trow-sep.is-sticky .fa-solid{color:var(--accent-2);transform:rotate(40deg)}
.rb-trow-sep.is-announce .fa-solid{color:var(--amber)}

/* thread row */
.rb-trow{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line);min-width:0;transition:background .12s}
.rb-trow:hover{background:var(--surface-2)}
.rb-trow.forumdisplay_sticky{box-shadow:inset 3px 0 0 var(--accent-2)}
.rb-trow.is-announcement{box-shadow:inset 3px 0 0 var(--amber)}
.rb-trow.is-deleted{opacity:.6}
.rb-trow.trow_selected{box-shadow:inset 3px 0 0 var(--accent-2)}
.rb-trow-title{display:block;font-size:15px;font-weight:700;line-height:1.4;min-width:0}
.rb-trow-title > *{vertical-align:middle}
.rb-trow.forumdisplay_sticky .rb-trow-title::before{content:"\f08d";display:inline-block;margin-right:7px;vertical-align:middle;font-family:"Font Awesome 6 Free";font-weight:900;font-size:11px;color:var(--accent-2);transform:rotate(40deg);-webkit-font-smoothing:antialiased;line-height:1}
.rb-trow-subject{min-width:0;overflow-wrap:anywhere}
.rb-trow-subject a{color:#fff}
.rb-trow-subject a:hover{color:var(--accent-2)}
.rb-trow-subject.subject_old a,.rb-trow-subject a.subject_old{color:var(--fg-2)}
.rb-trow-subject.subject_old a:hover,.rb-trow-subject a.subject_old:hover{color:var(--accent-2)}
.rb-trow-subject input{width:100%;min-width:220px;height:30px;padding:0 8px;font-size:14px;font-weight:400}
.rb-trow-ticon,.rb-trow-poll,.rb-trow-prefix{display:inline-flex;align-items:center;margin-right:6px}
.rb-trow-title .rb-badge{margin-right:6px}
.rb-trow-ticon:empty,.rb-trow-poll:empty,.rb-trow-prefix:empty{display:none}
.rb-trow-ticon img{width:16px;height:16px;object-fit:contain}
/* .rb-trow-poll is a plain .rb-badge.is-green.is-sm (colours come from the badge component) */
/* .rb-trow-prefix is a neutral wrapper: the ACP prefix displaystyle renders as designed (it ends with &nbsp;) */
.rb-trow-prefix{margin-right:2px;white-space:nowrap}
.rb-trow-unread{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:6px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:9px}
.rb-trow-unread:hover{background:var(--accent-2);color:#fff}
.rb-trow-attach{display:inline-flex;align-items:center;margin-left:6px;color:var(--muted);font-size:12px}
.rb-trow-title .rb-thread-pages{margin-left:6px}
.rb-trow-deleted{display:inline-flex;align-items:center;gap:7px;font-style:normal;font-weight:500;color:var(--muted)}
.rb-trow-deleted .fa-solid{font-size:12px}
.rb-trow-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;font-size:12.5px;color:var(--muted);margin-top:3px;min-width:0}
.rb-trow-meta .smalltext{font-size:inherit;color:inherit}
.rb-trow-meta .author a{color:var(--fg-2);font-weight:500}
.rb-trow-meta .author a:hover{color:#fff}
.rb-trow-meta > span + span::before{content:"\2022";margin:0 8px;color:var(--faint)}

/* numbers */
.rb-th-num .rb-num{display:inline-block;font-size:15px;font-weight:600;color:#fff;line-height:1.2;font-variant-numeric:tabular-nums}
.rb-th-num a.rb-num:hover{color:var(--accent-2)}
.rb-th-num .rb-num-label{display:none;font-size:12px;color:var(--muted)}
.rb-th-num .rb-unapproved{display:inline-block;margin-left:4px;font-size:11.5px;color:var(--amber);vertical-align:1px}
.is-dash{color:var(--faint)}
.rb-th-rating .star_rating{display:inline-block}

/* last post */
.rb-th-last .lastpost{display:block;font-size:13px;color:var(--fg-2);min-width:0}
.rb-last-date{display:flex;align-items:center;gap:6px;color:var(--fg-2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-last-date .fa-solid{font-size:11px;color:var(--muted);flex:none}
a.rb-last-date:hover{color:var(--accent-2)}
.rb-last-by{display:block;margin-top:1px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
.rb-last-by a{color:var(--fg-2);font-weight:500}
.rb-last-by a:hover{color:#fff}

/* empty states inside the card */
.rb-threads-empty{padding:44px 20px;border-bottom:1px solid var(--line)}
.rb-threads-empty span{max-width:520px}

/* sort form = card foot */
.rb-threads .rb-card-foot{border-top:0}
.rb-threads-sort{justify-content:flex-end;padding:10px 16px}
.rb-sortform{gap:8px;justify-content:flex-end}
.rb-sortform-ic{display:inline-flex;align-items:center;color:var(--muted);font-size:13px;margin-right:2px}
.rb-sortform select{max-width:220px}

/* toolbar under the card (pagination + post thread); hidden when it has neither */
.rb-threads-toolbar{min-height:0}
.rb-threads-toolbar .rb-right{display:flex;justify-content:flex-end}
.rb-threads-toolbar:not(:has(.rb-pager, .new_thread_button)){display:none}

/* foot: legend left, mod / search / jump right */
.rb-threads-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:start}
.rb-threads-legend .rb-legend{grid-template-columns:repeat(3,auto 1fr);margin:0;font-size:12.5px}
.rb-threads-legend .thread_legend dd{margin:0 8px 0 0}
.rb-threads-tools{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}
.rb-threads-tools .rb-inline-form{justify-content:flex-end}
.rb-threads-tools .rb-label{font-size:13px;color:var(--muted);font-weight:500;white-space:nowrap}
.rb-threads-tools .rb-label .fa-solid{font-size:12px;color:var(--faint)}
.rb-threads-inlinemod select{max-width:260px}
.rb-threads-inlinemod input[type=submit],.rb-threads-inlinemod input[type=button]{height:34px;padding:0 12px}
.rb-searchforum .rb-input-group{display:flex}
.rb-searchforum .textbox{width:220px;height:34px;min-height:0}
.rb-searchforum .rb-input-group .button{height:34px}

/* password page */
.rb-password-form{display:block}
.rb-password-card{width:100%;max-width:560px;margin:0 auto}
.rb-password-note{color:var(--muted);font-size:14px;margin-bottom:14px}
.rb-password-card .rb-alert{margin-bottom:14px}

/* ================= responsive ================= */
@media (max-width:1000px){
  .rb-th-num{flex-basis:70px}
  .rb-th-rating{flex-basis:88px}
  .rb-th-last{flex-basis:176px}
  .rb-threads-foot{grid-template-columns:minmax(0,1fr)}
  .rb-threads-tools{align-items:stretch}
  .rb-threads-tools .rb-inline-form{justify-content:flex-start}
  .rb-threads-legend .rb-legend{grid-template-columns:repeat(2,auto 1fr)}
}
@media (max-width:760px){
  .rb-threads .rb-card-tools .rb-chip span{display:none}
  .rb-threads .rb-card-tools .rb-chip{width:30px;padding:0;justify-content:center}
  .rb-threads .rb-card-tools .new_thread_button{height:30px;padding:0 12px}
  /* label strip: keep only the moderators' "check all on page" box (.rb-th-mod), hide the strip for everyone else */
  .rb-threads .rb-threads-labels{display:flex;justify-content:flex-end;padding:6px 12px}
  .rb-threads-labels > :not(.rb-th-mod){display:none}
  .rb-threads .rb-threads-labels:not(:has(.rb-th-mod)){display:none}
  .rb-threads-labels .rb-th-mod{flex:none;padding:0}
  .rb-threads-bar{padding:8px 12px}
  .rb-trow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"status main mod" "status stats stats" "status rating rating" "status last last";gap:0 12px;align-items:start;padding:11px 12px}
  .rb-trow .thread_status{width:36px;height:36px}
  .rb-trow .thread_status::after{width:18px;height:18px}
  .rb-th-status{grid-area:status;align-self:start}
  .rb-th-main{grid-area:main}
  .rb-th-mod{grid-area:mod;padding:2px 0 0 6px}
  .rb-th-stats{grid-area:stats;display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:5px}
  .rb-th-num{display:inline-flex;align-items:baseline;gap:4px;text-align:left;flex:none}
  .rb-th-num .rb-num{font-size:13px}
  .rb-th-num .rb-num-label{display:inline}
  .rb-th-num.is-dash{display:none}
  .rb-th-rating{grid-area:rating;text-align:left;margin-top:5px}
  .rb-th-rating.is-dash{display:none}
  .rb-th-last{grid-area:last;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line-2)}
  .rb-th-last.is-dash{display:none}
  .rb-th-last .lastpost{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}
  .rb-last-by{margin-top:0}
  .rb-trow-title{font-size:14.5px}
  .rb-trow-meta{font-size:12px}
  .rb-trow.forumdisplay_sticky .rb-trow-title::before{font-size:10px}
  .rb-threads-toolbar .rb-right .rb-btn{width:100%}
  .rb-threads-sort{padding:10px 12px}
  .rb-sortform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .rb-sortform-ic{display:none}
  .rb-sortform select{width:100%;max-width:none;height:36px}
  .rb-sortform .button{grid-column:1 / -1;height:36px}
  .rb-threads-tools .rb-inline-form{width:100%}
  .rb-threads-inlinemod select{flex:1 1 160px;max-width:none}
  .rb-searchforum .rb-input-group{flex:1 1 200px}
  .rb-searchforum .textbox{width:100%;flex:1 1 auto}
  .rb-forum-meta{gap:4px 16px}
}
@media (max-width:480px){
  .rb-threads-legend .rb-legend{grid-template-columns:auto 1fr}
  .rb-sortform{grid-template-columns:minmax(0,1fr)}
  .rb-trow{grid-template-columns:32px minmax(0,1fr) auto;gap:0 10px}
  .rb-trow .thread_status{width:32px;height:32px}
  .rb-trow .thread_status::after{width:16px;height:16px}
  .rb-threads .rb-card-tools{width:100%;justify-content:flex-start}
  .rb-threads .rb-card-tools .new_thread_button{margin-left:auto}
}

/* ===== parts/hero.css ===== */
/* ================= HERO: full banner on the board index, a compact band on every other page =================
   The full banner (70-pro.css "hero v2": 230px on desktop, 170px on phones, 52px wordmark) stays on index.php only.
   Page indicator without a body class or JS: index.html is the only template that renders .rb-index inside the shell
   (#container.rb-shell from header.html), so .rb-shell:not(:has(.rb-index)) is every other page. Inner pages never
   contain .rb-index, so they render compact from the first paint; on the index the element follows the hero a few
   lines later in the same response. Browsers without :has() drop these rules and keep the full banner everywhere.
   70-pro.css loads after the parts: every selector here has at least four classes, which beats its hero rules. */
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-hero-in{min-height:150px;padding:16px 0}
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-wordmark{gap:12px}
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-wm-l{font-size:36px}
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-wm-orb .rb-orb{width:42px;height:42px}
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-logo .rb-tagline{gap:12px;margin-top:8px;font-size:11px;letter-spacing:.3em}
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-logo .rb-tagline::before,
.rb-shell:not(:has(.rb-index)) .rb-hero .rb-logo .rb-tagline::after{width:32px}

/* phones: a slim band, logo only (about 80px instead of 170px) */
@media (max-width:760px){
  .rb-shell:not(:has(.rb-index)) .rb-hero .rb-hero-in{min-height:80px;padding:12px 0}
  .rb-shell:not(:has(.rb-index)) .rb-hero .rb-wordmark{gap:10px}
  .rb-shell:not(:has(.rb-index)) .rb-hero .rb-wm-l{font-size:24px}
  .rb-shell:not(:has(.rb-index)) .rb-hero .rb-wm-orb .rb-orb{width:28px;height:28px}
  .rb-shell:not(:has(.rb-index)) .rb-hero .rb-logo .rb-tagline{display:none}
}

/* ===== parts/hover.css ===== */
/* ================= HOVER CARDS + ONLINE DOTS (assets/rb-hover.js, inc/plugins/rb_hover.php) =================
   One #rb-hc card is appended to <body> with position:fixed next to its link; the script keeps it inside the screen
   (8px from every edge, max width = screen minus 16px, so nothing scrolls sideways at 375px).
   Parts load before 70-pro.css, so every selector starts with "body" to keep its weight against the generic rules. */
body .rb-hc{position:fixed;left:0;top:0;z-index:90;box-sizing:border-box;width:300px;max-width:calc(100vw - 16px);margin:0;padding:0;background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 14px 32px rgba(0,0,0,.55);color:var(--fg);font-family:var(--font);font-size:13px;line-height:1.4;text-align:left;overflow:hidden;-webkit-tap-highlight-color:transparent}
body .rb-hc[hidden]{display:none}
body .rb-hc *{box-sizing:border-box}

/* head bar in the card head blue: status on the left, joined on the right */
body .rb-hc-bar{display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 12px;background:linear-gradient(90deg,#24407a 0%,#1d3566 100%);border-bottom:1px solid #2d4c8e;color:#fff;font-size:12px;font-weight:500;white-space:nowrap}
body .rb-hc-status{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden}
body .rb-hc-status > span:last-child{overflow:hidden;text-overflow:ellipsis}
body .rb-hc-sdot{flex:none;width:8px;height:8px;border-radius:50%;background:#8b93a5}
body .rb-hc-status.is-online .rb-hc-sdot{background:var(--green)}
body .rb-hc-status.is-away .rb-hc-sdot{background:var(--amber)}
body .rb-hc-joined{flex:none;margin-left:auto;color:rgba(255,255,255,.72);font-size:11.5px;font-weight:400}

/* avatar, name, user title */
body .rb-hc-main{display:flex;align-items:center;gap:12px;padding:14px 14px 12px}
body .rb-hc-av{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:19px;font-weight:600;line-height:1;text-decoration:none}
body .rb-hc-av:hover{text-decoration:none}
body .rb-hc-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--surface-3)}
body .rb-hc-id{flex:1 1 auto;min-width:0}
body .rb-hc-name{display:block;overflow:hidden;font-size:15px;font-weight:600;line-height:1.3;color:var(--fg);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
body .rb-hc-name:hover{text-decoration:none}
body .rb-hc-title{margin-top:3px;overflow:hidden;font-size:12.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}

/* group banners: the 207x47 userbars, two side by side */
body .rb-hc-banners{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}
body .rb-hc-banner{display:block;width:auto;height:30px;max-width:calc(50% - 3px);object-fit:contain;border-radius:2px}

/* counters: posts, threads, reputation, likes */
body .rb-hc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body .rb-hc-stats.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body .rb-hc-stats.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body .rb-hc-stat{display:flex;flex-direction:column-reverse;align-items:center;gap:1px;min-width:0;padding:9px 4px;text-align:center}
body .rb-hc-stat + .rb-hc-stat{border-left:1px solid var(--line)}
body .rb-hc-stat dt{max-width:100%;margin:0;overflow:hidden;font-size:11px;font-weight:500;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
body .rb-hc-stat dd{max-width:100%;margin:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.3;color:var(--fg);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
body .rb-hc-num.is-pos{color:var(--green)}
body .rb-hc-num.is-neg{color:var(--red)}

/* top awards (badges from rb_awards) */
body .rb-hc-awards{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px 0}
body .rb-hc-award{display:inline-flex;flex:none;width:28px;height:28px}
body .rb-hc-award img,body .rb-hc-award .rb-aw-circle{width:28px;height:28px;max-width:none}
body .rb-hc-award-more{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border:1px solid var(--line-2);border-radius:3px;color:var(--muted);font-size:11.5px;font-weight:600}

/* Profile / Message */
body .rb-hc-actions{display:flex;gap:8px;padding:12px 14px 14px}
body .rb-hc-actions .rb-hc-btn{flex:1 1 0;justify-content:center;gap:7px;min-width:0;width:auto}

/* loading and short messages */
body .rb-hc-msg{display:flex;align-items:center;gap:9px;padding:14px;color:var(--muted);font-size:12.5px}
body .rb-hc-spin{flex:none;width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--accent-2);border-radius:50%;animation:rb-hc-spin .7s linear infinite}
@keyframes rb-hc-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){body .rb-hc-spin{animation:none}}

/* a long press on a profile link opens the card, so iOS should not show its link callout there (rb-hover.js also sets
   it inline on touchstart for links without data-rb-uid, such as new shouts and /Username links) */
a[data-rb-uid],a.rb-mention[data-uid]{-webkit-touch-callout:none}

/* ---- online dot on avatars (span.rb-odot added by rb-hover.js) ----
   A small dot centred on the edge of the avatar (on the circle at 45 degrees for round ones, on the corner for square
   ones). rb-hover.js lifts overflow:hidden on the host and paints the ring in the colour behind the avatar
   (--rb-odot-ring), so the ring reads as a cutout. Size scales with the avatar: 8px on the 28px shoutbox avatar,
   up to 16px on large ones. */
.rb-odot-host{position:relative}
body .rb-odot{position:absolute;right:0;bottom:0;z-index:2;box-sizing:content-box;width:clamp(8px,26%,16px);height:clamp(8px,26%,16px);margin:0;padding:0;background:var(--green);border:0;border-radius:50%;box-shadow:0 0 0 2px var(--rb-odot-ring,var(--surface));transform:translate(25%,25%);pointer-events:none}
body .rb-odot.is-round{right:14.6%;bottom:14.6%;transform:translate(50%,50%)}
/* switched off at the owner's request: no online dots on avatars anywhere (the dot after names stays) */
body .rb-odot{display:none!important}

/* ===== parts/latest.css ===== */
/* ===== Latest Activity (index sidebar, rb_widgets): one row per thread ===== */
/* the time stays in one piece when the line wraps on narrow screens */
.rb-latest .rb-li-when{white-space:nowrap}

/* ===== parts/livesearch.css ===== */
/* ================= LIVE SEARCH (assets/rb-search.js, inc/plugins/rb_hover.php) =================
   The list hangs under the topbar search form (.rb-qsearch is position:relative), right aligned with it; the script
   switches it to left aligned (.is-left) when that would leave the screen. Max width = screen minus 24px.
   Selectors start with "body" because parts load before 70-pro.css. */
body .rb-ls{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:85;box-sizing:border-box;width:400px;max-width:calc(100vw - 24px);max-height:min(460px,calc(100vh - 90px));margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 12px 28px rgba(0,0,0,.5);color:var(--fg);font-family:var(--font);font-size:13px;line-height:1.4;text-align:left;white-space:normal}
body .rb-ls[hidden]{display:none}
body .rb-ls.is-left{left:0;right:auto}
body .rb-ls *{box-sizing:border-box}
body .rb-ls-group + .rb-ls-group{margin-top:4px;border-top:1px solid var(--line)}
body .rb-ls-head{padding:8px 12px 4px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
body .rb-ls-item{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 12px;color:var(--fg);text-decoration:none;cursor:pointer}
body .rb-ls-item:hover,body .rb-ls-item.is-active{background:var(--surface-3);color:var(--fg);text-decoration:none}
body .rb-ls-item.is-active{box-shadow:inset 2px 0 0 var(--accent)}
body .rb-ls-ic{flex:none;width:16px;font-size:12px;text-align:center;color:var(--muted)}
body .rb-ls-item.is-active .rb-ls-ic{color:var(--accent-2)}
/* the list sits inside form.rb-qsearch, whose own search icon is absolutely placed by ".rb-qsearch .fa-solid"
   (20-layout) and ".rb-topbar-right .rb-qsearch .fa-solid" (70-pro, 0,3,0): put the list icons back in the row */
body .rb-qsearch .rb-ls .fa-solid.rb-ls-ic{position:static;left:auto;top:auto;transform:none;flex:none;width:16px;font-size:12px;text-align:center;color:var(--muted);opacity:1;pointer-events:none}
body .rb-qsearch .rb-ls .rb-ls-item.is-active .rb-ls-ic{color:var(--accent-2)}
body .rb-ls-main{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}
body .rb-ls-title{display:block;overflow:hidden;font-weight:500;color:var(--fg);text-overflow:ellipsis;white-space:nowrap}
body .rb-ls-sub{display:block;overflow:hidden;font-size:11.5px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
body .rb-ls-hit{padding:0;background:transparent;color:var(--accent-2);font-weight:600}
body .rb-ls-prefix{display:inline-block;margin-right:6px;padding:0 5px;border:1px solid var(--line-2);border-radius:2px;font-size:10.5px;font-weight:600;line-height:16px;color:var(--fg-2);vertical-align:1px}
body .rb-ls-av{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;overflow:hidden;background:var(--surface-3);border-radius:50%;color:var(--fg-2);font-size:12px;font-weight:600;line-height:1}
body .rb-ls-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--surface-3)}
body .rb-ls-item.is-all{margin-top:4px;padding:9px 12px;border-top:1px solid var(--line);color:var(--fg-2)}
body .rb-ls-item.is-all .rb-ls-main{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .rb-ls-item.is-all b{font-weight:600;color:var(--fg)}
body .rb-ls-empty{padding:10px 12px;font-size:12.5px;color:var(--muted)}
/* only the form's own icon fades while a request runs, not the one on the "Search all posts" row */
body .rb-qsearch.is-busy > fieldset .fa-magnifying-glass{opacity:.45}

/* ===== parts/market.css ===== */
/* ================= MARKETPLACE (rb_market plugin) =================
   Bump button appended to {$newreply} in the thread toolbar (.rb-topic-actions, top and bottom).
   Active: <form class="rb-bump-form"> (POST, hidden fields) around <button class="button rb-bump-btn">, white arrow up icon.
   The form is display:contents, so the button is a flex item of the toolbar like New Thread and New Reply.
   Look = New Thread: background, border and hover come from the global .button rules (surface-3, line-2, hover surface-4),
   only the white label is set here, like .new_thread_button in showthread.css.
   Cooldown: <span class="button rb-bump-btn is-cooldown" aria-disabled="true">Bump in 5h 12m</span>, outline only, not clickable.
   70-pro.css loads after this part, so every rule uses at least three classes to beat its .button rules. */
.rb-topic-actions .rb-bump-form{display:contents}
.rb-topic-actions .button.rb-bump-btn{margin:0;color:#fff}
.rb-topic-actions .button.rb-bump-btn.is-cooldown,
.rb-topic-actions .button.rb-bump-btn.is-cooldown:hover{background:transparent;border-color:var(--line-2);color:var(--fg-2);font-weight:500;cursor:not-allowed;font-variant-numeric:tabular-nums}
.rb-topic-actions .button.rb-bump-btn.is-cooldown .fa-solid{color:var(--fg-2);opacity:.7}
@media (max-width:760px){
  .rb-topic-actions .button.rb-bump-btn{padding:0 14px}
}

/* ===== parts/member.css ===== */
/* ================= MEMBER PAGES (login, register, profile, lost password, referrals, agreement) ================= */

/* ---- centred pages: login / lostpw / activate / reset (440), agreement / coppa (640), register (720) ---- */
.rb-member-page{width:100%;max-width:440px;margin:0 auto}
.rb-member-page.is-wide{max-width:640px}
.rb-member-page.is-register{max-width:720px}
.rb-member-page > .rb-alert,.rb-member-page > .error,.rb-member-page > .red_alert{margin:0 0 var(--gap)}
.rb-member-card{box-shadow:none}
.rb-member-card .rb-card-head .rb-card-sub{margin-left:auto;white-space:nowrap}
.rb-member-card .rb-card-body{padding:20px 22px}
.rb-member-card .rb-field{margin-bottom:16px}
.rb-member-card .rb-field:last-child{margin-bottom:0}
.rb-member-card .rb-field > .rb-help{margin-top:-1px}
.rb-member-card .textbox,.rb-member-card select{width:100%}
.rb-member-card .rb-form-actions{padding-top:4px}
.rb-member-card .rb-form-actions .rb-btn-block{height:38px;font-size:14px;font-weight:600}
.rb-loggedin-notice{max-width:100%}
/* page header on login, register, agreement, lost password, reset, activate and resend (owner picked option 3, 2026-10-19):
   round blue icon, centred title and one line under it, a soft blue glow from the top and a 2px accent edge */
.rb-auth-head{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;padding:30px 22px 16px;text-align:center;border-top:2px solid var(--accent);border-radius:3px 3px 0 0;background:radial-gradient(70% 110% at 50% 0%,rgba(45,99,199,.30),rgba(45,99,199,0) 70%),var(--surface)}
.rb-auth-ic{flex:none;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(180deg,#3a72dc,#2452a8);color:#fff;font-size:20px;box-shadow:0 0 0 7px rgba(45,99,199,.14)}
.rb-auth-txt{min-width:0;max-width:520px}
.rb-auth-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;color:#fff}
.rb-auth-sub{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
/* "Before you join": the three countries as small round flag chips under the header text (owner 2026-10-19) */
.rb-auth-flags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 2px}
.rb-auth-flags > span{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px 0 7px;border:1px solid var(--line-2);border-radius:14px;background:rgba(255,255,255,.03);font-size:12.5px;font-weight:500;line-height:1;color:var(--fg-2)}
.rb-auth-flags .rb-flag.is-round{flex:none;width:16px;height:16px}
/* icon in a 44px square joined to the left of the field (lock, envelope, user, key): login, login popup, lost password,
   reset, activate, resend. Same look as .rb-input-sq on the register page (owner 2026-10-19: "ha samme type felt"). */
.rb-input-ic{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;min-width:0}
.rb-input-ic > .fa-solid{flex:none;display:flex;align-items:center;justify-content:center;width:44px;box-sizing:border-box;background:var(--surface-3);border:1px solid var(--line-2);border-right:0;border-radius:3px 0 0 3px;font-size:14px;line-height:1;color:var(--muted);pointer-events:none;transition:color .12s,border-color .12s}
.rb-input-ic > .textbox,.rb-input-ic > input{flex:1 1 0;width:auto!important;min-width:0;border-radius:0 3px 3px 0!important}
.rb-input-ic:focus-within > .fa-solid{color:var(--accent-2);border-color:var(--accent-2)}
.rb-input-ic:has(> input.error) > .fa-solid{border-color:var(--red)}
.rb-input-ic > label{flex:0 0 100%;margin-top:6px}
/* hairline under the form: "No account yet? Register", secondary links (no fill, just the line) */
.rb-member-foot{display:flex;align-items:center;justify-content:center;gap:6px 18px;flex-wrap:wrap;padding:13px 22px;border-top:1px solid var(--line);background:transparent;font-size:13px;color:var(--muted);text-align:center}
.rb-member-foot a{display:inline-flex;align-items:center;gap:7px;color:var(--fg);font-weight:500}
.rb-member-foot a:hover{color:var(--accent-2)}
.rb-member-foot a .fa-solid{font-size:12px;color:var(--muted)}
.rb-member-foot a:hover .fa-solid{color:var(--accent-2)}
/* action strip with buttons (register submit, agreement agree/cancel, coppa continue) */
.rb-member-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px 14px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line);background:transparent}
.rb-member-actions .button,.rb-member-actions input[type=submit]{height:36px;padding:0 18px;font-size:13.5px;font-weight:600}
.rb-member-actions .rb-btn{height:36px;padding:0 16px;font-size:13.5px}
.rb-member-actions-note{margin-right:auto;font-size:13px;color:var(--muted)}
.rb-member-actions-note a{color:var(--fg);font-weight:500}
.rb-member-actions-note a:hover{color:var(--accent-2)}

/* ---- login ---- */
.rb-login-opts{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin:-2px 0 16px}
.rb-login-opts .rb-check{font-size:13px;color:var(--fg-2);gap:8px}
.rb-login-opts .rb-check:hover{color:#fff}
.rb-login-opts .rb-check input{margin:0;flex:none}
.rb-login-lost{font-size:13px;color:var(--fg-2);white-space:nowrap}
.rb-login-lost:hover{color:#fff}
/* {$captcha} slot (post_captcha* fragments) on login / lostpw / resend */
.rb-captcha-slot{margin-bottom:16px}
.rb-captcha-slot:empty{display:none;margin:0}
.rb-captcha-slot .rb-popt{padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px}
.rb-captcha-slot .rb-popt-title{font-size:13px;color:var(--fg)}
.rb-captcha-slot .rb-popt-title .fa-solid{color:var(--muted)}
.rb-captcha-slot .rb-pcaptcha-img img{max-width:100%}
.rb-captcha-slot .rb-pcaptcha-row .textbox{max-width:none}

/* ---- change-user box (logged-in variant of loginbox in newthread / newreply) ---- */
.rb-changeuser-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:38px;padding:4px 10px 4px 4px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2)}
.rb-changeuser-row b{color:#fff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rb-changeuser-row .rb-chip{margin-left:auto}

/* ---- registration: one centred card (720), quiet head, 42px fields, 2-column grids ---- */
.rb-register-form{display:block;--rb-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f8f8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.rb-regcheck{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}
/* head: no bar, a title and a one-line subtitle */
.rb-reg-head{padding:24px 24px 4px}
.rb-reg-title{margin:0;font-size:20px;font-weight:700;line-height:1.25;color:#fff}
.rb-reg-sub{margin:5px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted)}
.rb-register .rb-card-body{padding:18px 24px 24px}
/* field stack + 2-column grids (password + confirm, email + confirm) */
.rb-reg-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.rb-reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;min-width:0}
.rb-reg-grid > .rb-field,.rb-reg-stack > .rb-field,.rb-reg-extra > .rb-field{margin:0}
.rb-reg-grid > link,.rb-reg-grid > script,.rb-reg-grid > style,.rb-reg-extra > link,.rb-reg-extra > script,.rb-reg-extra > style{display:none}
.rb-reg-full{grid-column:1 / -1}
.rb-reg-status{font-size:12px;line-height:1.4;color:var(--muted)}
/* labels 12.5/600 above the control, 42px inputs, focus border accent-2 without glow (beats the 70-pro .textbox rules by specificity) */
.rb-register .rb-field{gap:6px}
.rb-register .rb-label,.rb-register .rb-field > label{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--fg-2)}
.rb-register .rb-label abbr{text-decoration:none;border-bottom:1px dotted var(--muted)}
.rb-register .textbox,.rb-register select,.rb-register input[type=text],.rb-register input[type=password]{width:100%;height:42px;min-height:42px;padding:0 12px;border:1px solid var(--line-2);border-radius:3px;font-size:14px;color:var(--fg);box-shadow:none}
/* selects (language, custom profile fields): the shared rule above resets padding-right, so reserve the 34px the chevron needs again. The `background:` shorthands 70-pro puts on select (lines 91, 373, 394) drop the chevron image from 30-components on every appearance:none select, so the arrow is restored here for the register card; the :focus variant outranks the 70-pro select:focus shorthand. Multi-selects keep their natural height and no arrow. */
.rb-register select,.rb-register select:focus{padding-right:34px;background-image:var(--rb-select-arrow);background-repeat:no-repeat;background-position:right 10px center;background-size:14px}
.rb-register select[multiple],.rb-register select[size]{height:auto;min-height:96px;padding:6px 12px;background-image:none}
.rb-register textarea,.rb-register .textarea{width:100%;min-height:96px;padding:10px 12px;border:1px solid var(--line-2);border-radius:3px;font-size:14px;box-shadow:none}
.rb-register .textbox:focus,.rb-register select:focus,.rb-register textarea:focus,.rb-register input[type=text]:focus,.rb-register input[type=password]:focus{border-color:var(--accent-2);box-shadow:none;outline:0}
.rb-register .textbox::placeholder{color:var(--faint)}
.rb-register .rb-field > .rb-help{font-size:12px;line-height:1.45;color:var(--muted)}
.rb-register .rb-help:empty{display:none}
/* blocks: Preferences, required / additional info, image verification, security check */
.rb-reg-block{margin-top:22px;min-width:0}
.rb-reg-block:empty{display:none}
.rb-reg-block > :last-child{margin-bottom:0}
.rb-reg-block-title{margin:0 0 10px;font-size:13px;font-weight:600;line-height:1.3;color:var(--fg)}
.rb-reg-note{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
/* preferences: 2-column grid of 36px check rows inside a hairline box, then the language / referrer fields */
.rb-reg-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:5px 14px;border:1px solid var(--line);border-radius:3px}
.rb-reg-checks .rb-check{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:36px;padding:4px 0;font-size:13px;line-height:1.35;color:var(--fg-2)}
.rb-reg-checks .rb-check:hover{color:#fff}
.rb-reg-checks .rb-check input[type=checkbox]{flex:none;width:16px;height:16px;margin:0;accent-color:var(--accent-2)}
.rb-reg-checks .rb-check span{min-width:0}
.rb-reg-extra{display:flex;flex-direction:column;gap:16px;margin-top:16px;min-width:0}
.rb-reg-extra:empty{display:none}
.rb-reg-referrer .select2-container{width:100%;min-width:0}
.rb-reg-referrer .select2-container .select2-choice{height:42px;line-height:40px;padding-left:12px;font-size:14px}
.rb-reg-referrer .select2-container .select2-choice abbr{top:15px}
.rb-register-customfield .rb-register-customfield-code{min-width:0}
.rb-register-customfield .rb-register-customfield-code label{font-size:13px;color:var(--fg-2)}
.rb-register-customfield .rb-register-customfield-code input[type=radio],.rb-register-customfield .rb-register-customfield-code input[type=checkbox]{margin:0 6px 4px 0}
.rb-register-customfield .rb-help:empty{display:none}
/* security check: highlighted row, 2px accent left border, 18px question, short answer input + 36px icon refresh */
.rb-reg-question{padding:14px 16px 14px 18px;border-left:2px solid var(--accent);border-radius:0 3px 3px 0;background:var(--surface-2)}
.rb-reg-question .rb-reg-question-label{display:block;margin:0 0 6px}
.rb-question-text{margin:0 0 12px;font-size:18px;font-weight:700;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.rb-question-text:empty{display:none}
.rb-captcha-row.rb-reg-answer-row{align-items:center}
.rb-reg-question .rb-captcha-row .textbox{flex:0 1 200px;width:auto;max-width:200px;min-width:0}
.rb-reg-refresh{position:relative;flex:none;display:inline-flex;width:36px;height:36px}
.rb-reg-refresh:not(:has(input)){display:none}
.rb-reg-question .rb-reg-refresh input[type=button],.rb-reg-question .rb-reg-refresh .button{width:36px;height:36px;padding:0;margin:0;font-size:0;line-height:0;color:transparent;border-radius:3px;cursor:pointer}
.rb-reg-refresh::after{content:"\f021";font-family:"Font Awesome 6 Free";font-weight:900;font-size:13px;line-height:1;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--fg-2);pointer-events:none;transition:color .12s}
.rb-reg-refresh:hover::after{color:#fff}
.rb-reg-refresh:focus-within::after{color:var(--accent-2)}
.rb-reg-refresh input[type=button]:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
/* Cloudflare check in its own "Security check" box (owner 2026-10-19: captcha inside Security check, maths question off).
   Hidden when rb_turnstile renders nothing; when MyBB's question box is on as well, the two read as one box. */
.rb-reg-security > .rb-turnstile{display:block;min-height:65px;margin:4px 0 0}
.rb-reg-security > .rb-turnstile > .cf-turnstile{max-width:340px}
.rb-reg-security:not(:has(.rb-turnstile)){display:none}
.rb-reg-question:not(.rb-reg-security) + .rb-reg-security{margin-top:0;padding-top:0;border-radius:0 0 3px 0}
.rb-reg-question:not(.rb-reg-security) + .rb-reg-security > .rb-reg-question-label{display:none}
.rb-reg-question:not(.rb-reg-security):has(+ .rb-reg-security .rb-turnstile){border-radius:0 3px 0 0}
.rb-reg-question:not(.rb-reg-security) + .rb-reg-security > .rb-turnstile{margin-top:12px}
/* footer: full-width 44px primary button, "Already registered? Log in" centred under it */
.rb-reg-foot{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 24px 22px;border-top:1px solid var(--line)}
.rb-register-form .rb-reg-foot input[type=submit],.rb-register-form .rb-reg-submit{display:block;width:100%;height:44px;padding:0 18px;border-radius:3px;font-size:14.5px;font-weight:600}
.rb-reg-foot-note{margin:0;text-align:center;font-size:13px;line-height:1.4;color:var(--muted)}
.rb-reg-foot-note a{color:var(--fg);font-weight:500}
.rb-reg-foot-note a:hover{color:var(--accent-2)}
/* jQuery-validate state classes (.error / .valid go on the inputs and on an inserted <label>): undo the global .error alert look */
.rb-register-form input.error,.rb-register-form .textbox.error,.rb-register-form select.error{display:block;margin:0;padding:0 12px;border:1px solid var(--red);border-radius:3px;font-size:14px;line-height:normal;color:var(--fg)}
/* select / textarea in error state: the global .error alert fill (--surface-2, 0,1,0) beats the bare `select` / `textarea` fill from 70-pro (0,0,1), so give them the input fill back. #141620 is what 70-pro:394 gives every input; --input-bg is picked up automatically if 70-pro ever aliases it. */
.rb-register-form select.error{padding-right:34px;background-color:var(--input-bg,#141620);background-image:var(--rb-select-arrow);background-repeat:no-repeat;background-position:right 10px center;background-size:14px}
.rb-register-form textarea.error{display:block;margin:0;padding:10px 12px;border:1px solid var(--red);border-radius:3px;background-color:var(--input-bg,#141620);font-size:14px;color:var(--fg)}
.rb-register-form input[type=checkbox].error,.rb-register-form input[type=radio].error{display:inline-block;width:16px;height:16px;padding:0;border:0;background:transparent;outline:2px solid var(--red);outline-offset:1px}
.rb-register-form input.error:focus,.rb-register-form .textbox.error:focus,.rb-register-form select.error:focus{border-color:var(--red)}
.rb-register-form input.valid,.rb-register-form .textbox.valid,.rb-register-form select.valid{border-color:var(--green)}
.rb-register-form label.error{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:12px;font-weight:500;line-height:1.4;color:var(--red)}
.rb-register-form label.error:empty{display:none}
.rb-register-form label.error.valid,.rb-register-form label.error.success,.rb-register-form label.success{color:var(--green)}
.rb-register-form .rb-field > label.error{font-size:12px;font-weight:500;color:var(--red)}
.rb-register-form .rb-field > label.error.valid,.rb-register-form .rb-field > label.error.success{color:var(--green)}
.rb-register-form .rb-check + label.error{flex-basis:100%}
.rb-register-form .rb-check label.error{flex-basis:100%;margin-left:26px}
.rb-register-form .rb-captcha-row > label.error{flex-basis:100%;order:9;margin-top:-2px}
/* text fields: icon in a 44px square joined to the left of the field (owner picked preview C, 2026-10-19). jQuery
   validate puts its <label class="error"> right after the input, so inside this row: it wraps to a full-width line. */
.rb-input-sq{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;min-width:0}
.rb-input-sq > .rb-input-sq-ic{flex:none;display:flex;align-items:center;justify-content:center;width:44px;min-height:42px;box-sizing:border-box;background:var(--surface-3);border:1px solid var(--line-2);border-right:0;border-radius:3px 0 0 3px;color:var(--muted);font-size:14px;transition:color .12s,border-color .12s}
.rb-register .rb-input-sq > input.textbox,.rb-register-form .rb-input-sq > input.error,.rb-register-form .rb-input-sq > input.valid{flex:1 1 0;width:auto;min-width:0;border-radius:0 3px 3px 0!important}
.rb-input-sq:focus-within > .rb-input-sq-ic{color:var(--accent-2);border-color:var(--accent-2)}
.rb-input-sq:has(> input.error) > .rb-input-sq-ic{border-color:var(--red)}
.rb-input-sq:has(> input.valid) > .rb-input-sq-ic{border-color:var(--green)}
.rb-register-form .rb-input-sq > label{flex:0 0 100%;margin-top:6px}
.rb-reg-question .rb-captcha-row .rb-input-sq{flex:0 1 244px;width:auto;max-width:244px}
.rb-reg-question .rb-captcha-row .rb-input-sq > .textbox{max-width:none}
.rb-label-ic{margin-right:7px;color:var(--muted)}

/* ---- image verification (captcha image, disabled on the board but kept working) ---- */
.rb-captcha{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rb-captcha-img{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;padding:8px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px}
.rb-captcha-img img{display:block;max-width:100%;border-radius:2px;background:#fff}
.rb-captcha-img .rb-captcha-sub{font-size:11.5px;color:var(--muted)}
.rb-captcha-main{flex:1 1 220px;min-width:0}
.rb-captcha-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;min-width:0}
.rb-captcha-row .textbox{flex:1 1 160px;min-width:0;width:auto}
.rb-captcha-row .button,.rb-captcha-row input[type=button]{height:42px;flex:none}
.rb-captcha-widget{display:flex;justify-content:flex-start;min-height:40px;max-width:100%;overflow-x:auto}
.rb-captcha-widget > div{max-width:100%}

/* ---- profile ---- */
/* page layout, cover, tiles, Information, Statistics, Groups and the plugin cards live in parts/profile-v2.css (.rb-pp-*);
   this block styles the sub-template cards the profile still shares: custom fields, contact details, signature,
   mod / admin options and the away / banned notices */
.rb-profile{display:flex;flex-direction:column;gap:var(--gap)}
.rb-profile .rb-alert{margin:0}
/* Additional Info and Contact Details use the row language of the Information card: 16px inset, 13px labels without colons */
.rb-profile .rb-profile-fields .rb-card-body,.rb-profile .rb-profile-contact .rb-card-body{padding:2px 16px}
.rb-profile .rb-profile-sig .rb-card-body,.rb-profile .rb-profile-mod .rb-card-body,.rb-profile .rb-profile-admin .rb-card-body{padding:16px 18px}
.rb-profile-kv{grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:0 18px;font-size:13.5px}
.rb-profile-kv dt,.rb-profile-kv dd{padding:10px 0;border-bottom:1px solid var(--line);line-height:1.45}
.rb-profile-kv dt{display:flex;align-items:center;gap:8px;color:var(--fg-2);font-size:13px;font-weight:500;white-space:nowrap}
/* the PM row repeats the Send Message button in the header; it stays in the markup ({$sendpm} also drives that button) */
.rb-profile-contact .rb-cd-pm{display:none}
.rb-profile-kv dt .fa-solid{width:14px;text-align:center;font-size:12px;color:var(--fg-2)}
.rb-profile-kv dd{color:var(--fg);min-width:0;overflow-wrap:anywhere}
.rb-profile-kv dd b{color:#fff;font-weight:700}
.rb-profile-kv dd a{font-weight:500}
.rb-profile-kv > :nth-last-child(-n+2){border-bottom:0}
.rb-kv-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.rb-kv-list li{list-style:none;margin:0;position:relative;padding-left:14px}
.rb-kv-list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--blue-2)}
.rb-ban-remaining{color:var(--amber);font-weight:500}
.rb-profile-sig .rb-card-body{font-size:14px;line-height:1.6;color:var(--fg-2)}
.rb-profile-sig .rb-card-body img{max-width:100%}
/* mod / admin options */
.rb-profile-ips{margin-bottom:14px}
.rb-profile-ips dd{font-family:var(--mono);font-size:13px}
.rb-modlinks{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.rb-modlinks:last-child{margin-bottom:0}
.rb-modlinks li{list-style:none;margin:0;min-width:0}
.rb-modlinks a{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-3);color:var(--fg);font-size:13.5px;font-weight:500;line-height:1.3;transition:background .12s,border-color .12s,color .12s}
.rb-modlinks a:hover{background:var(--surface-4);border-color:var(--line-2);color:#fff}
.rb-modlinks a .fa-solid{flex:none;width:16px;text-align:center;color:var(--fg-2);font-size:13px}
.rb-modlinks a:hover .fa-solid{color:#fff}
.rb-modlinks a.is-danger{color:var(--red);border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.12)}
.rb-modlinks a.is-danger .fa-solid{color:var(--red)}
.rb-modlinks a.is-danger:hover{background:rgba(248,113,113,.2);border-color:var(--red);color:#fff}
.rb-modlinks a.is-success{color:var(--green-text);border-color:var(--green-line);background:var(--green-soft)}
.rb-modlinks a.is-success .fa-solid{color:var(--green)}
.rb-modlinks a.is-success:hover{background:rgba(72,166,127,.22);border-color:var(--green);color:#fff}
.rb-profile-notes{padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}
.rb-profile-notes-label{display:flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);font-weight:700;margin-bottom:6px}
.rb-profile-notes-text{font-size:13.5px;color:var(--fg-2);line-height:1.55;overflow-wrap:anywhere}
.rb-profile-notes-text .rb-chip{margin-left:6px;height:24px;padding:0 8px;font-size:12px;vertical-align:middle}
.rb-profile-notes-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.rb-profile-notes-links:empty{display:none}
/* away / banned notices */
.rb-profile-notice .rb-alert-line{margin-top:3px;color:var(--fg-2)}
.rb-profile-notice .rb-alert-line.rb-small{color:var(--fg-2)}
.rb-profile-notice .rb-alert-body strong{color:#fff}
.rb-profile-notice em{font-style:normal}

/* ---- referrals (page + popup) ---- */
.rb-referrals{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.rb-referrals .rb-card + .rb-card{margin-top:0}
.rb-referrals .rb-toolbar:empty{display:none}
.rb-referrals .rb-toolbar .pagination{margin:0}
.rb-referrals-table th.rb-cell-right,.rb-referrals-table td.rb-cell-right,.rb-cell-right{text-align:right;white-space:nowrap}
.rb-referrals-table td{color:var(--fg-2)}
.rb-referrals-table td:first-child{font-weight:500;color:var(--fg)}
.rb-referrals-table .rb-empty{padding:28px 16px}
.rb-referrals-table .rb-empty .fa-solid{font-size:28px}
.modal .rb-modal-body.is-flush{padding:0}
.modal .rb-referrals-table{border:0;border-radius:0}
.rb-notes-modal .rb-modal-body{font-size:14px;line-height:1.6;color:var(--fg-2);overflow-wrap:anywhere}

/* ---- agreement / coppa ---- */
.rb-agreement .rb-card-body{padding:16px 22px}
.rb-agreement-scroll{max-height:320px;overflow-y:auto;padding:14px 16px;background:#0c0e12;border:1px solid var(--line-2);border-radius:3px;font-size:14px;line-height:1.65;color:var(--fg-2);overflow-wrap:anywhere}
.rb-agreement-scroll:focus{outline:0;border-color:var(--accent)}
.rb-agreement-scroll p{margin:0 0 1em}
.rb-agreement-scroll p:last-child{margin-bottom:0}
.rb-agreement-scroll p strong{color:#fff}
.rb-agreement-scroll .rb-section-title{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.rb-agreement-scroll p + .rb-section-title{margin-top:18px}
.rb-coppa-desc{font-size:14px;line-height:1.65;color:var(--fg-2);margin-bottom:18px}
.rb-coppa-desc p{margin:0 0 1em}
.rb-coppa-desc p:last-child{margin-bottom:0}
.rb-coppa-desc a{color:var(--accent-2)}
.rb-coppa-dob{padding:14px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px}
.rb-coppa-dob-label{margin-bottom:12px;color:var(--fg)}
.rb-coppa-dob-label .fa-solid{color:var(--muted);font-size:12px}
.rb-coppa-dob-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
.rb-coppa-dob-row .rb-field{margin:0}
.rb-coppa-dob-row .rb-field > label{font-size:12px;font-weight:500;color:var(--muted)}
.rb-coppa-dob > .rb-help{font-size:12.5px}

/* ---- responsive ---- */
@media (max-width:760px){
  .rb-member-card .rb-card-body,.rb-agreement .rb-card-body{padding:16px}
  .rb-register .rb-card-body{padding:16px}
  .rb-reg-head{padding:20px 16px 2px}
  .rb-auth-head{padding:26px 16px 12px}
  .rb-reg-foot{padding:16px}
  .rb-reg-block{margin-top:20px}
  .rb-member-foot,.rb-member-actions{padding:12px 16px}
  .rb-member-actions .button,.rb-member-actions input[type=submit],.rb-member-actions .rb-btn{flex:1 1 auto}
  .rb-member-actions-note{flex-basis:100%;margin:0;text-align:center}
  .rb-captcha-img{width:100%}
  .rb-profile .rb-profile-sig .rb-card-body,.rb-profile .rb-profile-mod .rb-card-body,.rb-profile .rb-profile-admin .rb-card-body{padding:14px}
  .rb-modlinks{grid-template-columns:minmax(0,1fr)}
  .rb-coppa-dob-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rb-coppa-dob-row .rb-field:nth-child(2){grid-column:1 / -1;order:-1}
}
@media (max-width:600px){
  .rb-reg-grid,.rb-reg-checks{grid-template-columns:minmax(0,1fr)}
  .rb-profile-kv{grid-template-columns:minmax(0,1fr);gap:0}
  .rb-profile-kv dt{white-space:normal}
  .rb-profile-kv dt{border-bottom:0;padding:10px 0 0;margin-top:0;font-size:13px;text-transform:none;letter-spacing:0}
  .rb-profile-kv dd{padding:3px 0 10px}
  .rb-profile-kv > :nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:480px){
  .rb-member-card .rb-card-head{flex-wrap:wrap}
  .rb-member-card .rb-card-head .rb-card-sub{margin-left:0;flex-basis:100%;white-space:normal}
  .rb-changeuser-row .rb-chip{margin-left:0;flex-basis:100%;justify-content:center}
  .rb-coppa-dob-row{grid-template-columns:minmax(0,1fr)}
  /* the 300px Cloudflare box fits inside Security check on a 375px phone */
  .rb-member-page.is-register .rb-card-body{padding-left:14px;padding-right:14px}
  .rb-reg-question{padding:14px 12px 14px 14px}
  .rb-reg-security > .rb-turnstile > .cf-turnstile{max-width:none}
}
.rb-referrals-table tr.trow1,.rb-referrals-table tr.trow2{padding:0;border:0}

/* ===== parts/memberlist-v2.css ===== */
/* ================= MEMBER LIST v2 (memberlist.php + advanced search) =================
   Templates: memberlist, memberlist_user, memberlist_user_avatar, memberlist_user_groupimage,
   memberlist_user_userstar, memberlist_orderarrow, memberlist_referrals, memberlist_referrals_bit,
   memberlist_error, memberlist_search, memberlist_search_contact_field.
   Own .rb-mlv-* namespace so the older .rb-ml-* / .rb-member rules in community.css never apply. */

.rb-mlv{display:flex;flex-direction:column;gap:14px;min-width:0}
/* column grid; data-cols carries MyBB's colspan, which is 7 when referrals are on (no :has, so older Firefox/Safari get it too).
   Date columns stay at least 128px: "14 September, 2026," must fit one line, the time wraps to a second line. */
.rb-mlv-card{min-width:0;--mlv-cols:minmax(0,1fr) 150px 160px 76px 76px}
.rb-mlv-card[data-cols="7"]{--mlv-cols:minmax(0,1fr) 140px 150px 70px 70px 80px}

/* ---- head: title left, total right ---- */
.rb-mlv-total{gap:6px;white-space:nowrap}
.rb-mlv-total b{color:#fff;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.rb-mlv-total:has(b:empty){display:none}

/* ---- toolbar: search, sort, order, per page ---- */
.rb-mlv-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-mlv-f{position:relative;min-width:0}
.rb-mlv-f.is-user{flex:1 1 220px;max-width:300px}
.rb-mlv-f.is-web{flex:1 1 150px;max-width:200px}
.rb-mlv-f.is-sort{flex:0 1 220px}
.rb-mlv-f .textbox,.rb-mlv-f select{width:100%}
.rb-mlv-form input[type=submit]{height:36px;padding:0 16px;flex:none}
.rb-mlv-advlink{margin-left:auto;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 2px;font-size:13px;font-weight:500;color:var(--fg-2);white-space:nowrap}
.rb-mlv-advlink:hover{color:#fff}
.rb-mlv-advlink .fa-solid{font-size:12px;color:var(--muted)}
.rb-mlv-advlink:hover .fa-solid{color:#fff}
/* select2 (username autocomplete) sizes itself in px with an inline width: make it fluid and 36px tall on both pages.
   select2.css is linked at the end of <body>, after global.css, so its equal-specificity sizes (26px box, 8px indent,
   18px arrow, abbr at top:8px) beat 70-pro; the extra .rb-mlv class wins them back. */
.rb-mlv .select2-container{display:block;width:100%!important}
.rb-mlv .select2-container .select2-choice{height:36px;line-height:34px;padding:0 12px}
.rb-mlv .select2-container .select2-choice .select2-arrow{width:30px}
.rb-mlv .select2-container .select2-choice > .select2-chosen{margin-right:30px}
.rb-mlv .select2-container .select2-choice .select2-arrow b::after{line-height:34px}
.rb-mlv .select2-container .select2-choice abbr{top:11px;right:34px}

/* order: two flat segments, the checked one filled; the radios stay real form fields.
   The fill sits on the span right after the radio (input:checked + span), so it works without :has(). */
.rb-mlv-order{display:inline-flex;flex:none;height:36px;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;background:var(--bg)}
.rb-mlv-order label{position:relative;display:inline-flex;align-items:stretch;min-width:52px;margin:0;padding:0;font-size:13px;font-weight:500;color:var(--fg-2);text-transform:capitalize;cursor:pointer;-webkit-user-select:none;user-select:none}
.rb-mlv-order label + label{border-left:1px solid var(--line-2)}
.rb-mlv-order label > span{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:0 12px;transition:background-color .12s,color .12s}
.rb-mlv-order label:hover > span{color:#fff}
.rb-mlv-order input[type=radio]{position:absolute;left:0;top:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.rb-mlv-order input:checked + span{background:var(--surface-4);color:#fff}
.rb-mlv-order input:focus-visible + span{outline:1px solid var(--accent-2);outline-offset:-1px}

.rb-mlv-pp{display:inline-flex;align-items:center;gap:8px;flex:none;margin:0;font-size:12.5px;font-weight:500;color:var(--fg-2);white-space:nowrap}
.rb-mlv-pp input[type=number],.rb-mlv-num{-moz-appearance:textfield;appearance:textfield}
.rb-mlv-pp input[type=number]{width:64px;padding:0 8px;text-align:center;font-variant-numeric:tabular-nums}
.rb-mlv-pp input::-webkit-outer-spin-button,.rb-mlv-pp input::-webkit-inner-spin-button,
.rb-mlv-num::-webkit-outer-spin-button,.rb-mlv-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---- A to Z: small flat links, active letter white with an accent underline ---- */
.rb-mlv-az{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:0 12px;border-bottom:1px solid var(--line)}
.rb-mlv-az a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:36px;padding:0 6px;font-size:12px;font-weight:600;line-height:1;color:var(--fg-2);text-decoration:none;box-shadow:inset 0 -2px 0 transparent;transition:color .12s,box-shadow .12s}
.rb-mlv-az a:hover{color:#fff;text-decoration:none}
.rb-mlv-az a.is-all{padding:0 8px;margin-right:6px}
.rb-mlv-az[data-q=""] a.is-all,
.rb-mlv-az[data-q="A" i] a[href$="=A"],
.rb-mlv-az[data-q="B" i] a[href$="=B"],
.rb-mlv-az[data-q="C" i] a[href$="=C"],
.rb-mlv-az[data-q="D" i] a[href$="=D"],
.rb-mlv-az[data-q="E" i] a[href$="=E"],
.rb-mlv-az[data-q="F" i] a[href$="=F"],
.rb-mlv-az[data-q="G" i] a[href$="=G"],
.rb-mlv-az[data-q="H" i] a[href$="=H"],
.rb-mlv-az[data-q="I" i] a[href$="=I"],
.rb-mlv-az[data-q="J" i] a[href$="=J"],
.rb-mlv-az[data-q="K" i] a[href$="=K"],
.rb-mlv-az[data-q="L" i] a[href$="=L"],
.rb-mlv-az[data-q="M" i] a[href$="=M"],
.rb-mlv-az[data-q="N" i] a[href$="=N"],
.rb-mlv-az[data-q="O" i] a[href$="=O"],
.rb-mlv-az[data-q="P" i] a[href$="=P"],
.rb-mlv-az[data-q="Q" i] a[href$="=Q"],
.rb-mlv-az[data-q="R" i] a[href$="=R"],
.rb-mlv-az[data-q="S" i] a[href$="=S"],
.rb-mlv-az[data-q="T" i] a[href$="=T"],
.rb-mlv-az[data-q="U" i] a[href$="=U"],
.rb-mlv-az[data-q="V" i] a[href$="=V"],
.rb-mlv-az[data-q="W" i] a[href$="=W"],
.rb-mlv-az[data-q="X" i] a[href$="=X"],
.rb-mlv-az[data-q="Y" i] a[href$="=Y"],
.rb-mlv-az[data-q="Z" i] a[href$="=Z"]{color:#fff;box-shadow:inset 0 -2px 0 var(--accent-2)}

/* ---- column labels ---- */
.rb-mlv-labels{display:grid;grid-template-columns:var(--mlv-cols);gap:0 16px;align-items:center;height:32px;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-mlv-col{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.rb-mlv-col.is-member{padding-left:48px}
.rb-mlv-col.is-num{justify-content:flex-end}
.rb-mlv-col > a{color:inherit;text-decoration:none}
.rb-mlv-col > a:hover{color:#fff}
.rb-mlv-col:has(.rb-mlv-dir) > a{color:#fff}
.rb-mlv-dir{display:inline-flex;align-items:center;font-size:10px;color:var(--accent-2);text-decoration:none}
.rb-mlv-dir:hover{color:#fff}
.rb-mlv-dir[data-next="ascending"] .is-asc,.rb-mlv-dir[data-next="descending"] .is-desc{display:none}

/* ---- rows ---- */
.rb-mlv-list{min-width:0}
.rb-mlv-row{display:grid;grid-template-columns:var(--mlv-cols);gap:0 16px;align-items:center;min-height:60px;padding:8px 16px;border-top:1px solid var(--line);transition:background-color .12s}
.rb-mlv-list > .rb-mlv-row:first-child{border-top:0}
.rb-mlv-row:hover{background:var(--surface-2)}
.rb-mlv-member{display:flex;align-items:center;gap:12px;min-width:0}
.rb-mlv-avatar{flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--surface-3)}
.rb-mlv-avatar img{display:block;width:36px;height:36px;max-width:none;object-fit:cover;border-radius:50%}
.rb-mlv-text{flex:1 1 auto;min-width:0}
.rb-mlv-id{display:flex;flex-direction:column;min-width:0}
/* the namestyle glows (drop-shadow / text-shadow up to 8px) need room inside the ellipsis clip:
   padding grows the clip box, the equal negative margin keeps the text exactly where it was */
.rb-mlv-name{display:block;min-width:0;padding:6px 8px;margin:-6px -8px;font-size:14px;font-weight:600;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mlv-name a{color:var(--fg)}
.rb-mlv-name a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.rb-mlv-name strong,.rb-mlv-name b{font-weight:600}
.rb-mlv-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;margin-top:1px;font-size:12px;line-height:16px;color:var(--fg-2)}
.rb-mlv-utitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mlv-utitle:empty{display:none}
/* group banner images are about 4.4:1; at 14px tall their text could not be read */
.rb-mlv-gimg{display:block;flex:none;height:22px;max-height:none;width:auto;max-width:100%;object-fit:contain;object-position:left center}
.rb-mlv-meta{display:none}
.rb-mlv-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* dates are my_date('relative'): "14 October, 2026, 09:12 PM" on this board, so they wrap to two lines instead of
   being cut; the date part fits line one, the time drops to line two, and anything longer is clamped */
.rb-mlv-cell.is-date{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;font-size:13px;line-height:17px;color:var(--fg-2)}
.rb-mlv-cell.is-num{text-align:right;font-size:14px;font-weight:500;color:var(--fg);font-variant-numeric:tabular-nums}

/* ---- empty result ---- */
.rb-mlv-card:has(.rb-mlv-empty) .rb-mlv-labels{display:none}
.rb-mlv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 20px;text-align:center;font-size:13.5px;color:var(--fg-2)}
.rb-mlv-empty .fa-solid{font-size:20px;color:var(--muted)}
.rb-mlv-empty-text p{margin:0}
.rb-mlv-empty-text p:first-child{color:var(--fg)}
.rb-mlv-empty-text p + p{margin-top:2px;color:var(--muted)}
.rb-mlv-empty-link{margin-top:4px;font-size:13px;font-weight:500}

/* ---- pagination under the card ---- */
.rb-mlv-pager{display:flex;justify-content:flex-end;min-width:0}
.rb-mlv-pager:empty{display:none}

/* ---- advanced search (memberlist.php?action=search) ---- */
.rb-mlv.rb-mlv-adv{width:100%;max-width:880px;margin:0 auto}
.rb-mlv-advcard{margin:0}
.rb-mlv-advbody{padding:20px 20px 2px}
.rb-mlv-sec{margin:0 0 22px}
.rb-mlv-sec-title{margin:0 0 14px;padding:0 0 8px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-mlv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start}
.rb-mlv-grid > .rb-field{margin:0}
.rb-mlv-advcard .rb-field .textbox,.rb-mlv-advcard .rb-field select{width:100%}
.rb-mlv-match{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px;min-width:0}
.rb-mlv-sortrow{display:flex;align-items:center;gap:8px;min-width:0}
.rb-mlv-advcard .rb-mlv-sortrow select{flex:1 1 auto;min-width:0}
.rb-mlv-advcard .rb-field .rb-mlv-num{width:120px;max-width:100%}
.rb-mlv-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line)}
.rb-mlv-actions input[type=submit]{height:36px;padding:0 20px}

/* ---- tablet ---- */
@media (max-width:1100px){
  .rb-mlv-card{--mlv-cols:minmax(0,1fr) 130px 130px 64px 64px}
  .rb-mlv-card[data-cols="7"]{--mlv-cols:minmax(0,1fr) 128px 128px 60px 60px 70px}
  .rb-mlv-cell.is-date{font-size:12.5px}
}

/* ---- phone ---- */
@media (max-width:760px){
  .rb-mlv{gap:12px}
  .rb-mlv-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}
  .rb-mlv-f.is-user{grid-column:1;grid-row:1;max-width:none}
  .rb-mlv-form input[type=submit]{grid-column:2;grid-row:1}
  .rb-mlv-f.is-sort{grid-column:1;grid-row:2;max-width:none}
  .rb-mlv-order{grid-column:2;grid-row:2}
  .rb-mlv-f.is-web,.rb-mlv-pp{display:none}
  .rb-mlv-advlink{grid-column:1 / -1;grid-row:3;justify-self:start;height:36px;margin:0}

  .rb-mlv-az{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px;padding:6px 8px}
  .rb-mlv-az a,.rb-mlv-az a.is-all{min-width:0;height:36px;margin:0;padding:0}

  .rb-mlv-labels{display:none}
  .rb-mlv-row{display:flex;align-items:center;min-height:60px;padding:10px 12px}
  .rb-mlv-row > .rb-mlv-cell{display:none}
  .rb-mlv-member{flex:1 1 auto}
  .rb-mlv-id{flex-direction:row;align-items:baseline;gap:8px}
  .rb-mlv-name{flex:0 1 auto}
  .rb-mlv-title{flex:1 1 0;margin:0}
  .rb-mlv-gimg{display:none}
  .rb-mlv-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:3px;font-size:12px;line-height:16px;color:var(--fg-2);white-space:nowrap;overflow:hidden}
  .rb-mlv-meta > span{flex:none}
  .rb-mlv-meta > span:last-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .rb-mlv-meta b{font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}
  .rb-mlv-dot{color:var(--faint)}
  .rb-mlv-pager{justify-content:flex-start}

  .rb-mlv-advbody{padding:16px 14px 0}
  .rb-mlv-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .rb-mlv-match{grid-template-columns:118px minmax(0,1fr)}
  .rb-mlv-actions{padding:12px 14px}
  .rb-mlv-actions input[type=submit]{flex:1 1 auto}
}

/* ===== parts/mention-suggest.css ===== */
/* ================= MENTION SUGGESTIONS (assets/rb-mentions.js) =================
   Floating list at the caret while a member types @name. The script appends one #rb-msug to <body>,
   positions it with position:fixed, keeps it inside the visual viewport and sets an inline max-height
   so it fits above or below the caret when a phone keyboard is open (the max-height here is the fallback). */
body .rb-msug{position:fixed;top:0;left:0;z-index:10050;box-sizing:border-box;width:max-content;min-width:184px;max-width:min(320px,calc(100vw - 24px));max-height:min(282px,calc(100vh - 24px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 10px 24px rgba(0,0,0,.4);color:var(--fg);font-family:var(--font);font-size:13px;line-height:20px;text-align:left;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
body .rb-msug[hidden]{display:none}
body .rb-msug .rb-msug-item{display:flex;align-items:center;gap:9px;box-sizing:border-box;height:34px;padding:0 12px;cursor:pointer;color:var(--fg);white-space:nowrap;min-width:0}
body .rb-msug .rb-msug-item + .rb-msug-item{border-top:1px solid var(--line)}
body .rb-msug .rb-msug-item.is-active{background:var(--surface-3)}
body .rb-msug .rb-msug-ic{flex:none;width:12px;font-size:11px;line-height:1;text-align:center;color:var(--fg-2)}
body .rb-msug .rb-msug-item.is-active .rb-msug-ic{color:var(--accent-2)}
/* line-height 20px (not 1): overflow:hidden would clip descenders such as g, j, p, y */
body .rb-msug .rb-msug-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:20px;font-weight:400;color:var(--fg)}
body .rb-msug .rb-msug-name b{font-weight:600;color:var(--fg)}
@media (max-width:600px){
  body .rb-msug{min-width:200px}
}

/* ===== parts/mentions.css ===== */
/* ===== @mentions (rb_mentions plugin) =====
   Markup: <a class="rb-mention" data-uid="N" href="/Name"><span class="rb-name-x">@Name</span></a>
   The @ sits inside the group namestyle span, right before the name, so it takes the exact group colour, gradient,
   glow and icon of the name. rb-name-* colours are never touched here. A group without a namestyle gets
   <span class="rb-mention-name">. a.rb-mention[data-uid] (0,2,1) outranks .post_body a, .rb-post-sig a,
   .rb-shout-msg a and the plain .rb-mention rules in 46-shoutbox.css and 70-pro.css. */
a.rb-mention[data-uid]{font-weight:600;text-decoration:none;padding:0 1px;color:var(--link);background:transparent;border-radius:0}
a.rb-mention[data-uid] > *{text-decoration-thickness:1px;text-underline-offset:3px}
.rb-mention-name{color:inherit;white-space:nowrap}
a.rb-mention[data-uid]:hover,a.rb-mention[data-uid]:focus-visible{color:var(--link);text-decoration:none;background:transparent}
/* hover: the name itself gets the underline, drawn in its own colour (gradient names use their solid fallback colour) */
a.rb-mention[data-uid]:hover > *,a.rb-mention[data-uid]:focus-visible > *{text-decoration-line:underline}
a.rb-mention[data-uid]:hover > .rb-name-banned,a.rb-mention[data-uid]:hover > .rb-name-scammer,
a.rb-mention[data-uid]:focus-visible > .rb-name-banned,a.rb-mention[data-uid]:focus-visible > .rb-name-scammer{text-decoration-line:line-through underline}
a.rb-mention[data-uid]:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px;border-radius:2px}
/* phones: a long name (30 chars + @ + group icon) may wrap inside nested quotes and the shoutbox column instead of
   pushing the page sideways; only wrapping changes, never the rb-name-* colours */
@media (max-width:480px){
  a.rb-mention[data-uid],a.rb-mention[data-uid] > *{white-space:normal;overflow-wrap:anywhere}
}

/* ===== parts/mobilenav.css ===== */
/* ---- mobile bottom navigation (footer template: nav.rb-mnav) ----
   Shown only under 761px. Parts load before 70-pro / 80-responsive, so every rule is scoped
   under .rb-shell or .rb-mnav to win on specificity instead of !important.
   html.rb-mnav-off    : bar disabled on this page (login, register, password, activation, maintenance), set by the footer script
   html.rb-mnav-typing : on screen keyboard is up, bar hidden until the field loses focus */
.rb-mnav{display:none}

@media (max-width:760px){
  .rb-shell .rb-mnav{position:fixed;left:0;right:0;bottom:0;z-index:58;display:flex;align-items:stretch;height:calc(58px + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);margin:0;background:var(--surface);border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  /* border-box bar: 1px hairline + 57px items = 58px, the safe area padding sits below the items */
  .rb-mnav .rb-mnav-item{position:relative;flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 2px;color:var(--fg-2);font-size:10.5px;font-weight:500;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
  .rb-mnav .rb-mnav-item:active{background:var(--surface-2)}
  .rb-mnav .rb-mnav-item:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
  .rb-mnav .rb-mnav-ic{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:22px;font-size:18px;line-height:1;color:var(--fg-2)}
  .rb-mnav .rb-mnav-ic .fa-solid{font-size:18px;line-height:1;color:inherit}
  .rb-mnav .rb-mnav-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;color:inherit}
  .rb-mnav .rb-mnav-item.is-active,.rb-mnav .rb-mnav-item.is-active .rb-mnav-ic{color:var(--accent-2)}
  .rb-mnav .rb-mnav-item.is-active::before{content:"";position:absolute;top:-1px;left:22%;right:22%;height:2px;background:var(--accent)}

  /* member / guest items; the :has() rules in 20-layout do this too, the classes cover older browsers */
  .rb-mnav.is-member .rb-guest-only,.rb-mnav.is-guest .rb-member-only{display:none}

  /* unread counters (alerts plugin badge + private messages) */
  .rb-mnav .rb-mnav-ic .rb-count{position:absolute;top:-5px;left:14px;right:auto;min-width:16px;height:16px;padding:0 4px;border-radius:3px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;letter-spacing:0;box-shadow:0 0 0 2px var(--surface)}
  .rb-mnav .rb-mnav-ic .rb-count.is-zero,.rb-mnav .rb-mnav-ic .rb-count:empty{display:none}

  /* "Me": 22px round avatar, user icon when the member has none */
  .rb-mnav .rb-avatar.rb-mnav-av{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);background-color:var(--surface-3);background-size:70%}
  .rb-mnav .rb-avatar.rb-mnav-av img{border-radius:50%}
  .rb-mnav .rb-mnav-me .rb-mnav-ic .fa-user{display:none}
  .rb-mnav.is-noav .rb-mnav-me .rb-mnav-av{display:none}
  .rb-mnav.is-noav .rb-mnav-me .rb-mnav-ic .fa-user{display:inline-block}
  .rb-mnav .rb-mnav-me.is-active .rb-mnav-av{border-color:var(--accent-2)}

  /* keep page content, the floating buttons and the sticky compose bar clear of the bar */
  .rb-shell{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .rb-shell .rb-totop-float{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .rb-shell .rb-spinner{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .rb-shell .rb-compose-bar{bottom:calc(66px + env(safe-area-inset-bottom,0px))}

  /* bar off on this page, or hidden while typing */
  html.rb-mnav-off .rb-shell .rb-mnav,html.rb-mnav-typing .rb-shell .rb-mnav{display:none}
  html.rb-mnav-off .rb-shell{padding-bottom:0}
  html.rb-mnav-off .rb-shell .rb-totop-float{bottom:12px}
  html.rb-mnav-off .rb-shell .rb-spinner{bottom:12px}
  html.rb-mnav-off .rb-shell .rb-compose-bar,html.rb-mnav-typing .rb-shell .rb-compose-bar{bottom:8px}
}

@media (max-width:760px) and (hover:hover){
  .rb-mnav .rb-mnav-item:hover,.rb-mnav .rb-mnav-item:hover .rb-mnav-ic{color:#fff}
  .rb-mnav .rb-mnav-item.is-active:hover,.rb-mnav .rb-mnav-item.is-active:hover .rb-mnav-ic{color:var(--accent-2)}
}

@media print{
  html .rb-shell .rb-mnav{display:none}
  html .rb-shell{padding-bottom:0}
}

/* ===== parts/modcp.css ===== */
/* ===================================================================
   Roidboard — Moderator CP (modcp.php)
   home (awaiting moderation, latest actions, bans ending soon, notes),
   report center, moderation queue, announcements, mod logs, profile
   editor, find user, banning, warning logs, IP search
   =================================================================== */

/* ---- shared UserCP/ModCP two-column shell (identical values to the usercp parts) ---- */
.rb-usercp{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--gap);align-items:start}
.rb-usercp-nav,.rb-usercp-main{min-width:0}
@media (max-width:900px){.rb-usercp{grid-template-columns:minmax(0,1fr)}}

/* main column: cards and forms stack with one gap */
.rb-modcp .rb-usercp-main{display:flex;flex-direction:column;gap:var(--gap)}
.rb-modcp .rb-usercp-main > .rb-card + .rb-card{margin-top:0}
.rb-modcp .rb-usercp-main > form{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-modcp .rb-usercp-main > form > .rb-card + .rb-card{margin-top:0}
.rb-modcp .rb-usercp-main > .error,.rb-modcp .rb-usercp-main > .rb-alert,.rb-modcp .rb-usercp-main > .red_alert,
.rb-modcp .rb-usercp-main > form > .error,.rb-modcp .rb-usercp-main > form > .rb-alert,.rb-modcp .rb-usercp-main > form > .red_alert{margin:0}

/* ---- card head extras ---- */
.rb-mcp-head-note{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mcp-head-note .fa-solid{font-size:12px;opacity:.8;flex:none}
.rb-mcp-sep{display:none}
.rb-mcp-queue-tabs .rb-chip.is-active{background:rgba(255,255,255,.92);border-color:transparent;color:var(--blue-dark)}
.rb-mcp-queue-tabs .rb-chip.is-active .fa-solid{color:inherit}

/* ---- footer strips: action buttons / pager + mass controls ---- */
.rb-mcp-actions{justify-content:flex-end;padding:12px 16px}
.rb-mcp-actions input[name=preview]{order:-1}
.rb-mcp-actions .rb-btn-ghost{margin-right:auto}
.rb-modcp input[type=submit].rb-btn-danger{background:#3a1f1f;border-color:#5a2a2a;color:#ffb3b3}
.rb-modcp input[type=submit].rb-btn-danger:hover{background:#4a2424;border-color:var(--red);color:#fff}
.rb-mcp-foot{justify-content:space-between;gap:10px 16px;padding:10px 16px}
.rb-mcp-foot:not(:has(.rb-mcp-foot-actions)):not(:has(.rb-mcp-mass)):not(:has(.rb-mcp-pager > *)){display:none}
.rb-mcp-pager{min-width:0;display:flex;align-items:center}
.rb-mcp-pager:empty{display:none}
.rb-mcp-pager .pagination{margin:0}
.rb-mcp-foot-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-mcp-pages{padding:0 2px}
.rb-mcp-pages:empty{display:none}

/* ---- data tables inside cards ---- */
table.rb-mcp-table{border:0;border-radius:0}
table.rb-mcp-table td{vertical-align:middle}
table.rb-mcp-table tbody tr:last-child td{border-bottom:0}
.rb-mcp-th-right,.rb-mcp-td-right{text-align:right}
.rb-mcp-td-right{white-space:nowrap}
.rb-mcp-col-check{width:44px;text-align:center}
.rb-mcp-col-check input{margin:0;vertical-align:middle}
table.rb-mcp-table tbody tr.rb-mcp-emptyrow td,table.rb-mcp-table tbody tr.rb-mcp-emptyrow:hover td{padding:0;background:transparent}
.rb-mcp-emptyrow .rb-empty{padding:36px 16px}
table.rb-mcp-table tbody tr.rb-mcp-tfoot td,table.rb-mcp-table tbody tr.rb-mcp-tfoot:hover td{padding:10px 16px;background:#12121a;border-top:1px solid var(--line)}
.rb-mcp-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 8px;border-radius:var(--radius);background:#24242f;border:1px solid var(--line-2);color:#fff;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}

/* ---- home: awaiting moderation ---- */
.rb-mcp-await-labels,.rb-mcp-await-row{display:grid;grid-template-columns:minmax(0,1.1fr) 160px minmax(0,1.6fr);gap:16px;align-items:center}
.rb-mcp-await-labels{padding:9px 16px}
.rb-mcp-await-col{min-width:0}
.rb-mcp-await-col.is-num{text-align:center}
.rb-mcp-await-row{padding:12px 16px;border-top:1px solid var(--line);transition:background .12s}
.rb-mcp-await-row:first-child{border-top:0}
.rb-mcp-await-row:hover{background:var(--surface-2)}
.rb-mcp-await-type{display:flex;align-items:center;gap:12px;min-width:0}
.rb-mcp-await-type a{font-size:15px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mcp-await-type a:hover{color:var(--accent-2)}
.rb-mcp-await-num{text-align:center}
.rb-mcp-await-num b{display:block;font-size:22px;font-weight:700;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.rb-mcp-await-num span{display:none;font-size:12px;color:var(--muted)}
.rb-mcp-await-latest{min-width:0;font-size:13.5px;line-height:1.4}
.rb-mcp-last-subject{display:block;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mcp-last-subject:hover{color:var(--accent-2)}
.rb-mcp-last-subject .fa-solid{font-size:12px;margin-right:6px;color:var(--muted)}
.rb-mcp-last-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px;font-size:12.5px;color:var(--muted)}
.rb-mcp-last-meta .fa-solid{font-size:11px}
.rb-mcp-last-by a{color:var(--fg-2);font-weight:500}
.rb-mcp-last-by a:hover{color:#fff}
.rb-mcp-last-never{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}

/* ---- moderator log rows (home + modlogs) ---- */
.rb-mcp-logtable td{font-size:13.5px}
.rb-mcp-log-user a{font-weight:600;color:#fff}
.rb-mcp-log-user a:hover{color:var(--accent-2)}
.rb-mcp-log-date{color:var(--muted);font-size:13px}
.rb-mcp-log-action{color:var(--fg);font-weight:500}
.rb-mcp-log-info{min-width:200px}
.rb-mcp-log-ref{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;color:var(--fg-2);line-height:1.5}
.rb-mcp-log-ref + .rb-mcp-log-ref{margin-top:3px}
.rb-mcp-log-ref .fa-solid{font-size:11px;color:var(--muted);width:14px;text-align:center;flex:none}
.rb-mcp-log-ref strong{color:var(--muted);font-weight:500;white-space:nowrap}
.rb-mcp-log-ref a{color:var(--fg);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mcp-log-ref a:hover{color:var(--accent-2)}
.rb-mcp-log-ip{white-space:nowrap;font-size:12.5px;color:var(--muted)}

/* ---- bans (home: ending soon / banning page) ---- */
.rb-mcp-ban-name a{font-weight:700;color:#fff}
.rb-mcp-ban-name a:hover{color:var(--accent-2)}
.rb-mcp-ban-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.rb-mcp-chip-xs{height:24px;padding:0 8px;font-size:12px;gap:5px}
.rb-mcp-chip-xs .fa-solid{font-size:10px}
.rb-mcp-ban-reason{color:var(--fg-2);overflow-wrap:anywhere;max-width:460px}
.rb-mcp-ban-length b{display:block;color:#fff;font-weight:600;white-space:nowrap}
.rb-mcp-remaining{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.rb-mcp-remaining.high_banned{color:var(--red)}
.rb-mcp-remaining.moderate_banned{color:var(--orange)}
.rb-mcp-remaining.low_banned{color:var(--amber)}
.rb-mcp-ban-by{white-space:nowrap}
.rb-mcp-ban-by a{color:var(--fg-2);font-weight:500}
.rb-mcp-banreason{min-height:96px}

/* ---- home: moderator notes ---- */
.rb-mcp-notes-area{min-height:200px;font-size:14px;line-height:1.6}

/* ---- report center ---- */
.rb-mcp-report-content{min-width:220px;color:var(--fg-2);line-height:1.5}
.rb-mcp-report-content a{font-weight:600;color:#fff}
.rb-mcp-report-content a:hover{color:var(--accent-2)}
.rb-mcp-report-content .smalltext{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.rb-mcp-report-content .smalltext a{font-weight:500;color:var(--fg-2)}
.rb-mcp-report-reason{color:var(--fg);min-width:140px}
.rb-mcp-reason{display:inline-flex;align-items:center;max-width:100%;height:22px;padding:0 8px;border-radius:var(--radius);background:var(--amber-soft);color:var(--amber);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-mcp-reason-comment{display:block;margin-top:5px;font-size:13px;color:var(--fg-2);line-height:1.45;overflow-wrap:anywhere}
.rb-mcp-report-last{text-align:right;font-size:13px;color:var(--muted);white-space:nowrap;line-height:1.5}
.rb-mcp-report-last a{color:var(--fg-2);font-weight:500}
.rb-mcp-report-last a:hover{color:#fff}
.rb-mcp-reporter{font-weight:600;color:#fff}
.rb-mcp-reporter:hover{color:var(--accent-2)}
.rb-mcp-time{font-size:13px;color:var(--muted)}
table.rb-mcp-table tbody tr.rb-mcp-selectall td.selectall{padding:9px 16px;text-align:center;font-size:13px;color:var(--fg);background:var(--blue-soft);border-bottom:1px solid var(--line)}
.rb-mcp-selectall td.selectall .fa-solid{color:var(--accent-2);margin-right:7px}
.rb-mcp-selectall td.selectall a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.rb-mcp-selectall td.selectall strong{color:#fff}

/* ---- moderation queue ---- */
.rb-mcp-queue-labels,.rb-mcp-queue-head{display:grid;grid-template-columns:minmax(0,1fr) 200px 180px;gap:14px;align-items:center}
.rb-mcp-queue-labels.is-attachments,.rb-mcp-queue-head.is-attachments{grid-template-columns:minmax(0,1fr) 170px 150px 300px}
.rb-mcp-queue-labels{padding:9px 16px}
.rb-mcp-queue-col{min-width:0}
.rb-mcp-queue-col.is-controls{text-align:right}
.rb-mcp-queue-item{border-top:1px solid var(--line)}
.rb-mcp-queue-item:first-child{border-top:0}
.rb-mcp-queue-head{padding:12px 16px}
.rb-mcp-queue-head .rb-mcp-queue-col.is-author,.rb-mcp-queue-head .rb-mcp-queue-col.is-date{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-mcp-queue-head .rb-mcp-queue-col > .fa-solid{font-size:11px;color:var(--faint);flex:none}
.rb-mcp-queue-head .rb-mcp-queue-col.is-author a{color:var(--fg-2);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.rb-mcp-queue-head .rb-mcp-queue-col.is-author a:hover{color:#fff}
.rb-mcp-queue-subject{font-size:15px;font-weight:700;color:#fff;overflow-wrap:anywhere;line-height:1.3}
.rb-mcp-queue-subject:hover{color:var(--accent-2)}
.rb-mcp-queue-subject .fa-solid{font-size:12px;color:var(--muted);margin-right:7px}
.rb-mcp-queue-size{font-size:12.5px;color:var(--muted)}
.rb-mcp-queue-body{padding:0 16px 12px}
.rb-mcp-queue-where{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:8px;font-size:12.5px;color:var(--muted)}
.rb-mcp-queue-where:empty{display:none}
.rb-mcp-where{display:inline-flex;align-items:center;gap:6px;min-width:0}
.rb-mcp-where .fa-solid{font-size:11px;color:var(--faint)}
.rb-mcp-where strong{color:var(--muted);font-weight:500}
.rb-mcp-where a{color:var(--fg-2);font-weight:500}
.rb-mcp-where a:hover{color:#fff}
small.rb-mcp-queue-where{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12.5px}
small.rb-mcp-queue-where .fa-solid{font-size:11px;color:var(--faint)}
small.rb-mcp-queue-where a{color:var(--fg-2);font-weight:500}
small.rb-mcp-queue-where a:hover{color:#fff}
.rb-mcp-queue-text{padding:12px 14px;border-radius:var(--radius);background:#12121a;border:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--fg-2);max-height:260px;overflow:auto;overflow-wrap:anywhere}
.rb-mcp-queue-text img{max-width:100%;height:auto}
.rb-mcp-queue-controls{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding:0 16px 14px}
.rb-mcp-queue-head .rb-mcp-queue-controls{padding:0}
/* approve / delete / ignore radios rendered as segmented buttons (inputs stay in the DOM for MyBB + mass controls) */
.rb-mcp-radio{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.rb-mcp-radio input{position:absolute;opacity:0;width:0;height:0;margin:0}
.rb-mcp-radio span{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:var(--radius);border:1px solid var(--line-2);background:#25252f;color:var(--fg-2);font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;user-select:none;white-space:nowrap}
.rb-mcp-radio span .fa-solid{font-size:12px;color:var(--muted)}
.rb-mcp-radio:hover span{background:#33334a;color:#fff}
.rb-mcp-radio input:focus-visible + span{box-shadow:0 0 0 2px var(--accent-ring)}
.rb-mcp-radio.is-ignore input:checked + span{background:#30303f;border-color:#44445a;color:#fff}
.rb-mcp-radio.is-delete input:checked + span{background:#7a2626;border-color:#7a2626;color:#fff}
.rb-mcp-radio.is-approve input:checked + span{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.rb-mcp-radio input:checked + span .fa-solid{color:inherit}
.rb-mcp-queue-empty{padding:40px 20px}
.rb-mcp-queue-empty.is-all{padding:48px 20px}
.rb-mcp-queue-empty.is-all .fa-solid{color:var(--green)}
/* mass controls */
.rb-mcp-mass{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.rb-mcp-mass .rb-chip.is-danger:hover{background:#3a1f1f;border-color:#5a2a2a;color:#ffb3b3}
.rb-mcp-mass .rb-chip.is-success:hover{background:var(--green-soft);border-color:var(--green-line);color:var(--green-text)}
.rb-mcp-queue-foot .rb-mcp-mass{margin-left:auto}
.rb-mcp-queue-foot .rb-mcp-foot-actions{margin-left:0}

/* ---- announcements ---- */
.rb-mcp-ann-indent{display:flex;align-items:center;gap:9px;min-width:0}
.rb-mcp-ann-folder{color:var(--accent-2);font-size:13px;flex:none}
table.rb-mcp-ann-table tbody tr.rb-mcp-ann-forum td,table.rb-mcp-ann-table tbody tr.rb-mcp-ann-forum:hover td{background:#13131b}
.rb-mcp-ann-forum strong{color:#fff;font-size:14px}
.rb-mcp-ann-subject{font-weight:600;color:var(--fg);overflow-wrap:anywhere}
.rb-mcp-ann-subject:hover{color:var(--accent-2)}
.rb-mcp-ann-state{flex:none}
.rb-mcp-ann-ctl{justify-content:flex-end;flex-wrap:nowrap}
.rb-mcp-ann-form textarea#message{min-height:300px}

/* ---- forms: label | control grid helpers ---- */
.rb-mcp-fields > .rb-fields-control{min-width:0}
.rb-mcp-static{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 2px;color:var(--fg);font-size:14px}
.rb-mcp-static .fa-solid{color:var(--muted);font-size:13px}
.rb-mcp-static strong a{color:#fff}
.rb-mcp-static strong a:hover{color:var(--accent-2)}
.rb-mcp-daterow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.rb-mcp-daterow select{width:auto;min-width:0}
.rb-modcp .rb-mcp-fields .rb-mcp-daterow select.rb-mcp-date-day{width:84px}
.rb-modcp .rb-mcp-fields .rb-mcp-daterow select.rb-mcp-date-month{width:140px}
.rb-modcp .rb-mcp-fields .rb-mcp-daterow .textbox.rb-mcp-date-year{width:84px}
.rb-modcp .rb-mcp-fields .rb-mcp-daterow .textbox.rb-mcp-date-time{width:110px}
.rb-mcp-timegroup{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.rb-mcp-datesep{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
.rb-mcp-datesep .fa-solid{font-size:11px}
.rb-mcp-endopts{display:flex;flex-direction:column;gap:10px}
.rb-mcp-endopt{display:flex;align-items:flex-start;gap:10px;cursor:pointer;min-width:0;color:var(--fg-2)}
.rb-mcp-endopt > input{flex:none;margin:11px 0 0}
.rb-mcp-endopt.is-never{align-items:center}
.rb-mcp-endopt.is-never > input{margin-top:0}
.rb-mcp-endopt.is-never span{display:inline-flex;align-items:center;gap:7px}
.rb-mcp-endopt.is-never .fa-solid{font-size:12px;color:var(--muted)}
.rb-mcp-editor{display:flex;flex-direction:column;gap:8px;min-width:0}
.rb-mcp-smilies:empty{display:none}
.rb-mcp-sortrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-mcp-sortrow select{width:auto;min-width:0;max-width:100%}
.rb-mcp-sortword{font-size:13px;color:var(--muted)}
.rb-modcp .rb-mcp-fields .rb-fields-control .textbox.rb-mcp-num{width:96px}
.rb-mcp-forumselect select{width:100%}
.rb-mcp-userpick .select2-container{width:100%;min-width:0}

/* ---- confirm (delete announcement) ---- */
.rb-mcp-confirm-body{display:flex;align-items:flex-start;gap:16px;padding:6px 2px}
.rb-mcp-confirm-body > .fa-solid{flex:none;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--red-soft);color:var(--red);font-size:20px}
.rb-mcp-confirm-body b{display:block;font-size:16px;color:#fff;overflow-wrap:anywhere}
.rb-mcp-confirm-body p{margin:6px 0 0;color:var(--fg-2);font-size:14px;line-height:1.55}

/* ---- find user ---- */
.rb-mcp-user-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff}
.rb-mcp-user-link .fa-solid{font-size:12px;color:var(--muted)}
.rb-mcp-user-link:hover{color:var(--accent-2)}

/* ---- IP search ---- */
.rb-mcp-ip{white-space:nowrap;color:#fff}
.rb-mcp-ipres{color:var(--fg-2);line-height:1.5}
.rb-mcp-ipres a{font-weight:600;color:#fff}
.rb-mcp-ipres a:hover{color:var(--accent-2)}
.rb-mcp-ipres-label{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font-size:12.5px;color:var(--muted);font-weight:500;white-space:nowrap}
.rb-mcp-ipres-label .fa-solid{font-size:11px}
.rb-mcp-ipres-by{color:var(--muted);font-size:13px}
.rb-mcp-ipres-by a{font-weight:500;color:var(--fg-2)}
.rb-mcp-iptools{margin-left:auto}
.rb-mcp-ipkv dt{display:flex;align-items:center;gap:8px}
.rb-mcp-ipkv dt .fa-solid{font-size:12px;color:var(--accent-2)}

/* ---- warning logs ---- */
.rb-mcp-warn-user a,.rb-mcp-warn-by a{font-weight:600;color:#fff}
.rb-mcp-warn-user a:hover,.rb-mcp-warn-by a:hover{color:var(--accent-2)}
.rb-mcp-points{color:var(--amber);font-weight:600;white-space:nowrap}
.rb-mcp-warn-expires{white-space:nowrap}
.rb-mcp-revoked{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:5px;font-size:12.5px;color:var(--muted)}

/* ---- profile editor ---- */
.rb-mcp-profile-user{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mcp-profile-user .fa-solid{font-size:12px;opacity:.8}
.rb-mcp-profile-user a{color:#fff;font-weight:700}
.rb-mcp-profile-grid{margin-bottom:var(--gap)}
.rb-mcp-profile .rb-card-body > fieldset.rb-opt-group + fieldset.rb-opt-group{margin-top:var(--gap)}
.rb-mcp-optcheck{margin-bottom:14px}
.rb-mcp-title-kv{margin:0 0 14px;font-size:13.5px;gap:6px 16px}
.rb-mcp-title-kv dd strong{color:#fff}
.rb-mcp-modopt{padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:#12121a}
.rb-mcp-modopt + .rb-mcp-modopt{margin-top:10px}
.rb-mcp-modopt-toggle{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--fg)}
.rb-mcp-modopt-toggle input{margin:0;flex:none}
.rb-mcp-modopt-toggle strong{color:inherit}
.rb-mcp-modopt-action{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2)}
.rb-mcp-susp-info{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px 11px;border-radius:var(--radius);background:var(--amber-soft);color:var(--amber);font-size:13px;line-height:1.5}
.rb-mcp-susp-info .fa-solid{flex:none;margin-top:3px;font-size:12px}
.rb-mcp-susp-info em{font-style:normal}
.rb-mcp-period-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-mcp-period-label{font-size:13px;color:var(--muted);white-space:nowrap}
.rb-mcp-period-row .textbox.rb-mcp-period-num{width:72px;min-width:0}
.rb-mcp-period-row select.rb-mcp-period-unit{width:auto;min-width:0}
.rb-mcp-sig-editor{min-width:0}
.rb-mcp-sig-editor textarea{min-height:220px}
.rb-mcp-sigsusp{margin-top:14px}
.rb-mcp-usernotes{min-height:180px}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-mcp-await-labels,.rb-mcp-await-row{grid-template-columns:minmax(0,1fr) 120px minmax(0,1.4fr)}
  .rb-mcp-queue-labels,.rb-mcp-queue-head{grid-template-columns:minmax(0,1fr) 160px 150px}
  .rb-mcp-queue-labels.is-attachments,.rb-mcp-queue-head.is-attachments{grid-template-columns:minmax(0,1fr) 140px 120px}
  .rb-mcp-queue-labels.is-attachments .is-controls{display:none}
  .rb-mcp-queue-head.is-attachments .rb-mcp-queue-controls{grid-column:1 / -1;justify-content:flex-start}
  .rb-mcp-ban-reason{max-width:300px}
}
@media (max-width:760px){
  .rb-mcp-await-labels,.rb-mcp-queue-labels{display:none}
  .rb-mcp-await-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:12px 14px}
  .rb-mcp-await-latest{grid-column:1 / -1;padding-top:8px;border-top:1px dashed var(--line-2)}
  .rb-mcp-await-num{display:flex;align-items:baseline;gap:6px;text-align:right}
  .rb-mcp-await-num b{font-size:18px}
  .rb-mcp-await-num span{display:inline}
  .rb-mcp-queue-head,.rb-mcp-queue-head.is-attachments{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px;padding:12px 14px}
  .rb-mcp-queue-head .rb-mcp-queue-col.is-subject{grid-column:1 / -1}
  .rb-mcp-queue-head .rb-mcp-queue-col.is-author{margin-top:4px}
  .rb-mcp-queue-head .rb-mcp-queue-col.is-date{margin-top:4px;justify-content:flex-end}
  .rb-mcp-queue-head.is-attachments .rb-mcp-queue-controls{grid-column:1 / -1;margin-top:8px}
  .rb-mcp-queue-body{padding:0 14px 12px}
  .rb-mcp-queue-controls{padding:0 14px 12px}
  .rb-mcp-radio{flex:1 1 auto}
  .rb-mcp-radio span{width:100%;justify-content:center}
  .rb-mcp-foot{flex-direction:column;align-items:stretch}
  .rb-mcp-foot-actions{margin-left:0}
  .rb-mcp-foot-actions .button{flex:1 1 auto}
  .rb-mcp-queue-foot .rb-mcp-mass{margin-left:0}
  .rb-mcp-actions{padding:10px 12px}
  .rb-mcp-actions .rb-btn,.rb-mcp-actions .button,.rb-mcp-actions input[type=submit]{flex:1 1 auto}
  .rb-mcp-actions .rb-btn-ghost{margin-right:0}
  table.rb-mcp-table td,table.rb-mcp-table th{padding:9px 10px}
  .rb-mcp-col-check{width:36px}
  .rb-mcp-report-last{white-space:normal}
  .rb-mcp-ann-ctl .rb-btn span{display:none}
  .rb-mcp-ann-ctl .rb-btn{width:30px;padding:0}
  .rb-mcp-ann-forum .rb-btn span{display:none}
  .rb-mcp-ann-forum .rb-btn{width:30px;padding:0}
  .rb-mcp-emptyrow .rb-empty{padding:28px 12px}
  /* moderator log (modlogs page + "5 latest actions" card): the 5 column table was about 800px wide, so the action
     wrapped one word per line and the details sat off screen. On phones every entry is one stacked block:
     moderator and date, action, thread / forum / post, IP. Selectors carry tbody tr td so they beat 70-pro. */
  .rb-mcp-logtable,.rb-mcp-logtable > tbody{display:block;width:100%;min-width:0}
  .rb-mcp-logtable > thead{display:none}
  table.rb-mcp-logtable > tbody > tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"user date" "action action" "info info" "ip ip";gap:3px 12px;align-items:baseline;padding:11px 12px;border-bottom:1px solid var(--line)}
  table.rb-mcp-logtable > tbody > tr:last-child{border-bottom:0}
  table.rb-mcp-logtable > tbody > tr:hover{background:var(--surface-2)}
  table.rb-mcp-logtable > tbody > tr > td,table.rb-mcp-logtable > tbody > tr:hover > td{display:block;min-width:0;padding:0;border:0;background:transparent}
  table.rb-mcp-logtable td.rb-mcp-log-user{grid-area:user;overflow-wrap:anywhere}
  table.rb-mcp-logtable td.rb-mcp-log-date{grid-area:date;font-size:12px;text-align:right}
  table.rb-mcp-logtable td.rb-mcp-log-action{grid-area:action}
  table.rb-mcp-logtable td.rb-mcp-log-info{grid-area:info}
  table.rb-mcp-logtable td.rb-mcp-log-info:empty{display:none}
  table.rb-mcp-logtable td.rb-mcp-log-ip{grid-area:ip;font-size:12px}
  /* empty and pager rows stay full width blocks */
  table.rb-mcp-logtable > tbody > tr.rb-mcp-emptyrow,table.rb-mcp-logtable > tbody > tr.rb-mcp-tfoot{display:block;padding:0}
  table.rb-mcp-logtable > tbody > tr.rb-mcp-tfoot > td{padding:10px 12px}
}
@media (max-width:480px){
  .rb-mcp-await-row{padding:10px 12px}
  .rb-mcp-queue-head,.rb-mcp-queue-head.is-attachments{padding:10px 12px}
  .rb-mcp-queue-subject{font-size:14px}
  .rb-mcp-queue-text{max-height:200px;font-size:13.5px}
  .rb-mcp-sortrow select{flex:1 1 120px}
  .rb-mcp-confirm-body{flex-direction:column;align-items:flex-start}
  .rb-mcp-mass .rb-chip{flex:1 1 auto;justify-content:center}
  .rb-modcp .rb-mcp-fields .rb-mcp-daterow select.rb-mcp-date-month{width:120px}
}

/* ===== parts/moderation.css ===== */
/* ================= MODERATION / REPORTS / WARNINGS / REPUTATION / MANAGE GROUP ================= */

/* ---- page shell: centred column of cards ---- */
.rb-mod-page{width:100%;max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-mod-page.is-wide{max-width:1040px}
.rb-mod-page.is-full{max-width:none}
.rb-mod-page > .rb-card + .rb-card,.rb-mod-page > form > .rb-card + .rb-card{margin-top:0}
.rb-mod-page > form{display:flex;flex-direction:column;gap:var(--gap);min-width:0;margin:0}
.rb-mod-page > .rb-alert,.rb-mod-page > .error,.rb-mod-page > .red_alert,.rb-mod-page > form > .error,.rb-mod-page > form > .rb-alert{margin:0}
.rb-mod-page > .pagination{padding:0 2px}
.rb-mod-page .rb-card-title{flex-wrap:nowrap}
.rb-mod-page .rb-card-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rb-mod-page .rb-card-tools .rb-badge{height:24px;font-size:11.5px}

/* tables inside flush cards */
.rb-mod-page .rb-card > .rb-table-wrap > table.rb-table,.rb-mod-page .rb-card > form > .rb-table-wrap > table.rb-table{border:0;border-radius:0}
.rb-mod-page table.rb-table th.rb-center,.rb-mod-page table.rb-table td.rb-center{text-align:center}
.rb-mod-page table.rb-table td.rb-nowrap{white-space:nowrap}
.rb-mod-page table.rb-table td{vertical-align:middle}
.rb-mod-page table.rb-table td .rb-empty{padding:30px 16px}
.rb-mod-page table.rb-table .rb-btn-sm{vertical-align:middle}
.rb-mod-page table.rb-table td.rb-mod-cell-user a{color:#fff;font-weight:600}
.rb-mod-page table.rb-table td.rb-mod-cell-user a:hover{color:var(--accent-2)}
.rb-mod-page .rb-mod-value.rb-mod-cell-user a,.rb-mod-page dd.rb-mod-cell-user a{color:#fff;font-weight:600}
.rb-mod-page .rb-mod-value.rb-mod-cell-user a:hover,.rb-mod-page dd.rb-mod-cell-user a:hover{color:var(--accent-2)}
.rb-mod-page table.rb-table td.rb-mod-cell-action{font-weight:600;color:var(--fg)}
.rb-mod-page table.rb-table td.rb-mod-cell-info{font-size:13px;line-height:1.5}
.rb-mod-page table.rb-table th.rb-mod-th-min,.rb-mod-page table.rb-table td.rb-mod-td-min{width:1%;white-space:nowrap}

/* button strip at the bottom of a form card */
.rb-mod-foot{justify-content:flex-end;padding:12px 16px}
.rb-mod-foot.is-between{justify-content:space-between}
.rb-mod-foot .button,.rb-mod-foot .rb-btn{height:38px}
.rb-mod-page input[type=submit].rb-btn-danger,.rb-mod-page input[type=button].rb-btn-danger{background:#3a1f1f;border-color:#5a2a2a;color:#ffb3b3}
.rb-mod-page input[type=submit].rb-btn-danger:hover,.rb-mod-page input[type=button].rb-btn-danger:hover{background:#4a2424;border-color:var(--red);color:#fff}
.rb-mod-page .rb-card-body > .rb-field:first-child{margin-bottom:16px}

/* description paragraph inside a card body */
.rb-mod-desc{font-size:14px;color:var(--fg-2);line-height:1.55;margin:0 0 16px}
.rb-mod-desc:last-child{margin-bottom:0}
.rb-mod-desc:empty{display:none}

/* label | control grid */
.rb-mod-page .rb-fields{gap:14px 20px;grid-template-columns:200px minmax(0,1fr)}
.rb-mod-page .rb-fields > .rb-label{padding-top:9px;align-items:flex-start}
.rb-mod-ctl{min-width:0;display:flex;flex-direction:column;gap:8px}
.rb-mod-ctl > .rb-help{margin:0}
.rb-mod-ctl textarea{min-height:140px}
.rb-mod-value{min-height:38px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--fg);overflow-wrap:anywhere}
.rb-mod-value a{color:var(--accent-2);font-weight:500}
.rb-mod-value a:hover{color:#fff}
.rb-mod-value .fa-solid{color:var(--muted);font-size:12px}
.rb-mod-notes-area{min-height:200px}

/* confirm pages (delete thread / posts / poll, execute tool, purge spammer) */
.rb-mod-confirm .rb-card-title .fa-solid{color:#ff8a8a}
.rb-mod-confirm-text{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);background:var(--red-soft);border:1px solid rgba(248,113,113,.28);color:var(--fg);font-size:14px;line-height:1.55}
.rb-mod-confirm-text > .fa-solid{color:var(--red);font-size:18px;flex:none;margin-top:2px}
.rb-mod-confirm-text > div{min-width:0}
.rb-mod-confirm-text strong{color:#fff}
.rb-mod-confirm-text + .rb-field{margin-top:16px}
.rb-mod-confirm.is-neutral .rb-card-title .fa-solid{color:var(--accent-2)}
.rb-mod-confirm.is-neutral .rb-mod-confirm-text{background:var(--accent-soft);border-color:rgba(59,125,221,.3)}
.rb-mod-confirm.is-neutral .rb-mod-confirm-text > .fa-solid{color:var(--accent-2)}

/* date / time controls on one line */
.rb-mod-when{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-mod-when select{width:auto;min-width:0;flex:0 1 auto}
.rb-mod-when input.textbox{width:auto;min-width:0}
.rb-mod-when input.textbox.rb-mod-when-year{width:86px}
.rb-mod-when input.textbox.rb-mod-when-time{width:116px}
.rb-mod-when .rb-mod-when-sep{color:var(--muted);font-size:13px;font-weight:600}

/* stacked radio choices with an optional expandable body (delayed moderation types, warning types) */
.rb-mod-types{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.rb-mod-type{border:1px solid var(--line);border-radius:var(--radius);background:#12121a;overflow:hidden;min-width:0}
.rb-mod-type > .rb-check{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:14px;color:var(--fg-2);cursor:pointer;transition:background .12s,color .12s}
.rb-mod-type > .rb-check:hover{background:var(--surface-2);color:#fff}
.rb-mod-type > .rb-check strong{color:#fff;font-weight:600}
.rb-mod-type > .rb-check small{color:var(--muted);font-size:12px}
.rb-mod-type > .rb-check input{margin:0;flex:none}
.rb-mod-type:has(> .rb-check input:checked){border-color:rgba(59,125,221,.45)}
.rb-mod-type:has(> .rb-check input:checked) > .rb-check{background:var(--accent-soft);color:#fff}
.rb-mod-type-body{padding:12px 14px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.rb-mod-type-body .rb-field{margin:0}
.rb-mod-type-body .rb-help{margin:0}
.rb-mod-sub{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* method radios (move / redirect / copy) with an inline day count input */
.rb-mod-methods{display:flex;flex-direction:column;gap:8px}
.rb-mod-method{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.rb-mod-method .rb-check{flex:0 1 auto}
.rb-mod-method input.textbox{width:72px;height:32px;padding:0 10px;flex:none}
.rb-mod-method .rb-help{font-size:12.5px}
.rb-mod-ctl .rb-checks .rb-check{font-size:14px}

/* "Label: value" info fragments inside mod-log tables */
.rb-mod-info{display:block;font-size:13px;color:var(--fg-2);line-height:1.55}
.rb-mod-info b{color:var(--muted);font-weight:600;margin-right:4px}
.rb-mod-info a{color:var(--fg);font-weight:500}
.rb-mod-info a:hover{color:var(--accent-2)}

/* selectable post list (split / merge posts) */
.rb-mod-posts{display:flex;flex-direction:column;gap:12px}
.rb-mod-post{border:1px solid var(--line);border-radius:var(--radius);background:#12121a;overflow:hidden;min-width:0;transition:border-color .12s}
.rb-mod-post-head{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2);cursor:pointer;margin:0}
.rb-mod-post-head input{margin:0;flex:none}
.rb-mod-post-head b{color:#fff;font-weight:600}
.rb-mod-post-by{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-mod-post-date{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}
.rb-mod-post-body{padding:12px 14px;font-size:14px;line-height:1.55;color:var(--fg);overflow-wrap:anywhere;max-height:320px;overflow:auto}
.rb-mod-post:has(input:checked){border-color:rgba(59,125,221,.45)}
.rb-mod-post:has(input:checked) .rb-mod-post-head{background:var(--accent-soft);color:#fff}

/* IP lookup pages / modals */
.rb-mod-page .rb-kv.is-wide,.modal .rb-kv.is-wide{grid-template-columns:180px minmax(0,1fr);gap:12px 18px;align-items:center}
.modal .rb-kv.is-wide{grid-template-columns:150px minmax(0,1fr)}
.rb-kv dt .rb-help{display:block;font-weight:400;font-size:12px}
.rb-mod-ip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:13.5px;color:#fff;background:#25252f;border:1px solid var(--line-2);border-radius:var(--radius-xs);padding:3px 9px;line-height:1.5}
.rb-mod-links{display:flex;flex-direction:column;gap:6px}
.rb-mod-links a{display:inline-flex;align-items:center;gap:9px;color:var(--fg-2);font-size:13.5px;font-weight:500}
.rb-mod-links a .fa-solid{width:16px;text-align:center;color:var(--muted);font-size:12px}
.rb-mod-links a:hover{color:#fff}
.rb-mod-links a:hover .fa-solid{color:var(--accent-2)}
.rb-mod-notes-view{font-size:14px;line-height:1.6;color:var(--fg);overflow-wrap:anywhere}

/* ================= WARNINGS ================= */
.rb-warn-level{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;border-radius:var(--radius);background:var(--blue-dark);color:#fff;font-size:12.5px;white-space:nowrap}
.rb-warn-level .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-warn-level strong{color:#fff}
/* warnings.php blanks $lang->current_warning_level at 0 points; the filled string always has a <strong>, so without it
   the tools slot would only hold the gauge icon in an empty blue box */
.rb-warnlog .rb-card-tools:not(:has(strong)){display:none}
.rb-warn-cell{font-weight:600;color:#fff}
.rb-warn-pts{color:var(--muted);font-size:12.5px;font-weight:400;margin-left:6px;white-space:nowrap}
.rb-warn-postlink{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:400}
.rb-warn-postlink a{color:var(--fg-2)}
.rb-warn-postlink a:hover{color:#fff}
.rb-mod-page table.rb-table td.trow_sep{padding:7px 16px;background:#12121a;color:#a7a7b8;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.rb-warn-sep-label{display:inline-flex;align-items:center;gap:8px}
.rb-warn-sep-label .fa-solid{font-size:11px}
.rb-warn-sep.is-active .fa-solid{color:var(--amber)}
.rb-warn-sep.is-expired .fa-solid{color:var(--faint)}
.rb-warn-status{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--radius);background:var(--blue-dark);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.rb-warn-status .fa-solid{font-size:10px;color:var(--accent-2)}
.rb-warn-kv dd{font-size:14px}
.rb-warn-kv dd .rb-warn-cell{font-weight:600}
.rb-warn-notes{line-height:1.6;overflow-wrap:anywhere}
.rb-warn-revoked .rb-card-title .fa-solid{color:var(--green)}
.rb-warn-revoke .rb-card-title .fa-solid{color:#ff8a8a}
.rb-warn-revoke textarea{min-height:110px}
/* warning type choices */
.rb-warn-types .rb-mod-type > .rb-check strong{font-weight:600}
.rb-warn-level-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--fg-2)}
.rb-warn-level-row b{color:#fff;font-size:14px;font-variant-numeric:tabular-nums}
.rb-warn-level-label{color:var(--muted)}
.rb-warn-bar{position:relative;display:flex;width:180px;max-width:100%;height:10px;border-radius:var(--radius-xs);background:#25252f;border:1px solid var(--line-2);overflow:hidden;flex:none}
.rb-warn-bar-cur{display:block;height:100%;background:var(--amber);flex:none}
.rb-warn-bar-add{display:block;height:100%;background:var(--red);flex:none}
.rb-warn-result{font-size:13px;color:var(--fg-2);padding:8px 12px;border-radius:var(--radius-xs);background:var(--amber-soft);border-left:3px solid var(--amber);line-height:1.5}
.rb-warn-result b{color:#fff;margin-right:4px}
.rb-warn-custom-grid{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px 12px}
.rb-warn-custom-grid .rb-field{margin:0}
.rb-warn-expires{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-warn-expires input.textbox{width:84px;flex:none}
.rb-warn-expires select{width:auto;flex:0 1 auto}
/* PM notify block */
.rb-warn-pm{display:flex;flex-direction:column;gap:12px;margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#12121a}
.rb-warn-pm .rb-field{margin:0}
.rb-warn-pm textarea{min-height:220px}
.rb-warn-pm .rb-check{align-items:flex-start;line-height:1.4}
.rb-warn-pm .rb-check input{margin-top:2px}

/* ================= REPUTATION ================= */
.rb-rep-head .rb-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:start;padding:18px 20px}
.rb-rep-user{min-width:0}
.rb-rep-name{font-size:22px;font-weight:700;color:#fff;line-height:1.2;overflow-wrap:anywhere}
.rb-rep-name a{color:#fff}
.rb-rep-title{font-size:13.5px;color:var(--muted);margin-top:3px}
.rb-rep-title:empty{display:none}
.rb-rep-total{display:flex;align-items:center;gap:14px;margin-top:16px}
.rb-rep-total .repbox{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:52px;padding:0 16px;border-radius:var(--radius);font-size:24px;font-weight:700;background:#25252f;border:1px solid var(--line-2);color:var(--fg-2);font-variant-numeric:tabular-nums;line-height:1}
.rb-rep-total .repbox.reputation_positive{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}
.rb-rep-total .repbox.reputation_negative{background:var(--red-soft);border-color:rgba(248,113,113,.4);color:var(--red)}
.rb-rep-total-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.rb-rep-sources{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:13px;color:var(--muted)}
.rb-rep-sources span{display:inline-flex;align-items:center;gap:7px}
.rb-rep-sources .fa-solid{font-size:11px}
.rb-rep-sources b{color:var(--fg);font-variant-numeric:tabular-nums}
.rb-rep-matrix{display:grid;grid-template-columns:auto repeat(3,minmax(68px,auto));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#12121a;font-size:13px;min-width:320px}
.rb-rep-matrix > span{padding:8px 12px;border-bottom:1px solid var(--line);text-align:center;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-rep-matrix > span:nth-child(4n+1){text-align:left;color:var(--muted);background:var(--surface)}
.rb-rep-matrix > span:nth-child(-n+4){background:var(--surface-2);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rb-rep-matrix > span:nth-last-child(-n+4){border-bottom:0}
.rb-rep-matrix .reputation_positive{color:var(--green)}
.rb-rep-matrix .reputation_neutral{color:var(--fg-2)}
.rb-rep-matrix .reputation_negative{color:var(--red)}
/* comments list */
.rb-rep-list{display:flex;flex-direction:column;min-width:0}
.rb-rep-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 14px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:start;transition:background .12s}
.rb-rep-row:last-child{border-bottom:0}
.rb-rep-row:hover{background:var(--surface-2)}
.rb-rep-row.trow_reputation_positive{box-shadow:inset 3px 0 0 var(--green)}
.rb-rep-row.trow_reputation_negative{box-shadow:inset 3px 0 0 var(--red)}
.rb-rep-row.trow_reputation_neutral{box-shadow:inset 3px 0 0 var(--line-2)}
.rb-rep-sign{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);font-size:22px;font-weight:700;background:#25252f;color:var(--fg-2);grid-row:1 / span 2;line-height:1}
.rb-rep-sign::before{content:"0"}
.rb-rep-sign.reputation_positive{background:var(--green-soft);color:var(--green)}
.rb-rep-sign.reputation_positive::before{content:"+"}
.rb-rep-sign.reputation_negative{background:var(--red-soft);color:var(--red)}
.rb-rep-sign.reputation_negative::before{content:"\2212"}
.rb-rep-row-main{min-width:0}
.rb-rep-row-user{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;font-size:14.5px;font-weight:700;color:#fff;line-height:1.3}
.rb-rep-row-user a{color:#fff}
.rb-rep-row-user a:hover{color:var(--accent-2)}
.rb-rep-row-user .smalltext{font-weight:400;color:var(--muted);font-size:12.5px}
.rb-rep-row-user .smalltext strong{font-weight:600}
.rb-rep-row-given{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.5}
.rb-rep-row-given:empty{display:none}
.rb-rep-row-given a{color:var(--fg-2)}
.rb-rep-row-given a:hover{color:#fff}
.rb-rep-row-comment{grid-column:2 / span 2;font-size:14px;color:var(--fg);line-height:1.5;margin-top:2px;overflow-wrap:anywhere}
.rb-rep-row-comment strong{margin-right:4px;white-space:nowrap}
.rb-rep-row-actions{display:flex;gap:6px;justify-content:flex-end;align-self:start}
.rb-rep-row-actions:empty{display:none}
.rb-rep-row-actions .rb-btn{height:28px;padding:0 9px;font-size:12.5px;color:var(--fg-2)}
.rb-rep-row-actions .rb-btn .fa-solid{font-size:11px;color:var(--muted)}
.rb-rep-row-actions .rb-btn:hover .fa-solid{color:inherit}
.rb-rep-row-actions .postbit_qdelete:hover{border-color:var(--red);color:#fff}
/* filter strip under the comments list */
.rb-rep-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#12121a;border-top:1px solid var(--line)}
.rb-rep-filter form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;width:100%}
.rb-rep-filter .fa-solid{color:var(--muted);font-size:13px}
.rb-rep-filter select{width:auto;height:34px;flex:1 1 180px;min-width:0}
.rb-rep-filter .button{height:34px}
/* add / update rating modal */
.rb-rep-modal .rb-rep-postinfo{margin-bottom:12px}
.rb-rep-modal .rb-rep-postinfo:empty{display:none}
.rb-rep-modal .rb-field{margin-bottom:14px}
.rb-rep-modal .rb-field:last-child{margin-bottom:0}
.rb-rep-modal select#reputation.reputation_positive{color:var(--green);border-color:var(--green-line)}
.rb-rep-modal select#reputation.reputation_negative{color:var(--red);border-color:rgba(248,113,113,.5)}
.rb-rep-modal select#reputation.reputation_neutral{color:var(--fg-2)}
.rb-rep-modal option.reputation_positive{color:var(--green)}
.rb-rep-modal option.reputation_negative{color:var(--red)}
.rb-rep-modal option.reputation_neutral{color:var(--fg-2)}
/* result / message blocks (standalone page or injected into the modal) */
.rb-rep-result,.rb-report-result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);max-width:640px}
.modal .rb-rep-result,.modal .rb-report-result{border:0;border-radius:0;box-shadow:none;background:transparent;max-width:none}
.rb-rep-result .rb-modal-head,.rb-report-result .rb-modal-head,.rb-report-modal .rb-modal-head{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(90deg,rgba(59,125,221,.13),rgba(59,125,221,0) 60%),var(--surface-2);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--accent);font-size:15px;font-weight:700;color:#fff}
.rb-rep-result .rb-modal-head .fa-solid,.rb-report-result .rb-modal-head .fa-solid{color:var(--accent-2)}
.rb-rep-result.is-success .rb-modal-head,.rb-report-result.is-success .rb-modal-head{box-shadow:inset 3px 0 0 var(--green)}
.rb-rep-result.is-success .rb-modal-head .fa-solid,.rb-report-result.is-success .rb-modal-head .fa-solid{color:var(--green)}
.rb-rep-result.is-danger .rb-modal-head,.rb-report-result.is-danger .rb-modal-head{box-shadow:inset 3px 0 0 var(--red)}
.rb-rep-result.is-danger .rb-modal-head .fa-solid,.rb-report-result.is-danger .rb-modal-head .fa-solid{color:#ff8a8a}
.rb-rep-result .rb-modal-body,.rb-report-result .rb-modal-body{padding:18px 20px}
.rb-result-body{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--fg)}
.rb-result-body > .fa-solid{flex:none;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-2);font-size:17px}
.is-success .rb-result-body > .fa-solid{background:var(--green-soft);color:var(--green)}
.is-danger .rb-result-body > .fa-solid{background:var(--red-soft);color:var(--red)}
.rb-result-body > div{min-width:0;flex:1 1 auto}
.rb-result-body blockquote{margin:0;padding:0;border:0;background:transparent;color:var(--fg);font-size:14px}

/* ================= REPORT MODAL ================= */
.rb-modal-sub{padding:9px 20px;background:#12121a;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a7a7b8}
.rb-report-modal .rb-field{margin-bottom:14px}
.rb-report-modal .rb-field:last-child{margin-bottom:0}
.rb-report-modal #reason .rb-help{margin:0 0 2px}
.rb-report-modal .rb-alert{margin:0}
.rb-report-modal form{margin:0}

/* ================= MANAGE GROUP ================= */
.rb-mg-info .rb-card-body{display:flex;flex-direction:column;gap:12px;padding:16px 18px}
.rb-mg-type{font-size:14px;color:var(--fg-2);line-height:1.55;margin:0}
.rb-mg-type:empty{display:none}
.rb-mg-leaders{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--fg-2)}
.rb-mg-leaders > .fa-solid{color:var(--amber);font-size:13px}
.rb-mg-leaders > b{color:var(--muted);font-weight:600}
.rb-mg-leader{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--radius);background:#25252f;border:1px solid var(--line-2);font-size:13px}
.rb-mg-leader a{color:#fff;font-weight:500}
.rb-mg-leader a:hover{color:var(--accent-2)}
.rb-mg-name a{color:#fff;font-weight:600}
.rb-mg-name a:hover{color:var(--accent-2)}
.rb-mg-contact{display:inline-flex;gap:6px;justify-content:center;flex-wrap:wrap}
.rb-mg-contact:empty{display:none}
.rb-mg-contact .rb-btn{height:30px;padding:0 10px;font-size:12.5px}
.rb-mg-contact .rb-btn .fa-solid{font-size:12px;color:var(--muted)}
.rb-mg-contact .rb-btn:hover .fa-solid{color:#fff}
.rb-mg-members table.rb-table td input[type=checkbox]{margin:0}
.rb-mg-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--gap)}
.rb-mg-forms .rb-card + .rb-card{margin-top:0}
.rb-mg-forms form{min-width:0;display:block;margin:0}
.rb-mg-forms .rb-fields{grid-template-columns:110px minmax(0,1fr)}
.rb-mg-forms .select2-container{width:100%!important}
.rb-mg-reason{color:var(--fg-2);font-size:13.5px;overflow-wrap:anywhere}
.rb-mg-requests table.rb-table td input[type=radio]{margin:0}
.rb-mg-requests table.rb-table th.is-accept{color:var(--green)}
.rb-mg-requests table.rb-table th.is-decline{color:#ff8a8a}
.rb-mod-page > .rb-alert .rb-alert-body a.rb-strong{color:#fff;text-decoration:none;font-weight:700}
.rb-mod-page > .rb-alert .rb-alert-body a.rb-strong:hover{color:var(--accent-2)}
.rb-mod-page > .rb-alert .rb-alert-body div{margin-top:2px;color:var(--fg-2)}

/* ================= RESPONSIVE ================= */
@media (max-width:1000px){
  .rb-rep-head .rb-card-body{grid-template-columns:minmax(0,1fr)}
  .rb-rep-matrix{min-width:0;width:100%}
  .rb-mod-page .rb-fields{grid-template-columns:170px minmax(0,1fr)}
}
@media (max-width:760px){
  .rb-mod-page .rb-fields{grid-template-columns:minmax(0,1fr);gap:6px 0}
  .rb-mod-page .rb-fields > .rb-label{padding-top:0;margin-top:12px}
  .rb-mod-page .rb-fields > .rb-label:first-child{margin-top:0}
  .rb-mod-page .rb-fields > .rb-mod-value{min-height:0}
  .rb-mod-foot{justify-content:stretch}
  .rb-mod-foot .button,.rb-mod-foot .rb-btn{flex:1 1 auto}
  .rb-mod-page table.rb-table td,.rb-mod-page table.rb-table th{padding:9px 10px}
  .rb-mod-page .rb-kv.is-wide,.modal .rb-kv.is-wide{grid-template-columns:minmax(0,1fr);gap:2px 0}
  .rb-mod-page .rb-kv.is-wide dt,.modal .rb-kv.is-wide dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-top:10px}
  .rb-mod-page .rb-kv.is-wide dt:first-child,.modal .rb-kv.is-wide dt:first-child{margin-top:0}
  .rb-rep-head .rb-card-body{padding:16px}
  .rb-rep-row{grid-template-columns:36px minmax(0,1fr);gap:4px 12px;padding:12px 14px}
  .rb-rep-sign{width:36px;height:36px;font-size:18px;grid-row:auto}
  .rb-rep-row-comment{grid-column:1 / -1;margin-top:4px}
  .rb-rep-row-actions{grid-column:1 / -1;justify-content:flex-start}
  /* four equal columns that always fit the card: the uppercase spaced headers (about 77px each) were wider than their
     columns, so NEGATIVES was cut at the edge. On phones the headers are title case at 12px (Negatives is 66px), a long
     period label wraps to two lines, and the counts sit centred in their row */
  .rb-rep-matrix{font-size:12.5px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .rb-rep-matrix > span{padding:7px 6px}
  .rb-rep-matrix > span:nth-child(-n+4){font-size:12px;letter-spacing:0;text-transform:none;padding:7px 4px;overflow:hidden;text-overflow:ellipsis}
  .rb-rep-matrix > span:nth-child(n+5){display:flex;align-items:center;justify-content:center;white-space:normal;line-height:1.3}
  .rb-rep-matrix > span:nth-child(4n+1):nth-child(n+5){justify-content:flex-start}
  .rb-mg-contact .rb-btn span{display:none}
  .rb-mg-contact .rb-btn{width:32px;padding:0;justify-content:center}
  .rb-warn-bar{width:140px}
  .rb-mod-page .rb-card-tools{margin-left:0;flex-basis:100%;justify-content:flex-start}
  .rb-warn-level,.rb-warn-status{height:26px}
}
@media (max-width:480px){
  .rb-rep-name{font-size:19px}
  .rb-rep-total .repbox{height:46px;font-size:20px;min-width:56px}
  .rb-rep-sources{flex-direction:column;gap:4px}
  .rb-mod-when input.textbox,.rb-mod-when select{flex:1 1 40%}
  .rb-mod-when input.textbox.rb-mod-when-year,.rb-mod-when input.textbox.rb-mod-when-time{width:auto}
  .rb-warn-custom-grid{grid-template-columns:minmax(0,1fr)}
  .rb-mod-post-head{flex-wrap:wrap}
  .rb-mod-post-date{margin-left:0;flex-basis:100%;padding-left:26px}
  .rb-mod-method input.textbox{width:64px}
  .rb-rep-filter select{flex-basis:100%}
  .rb-mod-confirm-text{padding:12px}
  .rb-mod-page .rb-card-head{flex-wrap:wrap}
  .rb-mod-page .rb-card-sub{flex-basis:100%;white-space:normal;overflow:visible;text-overflow:clip}
}

/* ===== parts/namechange.css ===== */
/* ===================================================================
   Roidboard: username changes (plugin rb_namechange)
   usercp.php?action=changename (members), misc.php?action=namechange_requests (staff),
   the "Previous names" row on profiles.
   Flat cards with the violet head bar, hairlines, 3px corners, white titles, --fg-2 meta.
   =================================================================== */

/* ---- page stack ---- */
.rb-nc{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-nc .rb-card + .rb-card{margin-top:0}
.rb-nc > .error,.rb-nc > .rb-alert,.rb-nc > .red_alert{margin:0}
.rb-nc-card{min-width:0}
.rb-nc-card .rb-label{color:var(--fg);font-weight:600}
.rb-nc-card .rb-help{color:var(--fg-2)}
.rb-nc-card .rb-kv dt{color:var(--fg-2)}
.rb-nc-card .rb-card-foot{color:var(--fg-2)}
.rb-nc-dim{color:var(--fg-2);font-weight:400}

/* ---- card head button: Review requests ---- */
.rb-nc-tools{gap:8px}
.rb-card-tools .rb-nc-headbtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.rb-card-tools .rb-nc-headbtn:hover{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff}
.rb-card-tools .rb-nc-headbtn .fa-solid{margin:0;font-size:11.5px;color:rgba(255,255,255,.8)}

/* ---- forms ---- */
.rb-nc-lead{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--fg)}
.rb-nc-kv{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:13.5px}
.rb-nc-kv:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.rb-nc-kv dd b{color:#fff;font-weight:600}
.rb-nc-ctl{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-nc-ctl .textbox,.rb-nc-ctl textarea{width:100%;max-width:420px}
.rb-nc-ctl textarea{max-width:none;min-height:76px;resize:vertical}
.rb-nc-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.rb-nc-foot-note{flex:1 1 260px;min-width:0;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-nc-foot .rb-form-actions{margin-left:auto;padding-top:0}
.rb-nc-msg{overflow-wrap:anywhere;line-height:1.5}

/* ---- notice card: waiting, blocked, open request ---- */
.rb-nc-notice-title{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.35;color:#fff}
.rb-nc-notice-title .fa-solid{flex:none;font-size:14px;color:var(--accent-2)}
.rb-nc-notice-title.is-wait .fa-solid{color:var(--amber)}
.rb-nc-notice-title.is-block .fa-solid{color:var(--red)}
.rb-nc-notice-text{margin:0;font-size:14px;line-height:1.55;color:var(--fg-2)}
.rb-nc-notice .rb-nc-kv{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line);border-bottom:0}

/* ---- last request ---- */
.rb-nc-status-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rb-nc-status-text{font-size:14px;color:var(--fg)}
.rb-nc-foot input[type=submit].rb-nc-withdraw{background:transparent;border-color:var(--line-2);color:var(--fg-2)}
.rb-nc-foot input[type=submit].rb-nc-withdraw:hover{background:transparent;border-color:var(--red);color:var(--red)}

/* ---- old name > new name ---- */
.rb-nc-change{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}
.rb-nc-change .fa-solid{flex:none;font-size:11px;color:var(--fg-2)}
.rb-nc-old{color:var(--fg-2);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.28);overflow-wrap:anywhere}
.rb-nc-new{color:#fff;font-weight:600;overflow-wrap:anywhere}

/* ---- own history ---- */
.rb-nc-hist-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:13.5px}
.rb-nc-hist-row:last-child{border-bottom:0}
.rb-nc-hist-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--fg-2)}

/* ---- staff queue ---- */
.rb-nc-queue .rb-nc-tabs{padding:0 8px}
.rb-nc-tabcount{margin-left:2px;font-size:12px;font-weight:500;color:var(--fg-2)}
.rb-tab.is-active .rb-nc-tabcount{color:#fff}
.rb-nc-req{padding:14px 16px;border-bottom:1px solid var(--line)}
.rb-nc-req:last-child{border-bottom:0}
.rb-nc-req-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px}
.rb-nc-req-names{display:flex;flex-direction:column;gap:4px;min-width:0}
.rb-nc-req-member{font-size:14px;font-weight:600;color:#fff;overflow-wrap:anywhere}
.rb-nc-req-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--fg-2);white-space:nowrap}
.rb-nc-req .rb-nc-kv{margin:0;padding:0;border:0}
.rb-nc-req .rb-nc-kv a{color:var(--link)}
.rb-nc-req .rb-nc-kv a:hover{color:#fff;text-decoration:underline}
.rb-nc-decide{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.rb-nc-decide .rb-alert{margin:0 0 12px}
.rb-nc-decide > .rb-alert:last-child{margin-bottom:0}
.rb-nc-decide .rb-field{margin-bottom:10px}
.rb-nc-decide textarea{width:100%;min-height:56px;resize:vertical}
.rb-nc-decide .rb-form-actions input[type=submit].rb-nc-deny{background:transparent;border-color:var(--red);color:var(--red)}
.rb-nc-decide .rb-form-actions input[type=submit].rb-nc-deny:hover{background:var(--red-soft);border-color:var(--red);color:#fff}
.rb-nc-filter{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-nc-filter a{color:var(--link)}
.rb-nc-filter a:hover{color:#fff;text-decoration:underline}
.rb-nc-empty{padding:36px 16px}
.rb-nc-empty span{color:var(--fg-2)}
.rb-nc-pager{padding:10px 16px;border-top:1px solid var(--line)}

/* ---- staff name log ---- */
.rb-nc-lgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) 110px minmax(0,1fr) 160px;gap:12px;align-items:center}
.rb-labels.rb-nc-lgrid{display:grid;color:var(--fg-2)}
.rb-nc-log-row{padding:11px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2)}
.rb-nc-log-row:last-child{border-bottom:0}
.rb-nc-log-row:hover{background:var(--surface-2)}
.rb-nc-c{min-width:0;overflow-wrap:anywhere}
.rb-nc-log-member{font-weight:600;color:#fff}

/* ---- profile: Previous names ---- */
.rb-pp-row.rb-nc-pp dd{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0 2px}
.rb-nc-oldname{font-weight:600;color:#fff}
.rb-nc-sep{margin-right:4px;font-weight:400;color:var(--fg-2)}
.rb-pp-row .rb-nc-loglink{display:inline-flex;align-items:center;margin-left:8px;font-size:11.5px;color:var(--fg-2)}
.rb-pp-row .rb-nc-loglink:hover{color:var(--link)}

/* ---- phone ---- */
@media (max-width:760px){
  .rb-nc-ctl .textbox{max-width:none}
  .rb-nc-foot .rb-form-actions{margin-left:0;width:100%}
  .rb-nc-foot .rb-form-actions input[type=submit]{flex:1 1 auto}
  .rb-nc-req{padding:12px}
  .rb-nc-req-meta{white-space:normal}
  .rb-nc-decide .rb-form-actions input[type=submit]{flex:1 1 0}
  .rb-nc-tabs .rb-tab{padding:0 10px}
  .rb-labels.rb-nc-labels{display:none}
  .rb-nc-log-row.rb-nc-lgrid{grid-template-columns:minmax(0,1fr);gap:3px;padding:12px}
  .rb-nc-log-row .rb-nc-log-source,.rb-nc-log-row .rb-nc-log-by,.rb-nc-log-row .rb-nc-log-date{font-size:13px}
  .rb-nc-log-row .rb-nc-log-source::before,.rb-nc-log-row .rb-nc-log-by::before,.rb-nc-log-row .rb-nc-log-date::before{content:attr(data-label) ": ";color:var(--fg-2);font-weight:400}
  .rb-card-tools .rb-nc-headbtn{height:26px;padding:0 9px;font-size:12px}
}

/* ===== parts/pending.css ===== */
/* ===================================================================
   Roidboard: posts waiting for approval (plugin rb_pending)
   Header notice (rb_pending_notice), "Waiting for approval" labels on posts (rb_pending_label, inside
   .rb-post-status .status_type from parts/postbit.css) and thread rows (rb_pending_rowlabel), and the list page
   misc.php?action=pending (rb_pending_page / _list / _row / _empty). Muted amber, flat, 3px corners, no glow.
   =================================================================== */

/* ---- header notice ---- */
.rb-pending-notice{align-items:center;flex-wrap:wrap;gap:8px 12px}
.rb-pending-notice .rb-alert-icon{margin-top:0}
.rb-pending-notice .rb-alert-body{flex:1 1 220px;min-width:0;color:var(--fg)}
.rb-pending-notice .rb-alert-body strong{font-weight:600;color:#fff}
.rb-pending-notice .rb-pending-notice-link{flex:none;margin-left:auto;text-decoration:none;color:var(--fg)}
.rb-pending-notice .rb-pending-notice-link:hover{color:#fff}

/* ---- post label: shares .status_type with MyBB's own status label ---- */
.rb-post-status .rb-pending-label{gap:5px}

/* ---- thread row (forumdisplay) ----
   72-forumdisplay.css loads after the parts and paints .rb-card.rb-threads .rb-trow and every .rb-trow .rb-badge
   (prefix colours, white text), so the row label is its own element, drawn like the post label (.status_type). */
.rb-card.rb-threads .rb-trow.rb-trow-pending,.rb-trow.rb-trow-pending{background:rgba(210,153,34,.05)}
.rb-card.rb-threads .rb-trow.rb-trow-pending:hover{background:var(--surface-2)}
.rb-pending-tag{display:inline-flex;align-items:center;flex:none;gap:5px;height:18px;padding:0 6px;border:1px solid rgba(210,153,34,.45);border-radius:2px;background:transparent;color:var(--amber);font-size:10.5px;font-weight:600;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
.rb-pending-tag .fa-solid{font-size:9.5px;color:inherit}

/* ---- list page ---- */
.rb-pending-page{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-pending-card .rb-card-tools .rb-pending-headlink{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.rb-pending-card .rb-card-tools .rb-pending-headlink:hover{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff}
.rb-pending-card .rb-card-tools .rb-pending-headlink .fa-solid{font-size:11.5px;color:rgba(255,255,255,.8)}
.rb-pending-intro{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-pending-intro strong{font-weight:600;color:var(--amber)}
.rb-pending-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px) 150px;gap:14px;align-items:center}
.rb-labels.rb-pending-grid{display:grid}
.rb-pending-row{padding:11px 16px;border-bottom:1px solid var(--line)}
.rb-pending-row:last-child{border-bottom:0}
.rb-pending-row:hover{background:var(--surface-2)}
.rb-pending-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-pending-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}
.rb-pending-type{flex:none}
.rb-pending-subject{min-width:0;color:#fff;font-size:14.5px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.rb-pending-subject:hover{color:var(--accent-2)}
.rb-pending-excerpt{min-width:0;overflow:hidden;font-size:12.5px;line-height:1.45;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
.rb-pending-excerpt:empty{display:none}
.rb-pending-forum{min-width:0;font-size:13px;overflow-wrap:anywhere}
.rb-pending-forum a{color:var(--fg-2)}
.rb-pending-forum a:hover{color:#fff}
.rb-pending-date{font-size:13px;color:var(--fg-2);white-space:nowrap}
.rb-pending-empty span{max-width:420px;font-size:13.5px;line-height:1.5}

/* phones: subject on top, forum and time on one muted line below */
@media (max-width:700px){
  .rb-labels.rb-pending-labels{display:none}
  .rb-pending-row.rb-pending-grid{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0}
  .rb-pending-main{flex:1 1 100%}
  .rb-pending-forum,.rb-pending-date{font-size:12.5px}
  .rb-pending-date::before{content:"\00B7";margin:0 6px;color:var(--faint)}
  .rb-pending-excerpt{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* ===== parts/portalcal.css ===== */
/* ================= PORTAL & CALENDAR (portal.php, calendar.php) =================
   Portal: announcement cards in the main column + 330px sidebar of widget cards.
   Calendar: month grid (CSS grid, 7 day columns + week-link column), week view, day view,
   event card, add/edit/move forms, mini month grids. Mobile: the month grid collapses to a
   compact 7-column grid where event/birthday chips become coloured dots. */

/* ---------- PORTAL LAYOUT ---------- */
.rb-portal{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--gap);align-items:start}
.rb-portal-main,.rb-portal-side{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-portal-main > .rb-card + .rb-card,.rb-portal-side > .rb-card + .rb-card{margin-top:0}
.rb-portal-pages:empty{display:none}
@media (max-width:1100px){.rb-portal{grid-template-columns:minmax(0,1fr)}}

/* shared small bits */
.rb-portal-note{margin:0 0 10px;font-size:13.5px;color:var(--fg-2);line-height:1.5}
.rb-portal-note:last-child{margin-bottom:0}
.rb-portal-note b{color:#fff}
.rb-portal-note a{color:var(--accent-2);font-weight:600}
.rb-portal-lbl{color:var(--muted);font-weight:500}
.rb-portal-sep{color:var(--faint);margin:0 6px}

/* ---------- PORTAL: announcement card ---------- */
.rb-portal-ann .rb-card-head{flex-wrap:wrap}
.rb-portal-ann-title{white-space:normal;line-height:1.3}
.rb-portal-ann-title a{min-width:0}
.rb-portal-ann-icon{width:16px;height:16px;object-fit:contain;flex:none}
.rb-portal-ann-replies b{color:#fff;font-weight:700;margin-left:2px;font-variant-numeric:tabular-nums}
.rb-portal-ann-replies.is-none{cursor:default;color:rgba(255,255,255,.8)}
.rb-portal-ann-meta{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-portal-ann-avatar{flex:none}
.rb-portal-ann-who{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13.5px}
.rb-portal-ann-by{color:var(--fg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-portal-ann-by a{color:#fff}
.rb-portal-ann-by a:hover{color:var(--accent-2)}
.rb-portal-ann-date{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}
.rb-portal-ann-date .fa-solid{font-size:11px}
.rb-portal-ann-body{padding:18px 20px}
.rb-portal-ann-body p:last-child{margin-bottom:0}
.rb-portal-ann-foot{justify-content:space-between}
.rb-portal-ann-forum{display:inline-flex;align-items:center;gap:7px;color:var(--fg-2);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-portal-ann-forum .fa-solid{color:var(--muted);font-size:12px;flex:none}
.rb-portal-ann-forum:hover{color:#fff}
.rb-portal-ann-actions{display:flex;gap:6px;margin-left:auto;flex:none}
.rb-portal-ann-actions .rb-chip .fa-solid{color:var(--muted)}
@media (max-width:760px){.rb-portal-ann-body{padding:14px 16px}.rb-portal-ann-foot{gap:8px}}

/* ---------- PORTAL: sidebar widgets ---------- */
/* welcome (guest login form / member summary) */
.rb-portal-login{margin:12px 0 0}
.rb-portal-login .rb-field{margin-bottom:12px}
.rb-portal-login .rb-login-row{margin:0 0 12px}
.rb-portal-login .rb-form-actions{padding-top:0}
.rb-portal-lastvisit{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--muted);margin-bottom:12px}
.rb-portal-lastvisit .fa-solid{color:var(--accent-2);font-size:12px;flex:none}
.rb-portal-lastvisit b{color:#fff;font-weight:600;margin-left:auto;text-align:right;min-width:0}
.rb-portal-since{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--fg-2)}
.rb-portal-since li{display:flex;align-items:center;gap:9px;list-style:none}
.rb-portal-since .fa-solid{width:16px;text-align:center;font-size:12px;color:var(--muted);flex:none}
.rb-portal-quick{margin-top:0}

/* private messages */
.rb-portal-ministats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rb-portal-ministat{padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);min-width:0}
.rb-portal-ministat b{display:block;font-size:20px;font-weight:700;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.rb-portal-ministat span{display:block;font-size:12px;color:var(--muted);margin-top:3px}

/* search */
.rb-portal-search-form{margin:0}
.rb-portal-search-row{display:flex;align-items:stretch}
.rb-portal-search-row .rb-search{flex:1 1 auto;min-width:0}
.rb-portal-search-row .rb-search input.textbox{width:100%;border-radius:var(--radius) 0 0 var(--radius);border-right:0}
.rb-portal-search-row .button{height:36px;border-radius:0 var(--radius) var(--radius) 0;padding:0 14px}
.rb-portal-advsearch{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:13px;color:var(--fg-2)}
.rb-portal-advsearch .fa-solid{font-size:12px;color:var(--muted)}
.rb-portal-advsearch:hover{color:#fff}

/* forum statistics */
.rb-portal-statlist{list-style:none;margin:0;padding:0}
.rb-portal-statlist li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted);list-style:none}
.rb-portal-statlist li:last-child{border-bottom:0}
.rb-portal-statlist .fa-solid{width:18px;flex:none;text-align:center;background:transparent;border-radius:0;color:var(--muted);font-size:13px}
.rb-portal-statlist span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-portal-statlist b{margin-left:auto;color:#fff;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-portal-statlist b a{color:#fff}
.rb-portal-statlist b a:hover{color:var(--accent-2)}
.rb-portal-stats .rb-card-foot a{display:inline-flex;align-items:center;gap:7px;color:var(--fg-2);font-weight:500}
.rb-portal-stats .rb-card-foot a .fa-solid{font-size:11px}
.rb-portal-stats .rb-card-foot a:hover{color:#fff}

/* who's online */
.rb-portal-online-counts{margin:0 0 10px;font-size:13px;color:var(--muted)}
.rb-portal-online-counts b{color:#fff}
.rb-portal-online-list{font-size:13.5px;line-height:1.9;color:var(--fg-2);overflow-wrap:anywhere}
.rb-portal-online-list:empty{display:none}
.rb-portal-online-user{font-weight:500}

/* latest threads (reuses .rb-latest / .rb-list.is-compact from the index) */
.rb-portal-thread .rb-li-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px}
.rb-portal-thread .rb-li-sub .fa-solid{font-size:11px;color:var(--faint)}
.rb-portal-thread-stats{display:flex;gap:14px;margin-top:6px;font-size:12px;color:var(--muted)}
.rb-portal-thread-stats span{display:inline-flex;align-items:center;gap:5px}
.rb-portal-thread-stats .fa-solid{font-size:11px;color:var(--faint)}
.rb-portal-thread-stats b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- CALENDAR: page stack & shared ---------- */
.rb-cal{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-cal > .rb-card + .rb-card{margin-top:0}
.rb-cal > .error,.rb-cal > .rb-alert{margin:0}
.rb-cal-nav{gap:6px}
.rb-cal-navlink span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-cal-navlink .fa-solid{font-size:11px}
.rb-cal .rb-card-sub{min-width:0}
.rb-cal-card .rb-card-head{flex-wrap:wrap}

/* toolbar card: add-event buttons + jump selects */
.rb-cal-tools{margin:0}
.rb-cal-toolbar{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap}
.rb-cal-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-cal-add:empty{display:none}
.rb-cal-jumps{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.rb-cal-jump{gap:8px}
.rb-cal-jump-label{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.rb-cal-jump select{min-width:0;max-width:100%}
@media (max-width:760px){
  .rb-cal-jumps{margin-left:0;align-items:stretch;width:100%}
  .rb-cal-jump{display:flex;flex-wrap:wrap}
  .rb-cal-jump select{flex:1 1 110px}
  .rb-cal-jump-label{flex-basis:100%}
  .rb-cal-add{width:100%}
  .rb-cal-add .rb-btn{flex:1 1 auto}
}

/* ---------- CALENDAR: month grid ---------- */
.rb-cal-grid{display:flex;flex-direction:column;min-width:0}
.rb-cal-head,.rb-cal-week{display:grid;grid-template-columns:36px repeat(7,minmax(0,1fr))}
.rb-cal-head{background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-cal-corner{border-right:1px solid var(--line)}
.rb-cal-wd{display:block;padding:9px 6px;text-align:center;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rb-cal-week{border-bottom:1px solid var(--line)}
.rb-cal-week:last-child{border-bottom:0}
.rb-cal-wk{display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:11px;background:var(--surface-2);border-right:1px solid var(--line);transition:background .12s,color .12s}
.rb-cal-wk:hover{background:var(--accent-soft);color:#fff}
.rb-cal-day{position:relative;min-height:108px;padding:8px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--surface);transition:background .12s}
.rb-cal-day:last-child{border-right:0}
.rb-cal-day.is-month{background:var(--surface)}
.rb-cal-day.is-outside{background:var(--bg)}
.rb-cal-day:hover,.rb-cal-day.is-outside:hover{background:var(--surface-2)}
.rb-cal-day.is-outside .rb-cal-items{opacity:.6}
.rb-cal-num{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:var(--radius-xs);font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;transition:background .12s,color .12s}
.rb-cal-num:hover{background:var(--surface-3);color:#fff}
.rb-cal-day.is-month .rb-cal-num{color:var(--fg-2)}
.rb-cal-day.is-outside .rb-cal-num{color:var(--faint)}
.rb-cal-day.is-today{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}
.rb-cal-day.is-today:hover{background:rgba(45,99,199,.22)}
.rb-cal-day.is-today .rb-cal-num{background:var(--accent);color:#fff;box-shadow:var(--glow)}
.rb-cal-day.is-today .rb-cal-num:hover{background:var(--accent-2)}
.rb-cal-items{display:flex;flex-direction:column;gap:4px;min-width:0}

/* event / birthday chips inside a day cell */
.rb-cal-chip{display:flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border-radius:var(--radius-xs);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:12px;font-weight:500;line-height:1.25;min-width:0;transition:background .12s,color .12s,border-color .12s}
.rb-cal-chip:hover{background:var(--surface-4);color:#fff;border-color:var(--faint)}
.rb-cal-chip .fa-solid{font-size:11px;flex:none;color:var(--muted)}
.rb-cal-chip-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-cal-chip.is-event,.rb-cal-chip.is-count{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--fg);box-shadow:inset 3px 0 0 var(--accent)}
.rb-cal-chip.is-event:hover,.rb-cal-chip.is-count:hover{background:rgba(45,99,199,.3);border-color:rgba(45,99,199,.5);color:#fff}
.rb-cal-chip.is-count .fa-solid{color:var(--accent-2)}
.rb-cal-chip.is-event.private_event{background:var(--amber-soft);border-color:rgba(210,153,34,.3);color:var(--fg);box-shadow:inset 3px 0 0 var(--amber)}
.rb-cal-chip.is-event.private_event:hover{background:rgba(210,153,34,.26);color:#fff}
.rb-cal-chip.is-event.private_event::before{content:"\f023";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:var(--amber);flex:none}
.rb-cal-chip.is-bday{background:var(--pink-soft);border-color:rgba(226,116,158,.3);color:var(--fg);box-shadow:inset 3px 0 0 var(--pink)}
.rb-cal-chip.is-bday:hover{background:rgba(226,116,158,.26);color:#fff}
.rb-cal-chip.is-bday .fa-solid{color:var(--pink)}

@media (max-width:1000px){
  .rb-cal-day{min-height:92px;padding:6px}
  .rb-cal-chip{font-size:11.5px;padding:2px 6px;min-height:22px}
}
/* phone: compact grid (slim week-link column + 7 days), chips become dots (first letter of the weekday only) */
@media (max-width:760px){
  .rb-cal-head,.rb-cal-week{grid-template-columns:22px repeat(7,minmax(0,1fr))}
  .rb-cal-wk{font-size:9px;padding:0}
  .rb-cal-wd{font-size:0;padding:8px 0;letter-spacing:0}
  .rb-cal-wd::first-letter{font-size:11px}
  .rb-cal-day{min-height:62px;padding:5px 3px 7px;gap:5px;align-items:center}
  .rb-cal-num{align-self:center;min-width:26px;height:26px;padding:0;font-size:12.5px}
  .rb-cal-items{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:3px;width:100%}
  .rb-cal-day.is-outside .rb-cal-items{opacity:.45}
  .rb-cal-chip,.rb-cal-chip.is-event,.rb-cal-chip.is-count{width:10px;height:10px;min-height:0;padding:0;border-radius:50%;border:0;background:var(--accent);box-shadow:none;gap:0;overflow:hidden}
  .rb-cal-chip .fa-solid,.rb-cal-chip-txt{display:none}
  .rb-cal-chip.is-event.private_event{background:var(--amber)}
  .rb-cal-chip.is-event.private_event::before{display:none}
  .rb-cal-chip.is-bday{background:var(--pink)}
}
@media (max-width:480px){
  .rb-cal-day{min-height:54px}
  .rb-cal-num{min-width:24px;height:24px;font-size:12px}
  .rb-cal-navlink span{display:none}
  .rb-cal-navlink{width:28px;padding:0;justify-content:center}
}

/* ---------- CALENDAR: mini month grids (week view sidebar) ---------- */
.rb-cal-mini{min-width:0}
.rb-cal-mini + .rb-cal-mini{margin-top:12px}
.rb-cal-mini .rb-card-head{min-height:0;padding:8px 12px}
.rb-cal-mini .rb-card-title{font-size:12.5px;min-width:0}
.rb-cal-mini .rb-card-title a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-cal-mini-grid{padding:6px 8px 8px}
.rb-cal-mini-row{display:grid;grid-template-columns:18px repeat(7,minmax(0,1fr));gap:2px;align-items:center}
.rb-cal-mini-row + .rb-cal-mini-row{margin-top:2px}
.rb-cal-mini-row.is-head{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.rb-cal-mini-wd{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);overflow:hidden;white-space:nowrap}
.rb-cal-mini-wk{display:flex;align-items:center;justify-content:center;height:26px;border-radius:var(--radius-xs);color:var(--faint);font-size:9px}
.rb-cal-mini-wk:hover{background:var(--accent-soft);color:#fff}
.rb-cal-mini-day{display:flex;align-items:center;justify-content:center;height:26px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;color:var(--fg-2);font-variant-numeric:tabular-nums;min-width:0}
/* MyBB passes its legacy row classes in {$day_class}; neutralise the table styling and reuse them as states */
.rb-cal-mini-day.trow1,.rb-cal-mini-day.trow2,.rb-cal-mini-day.trow_sep{padding:0;border:0;background:transparent;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--fg-2);vertical-align:middle}
.rb-cal-mini-day.trow1{color:var(--faint)}
.rb-cal-mini-day.trow_sep{background:var(--accent);color:#fff;font-weight:700;box-shadow:var(--glow)}
.rb-cal-mini-day a{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--radius-xs);color:#fff;font-weight:700;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring);transition:background .12s}
.rb-cal-mini-day a:hover{background:var(--accent);color:#fff}
.rb-cal-mini-day.trow_sep a{background:transparent;box-shadow:none}
.rb-cal-mini-day.trow_sep a:hover{background:var(--accent-2)}

/* ---------- CALENDAR: week view ---------- */
.rb-cal-wv-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:var(--gap);align-items:start}
.rb-cal-wv-side{min-width:0}
.rb-cal-wv-card .rb-card-head{flex-wrap:wrap}
.rb-cal-wv-list{display:flex;flex-direction:column}
.rb-cal-wv-month{padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rb-cal-wv-day{display:grid;grid-template-columns:108px minmax(0,1fr);border-bottom:1px solid var(--line);min-height:64px;transition:background .12s}
.rb-cal-wv-day:last-child{border-bottom:0}
.rb-cal-wv-day:hover{background:var(--surface-2)}
.rb-cal-wv-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px;border-right:1px solid var(--line);background:var(--surface-2)}
.rb-cal-wv-wd{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rb-cal-wv-num{font-size:22px;font-weight:700;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.rb-cal-wv-day[data-today*="shaded"] .rb-cal-wv-date{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.rb-cal-wv-day[data-today*="shaded"] .rb-cal-wv-wd{color:var(--accent-2)}
.rb-cal-wv-day[data-today*="shaded"] .rb-cal-wv-num{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:18px;box-shadow:var(--glow)}
.rb-cal-wv-body{display:flex;flex-direction:column;gap:6px;padding:10px 14px;min-width:0;justify-content:center}
.rb-cal-wv-body:empty::before{content:"\00B7";color:var(--faint);font-size:14px}
.rb-cal-wv-event{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-ring);box-shadow:inset 3px 0 0 var(--accent);color:var(--fg);font-size:13.5px;font-weight:500;min-width:0;transition:background .12s,color .12s}
.rb-cal-wv-event:hover{background:rgba(45,99,199,.28);color:#fff}
.rb-cal-wv-event .fa-solid{font-size:12px;color:var(--accent-2);flex:none}
.rb-cal-wv-event-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-cal-wv-time{margin-left:auto;flex:none;font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap;padding-left:8px}
.rb-cal-wv-event.private_event{box-shadow:inset 3px 0 0 var(--amber);background:var(--amber-soft);border-color:rgba(210,153,34,.3);color:var(--fg)}
.rb-cal-wv-event.private_event .fa-solid{color:var(--amber)}
.rb-cal-wv-event.is-bday{box-shadow:inset 3px 0 0 var(--pink);background:var(--pink-soft);border-color:rgba(226,116,158,.3);color:var(--fg)}
.rb-cal-wv-event.is-bday .fa-solid{color:var(--pink)}
@media (max-width:1000px){
  .rb-cal-wv-layout{grid-template-columns:minmax(0,1fr)}
  .rb-cal-wv-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
  .rb-cal-wv-side .rb-cal-mini + .rb-cal-mini{margin-top:0}
}
@media (max-width:480px){
  .rb-cal-wv-day{grid-template-columns:86px minmax(0,1fr)}
  .rb-cal-wv-date{padding:10px 4px}
  .rb-cal-wv-wd{font-size:10px;letter-spacing:.02em}
  .rb-cal-wv-num{font-size:19px}
  .rb-cal-wv-body{padding:8px 10px}
  .rb-cal-wv-event{flex-wrap:wrap;gap:6px 9px;font-size:13px}
  .rb-cal-wv-time{margin-left:0;flex-basis:100%;padding-left:21px}
}

/* ---------- CALENDAR: event card (event page + day view) ---------- */
.rb-cal-ev .rb-card-head{flex-wrap:wrap}
.rb-cal-ev-title{white-space:normal;line-height:1.3}
.rb-cal-ev-when{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--fg-2);line-height:1.5}
.rb-cal-ev-when .fa-solid{color:var(--accent-2);font-size:12px;flex:none;margin-top:4px}
.rb-cal-ev-meta{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.rb-cal-ev-author{display:flex;flex-direction:column;gap:2px;min-width:0}
.rb-cal-ev-authlbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-cal-ev-authname{font-size:15px;font-weight:700;color:#fff}
.rb-cal-ev-authname a{color:#fff}
.rb-cal-ev-authname a:hover{color:var(--accent-2)}
.rb-cal-ev-authtitle{font-size:12.5px;color:var(--muted)}
.rb-cal-ev-authtitle:empty{display:none}
.rb-cal-ev-stars{line-height:1;margin-top:2px}
.rb-cal-ev-stars:empty{display:none}
.rb-cal-ev-side{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}
.rb-cal-ev-side:empty{display:none}
.rb-cal-repeats{display:flex;align-items:flex-start;gap:9px;padding:8px 11px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;color:var(--fg-2);text-align:left;line-height:1.45}
.rb-cal-repeats .fa-solid{color:var(--accent-2);font-size:12px;margin-top:3px;flex:none}
.rb-cal-repeats b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-cal-modopts{margin:0}
.rb-cal-modopts select{height:34px;width:auto;max-width:100%}
.rb-cal-ev-body{padding:18px 20px;min-height:80px}
.rb-cal-ev-body p:last-child{margin-bottom:0}
.rb-cal-ev[data-state*="shaded"]{border-color:rgba(210,153,34,.45)}
.rb-cal-ev[data-state*="shaded"] .rb-cal-ev-when{box-shadow:inset 3px 0 0 var(--amber)}
.rb-cal-ev-foot{justify-content:flex-end}
.rb-cal-ev-actions{display:flex;gap:6px;flex-wrap:wrap}
.rb-cal-ev-actions .rb-btn-danger .fa-solid{color:var(--red)}
@media (max-width:600px){
  .rb-cal-ev-side{margin-left:0;align-items:stretch;width:100%}
  .rb-cal-ev-body{padding:14px 16px}
}

/* birthdays (day view) */
.rb-cal-bday-list{display:flex;flex-wrap:wrap;gap:8px}
.rb-cal-bday{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px 4px 10px;border-radius:var(--radius);background:var(--pink-soft);border:1px solid rgba(226,116,158,.3);color:#fff;font-size:13.5px;font-weight:500}
.rb-cal-bday .fa-solid{color:var(--pink);font-size:12px;flex:none}
.rb-cal-bday a{color:#fff}
.rb-cal-bday a:hover{color:var(--pink)}
.rb-cal-bday-age{color:var(--muted);font-size:12.5px;font-weight:400}
.rb-cal-bday-age:empty{display:none}

/* empty day */
.rb-cal-empty{padding:34px 20px}
.rb-cal-empty p{margin:10px 0 0}
.rb-cal-empty a{color:var(--accent-2);font-weight:600}
.rb-cal-empty a:hover{color:#fff}

/* ---------- CALENDAR: add / edit / move forms ---------- */
.rb-cal-form{margin:0;min-width:0}
.rb-cal-form .rb-card-foot .rb-form-actions{width:100%;padding-top:0}
.rb-cal-form .rb-form-actions .rb-btn-ghost{margin-right:auto}
.rb-cal-when{margin:0 0 14px}
.rb-cal-typeopt + .rb-cal-typeopt{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2)}
.rb-cal-typelabel{font-size:14px;color:var(--fg)}
.rb-cal-typelabel b{font-weight:600}
.rb-cal-typebody{margin:10px 0 0 24px;min-width:0}
.rb-cal-dateset{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-cal-dateset select{width:auto;min-width:0;height:36px;padding-top:0;padding-bottom:0}
.rb-cal-dateset input.textbox.rb-cal-time{width:92px;height:36px;text-align:center;font-variant-numeric:tabular-nums}
.rb-cal-at{font-size:12.5px;color:var(--muted);margin-left:6px}
.rb-cal-ranged{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px 14px;align-items:start}
.rb-cal-ranged > .rb-label{padding-top:9px}
.rb-cal-tz select{width:auto;max-width:100%}
.rb-cal-tz-ignore{display:flex;margin-top:8px;font-size:13px;align-items:flex-start;line-height:1.45}
.rb-cal-tz-ignore input{margin-top:3px}
.rb-cal-repeatsel{width:auto;max-width:100%}
.rb-cal-repeat{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-cal-repeat input.textbox.rb-cal-num-in{width:56px;height:32px;min-height:0;text-align:center;padding:0 6px}
.rb-cal-repeat select{width:auto;height:32px;min-height:0;padding-top:0;padding-bottom:0}
.rb-cal-repeat .rb-checks.is-inline{flex-basis:100%;gap:6px 14px}
.rb-cal-repeat .rb-check{font-size:13px}
.rb-cal-repeat-opt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;flex-basis:100%}
.rb-cal-desc .rb-label{margin-bottom:0}
.rb-cal-editor{display:flex;gap:14px;align-items:flex-start}
.rb-cal-editor-main{flex:1 1 auto;min-width:0}
.rb-cal-editor-main textarea{min-height:300px}
.rb-cal-smilies{flex:0 0 220px;max-width:220px;min-width:0}
.rb-cal-smilies:empty{display:none}
.rb-cal-opts{margin:14px 0 0}
.rb-cal-opts .rb-check{align-items:flex-start;line-height:1.45}
.rb-cal-opts .rb-check input{margin-top:3px}
.rb-cal-opts .rb-check b{color:#fff}
@media (max-width:900px){.rb-cal-editor{flex-direction:column}.rb-cal-smilies{flex:none;width:100%;max-width:100%}}
@media (max-width:760px){
  .rb-cal-ranged{grid-template-columns:minmax(0,1fr);gap:6px 0}
  .rb-cal-ranged > .rb-label{padding-top:0;margin-top:10px}
  .rb-cal-ranged > .rb-label:first-child{margin-top:0}
  .rb-cal-typebody{margin-left:0}
  .rb-cal-editor-main textarea{min-height:220px}
}
@media (max-width:480px){
  .rb-cal-dateset select{flex:1 1 90px}
  .rb-cal-dateset input.textbox.rb-cal-time{flex:1 1 80px}
  .rb-cal-at{flex-basis:100%;margin:0}
}

/* delete block (edit event page) */
.rb-cal-delete{margin:0}
.rb-cal-delete-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rb-cal-delete-check{flex:none;font-size:14px}
.rb-cal-delete-check b{color:#fff}
.rb-cal-delete-text{flex:1 1 260px;min-width:0;font-size:13.5px;color:var(--fg-2)}
.rb-cal-delete-text .rb-help{display:block;margin-top:2px}
/* the submit carries .rb-btn-danger; restate 70-pro's danger colours at submit specificity so input[type=submit].button (primary violet) does not win */
.rb-cal-delete input[type=submit].rb-btn-danger{background:transparent;border-color:rgba(240,82,82,.4);color:#f08080}
.rb-cal-delete input[type=submit].rb-btn-danger:hover{background:var(--red-soft);border-color:var(--red);color:#fff}
@media (max-width:760px){.rb-cal-delete input[type=submit].rb-cal-delete-btn{width:100%}}

/* ===== parts/postactions.css ===== */
/* ================= POST ACTIONS: Reply, Quote and Like in view, the rest in a More menu on phones =================
   Markup (postbit, postbit_classic; .rb-post-foot = MyBB's .post_controls):
     .rb-post-foot.rb-pa
       .rb-post-ip                      logged IP (moderators)
       .rb-pa-main                      button_quote (Reply), button_multiquote (Quote), button_reply_pm
       .rb-pa-more
         button.rb-pa-toggle            "More" (fa-ellipsis), aria-expanded / aria-controls, rb-ux.js opens it
         .rb-pa-menu#rb_pa_menu_N
           .author_buttons              email, PM, website, find, rate
           .post_management_buttons.rb-pa-manage
                                        edit (+ its quick edit popup), delete, restore, report (+ Report scam), warn,
                                        purge spammer, PM reply all / forward / delete
   Desktop (>= 761px): the wrappers are display:contents and `order` puts every button back in the old sequence
   (author group, Edit, Delete, Restore, Reply, Quote, Report, Warn, Purge, PM buttons). rb-ux.js also moves
   .rb-pa-main into .rb-pa-manage at that spot, so Tab follows the row; phones get it back before .rb-pa-more.
   The buttons wrap one by one (the old row wrapped the author group and the management group as two blocks).
   Phones (<= 760px): the Like bar ({$post['rb_reactions']}) and the action row share one line when they fit:
   [Like n] ........ [Reply] [Quote] [...]. The menu is position:absolute with no positioned ancestor (rb-ux.js sets
   top/left from the toggle), so .rb-post (overflow:hidden in 70-pro) never clips it and MyBB's popups keep working.
   NOTE: like postbit.css, never give .rb-post, .rb-post-main, .rb-post-foot or .rb-pa-more a position or transform.
   postbit.css, reactions.css, scam.css and 70-pro.css load after this part: selectors carry enough classes to win
   where needed. No rule here shows a button that MyBB's state rules in postbit.css hide
   (.post.deleted_post .postbit_mirage, .post:not(.deleted_post) .postbit_qrestore); the menu rows set no `display`. */

/* ---- every width: the toggle only exists on phones; the wrappers do not box the buttons ---- */
.rb-post-foot .rb-pa-toggle{display:none}
.rb-post-foot .rb-pa-more,.rb-post-foot .rb-pa-menu,.rb-post-foot .rb-pa-main,.rb-post-foot .rb-pa-manage{display:contents}

/* ---- desktop: the old button order (author group first, then the management buttons with Reply and Quote in the
   middle). Anything else a plugin appends to a group keeps the slot of the button it was appended to. ---- */
@media (min-width:761px){
  .rb-pa-menu > .author_buttons{order:1}
  .rb-pa-manage > *{order:7}
  .rb-pa-manage > .postbit_edit{order:2}
  .rb-pa-manage > .postbit_qdelete{order:3}
  .rb-pa-manage > .postbit_qrestore{order:4}
  .rb-pa-main > *{order:5}
  .rb-pa-manage > .postbit_warn{order:8}
  .rb-pa-manage > .postbit_purgespammer{order:9}
  .rb-pa-main > .postbit_reply_pm{order:10}
  .rb-pa-manage > .postbit_reply_all{order:11}
  .rb-pa-manage > .postbit_forward_pm{order:12}
  .rb-pa-manage > .postbit_delete_pm{order:13}
}

/* ================= PHONES ================= */
@media (max-width:760px){
  /* Like bar + action row on one line when there is room, the row wraps under the Like bar otherwise.
     Every other child keeps a full line; min-width:0 so wide code blocks or long links never widen the column */
  .rb-post .rb-post-main{flex-flow:row wrap;align-items:flex-start}
  .rb-post .rb-post-main > *{flex:0 0 100%;min-width:0;max-width:100%}
  .rb-post .rb-post-main > .rb-react{flex:0 1 auto;margin:12px 10px 0 0}
  .rb-post .rb-post-main > .rb-post-foot{flex:1 1 auto;margin-top:0;padding-top:12px}

  .rb-post .rb-pa-main{display:flex;flex-wrap:nowrap;gap:6px;order:1}
  .rb-post .rb-pa-main:not(:has(a)){display:none}
  .rb-post .rb-pa-more{display:block;order:2;flex:none}
  .rb-post .rb-pa-more:not(:has(.rb-pa-menu a)){display:none}
  /* 36px touch targets, the same height as the Like button (87-m-thread.css) */
  .rb-post .rb-pa .rb-pa-main .rb-btn,.rb-post .rb-pa .rb-pa-toggle{height:36px;padding:0 11px}
  .rb-post .rb-pa .rb-pa-toggle{display:inline-flex;align-items:center;gap:7px;margin:0;font-family:inherit;cursor:pointer}
  .rb-post .rb-pa .rb-pa-toggle .fa-solid{font-size:14px}
  .rb-post .rb-pa-more.is-open .rb-pa-toggle{background:var(--surface-4);border-color:var(--line-2);color:#fff}
  .rb-post .rb-pa-more.is-open .rb-pa-toggle .fa-solid{color:#fff}

  /* the menu: closed until rb-ux.js opens it; placed under (or above) the toggle with page coordinates. z-index 56:
     above the back to top button (55), under the bottom bar (58) and the sticky top bar (60) */
  .rb-post .rb-pa-more .rb-pa-menu{display:none;position:absolute;top:0;left:0;z-index:56;min-width:200px;max-width:calc(100vw - 16px);padding:4px 0;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 12px 24px rgba(0,0,0,.5);text-align:left}
  .rb-post .rb-pa-more.is-open .rb-pa-menu{display:block}
  /* fallback while <html> lacks .rb-pa-ready (rb-ux.js not loaded yet, an old cached copy, a script error): the
     menu opens on tap (hover) or keyboard focus, right aligned under the toggle at its static position. The rtl
     direction only moves that static position to the right edge; everything inside stays ltr */
  html:not(.rb-pa-ready) .rb-post .rb-pa-more{direction:rtl}
  html:not(.rb-pa-ready) .rb-post .rb-pa-more > *{direction:ltr}
  html:not(.rb-pa-ready) .rb-post .rb-pa-more .rb-pa-menu{top:auto;left:auto}
  html:not(.rb-pa-ready) .rb-post .rb-pa-more:hover .rb-pa-menu,
  html:not(.rb-pa-ready) .rb-post .rb-pa-more:focus-within .rb-pa-menu{display:block}
  .rb-post .rb-pa-menu .rb-post-btns{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0}
  .rb-post .rb-pa-menu .rb-post-btns:not(:has(a)){display:none}
  .rb-post .rb-pa-menu .author_buttons:has(a) + .rb-pa-manage:has(a){margin-top:4px;padding-top:4px;border-top:1px solid var(--line-2)}
  /* items: full width rows, icon + label, no button chrome */
  .rb-post .rb-pa-menu .rb-post-btns a{justify-content:flex-start;width:100%;height:40px;margin:0;padding:0 14px;gap:10px;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--fg-2);font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;text-decoration:none}
  .rb-post .rb-pa-menu .rb-post-btns a:hover,.rb-post .rb-pa-menu .rb-post-btns a:focus-visible{background:var(--surface-3);color:#fff}
  .rb-post .rb-pa-menu .rb-post-btns a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .rb-post .rb-pa-menu .rb-post-btns a .fa-solid{flex:none;width:16px;text-align:center;font-size:13px;color:var(--muted)}
  .rb-post .rb-pa-menu .rb-post-btns a:hover .fa-solid,.rb-post .rb-pa-menu .rb-post-btns a:focus-visible .fa-solid{color:var(--fg-2)}
  /* Report scam (rb_scam, appended to button_report) keeps its muted red text, as on desktop */
  .rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn,.rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn .fa-solid{color:color-mix(in srgb,var(--red) 65%,var(--fg-2))}
  .rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn:hover,.rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn:focus-visible,
  .rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn:hover .fa-solid,.rb-post .rb-pa-menu .rb-post-btns a.rb-scam-btn:focus-visible .fa-solid{color:var(--red)}
  /* Edit (postbit_edit: a#edit_post_N + its popup): the popup's two links (Quick Edit, Full Edit) show as menu rows
     instead of the Edit button. MyBB writes display:none inline on the popup, hence !important. Without AJAX (rb-ux.js
     adds .is-noajax) the plain Edit link stays, it opens the full editor. Deleted posts hide both, like the other
     .postbit_mirage buttons. Announcements use .postbit_edit without a popup (no id): that link stays as it is */
  .rb-post .rb-pa-menu a.postbit_edit[id^="edit_post_"]{display:none}
  .rb-post .rb-pa-menu .rb-pa-editmenu{display:block!important;position:static!important;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
  .rb-post .rb-pa-menu .rb-pa-editmenu .popup_item_container{margin:0}
  .rb-post:not(.deleted_post) .rb-pa-more.is-noajax .rb-pa-menu .postbit_edit{display:flex}
  .rb-post .rb-pa-more.is-noajax .rb-pa-menu .rb-pa-editmenu,.post.deleted_post .rb-pa-menu .rb-pa-editmenu{display:none!important}
}
@media (max-width:480px){
  /* the toggle shows only the ellipsis; "More" stays for screen readers */
  .rb-post .rb-pa .rb-pa-toggle{width:36px;padding:0;justify-content:center}
  .rb-post .rb-pa-toggle .rb-pa-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media print{
  .rb-pa-toggle,.rb-pa-menu{display:none}
}

/* ===== parts/postbit.css ===== */
/* ================= POSTBIT: post blocks (showthread, private_read, previews, announcements) =================
   Reference: cracked.io thread page, drawn in the Roidboard palette.
   .rb-post               one block per post: two columns, no gap, no rounded corners, hairline between posts.
   .rb-post.is-classic    desktop (>=761px): 270px author column on the left (postbit_classic, the board default).
   .rb-post.is-horizontal author strip on top at every width (postbit template, postlayout = horizontal).
   Below 761px every layout uses the strip: 56px round avatar, name + title + counters inline, POSTS / JOINED inline.
   70-pro.css loads AFTER this part: every rule that has to beat a 70-pro component rule is scoped with two
   classes (.rb-post ... / .rb-post-author ...).
   NOTE: never give .rb-post, .rb-post-main or .rb-post-foot a `position` or `transform`: the MyBB edit popup
   (.popup_menu) is positioned by JS with document offsets and must stay in the page flow. The author column is
   position:relative for the OP corner triangle only; it is not an ancestor of the popup. */
.rb-post{display:block;margin:0 0 var(--gap);background:var(--surface);border:1px solid var(--line);border-radius:0;min-width:0;box-shadow:none}

/* ---- author block as a strip (mobile, and the horizontal layout at every width) ----
   grid: avatar | name over title | counters, then POSTS / JOINED inline, then the service tag.
   .author_statistics (.rb-post-meta) is display:contents so the counters and the stat rows it wraps are grid items too */
.rb-post-author{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"avatar name counters" "avatar title counters" "stats stats stats" "service service service";gap:0 12px;align-items:center;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);min-width:0}
.rb-post-meta{display:contents}
.rb-post-avatar{grid-area:avatar;display:flex;align-self:center}
.rb-post-author .rb-avatar{width:56px;height:56px;border-radius:50%;border:2px solid var(--line-2);background-color:var(--surface-3);box-shadow:none}
.rb-post-who{grid-area:name;align-self:end;min-width:0}
.rb-post-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px;font-weight:600;line-height:1.25;color:#fff;overflow-wrap:anywhere}
.rb-post-name a{color:#fff}
.rb-post-name a:hover{color:var(--accent-2)}
.rb-post-dot{width:8px;height:8px;flex:none}
.rb-post-stars{display:none}
.rb-post-author .rb-post-title{grid-area:title;align-self:start;margin:2px 0 0;font-size:12.5px;line-height:1.3;color:var(--fg-2);min-width:0;overflow-wrap:anywhere}
.rb-post-title:empty,.rb-post-group:empty,.rb-post-service:empty{display:none}
.rb-post-group{display:none}
.rb-post-groupimg{max-height:22px;width:auto;vertical-align:middle}
.rb-post-stats.is-guest{display:none}
/* counters: REP | POSTS (REP comes from postbit_reputation, so it is absent when reputation is off) */
.rb-post-counters{grid-area:counters;display:flex;align-items:stretch;align-self:center}
.rb-post-counter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;padding:2px 8px;line-height:1.1}
.rb-post-counter + .rb-post-counter{border-left:1px solid var(--line-2)}
.rb-post-counter b{font-size:16px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.rb-post-counter b a{color:#fff;text-decoration:none}
.rb-post-counter .reputation_positive{color:var(--green)}
.rb-post-counter .reputation_neutral{color:#fff}
.rb-post-counter .reputation_negative{color:var(--red)}
.rb-post-counter span{margin-top:3px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* stat rows (postbit_author_user -> dl.rb-post-stats; each label/value pair is a .rb-ps so it never splits).
   In the strip only POSTS and JOINED show, inline */
.rb-post-stats{grid-area:stats;display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;font-size:12px;line-height:1.3;min-width:0}
.rb-ps{display:none;align-items:center;gap:7px;min-width:0;max-width:100%}
.rb-ps.rb-ps-posts,.rb-ps.rb-ps-joined{display:inline-flex}
.rb-ps dt{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);white-space:nowrap}
.rb-ps dt .fa-solid{width:14px;text-align:center;font-size:12px;color:var(--muted)}
.rb-ps dd{margin:0;font-size:12.5px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.rb-ps dd a{color:#fff}
.rb-ps dd a:hover{color:var(--accent-2)}
.rb-ps dd strong{font-weight:700}
/* JOINED prints the core {$post['userregdate']}: the rb_postbit plugin rewrites it to "SEP 2024"; the board-format date
   shows while the plugin is inactive (no plugin-only key, so the first eval in build_postbit never sees an undefined key) */
/* warning level (postbit_warninglevel_formatted): $warning_class is high_warning / moderate_warning / low_warning, which
   30-components + 70-pro style as full alert boxes; inside the stats row it must be plain inline text (three classes beat both) */
.rb-ps dd .high_warning,.rb-ps dd .moderate_warning,.rb-ps dd .low_warning{display:inline;padding:0;margin:0;border:0;border-radius:0;background:transparent;font-size:inherit;line-height:inherit;font-weight:700}
.rb-ps dd .low_warning,.rb-ps dd .moderate_warning{color:var(--amber)}
.rb-ps dd .high_warning{color:var(--red)}
.rb-post-ul{list-style:none;margin:0;padding:0;display:inline}
.rb-post-ul li{display:inline}
.rb-post-ul li + li::before{content:", ";color:var(--muted)}
/* service tag ("2 years of service", rb_postbit plugin) */
.rb-post-service{grid-area:service;justify-self:start;margin:8px 0 0;padding-bottom:2px;border-bottom:2px solid var(--accent-2);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;color:var(--accent-2)}

/* ---- message column ---- */
.rb-post-main{display:flex;flex-direction:column;min-width:0;padding:14px 12px 12px;background:var(--surface)}
/* head line: [OP] date (last modified note) ... recipients / status / #n chip + inline mod checkbox */
.rb-post-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:24px;font-size:13.5px;line-height:1.35;color:var(--fg-2)}
.rb-post-head .rb-grow{flex:1 1 auto;min-width:0}
.rb-post-date{display:inline;min-width:0;color:var(--fg-2);overflow-wrap:anywhere}
.rb-post-edited{font-size:12.5px;color:var(--muted)}
.edited_post{font-style:normal;color:var(--muted)}
.edited_post a{color:var(--fg-2)}
.edited_post a:hover{color:#fff}
.edited_post em{color:var(--muted)}
.rb-post-icon{width:16px;height:16px;object-fit:contain}
.rb-post-extra:empty,.rb-post-status:empty{display:none}
.rb-post-extra{color:var(--fg-2);min-width:0}
.rb-post-status .status_type{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 6px;border:1px solid rgba(210,153,34,.45);border-radius:2px;color:var(--amber);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.rb-post-status .status_type .fa-solid{font-size:10px}
.rb-post.deleted_post .rb-post-status .status_type{border-color:rgba(240,82,82,.45);color:var(--red)}
/* '#n' chip + inline-moderation checkbox (postbit_posturl) */
.rb-post-num{display:inline-flex;align-items:center;gap:8px;flex:none;float:none}
.rb-post-numlink{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 6px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--fg-2);font-size:11.5px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.rb-post-numlink:hover{border-color:var(--accent);color:#fff}
.rb-post-num .checkbox{margin:0}
/* OP (thread starter): .is-op comes from the rb_postbit plugin ({$post['rb_opclass']}), which compares the pid with
   threads.firstpost, so it marks the real first post even when that post is hidden for the viewer (the visible #1 is not
   used). Scoped to the thread page (.rb-topic-posts) so PMs, previews and announcements never get it.
   Green OP label (plain text, no box) in the head line, blue corner triangle on the author column. */
.rb-topic-posts .rb-post.is-op .rb-post-head::before{content:"OP";display:inline-flex;align-items:center;margin-right:2px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1}
.rb-topic-posts .rb-post.is-op .rb-post-author::before{content:"";position:absolute;top:0;left:0;width:0;height:0;border-style:solid;border-width:14px 14px 0 0;border-color:var(--accent-2) transparent transparent transparent}

/* body: 15px/1.6, hairline under the message */
.rb-post .post_body{padding:12px 0 14px;min-height:40px;font-size:15px;line-height:1.6;color:var(--fg);border-bottom:1px solid var(--line)}
.rb-post .post_body p:last-child{margin-bottom:0}
.rb-post .post_body > blockquote:first-child,.rb-post .post_body > .mycode_quote:first-child,.rb-post .post_body > .codeblock:first-child{margin-top:0}
.rb-post .post_body > blockquote:last-child,.rb-post .post_body > .codeblock:last-child{margin-bottom:0}
.rb-post .post_body blockquote blockquote,.rb-post .post_body .mycode_quote .mycode_quote{background:var(--surface-3);border-left-color:var(--line-2)}
.rb-post .post_body .codeblock{font-size:12.5px}
.rb-post .post_body img.smilie{display:inline;width:auto;max-height:22px;vertical-align:middle;border-radius:0}
/* quick edit (jeditable) form injected into .post_body */
.rb-post .post_body form{margin:0}
.rb-post .post_body form textarea{width:100%;min-height:220px;font-family:var(--mono);font-size:13px;line-height:1.5}
.rb-post .post_body form input[type=submit],.rb-post .post_body form input[type=button]{height:32px;padding:0 14px;font-size:13px;margin:8px 6px 0 0}
.rb-post .editreason{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.rb-post .editreason .rb-label{display:inline-flex;margin:0}
.rb-post .editreason input.textbox{width:auto;min-width:240px;max-width:100%;height:34px;margin:0}
/* signature under the hairline */
.rb-post-sig{margin:0;padding:12px 0 0;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-post-sig a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.rb-post-sig a:hover{color:#fff}
.rb-post-sig img{max-width:100%;height:auto}

/* attachments */
.rb-post-attach{margin:12px 0 0;border:1px solid var(--line);border-radius:0;background:transparent;overflow:hidden}
.rb-post-attach-head{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-post-attach-head .fa-solid{font-size:12px;color:var(--muted)}
.rb-post-attach-sec{padding:10px 12px;border-bottom:1px solid var(--line)}
.rb-post-attach-sec:last-child{border-bottom:0}
.rb-post-attach-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.rb-attach-grid{display:flex;flex-wrap:wrap;gap:8px}
.rb-attach-thumb{display:block;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;background:var(--bg-2);transition:border-color .12s}
.rb-attach-thumb:hover{border-color:var(--accent)}
.rb-attach-thumb img.attachment{display:block;max-height:140px;width:auto;max-width:100%;border:0;padding:0;border-radius:0}
.rb-attach-images{display:flex;flex-direction:column;gap:10px}
img.attachment.rb-attach-img{display:block;max-width:100%;height:auto;border-radius:3px;border:1px solid var(--line-2);padding:0}
.rb-attach-files{padding:2px 12px}
.rb-attach-files:empty{display:none}
.rb-attach-file{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;min-width:0}
.rb-attach-file:first-child{border-top:0}
.rb-attach-file img{width:18px;height:18px;flex:none;object-fit:contain}
.rb-attach-name{color:var(--fg);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-attach-name:hover{color:var(--accent-2)}
.rb-attach-meta{margin-left:auto;display:inline-flex;gap:14px;flex:none;font-size:12px;color:var(--muted);white-space:nowrap}
.rb-attach-meta b{color:var(--fg-2);font-weight:600}
.rb-attach-file.is-unapproved{color:var(--amber);gap:8px}
.rb-attach-file.is-unapproved .fa-solid{font-size:12px}
.rb-attach-file.is-unapproved strong{font-weight:600}

/* ---- bottom row: logged IP (moderators) at the left, 28px flat action buttons right-aligned, wrapping ---- */
.rb-post-foot{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:auto;padding:14px 0 0;border-top:0;background:transparent}
.rb-post-foot:not(:has(a,.rb-post-ipval)){display:none}
.rb-post-ip{display:inline-flex;align-items:center;margin-right:auto;min-width:0;font-size:12px;color:var(--muted)}
.rb-post-ip:empty{display:none}
.rb-post-ipval{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.rb-post-ipval .fa-solid{font-size:11px;color:var(--muted)}
.rb-post-ipval a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.rb-post-ipval a:hover{color:#fff}
.rb-post-btns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;float:none}
.rb-post-foot .rb-btn{height:28px;padding:0 10px;gap:7px;font-size:12.5px;font-weight:500;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);box-shadow:none}
.rb-post-foot .rb-btn:hover{background:var(--surface-4);border-color:var(--line-2);color:#fff}
.rb-post-foot .rb-btn .fa-solid{font-size:12px;color:var(--muted)}
.rb-post-foot .rb-btn:hover .fa-solid{color:var(--fg-2)}
.rb-post-foot .postbit_multiquote_on,.rb-post-foot .postbit_multiquote_on:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-post-foot .postbit_multiquote_on .fa-solid{color:#fff}
.rb-post-foot .popup_menu .fa-solid{width:14px;text-align:center;font-size:12px;color:var(--muted)}
/* MyBB state rules that lived in the default global.css */
.post:not(.deleted_post) .postbit_qrestore,.post.deleted_post .postbit_mirage{display:none}
.post:not(.deleted_post):not(.unapproved_post) .status_type{display:none}
.rb-post-jump{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--line-2);border-radius:2px;color:var(--fg-2);font-size:10px;vertical-align:middle;margin-left:4px}
.rb-post-jump:hover{border-color:var(--accent);color:#fff}

/* ---- states ---- */
.rb-post.unapproved_post .rb-post-main{background:rgba(210,153,34,.05)}
.rb-post.unapproved_post .rb-post-author{box-shadow:inset 3px 0 0 rgba(210,153,34,.6)}
.rb-post.deleted_post .rb-post-main{background:rgba(240,82,82,.05)}
.rb-post.deleted_post .rb-post-author{box-shadow:inset 3px 0 0 rgba(240,82,82,.6)}
.rb-post.deleted_post .post_body,.rb-post.deleted_post .rb-post-sig,.rb-post.deleted_post .rb-post-attach{opacity:.6}
.rb-post.trow_selected .rb-post-main,.rb-post.is-selected .rb-post-main{background:var(--accent-soft)}
.rb-post.trow_selected .rb-post-author,.rb-post.is-selected .rb-post-author{box-shadow:inset 3px 0 0 var(--accent)}

/* ---- collapsed posts: ignored user / soft-deleted (mods) / deleted (members) ---- */
.rb-post-collapsed{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 var(--gap);padding:11px 16px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:0;font-size:13.5px;color:var(--muted)}
/* postbit_deleted_member keeps the required .post_content class; undo the global prose sizing so all three collapsed states match */
.rb-post-collapsed .post_content{font-size:inherit;line-height:inherit;color:inherit}
.rb-post-collapsed.is-deleted,.rb-post-collapsed.is-hidden{border-left-color:rgba(240,82,82,.6)}
.rb-post-collapsed.is-ignored{border-left-color:var(--faint)}
.rb-pc-author{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--fg);flex:none}
.rb-pc-author .fa-solid{color:var(--muted);font-size:13px}
.rb-pc-author a{color:var(--fg)}
.rb-pc-msg{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;flex-wrap:wrap}
.rb-pc-text{flex:1 1 auto;min-width:0}
.rb-pc-text a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.rb-pc-text a:hover{color:#fff}
.rb-pc-btn{margin-left:auto;flex:none;float:none}
.rb-pc-btn .rb-btn{height:28px;padding:0 10px;font-size:12.5px}
.rb-pc-btn .rb-btn .fa-solid{font-size:11px}

/* ================= DESKTOP: classic layout = 270px author column on the left ================= */
@media (min-width:761px){
  .rb-post.is-classic,.rb-post.is-horizontal{display:grid;grid-template-columns:270px minmax(0,1fr)}
  /* author column: everything centred, 18px padding, lighter surface. No hairline against the message column: the
     surface-2 / surface contrast delimits the two columns, the only hairline is the one between posts */
  .rb-post.is-classic .rb-post-author,.rb-post.is-horizontal .rb-post-author{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:0;padding:18px;border-bottom:0;border-right:0;text-align:center}
  .rb-post.is-classic .rb-post-who,.rb-post.is-horizontal .rb-post-who{order:1;width:100%;min-width:0;align-self:auto}
  .rb-post.is-classic .rb-post-name,.rb-post.is-horizontal .rb-post-name{justify-content:center;font-size:18px;font-weight:600}
  /* 170px round avatar with a 2px ring (the ACP max avatar size decides how sharp it is) */
  .rb-post.is-classic .rb-post-avatar,.rb-post.is-horizontal .rb-post-avatar{order:2;justify-content:center;margin-top:12px}
  .rb-post.is-classic .rb-post-author .rb-avatar,.rb-post.is-horizontal .rb-post-author .rb-avatar{width:170px;height:170px}
  /* REP | POSTS counters */
  .rb-post.is-classic .rb-post-counters,.rb-post.is-horizontal .rb-post-counters{order:3;width:100%;margin-top:14px}
  .rb-post.is-classic .rb-post-counter,.rb-post.is-horizontal .rb-post-counter{flex:1 1 0;min-width:0;padding:4px 6px}
  .rb-post.is-classic .rb-post-counter b,.rb-post.is-horizontal .rb-post-counter b{font-size:20px}
  .rb-post.is-classic .rb-post-counter span,.rb-post.is-horizontal .rb-post-counter span{margin-top:4px;font-size:11px}
  /* user title: full-width muted band, 30px tall */
  .rb-post.is-classic .rb-post-author .rb-post-title,.rb-post.is-horizontal .rb-post-author .rb-post-title{order:4;align-self:stretch;display:flex;align-items:center;justify-content:center;margin:14px -18px 0;min-height:30px;padding:4px 12px;background:var(--surface-3);font-size:12.5px;line-height:1.3;color:var(--fg-2)}
  .rb-post.is-classic .rb-post-author .rb-post-title:empty,.rb-post.is-horizontal .rb-post-author .rb-post-title:empty{display:none}
  /* group badge image, 10px under the band */
  .rb-post.is-classic .rb-post-group:not(:empty),.rb-post.is-horizontal .rb-post-group:not(:empty){order:5;display:flex;justify-content:center;margin-top:10px}
  .rb-post.is-classic .rb-post-groupimg,.rb-post.is-horizontal .rb-post-groupimg{max-height:24px}
  /* stat rows: 30px boxes with a hairline border, 4px apart, icon + label left, value right */
  .rb-post.is-classic .rb-post-stats,.rb-post.is-horizontal .rb-post-stats{order:6;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;width:100%;margin:14px 0 0;font-size:12.5px;text-align:left}
  .rb-post.is-classic .rb-ps,.rb-post.is-horizontal .rb-ps{display:flex;width:100%;max-width:none;align-items:center;gap:8px;min-height:30px;padding:0 10px;border:1px solid var(--line);background:transparent}
  .rb-post.is-classic .rb-ps dt,.rb-post.is-horizontal .rb-ps dt{flex:none}
  .rb-post.is-classic .rb-ps dd,.rb-post.is-horizontal .rb-ps dd{margin-left:auto;text-align:right}
  .rb-post.is-classic .rb-post-ul,.rb-post.is-classic .rb-post-ul li,.rb-post.is-horizontal .rb-post-ul,.rb-post.is-horizontal .rb-post-ul li{display:block}
  .rb-post.is-classic .rb-post-ul li + li::before,.rb-post.is-horizontal .rb-post-ul li + li::before{content:none}
  /* service tag centred under the rows */
  .rb-post.is-classic .rb-post-service:not(:empty),.rb-post.is-horizontal .rb-post-service:not(:empty){order:7;display:block;margin:16px 0 0;font-size:12px}
  /* message column */
  .rb-post.is-classic .rb-post-main,.rb-post.is-horizontal .rb-post-main{padding:22px}
  .rb-post.is-classic .post_body,.rb-post.is-horizontal .post_body{padding:14px 0 16px}
  /* horizontal layout (postbit template): same strip, a little more room */
  /* (horizontal layout now uses the classic column rules above) */
  /* (horizontal layout now uses the classic column rules above) */
}

/* ================= MOBILE ================= */
@media (max-width:760px){
  .rb-post-main{padding:12px}
  .rb-post-collapsed{padding:10px 12px}
  .rb-attach-meta{gap:10px}
}
@media (max-width:480px){
  .rb-post-name{font-size:14.5px}
  .rb-post-counter{min-width:44px;padding:2px 7px}
  .rb-post-counter b{font-size:15px}
  .rb-post-head{gap:4px 8px}
  .rb-post-ip{flex-basis:100%;margin-right:0}
  .rb-attach-meta{display:none}
  .rb-pc-btn{margin-left:0;flex-basis:100%}
}
@media print{
  .rb-post-foot,.rb-post-num .checkbox{display:none}
  .rb-post{break-inside:avoid}
}

/* ===== parts/posting.css ===== */
/* ================= POSTING (new thread / reply / edit post, attachments, polls, smilies) ================= */

/* ---- page stack ---- */
.rb-posting{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-posting > .rb-card + .rb-card{margin-top:0}
.rb-posting > .error,.rb-posting > .rb-alert,.rb-posting > .red_alert,.rb-posting > .pm_alert{margin:0}
.rb-posting > table.tborder{margin-bottom:0}
.rb-compose-form,.rb-pollform,.rb-deletebox-form{display:flex;flex-direction:column;gap:var(--gap);margin:0;min-width:0}
.rb-compose-form > .rb-card + .rb-card{margin-top:0}

/* ---- compose card ---- */
.rb-compose .rb-card-title{white-space:normal;overflow-wrap:anywhere}
.rb-compose-replyto{display:flex;align-items:center;gap:9px;padding:9px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2);min-width:0}
.rb-compose-replyto span{min-width:0;overflow-wrap:anywhere}
.rb-compose-replyto .fa-solid{flex:none;font-size:12px;color:var(--accent-2)}
.rb-compose-body{padding:16px}
.rb-compose-body > .rb-field{margin-bottom:16px}
.rb-compose-body > .rb-field:last-child{margin-bottom:0}
.rb-compose-subject-row{display:flex;align-items:flex-start;gap:8px;min-width:0}
.rb-compose-subject-row .textbox{flex:1 1 auto;min-width:0}
select.rb-prefix-select{width:auto;max-width:240px;flex:none}
select.rb-prefix-select.is-multiple{height:auto;min-height:38px}

/* editor + smilie panel */
.rb-compose-editor{display:flex;align-items:flex-start;gap:14px;min-width:0}
.rb-compose-editor-main{flex:1 1 auto;min-width:0}
.rb-compose-editor-main > textarea.textarea{display:block;width:100%;height:380px;min-height:220px;font-size:14.5px;line-height:1.55}
.rb-compose-multiquote{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent);color:var(--fg)}
.rb-compose-multiquote .fa-solid{flex:none;font-size:13px;color:var(--accent-2)}
.rb-compose-multiquote .smalltext{font-size:13px;color:var(--fg-2)}
.rb-compose-multiquote a{color:#fff;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.rb-smbox{flex:0 0 200px;width:200px;max-width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.rb-smbox-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--line);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-smbox-head .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-smbox-grid{display:flex;flex-wrap:wrap;gap:4px;padding:8px;max-height:330px;overflow-y:auto}
.rb-smbox-row{display:contents}
.rb-smbox-item{display:inline-flex}
/* {$smilie} is the master `smilie` template: a bare <img class="smilie smilie_pointer" onclick=...>, no anchor.
   border-box: 34px outer box with 5px padding leaves a 24px image. */
.rb-smbox-item img.smilie{display:block;width:auto;height:auto;max-width:34px;max-height:34px;padding:5px;border-radius:var(--radius-xs);cursor:pointer;transition:background .12s}
.rb-smbox-item img.smilie:hover{background:var(--surface-4)}
.rb-smbox-more{padding:7px 12px;border-top:1px solid var(--line);font-size:12.5px;text-align:center}
.rb-smbox-more a{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-weight:500}
.rb-smbox-more a:hover{color:#fff}
.rb-smbox-more .fa-solid{font-size:11px}

/* post icon chips */
.rb-icons{display:flex;flex-wrap:wrap;gap:6px}
.rb-icon-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;height:34px;padding:0 10px;border-radius:var(--radius-xs);background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.rb-icon-chip:hover{background:var(--surface-4);color:#fff}
.rb-icon-chip input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.rb-icon-chip img{width:16px;height:16px;object-fit:contain}
.rb-icon-chip .fa-solid{font-size:12px;color:var(--muted)}
.rb-icon-chip:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent) inset}
.rb-icon-chip:has(input:checked) .fa-solid{color:#fff}
.rb-icon-chip:has(input:focus-visible){outline:2px solid var(--blue-2);outline-offset:1px}

/* option panels under the editor */
.rb-compose-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;margin-top:16px}
.rb-compose-opts:empty{display:none}
.rb-popt{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;min-width:0}
.rb-popt-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--fg);margin-bottom:8px}
.rb-popt-title .fa-solid{flex:none;width:14px;text-align:center;font-size:12px;color:var(--accent-2)}
.rb-popt > .rb-help{margin:-2px 0 10px}
.rb-popt .rb-checks{gap:8px}
.rb-popt .rb-check{align-items:flex-start;font-size:13.5px;line-height:1.45}
.rb-popt .rb-check input{flex:none;margin:2px 0 0}
.rb-popt .rb-check strong,.rb-popt .rb-check b{color:var(--fg)}
.rb-popt-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--fg-2)}
input[type=text].textbox.rb-w-xs{width:110px;flex:none}
input[type=text].textbox.rb-w-sm{width:200px;max-width:100%;flex:none}
.rb-compose-reason{margin-top:-2px}

/* captcha */
.rb-pcaptcha-img{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.rb-pcaptcha-img img{display:block;border-radius:var(--radius-xs);border:1px solid var(--line-2);background:#fff}
.rb-pcaptcha-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-pcaptcha-row .textbox{flex:1 1 120px;max-width:220px}
.rb-pcaptcha-widget{max-width:100%;overflow-x:auto}

/* sticky action bar (buttons keep the global 34px height from 70-pro) */
.rb-compose-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow)}
.rb-compose-bar .rb-form-actions{flex:1 1 auto;padding-top:0}
.rb-compose-bar input[name=submit],.rb-compose-bar input[name=submitbutton]{order:9;min-width:150px}
/* compose pages have their own sticky bar: the floating back-to-top button sat on top of Post Thread / Post Reply */
.rb-shell:has(.rb-compose-bar) .rb-totop-float{display:none}

/* delete post / delete poll box */
.rb-deletebox{border-left:3px solid var(--red)}
.rb-deletebox .rb-card-title .fa-solid{color:var(--red)}
.rb-deletebox-row{display:flex;align-items:center;gap:16px;min-width:0}
.rb-deletebox-check{flex:none;font-size:14px}
.rb-deletebox-check strong{color:#fff}
.rb-deletebox-text{flex:1 1 auto;min-width:0;font-size:13.5px;color:var(--fg-2);line-height:1.5}
.rb-deletebox-text .rb-help{display:block;margin-top:3px}
.rb-deletebox-text b{color:var(--fg)}
.rb-deletebox-row input[type=submit]{flex:none}

/* button variants on submit inputs: same values as 70-pro's .rb-btn-danger / .rb-btn-success / grey secondary,
   repeated here only because 70-pro's input[type=submit].button (and its :hover) would otherwise paint them violet */
.rb-deletebox-row input[type=submit].rb-btn-danger,
.rb-attachbox-actions input[type=submit].rb-btn-danger{background:transparent;border-color:rgba(240,82,82,.4);color:#f08080;box-shadow:none}
.rb-deletebox-row input[type=submit].rb-btn-danger:hover,
.rb-attachbox-actions input[type=submit].rb-btn-danger:hover{background:var(--red-soft);border-color:var(--red);color:#fff}
.rb-attachbox-actions input[type=submit].rb-btn-success{background:transparent;border-color:var(--green-line);color:var(--green-text);box-shadow:none}
.rb-attachbox-actions input[type=submit].rb-btn-success:hover{background:var(--green-soft);border-color:var(--green);color:#fff}
.rb-attachbox-actions input[type=submit].rb-btn-outline,
.rb-attachbox-new-actions input[type=submit][name=updateattachment],
.rb-pollform-count input[type=submit][name=updateoptions]{background:var(--surface-3);border-color:var(--line-2);color:var(--fg);box-shadow:none}
.rb-attachbox-actions input[type=submit].rb-btn-outline:hover,
.rb-attachbox-new-actions input[type=submit][name=updateattachment]:hover,
.rb-pollform-count input[type=submit][name=updateoptions]:hover{background:var(--surface-4);border-color:var(--line-2);color:#fff}

/* ---- attachment manager ---- */
.rb-attachbox .rb-card-title .fa-solid{color:var(--accent-2)}
.rb-attachbox-list{display:flex;flex-direction:column;min-width:0}
.rb-attachbox-quota.tcat{padding:10px 16px;border-top:0;border-bottom:1px solid var(--line);background:transparent;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);line-height:1.5}
.rb-attachbox-quota.tcat strong{color:var(--fg)}
.rb-attachbox-viewlink{margin-left:6px;color:var(--fg-2);font-weight:500}
.rb-attachbox-viewlink:hover{color:#fff}
.rb-attachbox-new{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-attachbox-new-field{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:6px}
.rb-attachbox-new-field .rb-label .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-attachbox-new-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rb-attachbox-dropwrap{padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-attachbox-dropinner{position:relative}
.rb-attachbox-bar{position:absolute;left:2px;right:auto;top:2px;height:3px;width:0;max-width:calc(100% - 4px);background:var(--accent-2);border-radius:2px;z-index:1;transition:width .15s linear}
.rb-attachbox-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:124px;padding:22px 16px;border:2px dashed var(--line-2);border-radius:var(--radius);background:var(--bg);color:var(--muted);font-size:13.5px;font-weight:500;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.rb-attachbox-drop .fa-solid{font-size:26px;color:var(--accent-2)}
.rb-attachbox-drop:hover,.rb-attachbox-drop.activated{border-color:var(--accent);background:var(--accent-soft);color:#fff}
.rb-attachbox-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);min-width:0;font-size:13.5px;transition:background .12s}
.rb-attachbox-row:last-child{border-bottom:0}
.rb-attachbox-row:hover{background:var(--surface-2)}
.rb-attachbox-icon{flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--surface-3)}
.rb-attachbox-icon img{width:18px;height:18px;object-fit:contain}
.rb-attachbox-name{flex:1 1 0;min-width:0;color:#fff;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-attachbox-name a{color:#fff}
.rb-attachbox-name a:hover{color:var(--accent-2)}
.rb-attachbox-size{color:var(--muted);font-weight:400;font-size:12.5px;margin-left:6px}
.rb-attachbox-pending{flex:none;color:var(--amber);font-size:12px}
.rb-attachbox-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:none;flex-wrap:wrap}
.rb-attachbox-row.is-unapproved{background:var(--amber-soft)}
.rb-attachbox-row.is-unapproved .rb-attachbox-icon{background:var(--amber-soft)}
.rb-attachbox-row.is-unapproved .rb-attachbox-name{color:var(--fg-2)}
.rb-attachbox-row.is-unapproved em{font-style:italic}

/* ---- thread review (newreply) ---- */
.rb-review .rb-card-title .fa-solid{color:var(--accent-2)}
.rb-review-list{display:flex;flex-direction:column;min-width:0}
.rb-review-post{border-bottom:1px solid var(--line);min-width:0}
.rb-review-post:last-child{border-bottom:0}
.rb-review-head{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted);min-width:0}
.rb-review-head .fa-solid{flex:none;font-size:11px;color:var(--accent-2)}
.rb-review-by{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-review-head b{color:#fff;font-weight:600}
.rb-review-date{margin-left:auto;white-space:nowrap;flex:none}
.rb-review-body{padding:12px 16px;font-size:14px;line-height:1.55;color:var(--fg-2);max-height:260px;overflow:auto;overflow-wrap:anywhere}
.rb-review-body img{max-width:100%;height:auto}
.rb-review-body blockquote,.rb-review-body .codeblock{margin:8px 0}
.rb-review-more{justify-content:center;text-align:center;gap:8px}
.rb-review-more .fa-solid{color:var(--faint)}
.rb-review-more a{color:var(--fg-2);font-weight:500}
.rb-review-more a:hover{color:#fff}

/* ---- poll create / edit ---- */
.rb-pollform-count{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-pollform-count .rb-help{flex:1 1 auto}
.rb-pollform-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.rb-pollform-options.is-edit{grid-template-columns:minmax(0,1fr)}
.rb-pollform-opt{display:flex;align-items:center;gap:10px;min-width:0}
.rb-pollform-opt-label{flex:none;min-width:72px;font-size:13px;font-weight:600;color:var(--fg-2);white-space:nowrap}
.rb-pollform-opt .textbox{flex:1 1 auto;min-width:0}
.rb-pollform-opt-votes{flex:none;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;margin-left:6px}
.rb-pollform-checks .rb-check{align-items:flex-start;line-height:1.45}
.rb-pollform-checks .rb-check input{flex:none;margin:2px 0 0}
.rb-pollform-checks .rb-check b,.rb-pollform-checks .rb-check strong{color:var(--fg)}
.rb-pollform-maxopts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:24px;padding:8px 12px;border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-pollform-maxopts strong{color:var(--fg)}
.rb-pollform-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--fg-2)}

/* ---- poll results page ---- */
.rb-pollres .rb-card-title{white-space:normal;overflow-wrap:anywhere}
.rb-pollres-rows{display:flex;flex-direction:column;min-width:0}
.rb-pollres-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr) 110px 72px;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--fg)}
.rb-pollres-rows > .rb-pollres-row:first-child{border-top:0}
.rb-pollres-row.trow1,.rb-pollres-row.trow2{padding:11px 16px;border-bottom:0;background:transparent;color:var(--fg);vertical-align:middle}
.rb-pollres-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}
.rb-pollres-star{margin-left:5px;color:var(--green);font-weight:700}
.rb-pollres-star:empty{display:none}
.rb-pollres-bar{min-width:0}
.rb-pollres-track{height:16px;border-radius:var(--radius);background:var(--surface-3);overflow:hidden}
.rb-pollres-track .pollbar{height:100%;min-width:0;border-radius:var(--radius);background:var(--accent);border:0;transition:width .4s var(--ease)}
.rb-pollres-track .percent{display:none}
.rb-pollres-bar .smalltext{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.rb-pollres-votes,.rb-pollres-pct{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--fg-2)}
.rb-pollres-pct{font-weight:700;color:#fff}
.rb-pollres-row.is-total{background:var(--bg);color:#fff}
.rb-pollres-row.is-total .rb-pollres-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-pollres-row.is-total .rb-pollres-votes{font-weight:700;color:#fff}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-smbox{flex-basis:176px;width:176px}
  .rb-pollres-row{grid-template-columns:minmax(0,5fr) minmax(0,6fr) 96px 64px}
}
@media (max-width:760px){
  .rb-compose-body{padding:12px 14px}
  .rb-compose-editor{flex-direction:column}
  .rb-compose-editor-main{width:100%}
  .rb-smbox{flex:none;width:100%}
  .rb-smbox-grid{max-height:150px}
  .rb-compose-opts{grid-template-columns:minmax(0,1fr)}
  .rb-compose-bar{bottom:8px;padding:10px 12px}
  .rb-compose-bar .rb-form-actions{justify-content:stretch}
  .rb-compose-bar .button{flex:1 1 auto}
  .rb-deletebox-row{flex-wrap:wrap;gap:12px}
  .rb-deletebox-check{order:1}
  .rb-deletebox-text{flex-basis:100%;order:2}
  .rb-deletebox-row input[type=submit]{order:3;flex:1 1 100%}
  .rb-attachbox-new{padding:12px 14px}
  .rb-attachbox-dropwrap{padding:12px 14px}
  .rb-attachbox-quota.tcat{padding:10px 14px}
  .rb-attachbox-row{flex-wrap:wrap;padding:10px 14px}
  .rb-attachbox-actions{flex:1 1 100%;justify-content:flex-start;padding-left:44px}
  .rb-pollform-options{grid-template-columns:minmax(0,1fr)}
  .rb-pollres-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 12px;padding:10px 14px}
  .rb-pollres-bar{grid-column:1 / -1;order:5}
  .rb-pollres-row.is-total .rb-pollres-bar{display:none}
  .rb-review-body{max-height:200px;padding:10px 14px}
  .rb-review-head{padding:8px 14px}
}
@media (max-width:480px){
  .rb-compose-subject-row{flex-direction:column;align-items:stretch}
  select.rb-prefix-select{width:100%;max-width:none}
  .rb-compose-editor-main > textarea.textarea{height:260px}
  .rb-icon-chip{height:32px;padding:0 8px}
  .rb-compose-bar input[name=submit],.rb-compose-bar input[name=submitbutton]{flex-basis:100%;min-width:0}
  .rb-attachbox-actions{padding-left:0}
  .rb-attachbox-actions .button{flex:1 1 auto}
  .rb-attachbox-drop{min-height:100px;padding:16px 12px}
  .rb-pollform-opt{flex-wrap:wrap}
  .rb-pollform-opt-label{min-width:0;flex-basis:100%}
  .rb-pollform-opt .textbox{flex-basis:140px}
  .rb-pollform-opt-votes{margin-left:0}
  .rb-pollform-maxopts{margin-left:0}
  /* keep label | votes | percent on phones (3 columns inherited from the 760px rule), just tighten the gap */
  .rb-pollres-row{gap:4px 10px}
  .rb-pollres-votes{font-size:13px}
}

/* ===== parts/prefixes.css ===== */
/* ================= THREAD PREFIX CHIPS =================
   tools/prefix_styles.php writes every prefix's display style as <span class="rb-prefix is-{name}">Name</span>
   (+ is-tone-{colour} for prefixes without a colour of their own). Core prints that HTML in the thread list
   (.rb-trow-prefix), the topic title (.rb-topic-title), breadcrumbs (.rb-crumbs), search results (.rb-sr-prefix),
   the index Latest Threads card (.rb-li-title), similar threads, UserCP lists and Who's Online.
   Marketplace status chips are solid: WTS green, WTB blue, Sold grey, Closed red, Trade amber (+ Restock, Sale,
   Group Buy, Price Check). Topic labels (Log, Question, Guide and the tone classes) are calm tinted chips.
   VIP / Donator keep their own .rb-badge.rb-prefix-vip / -donator look from 70-pro.css. Metrics match the
   .rb-badge chips of the thread list (18px, 10.5px) so mixed rows line up. */

.rb-prefix{position:relative;top:-1px;display:inline-flex;align-items:center;flex:none;height:18px;max-width:100%;padding:0 6px;border-radius:2px;background:var(--surface-4);color:var(--fg-2);font-family:var(--font);font-size:10.5px;font-style:normal;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;text-decoration:none;white-space:nowrap;vertical-align:middle}
a .rb-prefix,a:hover .rb-prefix{text-decoration:none}

/* marketplace status: solid */
.rb-prefix.is-wts{background:var(--green-strong);color:#fff}
.rb-prefix.is-wtb{background:#2d63c7;color:#fff}
.rb-prefix.is-sold{background:#4a505c;color:#e6e8ec}
.rb-prefix.is-closed{background:#b83a3a;color:#fff}
.rb-prefix.is-trade{background:#d29922;color:#1d1405}
.rb-prefix.is-restock{background:#1f7a6a;color:#fff}
.rb-prefix.is-sale{background:#b23f72;color:#fff}
.rb-prefix.is-group-buy{background:#6247c7;color:#fff}
.rb-prefix.is-price-check{background:#3f5468;color:#fff}

/* topic labels: calm tinted chips with a hairline edge */
.rb-prefix.is-log,.rb-prefix.is-tone-teal{background:rgba(56,178,172,.14);color:#86d3cb;box-shadow:inset 0 0 0 1px rgba(56,178,172,.32)}
.rb-prefix.is-question,.rb-prefix.is-tone-violet{background:rgba(139,124,246,.15);color:#bcb2ff;box-shadow:inset 0 0 0 1px rgba(139,124,246,.34)}
.rb-prefix.is-guide,.rb-prefix.is-tone-blue{background:rgba(91,141,239,.14);color:#a4c0ff;box-shadow:inset 0 0 0 1px rgba(91,141,239,.34)}
.rb-prefix.is-tone-green{background:var(--green-soft);color:var(--green-text);box-shadow:inset 0 0 0 1px var(--green-line)}
.rb-prefix.is-tone-amber{background:rgba(210,153,34,.14);color:#e6bb5c;box-shadow:inset 0 0 0 1px rgba(210,153,34,.32)}
.rb-prefix.is-tone-red{background:rgba(240,82,82,.13);color:#f29a9a;box-shadow:inset 0 0 0 1px rgba(240,82,82,.32)}
.rb-prefix.is-tone-pink{background:rgba(226,116,158,.14);color:#f0a8c4;box-shadow:inset 0 0 0 1px rgba(226,116,158,.32)}
.rb-prefix.is-tone-grey{background:var(--surface-4);color:var(--fg-2);box-shadow:none}

/* ---- where prefixes show ---- */
/* thread list: core adds &nbsp; after the chip */
.rb-trow-prefix .rb-prefix{margin:0}
/* topic title (18px uppercase h1 in a flex row, on the blue topic bar): tinted chips get a dark base so they
   do not mix with the bar, WTB (blue on blue) gets a light edge */
.rb-topic-title .rb-prefix{top:0;height:20px;padding:0 7px;font-size:11.5px;letter-spacing:.03em}
.rb-topic-title .rb-prefix:is(.is-log,.is-question,.is-guide,[class*="is-tone-"]){background-color:rgba(8,10,14,.5)}
.rb-topic-title .rb-prefix.is-wtb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
/* breadcrumbs */
.rb-crumbs .rb-prefix{top:0;height:16px;padding:0 5px;font-size:9.5px}
/* index Latest Threads: inside the title link, which is clamped to two lines */
.rb-li-title .rb-prefix{height:16px;margin-right:1px;padding:0 5px;font-size:9.5px}
/* search results: no &nbsp; after the chip, the row is a flex line with a gap */
.rb-sr-prefix .rb-prefix{top:0}
/* UserCP thread lists and similar threads */
.rb-ucp-tsubject .rb-prefix{top:0;height:17px;font-size:10px}
.rb-similar-main .rb-prefix{height:17px;font-size:10px}
/* printable version */
.rb-print-title .rb-prefix{top:-2px}

/* VIP / Donator chips also carry .rb-badge, which 72-forumdisplay.css (breadcrumbs, thread rows) and
   parts/showthread.css (topic title) size and colour after this file. Keep them at the size of the other chips
   there, and keep the dark text on the gold VIP gradient (72 forces white text on .rb-badge in those places). */
.rb-trow .rb-prefix.rb-badge{height:18px;padding:0 6px;font-size:10.5px}
.rb-crumbs .rb-prefix.rb-badge{height:16px;padding:0 5px;font-size:9.5px}
.rb-topic-title .rb-prefix.rb-badge{height:20px;padding:0 7px;font-size:11.5px;letter-spacing:.03em}
.rb-trow .rb-prefix.rb-prefix-vip,.rb-crumbs .rb-prefix.rb-prefix-vip{color:#2a1d02!important}

@media (max-width:760px){
  .rb-topic-title .rb-prefix,.rb-topic-title .rb-prefix.rb-badge{height:18px;padding:0 6px;font-size:10.5px}
}
@media print{
  .rb-prefix{box-shadow:inset 0 0 0 1px currentColor}
}

/* ===== parts/private.css ===== */
/* ================= PRIVATE MESSAGES (private.php) =================
   The two-column UserCP shell (.rb-usercp / .rb-usercp-main) is owned by the usercp parts; PM pages reuse it.
   usercp-a.css makes .rb-usercp-main and its direct <form> children flex columns with gap:var(--gap),
   so PM blocks carry no vertical margins of their own. */

/* ---- top strip: action tabs + quota bar ---- */
.rb-pm-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.rb-pm-tabs{flex:1 1 auto;min-width:0}
.rb-pm-tabs .rb-tab{height:40px;padding:0 15px;font-size:14px}
.rb-pm-tabs .rb-tab .fa-solid{font-size:13px}
.rb-pm-tabs .rb-tab:last-child{border-right:0}
/* quota bar ({$pmspacebar}) */
.rb-usage{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 12px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:var(--radius);font-size:12.5px;color:var(--muted);white-space:nowrap;float:none;margin:0}
.rb-usage-bar{display:flex;width:120px;height:8px;background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;flex:none}
.rb-usage-fill{display:block;height:100%;max-width:100%;background:var(--accent);transition:width .3s var(--ease)}
.rb-usage-fill.low{background:var(--accent)}
.rb-usage-fill.medium{background:var(--amber)}
.rb-usage-fill.high{background:var(--red)}
.rb-usage-rest{display:block;height:100%;background:transparent}
.rb-usage-text b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}

/* ---- inbox / search-results card ---- */
.rb-pm-card .rb-card-head{flex-wrap:wrap}
.rb-pm-search{gap:10px}
.rb-pm-search-group{display:flex}
.rb-pm-search-group .textbox{width:220px;height:32px;min-height:0;padding:0 10px;font-size:13px;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.14);color:#fff}
.rb-pm-search-group .textbox:focus{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.4)}
.rb-pm-search-group .button{height:32px;padding:0 12px;font-size:13px;background:var(--accent-deep);border-color:transparent;color:#fff}
.rb-pm-search-group .button:hover{background:var(--accent);border-color:transparent}
.rb-pm-advlink{font-size:12.5px;color:rgba(255,255,255,.82);text-decoration:underline;text-underline-offset:2px}

/* column labels + message rows share one grid */
.rb-pm-labels,.rb-pm-list .rb-pm{display:grid;grid-template-columns:44px minmax(0,1fr) 190px 170px 44px;grid-template-areas:"status main sender date check";gap:0 12px;align-items:center}
.rb-pm-labels.is-search,.rb-pm-list .rb-pm.is-search{grid-template-columns:44px minmax(0,1fr) 150px 130px 150px 44px;grid-template-areas:"status main sender folder date check"}
.rb-pm-labels{padding:8px 14px;background:transparent;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-pm-labels a{color:var(--fg-2)}
.rb-pm-labels a:hover{color:#fff}
.rb-pm-col{min-width:0;white-space:nowrap}
.rb-pm-col.is-subject{grid-area:main}
.rb-pm-col.is-sender{grid-area:sender}
.rb-pm-col.is-folder{grid-area:folder}
.rb-pm-col.is-date{grid-area:date}
.rb-pm-col.is-check{grid-area:check;text-align:center}
.rb-pm-col.is-check input{margin:0}
/* sort indicator ({$orderarrow[...]}) */
.rb-pm-order{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:3px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:10px;vertical-align:middle}
.rb-pm-order:hover{background:var(--accent-2);color:#fff}
.rb-pm-order.is-asc i::before{content:"\f063"}
.rb-pm-order.is-desc i::before{content:"\f062"}

/* message row */
.rb-pm-list .rb-pm{padding:10px 14px;border-bottom:1px solid var(--line);transition:background .12s}
.rb-pm-list .rb-pm:last-child{border-bottom:0}
.rb-pm-list .rb-pm:hover{background:var(--surface-2)}
/* unread rows: faint violet tint (7% of --accent #2d63c7) + accent edge */
.rb-pm-list .rb-pm.rb-pm-new_pm{background:rgba(45,99,199,.07);box-shadow:inset 3px 0 0 var(--accent-2)}
.rb-pm-list .rb-pm.rb-pm-new_pm:hover{background:var(--accent-soft)}
.rb-pm-list .rb-pm.is-selected,.rb-pm-list .rb-pm.is-selected:hover{background:var(--accent-soft)}
.rb-pm-status{grid-area:status;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--surface-3);color:var(--muted);font-size:15px;flex:none}
.rb-pm-new_pm .rb-pm-status{background:var(--accent);color:#fff}
.rb-pm-new_pm .rb-pm-status i::before{content:"\f0e0"}
.rb-pm-old_pm .rb-pm-status i::before{content:"\f2b6"}
.rb-pm-re_pm .rb-pm-status i::before{content:"\f3e5"}
.rb-pm-fw_pm .rb-pm-status i::before{content:"\f064"}
.rb-pm-main{grid-area:main;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-pm-icon{display:inline-flex;flex:none;align-items:center}
.rb-pm-icon:empty{display:none}
.rb-pm-msgicon{width:16px;height:16px;object-fit:contain}
.rb-pm-subject{display:block;max-width:100%;font-size:14.5px;font-weight:500;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pm-subject.new_pm{color:#fff;font-weight:700}
.rb-pm-subject:hover{color:var(--accent-2)}
.rb-pm-deny{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--amber);white-space:nowrap}
.rb-pm-deny .fa-solid{font-size:10px}
.rb-pm-deny:hover{color:#fff}
.rb-pm-excerpt{flex:1 0 100%;font-size:13px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rb-pm-sender{grid-area:sender;min-width:0;font-size:13.5px;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pm-sender a{color:var(--fg-2);font-weight:500}
.rb-pm-sender a:hover{color:#fff}
.rb-pm-folder{grid-area:folder;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pm-folder a{color:var(--fg-2)}
.rb-pm-folder a:hover{color:#fff}
.rb-pm-folder .fa-solid{font-size:11px;color:var(--muted);margin-right:6px}
.rb-pm-date{grid-area:date;font-size:12.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-pm-check{grid-area:check;text-align:center}
.rb-pm-check input{margin:0}
/* separator between unread / read groups */
.rb-pm-sep{height:6px;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* "multiple recipients" popup */
.rb-pm-multi{color:var(--fg-2)}
.rb-pm-multi em{font-style:normal}
.rb-pm-multi .fa-solid{font-size:12px;color:var(--muted);margin-right:4px}
.rb-pm-multi:hover,.rb-pm-multi:hover .fa-solid{color:#fff}
.popup_menu .rb-pm-popup-head{padding:6px 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line-2)}
.popup_menu .popup_item_container + .rb-pm-popup-head{border-top:1px solid var(--line-2);margin-top:4px}

/* danger submit buttons (delete / stop tracking / empty folders).
   input[type=submit].button in 70-pro paints submits violet at (0,2,1), so these need a more specific hook. */
.rb-pm-foot input[type=submit].rb-btn-danger,
.rb-pm-track-actions input[type=submit].rb-btn-danger,
.rb-pm-empty .rb-card-foot input[type=submit].rb-btn-danger{background:var(--red-soft);border-color:rgba(240,82,82,.4);color:var(--red)}
.rb-pm-foot input[type=submit].rb-btn-danger:hover,
.rb-pm-track-actions input[type=submit].rb-btn-danger:hover,
.rb-pm-empty .rb-card-foot input[type=submit].rb-btn-danger:hover{background:var(--red);border-color:var(--red);color:#fff}

/* bulk-action footer */
.rb-pm-foot{padding:10px 14px;gap:10px 16px}
.rb-pm-bulk,.rb-pm-jump{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-pm-foot select{height:30px;min-height:0;width:auto;padding:0 30px 0 10px;font-size:13px}
.rb-pm-foot .button{height:30px;padding:0 11px;font-size:13px}
.rb-pm-or{font-size:12.5px;color:var(--muted)}
.rb-pm-jump label{font-size:12.5px;color:var(--muted);font-weight:500}
.rb-pm-pager{margin:0}
.rb-pm-pager.is-top{margin:0}
.rb-pm-pager:empty{display:none}
.rb-pm-list .rb-empty{padding:34px 20px}

/* ---- read a message ---- */
.rb-pm-read .rb-card-title{max-width:100%}
.rb-pm-action-note{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.rb-pm-action-note .fa-solid{color:var(--accent-2);font-size:12px}
.rb-pm-read-body .post,.rb-pm-read-body .rb-post{border:0;border-radius:0;margin:0;box-shadow:none}
/* {$post['subject_extra']} (To / BCC) arrives inside the postbit's .rb-post-extra span, which is the real flex child
   of the wrapping .rb-post-head, so that wrapper takes the full row and the recipients sit on their own line */
.rb-pm-read-body .rb-post-head .rb-post-extra{flex:1 0 100%;display:block}
.rb-pm-to,.rb-pm-bcc{display:block;flex:1 0 100%;font-size:13px;color:var(--muted);margin-top:4px;font-weight:400}
.rb-pm-to a,.rb-pm-bcc a{color:var(--fg-2);font-weight:500}
.rb-pm-to a:hover,.rb-pm-bcc a:hover{color:#fff}
.rb-pm-to-label{font-weight:700;color:var(--fg-2);margin-right:2px}
.rb-pm-to .fa-solid{font-size:11px;margin-right:6px;color:var(--muted)}
.rb-pm-bcc{margin-top:2px}

/* quick reply (collapsible card) */
.rb-pm-qr{margin:0}
.rb-pm-qr .rb-card-head .expcolimage{margin-left:auto}
/* global .thead .expcolimage img{display:none} (30-components.css) would hide the #quickreply_img that general.js /
   rb.js bind the collapse click to; keep it rendered so the invisible overlay (position:absolute;inset:0;opacity:0)
   makes the whole chevron box clickable */
.rb-pm-qr .rb-card-head.thead .expcolimage img{display:block}
.rb-pm-qr-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:12px}
.rb-pm-qr-side .rb-label{margin-bottom:4px}
.rb-pm-qr-side .rb-help{margin:0 0 12px}
.rb-pm-qr-side .rb-check{font-size:13.5px;align-items:flex-start;line-height:1.4}
.rb-pm-qr-side .rb-check input{margin-top:2px}
.rb-pm-qr-side .rb-check strong{color:var(--fg);margin-right:4px}
.rb-pm-qr-editor textarea{min-height:170px}
@media (max-width:900px){.rb-pm-qr-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- compose ---- */
.rb-pm-compose .rb-card-body{padding:16px}
.rb-pm-recipients{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 16px}
.rb-pm-recip{min-height:46px;resize:none}
.rb-pm-bcc-toggle{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em}
.rb-pm-bcc-toggle:hover{color:#fff}
.rb-pm-buddylink{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:var(--accent-2);font-size:12.5px;white-space:nowrap}
.rb-pm-buddylink .fa-solid{font-size:11px}
.rb-pm-buddylink:hover{color:#fff}
.rb-pm-compose .select2-container-multi .select2-choices{height:auto;min-height:38px;line-height:normal;padding:3px 8px}
.rb-pm-posticons{margin-bottom:14px}
.rb-pm-posticons:empty{display:none}
.rb-pm-editor{display:flex;gap:14px;align-items:flex-start}
.rb-pm-editor-main{flex:1 1 auto;min-width:0}
.rb-pm-editor-main textarea{min-height:320px}
.rb-pm-smilies{flex:0 0 220px;max-width:220px;min-width:0}
.rb-pm-smilies:empty{display:none}
.rb-pm-options{margin:0}
.rb-pm-options .rb-check{align-items:flex-start;font-size:13.5px;line-height:1.4}
.rb-pm-options .rb-check input{margin-top:2px}
.rb-pm-options .rb-check strong{color:var(--fg);margin-right:4px}
.rb-pm-compose-foot .rb-form-actions{padding:0;width:100%}
@media (max-width:900px){.rb-pm-editor{flex-direction:column}.rb-pm-smilies{flex:none;width:100%;max-width:100%}}

/* ---- tracking (tables) ---- */
.rb-pm-tracking-block{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-pm-track-table{min-width:560px}
/* only the colspan empty row: no sideways scroll, so the empty text is never cut at the card edge */
.rb-pm-track-table:has(td .rb-empty){min-width:0}
.rb-pm-track-table td{vertical-align:middle}
.rb-pm-track-table .rb-pm-tcol-status{width:52px;padding-right:0}
.rb-pm-track-table .rb-pm-tcol-check{width:48px;text-align:center}
.rb-pm-track-table .rb-pm-tcol-check input{margin:0}
.rb-pm-track-table .rb-pm-tcol-date{white-space:nowrap;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
.rb-pm-track-table .rb-pm-tcol-user a{color:var(--fg-2);font-weight:500}
.rb-pm-track-table .rb-pm-tcol-user a:hover{color:#fff}
.rb-pm-track-table .rb-pm-status{width:30px;height:30px;font-size:13px}
.rb-pm-track-table .rb-pm-status.is-read{background:var(--surface-3);color:var(--muted)}
.rb-pm-track-table .rb-pm-status.is-unread{background:var(--accent);color:#fff}
.rb-pm-track-table .rb-pm-tcol-title{color:var(--fg);font-weight:500}
table.rb-table tbody tr.rb-pm-track-foot td{background:var(--surface-2);padding:10px 16px;font-size:13px;color:var(--muted);border-bottom:0}
.rb-pm-track-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rb-pm-track-actions .button{height:30px;padding:0 11px;font-size:13px}
.rb-pm-track-actions a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.rb-pm-track-actions a:hover{color:#fff}
table.rb-table td.rb-pm-track-empty{padding:0}
.rb-pm-track-empty .rb-empty{padding:28px 16px}

/* ---- folder management ---- */
.rb-pm-note{margin:0 0 14px;font-size:13.5px;color:var(--fg-2);line-height:1.55}
.rb-pm-note strong{color:var(--amber)}
.rb-pm-folder-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 12px}
.rb-pm-folder-item{display:flex;flex-direction:column;gap:5px;min-width:0}
.rb-pm-folder-input{position:relative}
.rb-pm-folder-input > .fa-solid{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}
.rb-pm-folder-input .textbox{padding-left:34px}
.rb-pm-folder-item.is-locked .rb-pm-folder-input > .fa-solid{color:var(--accent-2)}
.rb-pm-folder-lock{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.rb-pm-folder-lock .fa-solid{font-size:10px}
.rb-pm-folders .rb-card-foot{justify-content:flex-end}

/* ---- empty folders (table) ---- */
.rb-pm-note-strip{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2);line-height:1.55}
.rb-pm-note-strip strong{color:var(--amber)}
.rb-pm-empty-table .rb-pm-tcol-count,.rb-pm-empty-table .rb-pm-tcol-check{text-align:center;width:160px}
.rb-pm-empty-table .rb-pm-tcol-check input{margin:0}
.rb-pm-empty-table td{vertical-align:middle}
.rb-pm-empty-table .rb-pm-tcol-name{color:var(--fg);font-weight:500}
.rb-pm-empty-table .rb-pm-tcol-name .fa-solid{color:var(--muted);margin-right:9px;font-size:13px}
.rb-pm-empty-table .rb-pm-tcol-count{font-variant-numeric:tabular-nums}
.rb-pm-empty .rb-card-foot{gap:12px 18px}
.rb-pm-empty .rb-card-foot .rb-check{font-size:13.5px}
.rb-pm-empty .rb-card-foot input[type=submit].rb-btn-danger{margin-left:auto}

/* ---- export / advanced search forms ---- */
.rb-pm-export .rb-fields,.rb-pm-adv .rb-fields{grid-template-columns:230px minmax(0,1fr)}
.rb-fields > .rb-pm-fl{padding-top:9px;display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-pm-fl .rb-help{font-weight:400}
.rb-pm-datelimit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--fg-2)}
.rb-pm-datelimit select{width:auto}
/* the day count stays a short box beside the select (usercp-a makes every .textbox[size] in .rb-fields full width) */
.rb-pm-datelimit input[type=text].textbox,.rb-usercp .rb-pm-datelimit input.textbox[size]{width:80px;flex:none}
.rb-pm-export select[multiple],.rb-pm-adv select[multiple]{min-height:120px;max-width:420px}
.rb-pm-adv .rb-fields > .rb-section-title{margin:6px 0 0}
.rb-pm-adv .rb-fields > .rb-section-title:first-child{margin-top:0}
.rb-pm-adv .rb-checks{margin-top:8px}
.rb-pm-adv .rb-checks.is-inline{margin-top:0}
.rb-pm-adv select{max-width:420px}
.rb-pm-export .rb-card-foot,.rb-pm-adv .rb-card-foot{justify-content:flex-end}

/* ---- exported .html archive (standalone file, global.css inlined) ---- */
.rb-pm-archive{padding:24px 16px}
.rb-pm-archive-wrap{max-width:900px;margin:0 auto}
.rb-pm-archive-card + .rb-pm-archive-card{margin-top:var(--gap)}
.rb-pm-archive-msg{padding:14px 16px;border-bottom:1px solid var(--line)}
.rb-pm-archive-msg:last-child{border-bottom:0}
.rb-pm-archive-msg-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:10px}
.rb-pm-archive-msg-head strong{color:#fff;font-size:15px}
.rb-pm-archive-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted)}
.rb-pm-archive-meta em{font-style:normal}
.rb-pm-archive-foot{margin-top:var(--gap);font-size:12.5px;color:var(--muted);text-align:center}

/* ================= responsive ================= */
@media (max-width:1000px){
  .rb-pm-labels,.rb-pm-list .rb-pm{grid-template-columns:44px minmax(0,1fr) 150px 140px 40px}
  .rb-pm-labels.is-search,.rb-pm-list .rb-pm.is-search{grid-template-columns:44px minmax(0,1fr) 130px 110px 120px 40px}
}
/* tablets: a full date ("28 September, 2026, 10:43 AM" is about 190px) is wider than the date column and ran over the
   row checkbox; let it wrap to a second line ("10:43 AM") instead. The phone layout below uses an auto column. */
@media (min-width:761px) and (max-width:1000px){
  .rb-pm-date{white-space:normal;line-height:1.35;overflow-wrap:anywhere}
}
@media (max-width:760px){
  /* nowrap: a wrapping column flexbox sizes its items to the max-content width of the tabs and pushed the page
     sideways; now the tab strip scrolls inside .rb-tabs (overflow-x:auto) instead */
  .rb-pm-topbar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px}
  .rb-pm-topbar > *,.rb-pm-tabs,.rb-usage{width:100%;max-width:100%;min-width:0}
  .rb-usage{height:36px;justify-content:center}
  .rb-usage-bar{flex:1 1 auto;width:auto;max-width:200px}
  .rb-pm-search{width:100%;margin-left:0}
  .rb-pm-search-group{flex:1 1 auto}
  .rb-pm-search-group .textbox{width:100%;flex:1 1 auto}
  .rb-pm-labels,.rb-pm-labels.is-search{display:flex;gap:10px;padding:8px 12px}
  .rb-pm-labels .rb-pm-col.is-sender,.rb-pm-labels .rb-pm-col.is-date,.rb-pm-labels .rb-pm-col.is-folder{display:none}
  .rb-pm-labels .rb-pm-col.is-subject{flex:1 1 auto}
  .rb-pm-list .rb-pm{grid-template-columns:36px minmax(0,1fr) auto 28px;grid-template-areas:"status main main check" "status sender date check";gap:3px 10px;padding:10px 12px}
  .rb-pm-list .rb-pm.is-search{grid-template-columns:36px minmax(0,1fr) auto auto 28px;grid-template-areas:"status main main main check" "status sender folder date check"}
  .rb-pm-status{width:32px;height:32px;font-size:13px}
  .rb-pm-subject{white-space:normal;font-size:14px;line-height:1.35}
  .rb-pm-sender,.rb-pm-folder{font-size:12.5px}
  .rb-pm-date{font-size:12px}
  .rb-pm-excerpt{-webkit-line-clamp:1}
  .rb-pm-foot{padding:10px 12px}
  .rb-pm-jump.rb-right{margin-left:0;flex-basis:100%}
  .rb-pm-compose .rb-card-body{padding:14px}
  .rb-pm-recipients{grid-template-columns:minmax(0,1fr)}
  .rb-pm-editor-main textarea{min-height:240px}
  .rb-fields > .rb-pm-fl{padding-top:0;margin-top:8px}
  .rb-fields > .rb-pm-fl:first-child{margin-top:0}
  .rb-pm-export select[multiple],.rb-pm-adv select[multiple],.rb-pm-adv select{max-width:100%}
  /* the two-class desktop grid above (230px label column) outranks the one-class .rb-fields fallback in
     80-responsive, so reset it here: labels stack over full width controls */
  .rb-pm-export .rb-fields,.rb-pm-adv .rb-fields{grid-template-columns:minmax(0,1fr);gap:6px 0}
  /* a system PM (fromid 0, no avatar) keeps no empty 56px avatar column in the author strip */
  .rb-pm-read-body .rb-post-author:not(:has(.rb-post-avatar)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name counters" "title counters" "stats stats" "service service"}
  .rb-pm-archive{padding:14px 12px}
}
@media (max-width:480px){
  .rb-pm-tabs .rb-tab{height:38px;padding:0 12px;font-size:13px}
  .rb-pm-list .rb-pm{grid-template-columns:32px minmax(0,1fr) auto 24px;gap:3px 8px;padding:9px 10px}
  .rb-pm-list .rb-pm.is-search{grid-template-columns:32px minmax(0,1fr) auto auto 24px}
  .rb-pm-status{width:28px;height:28px;font-size:12px}
  .rb-pm-bulk .rb-pm-or,.rb-pm-bulk .rb-muted{flex-basis:100%;display:none}
  .rb-pm-foot select{max-width:100%}
  .rb-pm-folder-list{grid-template-columns:minmax(0,1fr)}
  .rb-pm-qr-grid{gap:12px}
}

/* ===== parts/profile-v2.css ===== */
/* ================= PROFILE V3 (member_profile): cover header, three columns, rb_profile plugin cards ================= */
/* Layout: actions row, cover, then LEFT 300px (tiles + Information), MIDDLE (Statistics, Groups, fields, activity,
   signature, contact), RIGHT 340px (Visitors, mod/admin options). Cards reuse .rb-card + the blue .rb-card-head from 70-pro.
   Selectors are .rb-pp-* (page) and .rb-pv-* (plugin cards). 70-pro loads after this file, so shared component
   overrides are scoped under .rb-pp to outrank it. */

/* ---- action buttons (rb_profile_actions), a toolbar row right above the cover ---- */
.rb-pp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rb-pp-actions:empty{display:none}
.rb-pp .rb-pp-actions .rb-pa-btn{height:34px;padding:0 14px;gap:8px;font-size:13px;font-weight:600;border-radius:3px}
.rb-pp .rb-pp-actions .rb-pa-btn .fa-solid{font-size:12px}
/* Send Message stays the blue primary: a later 70-pro .rb-btn rule repaints every .rb-btn grey, primary included */
.rb-pp .rb-pp-actions .rb-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-pp .rb-pp-actions .rb-btn-primary:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}
.rb-pp .rb-pp-actions .rb-pa-btn.is-report{color:var(--red);border-color:rgba(240,82,82,.35);background:transparent}
.rb-pp .rb-pp-actions .rb-pa-btn.is-report:hover{background:var(--red-soft);border-color:var(--red);color:#fff}

/* ---- cover ---- */
.rb-pp-cover{position:relative;height:220px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);border-radius:3px}
.rb-pp-cover-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
/* dark overlay: bottom for the name block, left edge for the avatar side */
.rb-pp-cover::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,25,32,.2) 0%,rgba(23,25,32,.55) 50%,rgba(23,25,32,.92) 100%),linear-gradient(90deg,rgba(23,25,32,.55) 0%,rgba(23,25,32,0) 65%)}
.rb-pp-cover-in{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;gap:20px;padding:0 24px 24px;min-width:0}
.rb-pp-avatar{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--surface-3);border:2px solid var(--line-2)}
.rb-pp-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.rb-pp-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.rb-pp .rb-pp-name{margin:0;font-size:28px;font-weight:700;line-height:1.2;color:#fff;overflow-wrap:anywhere}
.rb-pp .rb-pp-name a{color:inherit}
.rb-pp .rb-pp-name [class*="rb-name-"]{white-space:normal}
.rb-pp-usertitle{font-size:14px;font-weight:500;color:var(--fg-2);overflow-wrap:anywhere}
.rb-pp-usertitle:empty{display:none}
.rb-pp-online{display:flex;align-items:center;gap:10px;min-width:0;margin-top:2px;font-size:13px;color:var(--fg-2)}
.rb-pp-online:empty{display:none}
.rb-pp-st{flex:none;display:inline-flex;align-items:center;gap:7px;font-weight:600}
.rb-pp-st .rb-status-text{color:#fff;font-weight:600}
.rb-pp-st a.rb-status-text:hover{color:var(--link);text-decoration:none}
.rb-pp-st-loc{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-2)}
.rb-pp-st-loc a{color:var(--fg)}
.rb-pp-st-loc a:hover{color:#fff}
.rb-pp-st-sep{margin:0 2px;color:var(--fg-2)}

/* ---- columns ---- */
.rb-pp-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 340px;gap:var(--gap);align-items:start}
.rb-pp-col{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-pp-col > .rb-card,.rb-pp-col > .rb-card + .rb-card{margin:0}

/* ---- stat tiles (member_profile_reputation / member_profile_referrals) ---- */
.rb-pp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rb-pp-tiles:empty{display:none}
/* square only in the fixed 300px column (900px and up, about 144px); see the 899px block */
.rb-pp-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;aspect-ratio:1 / 1;padding:14px 10px;background:var(--surface);border:1px solid var(--line);border-radius:3px;text-align:center}
/* a single tile (no reputation for the group, or referrals switched off) spans the row instead of leaving a hole.
   :only-child counts elements only, so the rb-ok / tplhtmlcomments comments around the tiles do not matter */
.rb-pp-tile:only-child{grid-column:1 / -1;aspect-ratio:auto;padding:18px 10px 16px}
/* numbers never break: 32px keeps "12,345" inside the 122px content box of a 144px tile */
.rb-pp-tile-num{max-width:100%;font-size:32px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
.rb-pp-tile-num strong,.rb-pp-tile-num a{font-size:inherit;font-weight:700}
.rb-pp-tile-num a{color:#fff}
.rb-pp-tile-num a:hover{color:var(--link);text-decoration:none}
.rb-pp-tile-num .reputation_neutral{color:#fff}
.rb-pp-tile-label{font-size:13px;font-weight:500;color:var(--fg-2)}
.rb-pp-tile-tools{display:flex;justify-content:center;gap:6px;margin-top:8px}
.rb-pp-tile-tools:empty{display:none}
/* small square icon buttons (tiles, warning row) */
.rb-pp-ibtn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:12px;line-height:1;transition:background .12s,color .12s,border-color .12s}
.rb-pp-ibtn:hover{background:var(--surface-3);border-color:var(--line-2);color:#fff;text-decoration:none}
.rb-pp-ibtn:focus-visible,.rb-pp-link:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-pp-ibtn.is-vote{color:var(--green)}
.rb-pp-ibtn.is-vote:hover{color:#fff}

/* ---- Information card ---- */
.rb-pp-rows{margin:0;padding:2px 16px}
.rb-pp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}
.rb-pp-row:last-child{border-bottom:0}
.rb-pp-row dt{flex:none;margin:0;font-size:13px;font-weight:500;color:var(--fg-2)}
.rb-pp-row dd{margin:0;min-width:0;font-size:13.5px;font-weight:600;line-height:1.4;color:#fff;text-align:right;overflow-wrap:anywhere}
.rb-pp-row dd a{color:#fff}
.rb-pp-row dd a:hover{color:var(--link);text-decoration:none}
.rb-pp-row.is-warn dd{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}
.rb-pp-row .rb-pp-ibtn{width:26px;height:26px;font-size:11px}
/* warning level (postbit_warninglevel_formatted): the *_warning classes are alert boxes globally, plain coloured text here */
.rb-pp-row dd .high_warning,.rb-pp-row dd .moderate_warning,.rb-pp-row dd .low_warning,.rb-pp-row dd .normal_warning{display:inline;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#fff;font-size:inherit;line-height:inherit;font-weight:700}
.rb-pp-row dd .low_warning,.rb-pp-row dd .moderate_warning{color:var(--amber)}
.rb-pp-row dd .high_warning{color:var(--red)}
.rb-pp-status{display:inline-flex;align-items:center;gap:7px}
.rb-pp-status .rb-dot{width:8px;height:8px}
/* bottom bar: Posts / Threads / Reputation, equal widths, hairlines between */
.rb-pp-links{display:flex;border-top:1px solid var(--line)}
.rb-pp-links:empty{display:none}
.rb-pp-link{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 4px;color:var(--fg);font-size:12.5px;font-weight:600;white-space:nowrap}
.rb-pp-link + .rb-pp-link{border-left:1px solid var(--line)}
.rb-pp-link .fa-solid{flex:none;font-size:11.5px;color:var(--fg-2)}
.rb-pp-link span{overflow:hidden;text-overflow:ellipsis}
.rb-pp-link:hover{background:var(--surface-2);color:#fff;text-decoration:none}
.rb-pp-link:hover .fa-solid{color:#fff}
/* footer strip: time online */
.rb-pp-ontime{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 16px;background:var(--surface-2);border-top:1px solid var(--line);text-align:center}
.rb-pp-ontime b{font-size:16px;font-weight:700;line-height:1.35;color:#fff;overflow-wrap:anywhere}
.rb-pp-ontime span{font-size:12px;color:var(--fg-2)}

/* ---- Statistics card ---- */
.rb-pp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.rb-pp-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;padding:20px 10px;text-align:center}
.rb-pp-stat + .rb-pp-stat{border-left:1px solid var(--line)}
.rb-pp-stat b{max-width:100%;font-size:26px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
.rb-pp-stat span{font-size:12.5px;font-weight:500;color:var(--fg-2)}

/* ---- Groups card (rb_profile_groups) ---- */
.rb-pp-groups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:18px 16px}
.rb-pp-groups:empty{display:none}
.rb-pp-groups-card:has(.rb-pp-groups:empty){display:none}
.rb-pp-group{display:inline-flex;align-items:center;justify-content:center;max-width:100%;height:36px;padding:0 14px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;font-size:13.5px;font-weight:600;color:#fff;line-height:1}
.rb-pp-group.is-img{height:auto;padding:0;background:none;border:0}
.rb-pp-group.is-img img{display:block;max-width:100%;max-height:48px;width:auto;height:auto}

/* ---- Latest Activity card (plugin) ---- */
.rb-pv-row{display:flex;align-items:center;gap:14px;min-width:0;padding:11px 16px;border-bottom:1px solid var(--line)}
.rb-pv-row:hover{background:var(--surface-2)}
.rb-pv-main{flex:1 1 auto;min-width:0}
.rb-pv-title{display:block;color:#fff;font-size:14px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pv-title:hover{color:var(--link);text-decoration:none}
.rb-pv-excerpt{margin-top:3px;color:var(--fg-2);font-size:13px;line-height:1.45;overflow-wrap:anywhere;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* one line: kind, forum, time; only the forum name gives way (ellipsis), so no separator is left dangling at a wrap */
.rb-pv-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:0 7px;min-width:0;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--fg-2)}
.rb-pv-forum{flex:0 1 auto;min-width:0;max-width:100%;color:var(--fg-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pv-meta .rb-pv-kind,.rb-pv-meta .rb-pv-sep,.rb-pv-meta .rb-pv-time{flex:none}
.rb-pv-forum:hover{color:#fff;text-decoration:none}
.rb-pv-sep{color:var(--faint)}
.rb-pv-time{color:var(--fg-2);white-space:nowrap}
.rb-pv-kind{display:inline-flex;align-items:center;gap:5px;color:var(--fg-2);font-weight:500;white-space:nowrap}
.rb-pv-kind .fa-solid{font-size:10px;color:var(--fg-2)}
.rb-pv-kind.is-thread .fa-solid{color:var(--accent-2)}
.rb-pv-count{flex:none;display:flex;flex-direction:column;align-items:flex-end;min-width:52px;line-height:1.25;text-align:right}
.rb-pv-count b{color:#fff;font-size:14px;font-weight:600}
.rb-pv-count span{color:var(--fg-2);font-size:11.5px}
.rb-pv-more{padding:10px 16px;text-align:right;font-size:12.5px}
.rb-pv-more a{color:var(--link);font-weight:500}
.rb-pv-more a:hover{color:#fff;text-decoration:none}
.rb-pv-empty{padding:22px 16px;text-align:center;color:var(--fg-2);font-size:13.5px}

/* ---- Visitors card (plugin): a list of rows, then the total ---- */
.rb-pv-visitors{display:flex;flex-direction:column}
.rb-pv-visitor{display:flex;align-items:center;gap:11px;min-width:0;padding:10px 16px;border-bottom:1px solid var(--line)}
.rb-pv-visitor:last-child{border-bottom:0}
.rb-pv-visitor:hover{background:var(--surface-2)}
.rb-pv-av{flex:none;display:block;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--surface-3);border:1px solid var(--line-2)}
.rb-pv-av img{display:block;width:100%;height:100%;object-fit:cover}
.rb-pv-visitor-main{display:flex;flex-direction:column;min-width:0;line-height:1.3}
/* the clip box gets 6px of room around the name so group glows (drop-shadow, pulse, text-shadow) are not cut flat */
.rb-pv-visitor-name{padding:6px 8px 6px 6px;margin:-6px 0 -6px -6px;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-pv-visitor-name a{color:#fff}
.rb-pv-visitor-name a:hover{color:var(--link);text-decoration:none}
.rb-pv-visitor .rb-pv-time{margin-top:1px;font-size:12px;overflow:hidden;text-overflow:ellipsis}
.rb-pv-total{padding:11px 16px;background:var(--surface-2);border-top:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-pv-total b{color:#fff;font-weight:600}

/* ---- 1200 to 1359px: the middle column is only about 480 to 500px, so the four numbers get a smaller size ---- */
@media (min-width:1200px) and (max-width:1359px){
  .rb-pp-stat{padding:18px 6px}
  .rb-pp-stat b{font-size:22px}
}
/* ---- 900 to 1199px: two columns, the right column flows under the middle one ----
   rows auto + 1fr: the left column spans both rows, and a spanning item that crosses a flexible track only feeds
   that track, so a tall left column adds its extra height below the right column, never between middle and right */
@media (max-width:1199px){
  .rb-pp-grid{grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto 1fr}
  .rb-pp-left{grid-row:1 / span 2}
  .rb-pp-right{grid-column:2}
}
/* ---- under 900px: one column; the tiles are no longer squares (they would be 360px and more on tablets) ---- */
@media (max-width:899px){
  .rb-pp-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .rb-pp-left{grid-row:auto}
  .rb-pp-right{grid-column:auto}
  .rb-pp-tile{aspect-ratio:auto;padding:18px 10px 16px}
}
/* ---- phones ---- */
@media (max-width:600px){
  .rb-pp .rb-pp-actions .rb-pa-btn{flex:1 1 auto;padding:0 12px}
  .rb-pp-cover{height:160px}
  .rb-pp-cover-in{gap:14px;padding:0 16px 16px}
  .rb-pp-avatar{width:72px;height:72px}
  .rb-pp .rb-pp-name{font-size:22px}
  .rb-pp-usertitle{font-size:13px}
  .rb-pp-online{font-size:12.5px;gap:8px}
  .rb-pp-tile-num{font-size:30px}
  /* bigger touch targets: reputation details and +, referrals list, warn */
  .rb-pp-ibtn{width:36px;height:36px;font-size:13px}
  .rb-pp-row .rb-pp-ibtn{width:36px;height:36px;font-size:12px}
  .rb-pp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-pp-stat{padding:16px 8px}
  .rb-pp-stat:nth-child(odd){border-left:0}
  .rb-pp-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .rb-pp-stat b{font-size:22px}
  .rb-pv-row{gap:10px;padding:11px 12px}
  .rb-pv-more{padding:12px}
  .rb-pv-visitor{padding:10px 12px}
  .rb-pv-total{padding:11px 12px}
}
/* ---- small phones: the activity meta keeps the kind icon and gives its label's width to the forum name.
   The label stays readable for screen readers (visually hidden, not display:none) ---- */
@media (max-width:480px){
  .rb-pv-kind-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .rb-pv-kind .fa-solid{font-size:11px}
}

/* ===== parts/reactions.css ===== */
/* ================= REACTIONS: bar under each post ({$post['rb_reactions']}, rb_reactions plugin, rb-reactions.js) =================
   Left: the reaction types used, as flat 26px buttons (icon + count, surface-2, 3px corners); the viewer's own reaction is
   outlined in --accent-2. Buttons only for members who may react, plain spans otherwise; the title lists the names.
   Right: the React control (same size and surface as the post action buttons) with a horizontal picker that opens above it.
   The picker is anchored to the control's right edge so it always stays inside the post (topic posts are overflow:hidden).
   Only .rb-react-add is positioned: .rb-post, .rb-post-main and .rb-post-foot stay static for MyBB's popup menus.
   Every selector carries .rb-post so it beats 70-pro.css, which loads after the parts. */
.rb-post .rb-react{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:14px 0 0;min-width:0}
.rb-post .rb-react-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.rb-post .rb-react-sum:empty{display:none}

/* summary buttons */
.rb-post .rb-react-btn{display:inline-flex;align-items:center;gap:6px;height:26px;margin:0;padding:0 8px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg);font-family:inherit;font-size:12.5px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default}
.rb-post .rb-react-btn .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-post button.rb-react-btn{cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}
.rb-post button.rb-react-btn:hover{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.rb-post button.rb-react-btn:hover .fa-solid{color:#fff}
.rb-post .rb-react-btn.is-mine,.rb-post button.rb-react-btn.is-mine:hover{border-color:var(--accent-2);color:#fff}
.rb-post .rb-react-btn.is-mine .fa-solid,.rb-post button.rb-react-btn.is-mine:hover .fa-solid{color:var(--accent-2)}

/* React control: white label on the grey control (no grey on grey), icon in --fg-2 */
.rb-post .rb-react-add{position:relative;flex:none;margin-left:auto}
.rb-post .rb-react-toggle{display:inline-flex;align-items:center;gap:7px;height:28px;margin:0;padding:0 10px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg);font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s,color .12s}
.rb-post .rb-react-toggle .fa-regular{font-size:13px;color:var(--fg-2)}
.rb-post .rb-react-toggle:hover,.rb-post .rb-react-add.is-open .rb-react-toggle{background:var(--surface-4);border-color:var(--line-2);color:#fff}
.rb-post .rb-react-toggle:hover .fa-regular,.rb-post .rb-react-add.is-open .rb-react-toggle .fa-regular{color:#fff}

/* picker: one row of five icons above the control */
.rb-post .rb-react-pick{display:none;position:absolute;right:0;bottom:calc(100% + 6px);z-index:30;align-items:center;gap:2px;padding:4px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.45);white-space:nowrap}
.rb-post .rb-react-add.is-open .rb-react-pick{display:flex}
.rb-post .rb-react-opt{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;box-shadow:none;color:var(--fg);line-height:1;cursor:pointer;transition:background-color .12s,color .12s}
.rb-post .rb-react-opt .fa-solid{font-size:16px}
.rb-post .rb-react-opt:hover{background:var(--surface-4);color:#fff}
.rb-post .rb-react-opt.is-mine,.rb-post .rb-react-opt.is-mine:hover{border-color:var(--accent-2);color:var(--accent-2)}

/* request in flight / error text */
.rb-post .rb-react.is-busy .rb-react-sum,.rb-post .rb-react.is-busy .rb-react-add{opacity:.6}
.rb-post .rb-react.is-busy button{cursor:progress}
.rb-post .rb-react-err{min-width:0;font-size:12.5px;line-height:1.3;color:var(--red)}

/* phones: larger touch targets; the control wraps to its own line (right aligned) when the summary is long */
@media (max-width:760px){
  .rb-post .rb-react{margin-top:12px}
  .rb-post .rb-react-btn{height:30px;padding:0 9px}
  .rb-post .rb-react-toggle{height:30px}
  .rb-post .rb-react-opt{width:40px;height:40px}
  .rb-post .rb-react-opt .fa-solid{font-size:17px}
}
@media print{
  .rb-post .rb-react-add{display:none}
}

/* ===== parts/scam.css ===== */
/* ===================================================================
   Roidboard: scam system (plugin rb_scam, misc.php?action=scam_*)
   Scammer group name style, report form, staff list and case view,
   public Scam Register with "Check a user".
   Selectors are prefixed with .rb-scam so they win over 70-pro.css,
   which loads after the parts.
   =================================================================== */

/* ---- Scammer group name (namestyle <span class="rb-name-scammer">{username}</span>) ----
   the global [class*="rb-name-"]::after rule in 70-pro.css sets the Font Awesome font */
.rb-name-scammer{color:#ef4444;font-weight:600;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(239,68,68,.8)}
.rb-name-scammer::after{content:"\f071";color:#ef4444}

/* ---- shared shell ---- */
.rb-scam{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-scam .rb-card + .rb-card{margin-top:0}
.rb-scam > .error,.rb-scam > .rb-alert{margin:0}
.rb-scam .rb-card-tools .rb-badge{height:20px}
.rb-scam .rb-card-foot{background:var(--surface-2);color:var(--fg-2)}
.rb-scam .rb-scam-foot{justify-content:space-between;gap:12px}
.rb-scam .rb-scam-foot .rb-form-actions{flex:1 1 auto;padding-top:0}
.rb-scam .rb-scam-foot .rb-pager{margin-left:auto}
.rb-scam .rb-btn .fa-solid{font-size:12px}
.rb-scam .rb-empty{color:var(--fg-2)}
.rb-scam .rb-empty b{color:#fff}
.rb-scam-none{color:var(--fg-2);font-style:italic}
.rb-scam-gone{color:var(--fg-2);text-decoration:line-through}
.rb-scam .rb-help{color:var(--fg-2)}

/* ---- report form ---- */
.rb-scam .rb-scam-intro{margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13.5px;line-height:1.55}
.rb-scam .rb-scam-intro p{margin:0 0 6px}
.rb-scam .rb-scam-intro p:last-child{margin:0}
.rb-scam .rb-scam-fields{grid-template-columns:220px minmax(0,1fr);gap:14px 18px}
.rb-scam .rb-scam-lbl{display:flex;flex-direction:column;gap:3px;padding-top:9px;min-width:0}
.rb-scam .rb-scam-lbl .rb-label{color:#fff;font-weight:500}
.rb-scam .rb-scam-short{max-width:260px}
.rb-scam input[type=date]{color-scheme:dark}
.rb-scam textarea{width:100%;min-height:0}
.rb-scam .rb-scam-summary{min-height:84px}
/* the post the member came from (Report scam button on a post, &pid=N) */
.rb-scam .rb-scam-intro p.rb-scam-from{display:flex;align-items:baseline;gap:8px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--fg-2);min-width:0}
.rb-scam .rb-scam-from .fa-solid{flex:none;font-size:12px;color:var(--muted)}
.rb-scam .rb-scam-from span{min-width:0;overflow-wrap:anywhere}
.rb-scam .rb-scam-from a{color:var(--link)}
.rb-scam .rb-scam-from a:hover{color:#fff}

/* ---- Report scam button on posts in the marketplace and review boards (rb_scam_postbit, inside button_report) ----
   the same flat post button with muted red text and no fill; brighter red text and a red hairline on hover */
.rb-btn.rb-scam-btn,.rb-post-foot .rb-btn.rb-scam-btn{background:transparent;color:#db7679;color:color-mix(in srgb,var(--red) 65%,var(--fg-2))}
.rb-btn.rb-scam-btn .fa-solid,.rb-post-foot .rb-btn.rb-scam-btn .fa-solid{color:inherit}
.rb-btn.rb-scam-btn:hover,.rb-btn.rb-scam-btn:focus-visible,
.rb-post-foot .rb-btn.rb-scam-btn:hover,.rb-post-foot .rb-btn.rb-scam-btn:focus-visible{background:transparent;border-color:rgba(240,82,82,.45);color:var(--red)}

/* ---- staff list ---- */
.rb-scam .rb-scam-tabs{padding:0 8px}
.rb-scam .rb-scam-tabcount{margin-left:7px;color:var(--fg-2);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.rb-scam .rb-tab.is-active .rb-scam-tabcount{color:#fff}
.rb-scam-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(90px,150px) 170px;grid-template-areas:"id main amount status";align-items:center;gap:6px 16px;padding:12px 16px;border-top:1px solid var(--line)}
.rb-scam-rows > .rb-scam-row:first-child{border-top:0}
.rb-scam-row:hover{background:var(--surface-2)}
.rb-scam-row-id{grid-area:id;font-family:var(--mono);font-size:12.5px;color:var(--fg-2)}
.rb-scam-row-id:hover{color:#fff;text-decoration:none}
.rb-scam-row-main{grid-area:main;min-width:0}
.rb-scam-row-title{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top;font-size:14px;font-weight:600;color:#fff}
.rb-scam-row-title:hover{text-decoration:none;filter:brightness(1.15)}
.rb-scam-row-sub{margin-top:3px;font-size:12.5px;color:var(--fg-2);overflow-wrap:anywhere}
.rb-scam-row-amount{grid-area:amount;font-size:13px;color:var(--fg);overflow-wrap:anywhere}
.rb-scam-row-status{grid-area:status;display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:12px;color:var(--fg-2);text-align:right}

/* ---- staff case view ---- */
.rb-scam-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap);align-items:start}
.rb-scam-main,.rb-scam-side{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-scam-update{margin:0;min-width:0}
.rb-scam .rb-scam-kv{gap:9px 20px;font-size:13.5px}
.rb-scam .rb-scam-kv dt{color:var(--fg-2)}
.rb-scam .rb-scam-kv dd{color:#fff}
.rb-scam .rb-scam-kv dd a{overflow-wrap:anywhere}
.rb-scam .rb-scam-h{display:flex;align-items:center;gap:8px;margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;font-weight:600;color:#fff}
.rb-scam .rb-scam-h .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-scam .rb-scam-h .rb-badge{margin-left:auto}
.rb-scam-text{font-size:14px;line-height:1.6;color:var(--fg);overflow-wrap:anywhere;word-break:break-word}
.rb-scam-text a{color:var(--link)}
.rb-scam-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.rb-scam-gone-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-scam-gone-note b{color:#fff;font-weight:600}
.rb-scam-other{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 16px;border-top:1px solid var(--line);color:var(--fg);font-size:13px}
.rb-scam-others > .rb-scam-other:first-child{border-top:0}
.rb-scam-other:hover{background:var(--surface-2);color:#fff;text-decoration:none}
.rb-scam-other-id{font-family:var(--mono);font-size:12.5px;color:#fff}
.rb-scam-other-meta{margin-left:auto;font-size:12px;color:var(--fg-2)}
.rb-scam-empty-line{padding:14px 16px;font-size:13px;color:var(--fg-2)}

/* ---- public register ---- */
.rb-scam-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.rb-scam-lead{margin:0;max-width:680px;font-size:14px;line-height:1.55;color:var(--fg-2)}
.rb-scam-cta{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.rb-scam-cta:empty{display:none}
.rb-scam-check{display:flex;flex-direction:column;gap:6px;max-width:560px;margin:0}
.rb-scam-check .rb-label{color:#fff;font-weight:500}
.rb-scam-check-row{display:flex;gap:8px;align-items:stretch}
.rb-scam-check-row .rb-search{flex:1 1 auto;min-width:0}
.rb-scam-check-row .textbox{width:100%}
.rb-scam-check-row input[type=submit]{flex:none}
.rb-scam .rb-scam-result{margin:16px 0 0}
.rb-scam-result-title{display:block;font-size:14.5px;font-weight:600;color:#fff;overflow-wrap:anywhere}
.rb-scam-result-sub{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-scam-result-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line-2)}
.rb-scam-result-list li{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere}
.rb-scam-result-date{font-size:12px;color:var(--fg-2)}
.rb-scam .rb-scam-labels,.rb-scam-entry{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr) 90px 120px;gap:16px;align-items:start}
.rb-scam .rb-scam-labels span:nth-child(3),.rb-scam .rb-scam-labels span:nth-child(4){text-align:right}
.rb-scam-listcard:has(.rb-empty) .rb-scam-labels{display:none}
.rb-scam-entry{padding:14px 16px;border-top:1px solid var(--line)}
.rb-scam-list > .rb-scam-entry:first-child{border-top:0}
.rb-scam-entry:hover{background:var(--surface-2)}
.rb-scam-entry-user{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600;color:#fff}
.rb-scam-entry-summary{min-width:0;font-size:13.5px;line-height:1.55;color:var(--fg);overflow-wrap:anywhere}
.rb-scam-entry-more{display:block;width:max-content;margin-top:4px;font-size:12.5px;color:var(--link)}
.rb-scam-entry-more:hover{color:#fff}
.rb-scam-entry-count{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;font-size:12.5px;color:var(--fg-2)}
.rb-scam-entry-count b{font-size:14px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.rb-scam-entry-date{text-align:right;white-space:nowrap;font-size:12.5px;color:var(--fg-2)}

/* ---- my reports (members): list rows reuse .rb-scam-row, the view reuses the case styles ---- */
.rb-scam .rb-scam-mytop{margin:0;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center}
.rb-scam .rb-scam-mytop .rb-scam-lead{font-size:13.5px}
.rb-scam-mine-limit{display:block;max-width:300px;font-size:12.5px;line-height:1.45;color:var(--fg-2);text-align:right}
.rb-scam-row.rb-scam-mine{align-items:start}
.rb-scam-mine .rb-scam-row-id,.rb-scam-mine .rb-scam-row-amount{padding-top:2px}
.rb-scam-mine-summary{margin-top:8px;padding:1px 0 1px 10px;border-left:2px solid var(--line-2);font-size:13px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere}
.rb-scam-mine-label{display:block;margin-bottom:2px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-2)}
.rb-scam .rb-scam-mine-empty .rb-btn{margin-top:6px}
.rb-scam-mine-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--fg-2)}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-scam-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rb-scam .rb-scam-fields{grid-template-columns:minmax(0,1fr);gap:6px 0}
  .rb-scam .rb-scam-lbl{padding-top:0;margin-top:10px}
  .rb-scam .rb-scam-lbl:first-child{margin-top:0}
  .rb-scam .rb-scam-short{max-width:none}
  .rb-scam-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id status" "main main" "amount amount";gap:6px 12px}
  .rb-scam-row-status{flex-direction:row;align-items:center;gap:8px}
  .rb-scam-top{flex-direction:column;gap:12px}
  .rb-scam .rb-scam-labels{display:none}
  .rb-scam-entry{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"user date" "summary summary" "count count";gap:6px 12px}
  .rb-scam-entry-user{grid-area:user}
  .rb-scam-entry-summary{grid-area:summary}
  .rb-scam-entry-count{grid-area:count;justify-content:flex-start}
  .rb-scam-entry-date{grid-area:date}
  .rb-scam .rb-scam-foot{flex-direction:column;align-items:stretch}
  .rb-scam .rb-scam-foot .rb-pager{margin-left:0}
  .rb-scam-cta{justify-content:flex-start}
  .rb-scam .rb-scam-mytop{align-items:stretch}
  .rb-scam-mine-limit{max-width:none;text-align:left}
}
@media (max-width:420px){
  .rb-scam-check-row{flex-direction:column}
  .rb-scam-check-row input[type=submit]{width:100%}
  .rb-scam-row-status > span:not(.rb-badge){display:none}
  .rb-scam-cta{align-self:stretch}
  .rb-scam-cta .rb-btn{flex:1 1 auto}
}

/* trade date: three English selects in one row */
.rb-scam .rb-scam-date{display:flex;gap:8px;max-width:420px}
.rb-scam .rb-scam-date select{flex:1 1 0;min-width:0}
.rb-scam .rb-scam-date select[name=trade_month]{flex:1.6 1 0}

/* ===== parts/shoutmod.css ===== */
/* ===================================================================
   Roidboard: shoutbox moderation (plugin rb_shoutmod, assets/rb-shoutmod.js)
   Index: the muted notice in the shoutbox foot, the staff menu button on each shout and its menu
   (a popover under the button, a bottom sheet up to 560px). Mod CP: modcp.php?action=rb_shoutmutes.
   Flat surfaces, hairlines, 3px corners, no glows; muted red only for the purge.
   =================================================================== */

/* ---- muted member: the notice takes the place of the input bar (the form is also hidden inline, see the plugin) ---- */
.rb-sb-foot.is-sm-muted .rb-sb-form{display:none}
.rb-sb-note.rb-sm-notice{align-items:flex-start;min-height:38px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:13px;line-height:1.45}
.rb-sb-note.rb-sm-notice .fa-solid{flex:none;margin-top:2px;color:var(--muted);font-size:12px}
.rb-sm-notice-text{min-width:0;overflow-wrap:anywhere}
.rb-sm-flash{margin:6px 0 0;color:var(--fg-2);font-size:12.5px;line-height:1.4}
.rb-sm-flash[hidden]{display:none}

/* ---- staff: the menu button sits with the other action icons (rb-sb-act look from 46-shoutbox.css) ----
   A row with the button has three icons (menu, pin, delete) at its top right. With a mouse they are invisible but
   clickable on every row, so the whole text column keeps clear of them (76px of icons, 8px from the edge, minus the
   row padding, plus a small gap). On touch screens the icons only show and take taps on the opened row, so only
   that row makes room (36 + 30 + 30px and the gaps), and the menu button gets a 36px tap target; its acts sit above
   the next row so the part of the target that hangs over it still takes the tap. */
.rb-sb-act.rb-sm-btn{font-size:13px}
.rb-sb-act.rb-sm-btn.is-active{opacity:1;pointer-events:auto;background:var(--surface-3);color:var(--fg)}
@media (hover:hover){
  .rb-sb-msg.can-sm .rb-sb-main{padding-right:78px}
}
@media (hover:none){
  .rb-sb-act.rb-sm-btn{width:36px;height:36px;margin:-4px 0}
  .rb-sb-msg.can-sm.is-open .rb-sb-main{padding-right:100px}
  .rb-sb-msg.can-sm.is-open .rb-sb-acts{z-index:1}
}

/* ---- staff: the menu ---- */
.rb-sm-menu{position:fixed;top:0;left:0;z-index:10020;box-sizing:border-box;width:272px;max-width:calc(100vw - 16px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.35);color:var(--fg);font-size:13.5px;line-height:1.4;text-align:left}
.rb-sm-menu[hidden],.rb-sm-backdrop[hidden]{display:none}
.rb-sm-menu:focus{outline:0}
.rb-sm-menu.is-busy{cursor:progress}
.rb-sm-backdrop{position:fixed;inset:0;z-index:10019;background:rgba(0,0,0,.45)}
.rb-sm-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:2px 2px 2px 12px;border-bottom:1px solid var(--line)}
.rb-sm-title{flex:1 1 auto;min-width:0;overflow:hidden;color:#fff;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.rb-sm-x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;margin:0;padding:0;background:transparent;border:0;border-radius:3px;color:var(--muted);font-size:13px;line-height:1;cursor:pointer}
.rb-sm-x:hover{background:var(--surface-3);color:var(--fg)}
.rb-sm-x:focus-visible{outline:1px solid var(--accent-2);outline-offset:-1px}
.rb-sm-body{padding:4px 0}
.rb-sm-sec + .rb-sm-sec{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}
.rb-sm-label{margin:6px 12px 2px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.rb-sm-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:36px;margin:0;padding:6px 12px;background:transparent;border:0;border-radius:0;color:var(--fg);font:inherit;font-size:13.5px;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer}
.rb-sm-item:hover,.rb-sm-item:focus-visible{background:var(--surface-3);color:#fff;text-decoration:none;outline:0}
.rb-sm-item .fa-solid{flex:none;width:14px;color:var(--muted);font-size:12px;text-align:center}
.rb-sm-item.is-danger{color:#e08585}
.rb-sm-item.is-danger .fa-solid{color:#c26161}
.rb-sm-item.is-danger:hover,.rb-sm-item.is-danger:focus-visible{background:rgba(240,82,82,.08);color:#f0a3a3}
.rb-sm-item:disabled{opacity:.5;cursor:default}
.rb-sm-line{margin:6px 12px;color:var(--fg-2);font-size:13px;overflow-wrap:anywhere}
.rb-sm-line.is-wait{color:var(--muted)}
.rb-sm-status{display:flex;align-items:center;gap:8px;margin:8px 12px 2px;color:var(--fg);font-weight:600;overflow-wrap:anywhere}
.rb-sm-status .fa-solid{flex:none;color:var(--muted);font-size:12px}
.rb-sm-q{margin:10px 12px;color:var(--fg);font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}
.rb-sm-flabel{display:block;margin:0 12px 5px;color:var(--fg-2);font-size:12.5px}
.rb-sm-menu .rb-sm-input{box-sizing:border-box;display:block;width:calc(100% - 24px);height:36px;margin:0 12px;padding:0 10px;background:var(--bg);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg);font:inherit;font-size:13.5px}
.rb-sm-menu .rb-sm-input::placeholder{color:var(--muted);opacity:1}
.rb-sm-menu .rb-sm-input:focus{background:var(--bg);border-color:var(--accent-2);box-shadow:none;outline:0}
.rb-sm-menu .rb-sm-input[readonly]{color:var(--fg-2)}
.rb-sm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 12px 8px}
.rb-sm-b{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:36px;margin:0;padding:0 14px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:var(--fg);font:inherit;font-size:13px;font-weight:500;line-height:1;cursor:pointer}
.rb-sm-b:hover{background:var(--surface-4)}
.rb-sm-b:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sm-b.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-sm-b.is-primary:hover{background:#3d75d9;border-color:#3d75d9}
.rb-sm-b.is-danger{background:#3a1f1f;border-color:#5a2a2a;color:#ffb3b3}
.rb-sm-b.is-danger:hover{background:#4a2424;border-color:#c26161;color:#fff}
.rb-sm-b:disabled{opacity:.5;cursor:default}
.rb-sm-err{margin:6px 12px 8px;color:var(--red);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.rb-sm-err[hidden]{display:none}
/* narrow screens: a sheet at the bottom of the visible area. rb-shoutmod.js sets bottom: above the keyboard when it
   is open, else above the home indicator (the safe area it reads from .rb-sm-probe) */
.rb-sm-probe{position:fixed;left:0;bottom:0;width:0;height:0;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden;visibility:hidden;pointer-events:none}
.rb-sm-menu.is-sheet{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-width:none}
.rb-sm-menu.is-sheet .rb-sm-item{min-height:44px}
.rb-sm-menu.is-sheet .rb-sm-actions .rb-sm-b{flex:1 1 0;height:40px}
.rb-sm-menu.is-sheet .rb-sm-input{height:40px;font-size:16px}
@media (prefers-reduced-motion:reduce){.rb-sm-item,.rb-sm-b{transition:none}}

/* ---- Mod CP: Shoutbox mutes ---- */
.rb-sm-card{min-width:0}
.rb-sm-headcount{color:rgba(255,255,255,.85);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-sm-intro{margin:0;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13px;line-height:1.5}
.rb-sm-code{padding:1px 5px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:var(--fg);font-family:var(--mono);font-size:12px;white-space:nowrap}
.rb-sm-labels,.rb-sm-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.9fr) minmax(0,.9fr) 104px;gap:12px;align-items:center}
.rb-sm-history .rb-sm-labels,.rb-sm-history .rb-sm-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.7fr) minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1.3fr)}
.rb-sm-labels{padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.rb-sm-labels:has(+ .rb-sm-rows > .rb-sm-empty){display:none}
.rb-sm-row{padding:11px 16px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13.5px;line-height:1.4}
.rb-sm-row:last-child{border-bottom:0}
.rb-sm-row:hover{background:var(--surface-2)}
.rb-sm-cell{min-width:0;overflow-wrap:anywhere}
.rb-sm-member a{font-weight:600}
.rb-sm-by a,.rb-sm-end a{color:var(--fg);font-weight:500}
.rb-sm-member a:hover,.rb-sm-by a:hover,.rb-sm-end a:hover{color:#fff;text-decoration:underline}
.rb-sm-when{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.rb-sm-end{display:block;color:var(--fg-2)}
.rb-sm-perm{color:var(--fg);font-weight:600}
.rb-sm-none,.rb-sm-gone{color:var(--muted)}
.rb-sm-gone{font-style:italic}
.rb-sm-k{display:none}
.rb-sm-act{text-align:right}
.rb-sm-form{display:inline-block;margin:0}
.rb-sm-unmute .fa-solid{font-size:12px}
.rb-sm-empty{padding:36px 16px}
.rb-sm-more{margin:0;padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
@media (max-width:760px){
  .rb-sm-labels{display:none}
  .rb-sm-row,.rb-sm-history .rb-sm-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 14px}
  .rb-sm-member{grid-column:1;grid-row:1;font-size:14px}
  .rb-sm-act{grid-column:2;grid-row:1 / span 2;align-self:start}
  .rb-sm-cell:not(.rb-sm-member):not(.rb-sm-act){grid-column:1}
  .rb-sm-history .rb-sm-cell:not(.rb-sm-member){grid-column:1 / -1}
  .rb-sm-k{display:inline;margin-right:6px;color:var(--muted);font-size:12px}
  .rb-sm-k::after{content:":"}
  .rb-sm-ended .rb-sm-end,.rb-sm-ended .rb-sm-when{display:inline}
  .rb-sm-ended .rb-sm-when::before{content:", "}
  .rb-sm-act .rb-btn{height:36px;padding:0 12px}
  .rb-sm-intro{padding:10px 14px}
}

/* ===== parts/showteam-v2.css ===== */
/* Forum Team page (showteam.php), v2.
   One card per staff group (blue .rb-card-head from 70-pro.css, member count on the right), member tiles in a grid:
   4 per row at 1280px, 1 per row on a phone. Templates: showteam, showteam_usergroup(_user), showteam_moderators(_mod|_forum).
   Avatar, user title and member count come from plugin rb_showteam (assets/plugins/rb_showteam.php).
   Selectors are scoped two classes deep where 70-pro.css / 80-responsive.css (loaded after this file) set the same property. */

.rb-st{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-st-card{min-width:0}

/* header: white title left, count right */
.rb-st-card .rb-st-head{flex-wrap:nowrap}
.rb-st-card .rb-card-title{min-width:0}
.rb-st-card .rb-card-title > i{flex:none}
/* .rb-card-title is inline-flex, so the ellipsis lives on the inner span (a flex item that may shrink) */
.rb-st-card .rb-st-gname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-st-card .rb-st-count{margin-left:auto;flex:none;font-size:12.5px;font-weight:500;line-height:1.2;color:rgba(255,255,255,.8);white-space:nowrap}
.rb-st-card .rb-st-count:empty{display:none}

/* grid of member tiles */
.rb-st-card .rb-st-body{padding:16px}
.rb-st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px;min-width:0}

.rb-st-tile{display:flex;flex-direction:column;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;transition:border-color .12s}
.rb-st-tile:hover{border-color:var(--line-2)}

.rb-st-id{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;padding:14px 14px 12px}
.rb-st-tile.is-mod .rb-st-id{align-items:flex-start}
.rb-st-tile .rb-st-avatar{width:48px;height:48px;flex:none;border-radius:50%;border:1px solid var(--line-2);background-color:var(--surface-3)}
.rb-st-tile .rb-st-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

.rb-st-main{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
/* the clip box gets 6px/8px of padding (cancelled by the negative margin) so the drop shadow of the staff namestyles
   is not cut flat; the namestyle span keeps its own colour, weight, background and ::after icon */
.rb-st-tile .rb-st-name{display:block;max-width:calc(100% + 16px);margin:-6px -8px;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.3;color:var(--fg);text-decoration:none}
.rb-st-tile .rb-st-name:hover{text-decoration:none}
.rb-st-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;color:var(--fg-2)}
.rb-st-title:empty{display:none}

/* moderated forums (or led groups): small links separated by commas */
.rb-st-scope{margin-top:3px;font-size:12px;line-height:1.5;color:var(--fg-2);overflow-wrap:anywhere}
.rb-st-scope:empty{display:none}
.rb-st-tile .rb-st-scope a{color:var(--fg-2);text-decoration:none}
.rb-st-tile .rb-st-scope a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
.rb-st-forum + .rb-st-forum::before{content:", ";color:var(--muted)}

/* footer strip: status dot + text left, icon buttons right */
.rb-st-foot{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 14px;border-top:1px solid var(--line)}
.rb-st-seen{display:flex;align-items:center;gap:7px;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;font-size:12px;line-height:1.3;color:var(--fg-2)}
.rb-st-seen .rb-dot{width:7px;height:7px}
.rb-st-status{flex:none}
.rb-st-sep{flex:none;color:var(--muted)}
.rb-st-visit{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rb-st-seen .rb-dot.is-online ~ .rb-st-sep,.rb-st-seen .rb-dot.is-online ~ .rb-st-visit{display:none}

.rb-st-actions{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto}
.rb-st-actions > a{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-width:30px;padding:0 9px;border-radius:3px;background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg-2);font-size:12px;font-weight:500;line-height:1;box-shadow:none;text-decoration:none;white-space:nowrap}
.rb-st-actions > a:hover{background:var(--surface-4);border-color:var(--line-2);color:#fff;text-decoration:none;transform:none}
.rb-st-actions > a .fa-solid,.rb-st-actions > a .fa-regular{font-size:12px;color:inherit}
/* icon only when the button carries an icon; the label stays for screen readers (and the title shows on hover) */
.rb-st-actions > a:has(> i){width:30px;padding:0}
.rb-st-actions > a:has(> i) > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:640px){
  .rb-st-card .rb-st-body{padding:12px}
  .rb-st-grid{gap:10px}
  .rb-st-id{padding:12px 12px 10px}
  .rb-st-foot{padding:5px 6px 5px 12px;gap:8px}
  .rb-st-actions > a{height:34px;min-width:34px}
  .rb-st-actions > a:has(> i){width:34px}
}

/* ===== parts/showthread.css ===== */
/* ================= SHOWTHREAD (page shell, thread bar, rating row, quick reply, poll, moderation) =================
   70-pro.css loads after this part, so rules that must beat a 70-pro component rule use two classes. */

/* ---- page shell ---- */
.rb-topic-page{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-topic-page > .rb-card + .rb-card{margin-top:0}
.rb-topic-page > .rb-alert,.rb-topic-page > .red_alert{margin:0}
.rb-topic-toolbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;min-width:0}
.rb-topic-toolbar:not(:has(.pagination,.button)){display:none}
.rb-topic-pager{flex:1 1 auto;min-width:0}
.rb-topic-pager .pagination{margin:0}
.rb-topic-pager .pagination .pages{display:none}
.rb-topic-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;min-width:0}
.rb-topic-actions .button{height:38px;padding:0 18px;font-size:13.5px;font-weight:600}
.rb-topic-actions .button .fa-solid{font-size:13px}
.rb-topic-actions .new_thread_button{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.rb-topic-actions .new_thread_button:hover{background:var(--surface-4)}
.closed_button{cursor:default}

/* ---- thread bar: flat muted blue band (colours come from .rb-card-head in 70-pro), ~84px tall ----
   left: 48px round starter avatar ({$thread['rb_avatar']} from the rb_postbit plugin, placeholder silhouette when empty),
   prefix badge + subject (uppercase 18px/700 white), one 13px "by NAME, 11 December, 2025, 10:40 PM" line at 85% white
   ({$thread['rb_profilelink']} + {$thread['rb_date']} from the plugin); right: share icon, eye + views, mode link (hidden
   by 70-pro), thread notes link. The card is overflow:visible so the edit popups inside the posts are never clipped. */
.rb-card.rb-topic{overflow:visible}
.rb-card-head.rb-topic-bar{min-height:84px;padding:14px 18px;gap:16px;align-items:center;flex-wrap:nowrap;border-radius:3px 3px 0 0}
.rb-topic-bar .rb-avatar.rb-topic-avatar{flex:none;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background-color:rgba(0,0,0,.28);box-shadow:none}
.rb-topic-heading{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:1 1 auto;min-width:0}
.rb-topic-title{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;font-size:18px;font-weight:700;line-height:1.25;letter-spacing:.01em;text-transform:uppercase;color:#fff}
.rb-topic-subject{min-width:0;overflow-wrap:anywhere}
/* thread prefix: same solid labels as the forum display rows. The raw hexes below deliberately mirror
   src/css/72-forumdisplay.css (.rb-trow .rb-badge.is-amber / .is-red / .is-green / .is-pink); keep both in sync */
.rb-topic-title .rb-badge{height:20px;padding:0 6px;font-size:12px;font-weight:700;color:#fff;border-radius:2px;letter-spacing:.02em;text-transform:uppercase;background:var(--accent);box-shadow:none}
.rb-topic-title .rb-badge.is-amber{background:#e8821c}
.rb-topic-title .rb-badge.is-red{background:#c8302e}
.rb-topic-title .rb-badge.is-green{background:var(--green-strong)}
.rb-topic-title .rb-badge.is-blue,.rb-topic-title .rb-badge.is-accent,.rb-topic-title .rb-badge.is-solid{background:var(--accent)}
.rb-topic-title .rb-badge.is-pink{background:#c04a7a}
.rb-topic-title .rb-badge.is-muted{background:rgba(0,0,0,.3)}
.rb-topic-by{font-size:13px;line-height:1.3;color:rgba(255,255,255,.85);min-width:0;overflow-wrap:anywhere}
/* the starter name ({$thread['rb_profilelink']}: profile link, or plain text for a guest) sits in the same 85% white line */
.rb-topic-by .rb-topic-author,.rb-topic-by a{color:inherit;font-weight:500}
.rb-topic-by a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* {$thread['rb_date']} is empty while the plugin is inactive: the comma only shows with a date */
.rb-topic-date:not(:empty)::before{content:", "}
.rb-topic-tools{display:flex;align-items:center;gap:14px;flex:none;margin-left:auto;font-size:14px;color:#fff}
.rb-topic-share{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:3px;color:#fff;font-size:14px}
.rb-topic-share:hover{background:rgba(0,0,0,.28);color:#fff}
.rb-topic-share.is-copied .fa-solid::before{content:"\f00c"}
.rb-topic-stat{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#fff;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.rb-topic-stat .fa-solid{font-size:14px;color:rgba(255,255,255,.85)}
.rb-topic-links{display:inline-flex;align-items:center;gap:14px}
.rb-topic-links:not(:has(a:not(.rb-topic-mode))){display:none}
.rb-topic-links a,.rb-topic-links .rb-chip{display:inline-flex;align-items:center;gap:6px;height:auto;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
.rb-topic-links a:hover,.rb-topic-links .rb-chip:hover{background:transparent;color:#fff;text-decoration:underline;text-underline-offset:3px}
.rb-topic-links .fa-solid{font-size:11px;color:rgba(255,255,255,.6)}

/* ---- thread rating: small right-aligned row under the bar, inside the card (star_rating markup from star_ratings.css) ---- */
.rb-topic-rating{display:flex;justify-content:flex-end;align-items:center;min-width:0;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.rb-topic-rating:empty{display:none}
.rb-rating{display:inline-flex;align-items:center;gap:10px;min-height:22px;font-size:12.5px;color:var(--muted)}
.rb-rating-label{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--muted);white-space:nowrap}
.rb-rating-label .fa-solid{font-size:11px;color:var(--muted)}
.rb-rating .star_rating{flex:none;top:0}

/* ---- posts: one continuous block inside the thread card, a hairline between posts (no gaps, no rounded corners) ---- */
.rb-topic-posts{min-width:0}
.rb-topic-posts #posts{min-width:0}
.rb-topic-posts .rb-post{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
.rb-topic-posts .rb-post-collapsed{margin:0;border-width:0 0 1px 3px;border-bottom-color:var(--line);border-radius:0}
/* rb_guestgate appends its notice to {$posts} */
.rb-topic-posts .rb-guest-gate{margin:14px 18px}

/* ---- footer strip of the thread card: next / previous + search in thread ---- */
.rb-topic .rb-card-foot.rb-topic-foot{justify-content:space-between;gap:10px 16px;padding:10px 18px;border-top:0;border-radius:0 0 3px 3px}
.rb-topic-nextprev{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rb-topic-nextprev .rb-btn{color:var(--fg-2)}
.rb-topic-nextprev .rb-btn:hover{color:#fff}
.rb-topic-nextprev .rb-btn .fa-solid{font-size:11px;color:var(--muted)}
.rb-topic-search{margin:0 0 0 auto;min-width:0}
.rb-topic-search .rb-input-group{display:flex;align-items:stretch}
.rb-topic-search .rb-search{display:block;flex:1 1 auto;min-width:0}
.rb-topic-search .rb-search .fa-solid{left:11px;font-size:12px}
.rb-topic-search .rb-search input[type=text]{width:230px;max-width:100%;height:34px;min-height:34px;padding-left:31px;font-size:13px;border-radius:3px 0 0 3px;border-right:0}
.rb-topic-search .button{height:34px;padding:0 12px;font-size:13px;border-radius:0 3px 3px 0}

/* ---- tools + moderation row under the thread ---- */
.rb-topic-bottom{display:flex;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;min-width:0}
.rb-topic-toollist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.rb-topic-toollist li{list-style:none;margin:0}
.rb-topic-toollist .rb-chip{height:32px}
.subscription_remove .fa-bell::before{content:"\f1f6"}
.rb-topic-modbox{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-left:auto;min-width:0;max-width:100%}
.rb-topic-modbox:not(:has(form)){display:none}
.rb-modform{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;min-width:0;max-width:100%;justify-content:flex-end}
.rb-modform-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.rb-modform-label .fa-solid{font-size:12px;color:var(--muted)}
.rb-modform select{width:auto;max-width:280px;height:34px;min-height:34px;padding-top:0;padding-bottom:0;font-size:13px}
.rb-modform .button,.rb-modform input[type=submit],.rb-modform input[type=button]{height:34px;padding:0 12px;font-size:13px}
.rb-topic-modbox .rb-forumjump{justify-content:flex-end}
.rb-topic-modbox .rb-forumjump .rb-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-topic-modbox .rb-forumjump .rb-label .fa-solid{font-size:12px;color:var(--muted)}
.rb-topic-modbox .rb-forumjump select{max-width:280px;font-size:13px}
.rb-topic-modbox .rb-forumjump .button,.rb-topic-modbox .rb-forumjump input[type=submit]{height:34px;padding:0 12px;font-size:13px}

/* ---- users browsing (muted line) ---- */
.rb-browsing{display:flex;align-items:baseline;gap:6px 8px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:var(--muted)}
.rb-browsing .fa-solid{font-size:12px;position:relative;top:1px;color:var(--muted)}
.rb-browsing-label{font-weight:500;color:var(--fg-2)}
.rb-browsing-list{min-width:0;overflow-wrap:anywhere}
.rb-browsing a{color:var(--fg-2)}
.rb-browsing a:hover{color:#fff}

/* classic post layout labels (AUTHOR / MESSAGE strip, showthread_classic_header) */
.rb-classic-header{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px}

/* ---- poll ---- */
.rb-poll-form{margin:0;min-width:0}
.rb-poll .rb-card-title{white-space:normal;overflow-wrap:anywhere}
.rb-poll-status{font-size:12.5px;color:rgba(255,255,255,.8)}
.rb-poll .rb-poll-body{padding:14px 16px}
.rb-poll-options{display:flex;flex-direction:column;gap:8px}
.rb-poll-option{display:flex;align-items:flex-start;gap:12px;margin:0;padding:10px 14px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);color:var(--fg);font-size:14px;line-height:1.45;transition:background .12s,border-color .12s}
.rb-poll-option:hover{background:var(--surface-3);border-color:var(--line-2)}
.rb-poll-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}
/* the label wraps only the control: option text is MyCode (links, images) and must stay outside the label */
.rb-poll-option-ctl{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:20px;min-height:20px;margin:1px 0 0;cursor:pointer}
.rb-poll-option-ctl input{flex:none;margin:0;cursor:pointer}
.rb-poll-option-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.rb-poll-notes{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.rb-poll-note b{color:var(--fg-2)}
.rb-poll-foot{justify-content:space-between;gap:10px 16px}
.rb-poll-foot .button{height:34px}
.rb-poll-links{display:inline-flex;align-items:center;flex-wrap:wrap;margin-left:auto;font-size:13px}
.rb-poll-links a{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-weight:500}
.rb-poll-links a:hover{color:#fff}
.rb-poll-links a + a::before{content:"";display:inline-block;width:1px;height:14px;margin:0 10px;background:var(--line-2)}
.rb-poll-links .fa-solid{font-size:12px;color:var(--muted)}
.rb-poll-youvoted{font-size:12.5px;color:var(--muted)}
/* results */
.rb-poll-rows{display:flex;flex-direction:column;min-width:0}
.rb-poll-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr) 96px 72px;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--fg)}
.rb-poll-rows > .rb-poll-row:first-child{border-top:0}
.rb-poll-row.trow1,.rb-poll-row.trow2{padding:11px 16px;border-bottom:0;background:transparent;color:var(--fg);vertical-align:middle}
.rb-poll-row.poll_votedfor{background:var(--accent-soft)}
.rb-poll-row-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}
.rb-poll-votestar{margin-left:5px;color:var(--green);font-weight:700}
.rb-poll-votestar:empty{display:none}
.rb-poll-row-bar{min-width:0}
.rb-poll-bar{height:14px;border-radius:2px;background:var(--surface-4);overflow:hidden}
.rb-poll-bar-fill{height:100%;min-width:0;border-radius:2px;background:var(--accent);transition:width .4s var(--ease)}
.rb-poll-row.poll_votedfor .rb-poll-bar-fill{background:var(--accent-2)}
.rb-poll-row-votes,.rb-poll-row-pct{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--fg-2)}
.rb-poll-row-pct{font-weight:600;color:#fff}
.rb-poll-row.is-total{background:var(--surface-2);color:#fff}
.rb-poll-row.is-total .rb-poll-row-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-poll-row.is-total .rb-poll-row-votes{font-weight:600;color:#fff}

/* ---- quick reply: card with the blue .rb-card-head title bar, editor area, right-aligned primary Post Reply ---- */
.rb-spinner{position:fixed;right:20px;bottom:20px;z-index:95;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;box-shadow:var(--shadow)}
.rb-spinner img{width:20px;height:20px}
.rb-quickreply-form{margin:0;min-width:0}
.rb-quickreply .rb-card-head.thead{padding:9px 16px}
.rb-quickreply .expcolimage{margin-left:auto}
/* global .thead .expcolimage img{display:none} (30-components.css) would remove the #quickreply_img / #threadnotes_img that
   general.js expandables.init() binds the collapse click to; keep it rendered so the invisible overlay
   (position:absolute;inset:0;opacity:0) makes the whole chevron box clickable */
.rb-quickreply .rb-card-head.thead .expcolimage img,.rb-threadnotes .rb-card-head.thead .expcolimage img{display:block}
.rb-quickreply .rb-qr-body{padding:14px 16px}
.rb-qr-body textarea{display:block;width:100%;min-height:150px;font-size:14px;line-height:1.55}
.rb-qr-multiquote{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line-2);border-left:3px solid var(--accent);color:var(--fg)}
.rb-qr-multiquote .fa-solid{flex:none;font-size:12px;color:var(--muted)}
.rb-qr-multiquote .smalltext{font-size:13px;color:var(--fg-2)}
.rb-qr-multiquote a{color:#fff;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.rb-qr-captcha{margin-top:12px}
.rb-qr-captcha:empty{display:none}
.rb-quickreply .rb-qr-foot{justify-content:space-between;align-items:center;gap:10px 16px}
.rb-qr-options{gap:6px 18px;min-width:0}
.rb-qr-options .rb-check{font-size:13px}
.rb-qr-options .rb-check input{margin:0}
.rb-qr-actions{margin-left:auto;padding-top:0;gap:8px}
.rb-qr-actions .button{height:34px;font-size:13px}

/* ---- similar threads ---- */
/* the header strip is the global .rb-labels component (look from 70-pro); this only gives it the same grid as the rows */
.rb-similar-labels,.rb-similar-row{display:grid;grid-template-columns:36px minmax(0,1fr) 160px 84px 84px 230px;gap:12px;align-items:center}
.rb-similar-row{padding:11px 16px}
.rb-similar-col{min-width:0}
.rb-similar-col.is-thread{grid-column:1 / span 2}
.rb-similar-col.is-center{text-align:center}
.rb-similar-list{display:flex;flex-direction:column;min-width:0}
.rb-similar-row{border-top:1px solid var(--line);transition:background .12s}
.rb-similar-list > .rb-similar-row:first-child{border-top:0}
.rb-similar-row:hover{background:var(--surface-2)}
/* showthread.php fills the cell with "&nbsp;" when the thread has no icon, so the cell is never :empty; the glyph is keyed
   off the missing <img> and the cell font is zeroed so the nbsp adds no width */
.rb-similar-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0}
.rb-similar-icon:not(:has(img))::before{content:"\f086";font-family:"Font Awesome 6 Free";font-weight:900;font-size:16px}
.rb-similar-icon img{max-width:24px;max-height:24px}
.rb-similar-main{min-width:0;font-size:14.5px;line-height:1.35}
.rb-similar-subject{color:#fff;font-weight:500;overflow-wrap:anywhere}
.rb-similar-subject:hover{color:var(--accent-2)}
.rb-similar-meta{display:contents}
.rb-similar-author{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-similar-author a{color:var(--fg-2)}
.rb-similar-author a:hover{color:#fff}
.rb-similar-stat{min-width:0;text-align:center}
.rb-similar-stat a,.rb-similar-stat b{display:block;font-size:14px;font-weight:500;line-height:1.15;color:var(--fg-2);font-variant-numeric:tabular-nums}
.rb-similar-stat a:hover{color:#fff}
/* per-row REPLIES / VIEWS labels only show when the .rb-labels strip is hidden (see max-width:1000px) */
.rb-similar-stat span{display:none;font-size:12px;color:var(--muted)}
.rb-similar-last{min-width:0;font-size:12.5px;line-height:1.4}
.rb-similar-last-date{display:block;color:var(--fg);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-similar-last-by{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-similar-last-by a{color:var(--fg-2)}
.rb-similar-last-by a:hover{color:#fff}

/* ---- threaded mode tree ---- */
.rb-threaded-body{padding:10px 16px;overflow-x:auto}
.rb-threaded-item{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:5px 0;min-width:0;font-size:13.5px;line-height:1.4}
.rb-threaded-arrow{flex:none;position:relative;top:1px;font-size:11px;color:var(--muted)}
.rb-threaded-subject{min-width:0;color:var(--fg-2);font-weight:500;overflow-wrap:anywhere}
a.rb-threaded-subject:hover{color:#fff}
.rb-threaded-item.is-active .rb-threaded-subject{color:#fff;font-weight:700}
.rb-threaded-item.is-active .rb-threaded-arrow{color:var(--accent-2)}
.rb-threaded-meta{font-size:12.5px;color:var(--muted)}
.rb-threaded-meta a{color:var(--fg-2)}
.rb-threaded-meta a:hover{color:#fff}
.rb-threaded-date::before{content:"\00b7";margin:0 6px;color:var(--faint)}

/* ---- thread notes (moderators): collapsible card with a dark head ---- */
.rb-threadnotes{border-left:3px solid var(--amber)}
.rb-threadnotes .rb-card-head.is-dark{border-bottom:0}
.rb-threadnotes .rb-card-title .fa-solid{color:var(--amber);opacity:1}
.rb-threadnotes .expcolimage{margin-left:auto}
.rb-threadnotes .rb-threadnotes-body{padding:2px 16px 14px;font-size:14px;line-height:1.55;color:var(--fg-2)}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-similar-labels{display:none}
  .rb-similar-row{grid-template-columns:36px minmax(0,1fr);gap:6px 12px;padding:12px 14px}
  .rb-similar-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;grid-column:2;min-width:0}
  .rb-similar-author{font-size:13px}
  .rb-similar-stat{display:inline-flex;align-items:baseline;gap:5px;text-align:left}
  .rb-similar-stat a,.rb-similar-stat b{font-size:13.5px}
  .rb-similar-stat span{display:inline;margin:0}
  .rb-similar-last{grid-column:2;padding-top:6px;border-top:1px solid var(--line)}
  .rb-similar-last-date,.rb-similar-last-by{display:inline}
  .rb-similar-last-by::before{content:"\00b7";margin:0 6px;color:var(--faint)}
  .rb-topic-bottom{flex-direction:column;align-items:stretch}
  .rb-topic-modbox{margin-left:0;align-items:flex-start}
  .rb-modform{justify-content:flex-start}
  .rb-topic-modbox .rb-forumjump{justify-content:flex-start}
}
@media (max-width:760px){
  .rb-card-head.rb-topic-bar{flex-wrap:wrap;min-height:0;padding:12px;gap:10px 12px}
  .rb-topic-bar .rb-avatar.rb-topic-avatar{width:40px;height:40px}
  .rb-topic-heading{flex:1 1 0;min-width:0}
  .rb-topic-title{font-size:15px}
  .rb-topic-tools{flex:1 1 100%;flex-wrap:wrap;margin-left:0;gap:8px 14px}
  .rb-topic-rating{justify-content:flex-start;padding:8px 12px}
  .rb-topic-posts .rb-guest-gate{margin:12px}
  .rb-topic .rb-card-foot.rb-topic-foot{padding:10px 12px}
  .rb-topic-actions{margin-left:0;flex:1 1 100%}
  .rb-topic-actions .button{flex:1 1 auto}
  .rb-topic .rb-card-foot.rb-topic-foot{flex-direction:column;align-items:stretch}
  .rb-topic-nextprev .rb-btn{flex:1 1 auto}
  .rb-topic-search{margin-left:0}
  .rb-topic-search .rb-search input[type=text]{width:100%}
  .rb-poll-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 12px;padding:10px 14px}
  .rb-poll-row-bar{grid-column:1 / -1;order:5}
  .rb-poll-row.is-total .rb-poll-row-bar{display:none}
  .rb-poll-foot{flex-direction:column;align-items:stretch}
  .rb-poll-foot .button{width:100%}
  .rb-poll-links{margin-left:0;justify-content:center}
  .rb-quickreply .rb-qr-body{padding:12px 14px}
  .rb-quickreply .rb-qr-foot{flex-direction:column;align-items:stretch}
  .rb-qr-actions{margin-left:0}
  .rb-qr-actions .button{flex:1 1 auto}
  .rb-classic-header{display:none}
  .rb-modform select,.rb-topic-modbox .rb-forumjump select{max-width:100%;flex:1 1 160px}
  .rb-similar-row{padding:11px 12px}
}
@media (max-width:480px){
  .rb-topic-links{flex-basis:100%}
  .rb-topic-nextprev .rb-btn span{font-size:12.5px}
  .rb-topic-toollist .rb-chip{height:36px;font-size:12.5px;padding:0 9px}
  .rb-poll-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .rb-poll-row-votes{display:none}
  .rb-poll-row.is-total .rb-poll-row-votes{display:block;grid-column:1 / -1;text-align:left;font-weight:500;color:var(--fg-2)}
  .rb-similar-row{grid-template-columns:28px minmax(0,1fr)}
  .rb-similar-icon{width:28px;height:28px}
  .rb-similar-icon:not(:has(img))::before{font-size:14px}
  .rb-similar-meta,.rb-similar-last{grid-column:2}
  .rb-spinner{right:12px;bottom:12px}
}

/* ===== parts/solved.css ===== */
/* ================= SOLVED: best answers (rb_solved plugin) =================
   {$post['rb_solved']} sits between .rb-post-head and .post_body in postbit / postbit_classic:
     .rb-solved.is-answer  green banner on the best answer ("Best answer", "Marked by NAME", Remove for the starter and staff)
     .rb-solved.is-jump    line on the first post of a solved thread ("Solved. Jump to the best answer")
     .rb-solved.is-mark    small "Mark as best answer" button on other replies, for the starter and staff
   {$thread['rb_solved']} (thread list) and the search result prefix: .rb-solved-tag, a small outlined green tag.
   Flat, 3px corners, no glow. Every post selector carries .rb-post so it beats 70-pro.css, which loads after the parts.
   The forms are plain blocks: .rb-post, .rb-post-main and .rb-post-foot stay static for MyBB's popup menus. */
.rb-post .rb-solved{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0;margin:12px 0 0;font-size:13px;line-height:1.4;color:var(--fg-2)}
.rb-post .rb-solved-icon{flex:none;font-size:14px;color:var(--green)}
.rb-post .rb-solved-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;flex:1 1 0;min-width:0;overflow-wrap:anywhere}
.rb-post .rb-solved-form{display:flex;flex:none;margin:0}

/* best answer banner */
.rb-post .rb-solved.is-answer{padding:9px 10px 9px 12px;background:var(--green-soft);border:1px solid var(--green-line);border-left:3px solid var(--green);border-radius:3px;color:var(--fg)}
.rb-post .rb-solved-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--green)}
.rb-post .rb-solved-by{font-size:12.5px;color:var(--fg-2)}
.rb-post .rb-solved-by a{color:#fff;font-weight:600}
.rb-post .rb-solved-by a:hover{color:var(--link)}
.rb-post .rb-solved.is-answer .rb-solved-form{margin-left:auto}

/* first post: jump line */
.rb-post .rb-solved.is-jump{padding:8px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px}
.rb-post .rb-solved.is-jump a{color:var(--link);font-weight:600}
.rb-post .rb-solved.is-jump a:hover{color:#fff}

/* mark control: right aligned, quiet until hovered */
.rb-post .rb-solved.is-mark{justify-content:flex-end;margin-top:10px}

/* buttons (plain <button>, so the global submit styles never apply) */
.rb-post .rb-solved-btn{display:inline-flex;align-items:center;gap:6px;height:26px;margin:0;padding:0 9px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg-2);font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}
.rb-post .rb-solved-btn .fa-solid{font-size:11.5px;color:var(--muted);transition:color .12s}
.rb-post .rb-solved-btn:hover,.rb-post .rb-solved-btn:focus-visible{background:var(--surface-3);border-color:var(--green);color:#fff}
.rb-post .rb-solved-btn:hover .fa-solid,.rb-post .rb-solved-btn:focus-visible .fa-solid{color:var(--green)}
.rb-post .rb-solved-btn.is-remove{height:24px;padding:0 8px;background:transparent;border-color:var(--green-line);color:var(--fg-2)}
.rb-post .rb-solved-btn.is-remove:hover,.rb-post .rb-solved-btn.is-remove:focus-visible{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.rb-post .rb-solved-btn.is-remove:hover .fa-solid,.rb-post .rb-solved-btn.is-remove:focus-visible .fa-solid{color:var(--red)}

/* Solved tag: thread list (forumdisplay_thread) and search results */
.rb-solved-tag{display:inline-flex;align-items:center;gap:4px;flex:none;height:18px;padding:0 6px;background:transparent;border-radius:2px;box-shadow:inset 0 0 0 1px var(--green-line);color:var(--green-text);font-size:10.5px;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
.rb-solved-tag .fa-solid{font-size:9.5px}
.rb-trow .rb-trow-title .rb-solved-tag,.rb-card.rb-threads .rb-trow .rb-trow-title .rb-solved-tag{position:relative;top:0;margin:0;font-size:10.5px}
.rb-sr-prefix .rb-solved-tag{margin-left:4px}
.rb-sr-prefix .rb-solved-tag:first-child{margin-left:0}

@media (max-width:760px){
  .rb-post .rb-solved{margin-top:10px;font-size:12.5px}
  .rb-post .rb-solved.is-answer{padding:8px 8px 8px 10px}
  .rb-post .rb-solved.is-mark{justify-content:flex-start}
}

/* ===== parts/turnstile.css ===== */
/* ================= CLOUDFLARE TURNSTILE (plugin rb_turnstile): register footer, lost password, resend activation ================= */
/* The slot keeps the widget's 65px before api.js has drawn it, so the submit button never jumps. data-size="flexible"
   fills the form width with a 300px minimum; on phones narrower than that the overflow is shared by both sides (it
   lands in the card padding). No frame, fill or border of our own around Cloudflare's box. */
.rb-turnstile{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;min-width:0;min-height:65px;margin:0 0 16px}
.rb-turnstile > .cf-turnstile{flex:1 1 auto;min-width:300px;min-height:65px;line-height:0}
.rb-turnstile iframe{display:block;max-width:none;margin:0 auto;border:0;background:transparent}
.rb-turnstile-note{flex:1 1 100%;margin:0;font-size:12.5px;line-height:1.45;color:var(--muted);text-align:center}
@media (scripting:none){.rb-turnstile{min-height:0}.rb-turnstile > .cf-turnstile{display:none}}
/* register: the widget sits in the "Security check" box (parts/member.css, .rb-reg-security); this rule only matters for
   an older register template that still has the slot in the footer column (gap 14px) */
.rb-reg-foot > .rb-turnstile{margin:0}

/* ===== parts/usercard.css ===== */
/* "Your account" card in the index sidebar (plugin rb_usercard, owner picked design 1 "Userbar", 2026-10-15):
   head bar, avatar + name with group effect, up to two 207x47 group banners, a stats ledger and three shortcuts. */
.rb-uc{padding:0;overflow:hidden}
.rb-uc .rb-uc-head{display:flex;align-items:center;gap:14px;padding:16px}
.rb-uc .rb-uc-head .rb-uc-avatar{width:64px;height:64px;border-radius:3px;border:1px solid var(--line-2);flex:none;display:block;overflow:hidden}
.rb-uc .rb-uc-head .rb-uc-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rb-uc .rb-uc-id{min-width:0;display:flex;flex-direction:column;gap:4px}
.rb-uc a.rb-uc-name{display:block;font-size:16px;font-weight:700;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rb-uc .rb-uc-title{font-size:12.5px;color:var(--fg-2);line-height:1.2}
.rb-uc .rb-uc-visit{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden}
.rb-uc .rb-uc-visit .fa-circle{font-size:7px;color:var(--green)}
.rb-uc .rb-uc-visit span{overflow:hidden;text-overflow:ellipsis}
.rb-uc .rb-uc-bars{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px 14px}
.rb-uc .rb-uc-bars img{display:block;width:207px;height:47px;max-width:100%}
.rb-uc .rb-uc-ledger{border-top:1px solid var(--line)}
.rb-uc .rb-uc-ledger a{display:flex;align-items:center;gap:10px;height:36px;padding:0 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-uc .rb-uc-ledger a:hover{background:var(--surface-2);color:#fff}
.rb-uc .rb-uc-ledger i{width:16px;text-align:center;color:var(--muted);font-size:12.5px;flex:none}
.rb-uc .rb-uc-ledger a:hover i{color:var(--accent-2)}
.rb-uc .rb-uc-ledger b{margin-left:auto;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.rb-uc .rb-uc-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 16px 16px}
.rb-uc .rb-uc-acts a{display:flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 6px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:12.5px;font-weight:500;white-space:nowrap;min-width:0}
.rb-uc .rb-uc-acts a span{overflow:hidden;text-overflow:ellipsis}
.rb-uc .rb-uc-acts a:hover{border-color:var(--accent);color:#fff}
.rb-uc .rb-uc-acts i{font-size:12.5px;color:var(--muted);flex:none}
.rb-uc .rb-uc-acts a:hover i{color:var(--accent-2)}
.rb-uc .rb-uc-badge{flex:none;font-style:normal;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:3px;background:var(--accent);color:#fff;text-align:center}

/* ===== parts/usercp-a.css ===== */
/* ================= USER CP — group A (shell, nav, profile, options, avatar, signature, password, email, groups, attachments, drafts, notepad) ================= */

/* ---- page shell: left nav column + content (values shared with usercp-b / private / modcp) ---- */
.rb-usercp{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--gap);align-items:start}
@media(max-width:900px){.rb-usercp{grid-template-columns:minmax(0,1fr)}}
.rb-usercp-nav{min-width:0}
.rb-usercp-main{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-usercp-main > .rb-card + .rb-card{margin-top:0}
.rb-usercp-main > form{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-usercp-main > form > .rb-card + .rb-card{margin-top:0}
.rb-usercp-main > .error,.rb-usercp-main > .rb-alert,.rb-usercp-main > form > .error,.rb-usercp-main > form > .rb-alert,.rb-usercp-main > form > .red_alert{margin:0}
.rb-usercp-main > .pagination{padding:0 2px}

/* ---- sub navigation card (usercp_nav; modcp_nav reuses the same classes) ---- */
.rb-subnav-card{min-width:0}
@media (min-width:901px) and (min-height:980px){.rb-subnav-card{position:sticky;top:calc(var(--topbar-h) + 12px)}}
.rb-ucp-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
/* head: usercp_nav carries .rb-card-head so the component styles it; the values below mirror 70-pro .rb-card-head
   so a nav that only carries .rb-subnav-head (modcp_nav) renders the same bar */
.rb-subnav-head{display:flex;align-items:center;gap:12px;min-height:0;padding:11px 16px;margin:0;background:linear-gradient(90deg,#24407a 0%,#1d3566 100%);color:#fff;border-bottom:1px solid #2d4c8e}
.rb-subnav-card .rb-subnav-head{flex-wrap:nowrap}
.rb-subnav-head .rb-card-title{font-size:14px}
.rb-subnav-current{display:none;margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:rgba(255,255,255,.85)}
.rb-subnav-caret{display:none;flex:none;width:24px;height:24px;margin:-4px 0;align-items:center;justify-content:center;border-radius:var(--radius);color:#fff;opacity:.85}
.rb-subnav-caret .fa-solid{font-size:12px;transition:transform .2s var(--ease)}
.rb-subnav-card .rb-subnav{display:block;padding:0}
.rb-subnav-card .rb-subnav-group{display:block}
.rb-subnav-card .rb-subnav-title{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 16px;background:var(--surface-2);border-top:0;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);user-select:none}
.rb-subnav-card .rb-subnav-title-text{display:inline-flex;align-items:center;gap:9px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-subnav-card .rb-subnav-title-text .fa-solid{font-size:12px;color:var(--muted);width:16px;text-align:center;flex:none}
.rb-subnav-card .rb-subnav-title .expcolimage{margin-left:auto;width:24px;height:24px;color:var(--muted);opacity:1}
.rb-subnav-card .rb-subnav-title .expcolimage:hover{background:var(--line-2);color:#fff}
.rb-subnav-card .rb-subnav-title .expcolimage::after{width:12px;height:12px}
.rb-subnav-card .rb-subnav-items{display:block}
.rb-subnav-card .rb-subnav-item{padding:10px 16px;border-bottom:1px solid var(--line);font-size:14px}
.rb-subnav-card .rb-subnav-item .fa-solid{flex:none}
.rb-subnav-card .rb-subnav-item span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-subnav-card .rb-subnav-item strong{color:#fff;font-weight:700}
.rb-subnav-card .rb-subnav-item.is-active strong{color:#fff}
.rb-subnav-card .rb-subnav-group:last-child .rb-subnav-items > .rb-subnav-item:last-child{border-bottom:0}
/* PM folder icons: fid 1 inbox, 2 sent, 3 drafts, 4 trash, custom = folder */
.rb-subnav-item.rb-pmf-1 .rb-subnav-ic::before{content:"\f01c"}
.rb-subnav-item.rb-pmf-2 .rb-subnav-ic::before{content:"\f1d8"}
.rb-subnav-item.rb-pmf-3 .rb-subnav-ic::before{content:"\f15c"}
.rb-subnav-item.rb-pmf-4 .rb-subnav-ic::before{content:"\f2ed"}
@media (max-width:900px){
  .rb-subnav-head{cursor:pointer}
  .rb-subnav-head:hover .rb-subnav-caret{opacity:1}
  .rb-subnav-current,.rb-subnav-caret{display:inline-flex}
  .rb-subnav-card .rb-subnav{display:none}
  .rb-ucp-toggle:checked ~ .rb-subnav{display:block}
  .rb-ucp-toggle:checked ~ .rb-subnav-head .rb-subnav-caret .fa-solid{transform:rotate(180deg)}
  .rb-ucp-toggle:checked ~ .rb-subnav-head .rb-subnav-current{display:none}
  /* the hidden current label carried the auto margin; keep the caret on the right edge while the menu is open */
  .rb-ucp-toggle:checked ~ .rb-subnav-head .rb-subnav-caret{margin-left:auto}
}

/* ---- card action strip: templates use the .rb-card-foot.is-action component, .rb-card-actions only adds layout ---- */
.rb-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.rb-card-actions.is-between{justify-content:space-between}
.rb-card-actions.is-left{justify-content:flex-start}
.rb-card-actions > div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-card-actions .rb-actions-note{margin-right:auto;font-size:13px;color:var(--muted)}
/* destructive submits: specificity 0,3,1 so the rule outranks 70-pro's input[type=submit].button (0,2,1), colours as private.css */
.rb-usercp input[type=submit].rb-btn-danger,.rb-usercp input[type=button].rb-btn-danger,.rb-card-actions input[type=submit].rb-btn-danger,.rb-attach-card .rb-card-actions input[type=submit]{background:var(--red-soft);border-color:rgba(240,82,82,.4);color:var(--red)}
.rb-usercp input[type=submit].rb-btn-danger:hover,.rb-usercp input[type=button].rb-btn-danger:hover,.rb-card-actions input[type=submit].rb-btn-danger:hover,.rb-attach-card .rb-card-actions input[type=submit]:hover{background:var(--red);border-color:var(--red);color:#fff}
.rb-usercp input[type=submit]:disabled{opacity:.45;pointer-events:none}

/* ---- account summary (UserCP home) ---- */
.rb-account-row{display:flex;gap:20px;align-items:flex-start}
.rb-account-avatar{flex:none}
.rb-account-avatar .rb-avatar.is-xl{width:112px;height:112px}
.rb-account-info{flex:1 1 auto;min-width:0}
.rb-account-name{font-size:22px;font-weight:700;color:#fff;line-height:1.2;overflow-wrap:anywhere}
.rb-account-name a{color:inherit}
.rb-account-badges{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}
.rb-account-kv{margin-top:14px;font-size:14px;gap:7px 20px}
.rb-account-kv dt{color:var(--muted);white-space:nowrap}
.rb-account-kv dd a{font-weight:600}
.rb-account-kv .rb-muted{font-size:13px}
.rb-account-extra{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2);font-size:13.5px;color:var(--fg-2);line-height:1.6}
.rb-account-extra:not(:has(*)){display:none}
.rb-account-extra strong{color:var(--muted);font-weight:500}
.rb-account-extra a{font-weight:500}
@media (max-width:560px){
  .rb-account-row{flex-direction:column;align-items:center;text-align:center}
  .rb-account-badges{justify-content:center}
  .rb-account-kv{text-align:left}
  .rb-account-extra{text-align:left}
}

/* ---- notepad ---- */
.rb-notepad-area{min-height:220px;font-size:14px;line-height:1.6}

/* ---- single form cards (password / email / username / join request) ---- */
.rb-form-card{max-width:820px}
.rb-form-card .rb-section-title{margin-bottom:12px}
.rb-section-gap{margin-top:22px}
.rb-usercp .rb-fields{gap:12px 18px}
.rb-usercp .rb-fields > .textbox,.rb-usercp .rb-fields > select{min-width:0}
.rb-usercp .rb-fields .textbox[size],.rb-usercp .rb-field > .textbox[size],.rb-usercp .rb-fields-control > .textbox[size]{width:100%}
.rb-fields-control{min-width:0}
.rb-fields-control > .rb-help{margin-top:8px}
.rb-fields-control > .rb-check{display:flex;margin-top:10px}
.rb-fields-static{padding-top:9px;color:var(--fg);font-size:14px}
.rb-label-stack{flex-direction:column;align-items:flex-start;gap:3px}
.rb-fields > .rb-label.rb-label-stack{padding-top:9px}
.rb-label-stack label{cursor:pointer}
.rb-label-stack .rb-help{font-weight:400}
.rb-usercp .rb-check input{margin-right:0}
.rb-usercp .rb-checks .rb-check{align-items:flex-start;line-height:1.45}
.rb-usercp .rb-checks .rb-check input{margin-top:2px}
.rb-usercp .rb-checks.is-inline .rb-check{align-items:center}
.rb-usercp .rb-checks.is-inline .rb-check input{margin-top:0}
.rb-usercp .rb-help a{color:var(--accent-2)}

/* ---- option / profile panels: two columns of fieldset "groups" (nested box = .rb-subcard colours, header = .rb-card-head.is-dark step) ---- */
.rb-opt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:start}
@media (max-width:1100px) and (min-width:901px){.rb-opt-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.rb-opt-grid{grid-template-columns:minmax(0,1fr)}}
.rb-opt-col{min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.rb-opt-col > fieldset.rb-fieldset{margin:0}
fieldset.rb-opt-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:0;margin:0;min-width:0;overflow:hidden}
fieldset.rb-opt-group > legend{float:left;width:100%;margin:0;padding:10px 14px;display:flex;align-items:center;gap:9px;background:var(--surface-3);border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
fieldset.rb-opt-group > legend .fa-solid{font-size:12px;color:var(--muted);width:16px;text-align:center;flex:none}
.rb-opt-body{clear:both;padding:14px}
.rb-opt-body > .rb-checks{margin-bottom:14px}
.rb-opt-body > .rb-field{margin-bottom:14px}
.rb-opt-body > :last-child{margin-bottom:0}
.rb-opt-note{margin-bottom:14px;padding:9px 11px;background:var(--surface-3);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:var(--radius);color:var(--fg-2);font-size:13px;line-height:1.5}
.rb-opt-note a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.rb-date-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:8px}
.rb-date-row select,.rb-date-row .textbox{width:100%;min-width:0}
.rb-title-kv{margin:0 0 14px;font-size:13.5px;gap:6px 16px}
.rb-title-kv dd strong{color:#fff}

/* custom profile fields */
.rb-pf{min-width:0}
.rb-pf-control{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-pf-control .textbox[size]{width:100%}
.rb-pf-control textarea{min-height:100px}
.rb-pf-control select[multiple]{min-height:96px}
.rb-pf-control .rb-check{display:flex}
.rb-pf .rb-help:empty{display:none}

/* ---- avatar page ---- */
.rb-avatar-intro{display:flex;gap:22px;align-items:center}
.rb-avatar-note{flex:1 1 auto;min-width:0;color:var(--fg-2);font-size:14px;line-height:1.6}
.rb-avatar-note strong{display:inline-block;margin-top:6px;color:var(--amber);font-weight:500}
.rb-avatar-current{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.rb-avatar-current img{display:block;width:auto;height:auto;max-width:160px;max-height:160px;border-radius:var(--radius);background:var(--surface-3);box-shadow:0 0 0 1px var(--line-2)}
.rb-avatar-current-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rb-card-body + .rb-card-head.is-dark{border-top:1px solid var(--line)}
.rb-avatar-card input[type=file]{padding:14px 12px}
@media (max-width:560px){.rb-avatar-intro{flex-direction:column-reverse;align-items:center;text-align:center}}

/* ---- signature editor ---- */
.rb-sig-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--gap);align-items:start}
@media (max-width:1100px) and (min-width:901px){.rb-sig-grid{grid-template-columns:minmax(0,1fr)}}
.rb-sig-aside{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-sig-aside .rb-help{font-size:13.5px;line-height:1.55}
.rb-sig-rules{font-size:12.5px;color:var(--muted);line-height:1.75;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}
.rb-sig-editor{min-width:0}
.rb-sig-editor textarea{min-height:260px}
.rb-sig-update{margin-top:18px}
.rb-sig-preview .rb-card-body{min-height:56px}

/* ---- data tables (groups / attachments / drafts) ---- */
.rb-card > .rb-table-wrap > table.rb-table{border:0;border-radius:0}
table.rb-attach-table{min-width:640px}
table.rb-drafts-table,table.rb-groups-table{min-width:540px}
/* only the colspan empty row: no sideways scroll, so the empty text is never cut at the card edge */
table.rb-attach-table:has(td .rb-empty),table.rb-drafts-table:has(td .rb-empty){min-width:0}
table.rb-table th.rb-center,table.rb-table td.rb-center{text-align:center}
table.rb-table td.rb-nowrap{white-space:nowrap}
table.rb-table td.rb-mid{vertical-align:middle}
.rb-col-check{width:44px;text-align:center}
.rb-col-check input{margin:0;vertical-align:middle}
.rb-col-icon{width:48px;text-align:center}
.rb-col-icon img{max-width:24px;max-height:24px;vertical-align:middle}
table.rb-table td .rb-empty{padding:34px 16px}
.rb-empty-prose > div{text-align:left;max-width:560px;color:var(--muted);font-size:14px;line-height:1.55}
.rb-empty-prose > div p{margin:10px 0 4px;color:var(--fg-2)}
.rb-empty-prose > div ol{margin:0;padding-left:1.4em}
.rb-attach-name{font-weight:600;color:var(--fg);overflow-wrap:anywhere}
.rb-attach-name:hover,.rb-attach-post:hover{color:var(--accent-2)}
.rb-attach-post{color:var(--fg-2);font-weight:500}
.rb-attach-card .rb-card-head{flex-wrap:wrap}
.rb-quota-note{font-size:13px;color:rgba(255,255,255,.85);font-weight:400;white-space:nowrap}
.rb-quota-note:empty{display:none}
/* quota bar: filled by the inline script from the "(nn%)" suffix MyBB appends when the group has a quota, hidden otherwise */
.rb-quota-bar{position:relative;height:5px;background:var(--line-2);overflow:hidden}
.rb-quota-fill{display:block;height:100%;width:0;background:var(--accent);transition:width .5s var(--ease)}
.rb-quota-bar.is-warning .rb-quota-fill{background:var(--amber)}
.rb-quota-bar.is-danger .rb-quota-fill{background:var(--red)}
.rb-attach-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
/* 70-pro sets number and label on one flex line where the number could shrink to "Unlimi..." / "0 ...";
   the number keeps its full width and the label wraps beside it */
.rb-attach-stats .rb-stat-num{flex:none;max-width:100%}
@media (max-width:1300px){.rb-attach-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.rb-attach-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.rb-attach-stats{grid-template-columns:minmax(0,1fr)}}
.rb-groups-num{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;margin-right:6px}
.rb-group-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-group-desc{margin-top:3px}
.rb-group-cond{font-size:13px;color:var(--fg-2)}
.rb-group-leaders{font-size:12.5px;color:var(--muted);margin-top:2px}
.rb-group-leaders:empty{display:none}
.rb-chip.is-xs{height:22px;padding:0 8px;font-size:12px;gap:5px}
.rb-chip.is-xs .fa-solid{font-size:10px}
table.rb-table .rb-btn-sm{vertical-align:middle}
.rb-draft-title{font-weight:700;color:var(--fg)}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-account-avatar .rb-avatar.is-xl{width:96px;height:96px}
}
@media (max-width:760px){
  .rb-sig-grid{grid-template-columns:minmax(0,1fr)}
  .rb-card-actions .rb-btn,.rb-card-actions .button,.rb-card-actions input[type=submit],.rb-card-actions > div{flex:1 1 auto}
  .rb-card-actions > div .button{flex:1 1 auto}
  .rb-opt-body{padding:12px}
  table.rb-table td,table.rb-table th{padding:9px 10px}
  .rb-col-check{width:36px}
  .rb-form-card{max-width:none}
  .rb-quota-note{white-space:normal}
}
@media (max-width:480px){
  .rb-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
  .rb-date-row > :nth-child(3){grid-column:1 / -1}
  .rb-avatar-current img{max-width:120px;max-height:120px}
  .rb-account-name{font-size:19px}
  .rb-sig-editor textarea{min-height:200px}
  .rb-subnav-card .rb-subnav-item{padding:11px 14px}
}

/* ===== parts/usercp-b.css ===== */
/* ===================================================================
   Roidboard — User CP, group B
   thread/forum subscriptions, latest threads & subscribed threads,
   reputation + warnings, referrals, buddy / ignore lists
   =================================================================== */

/* ---- page wrapper (the .rb-usercp shell itself is defined in usercp-a.css) ---- */
.rb-ucp-page{min-width:0}
.rb-ucp-page > * + *{margin-top:var(--gap)}
.rb-ucp-page form{margin:0}

/* ---- pagination inside a blue card head ---- */
.rb-ucp-head-pager{font-size:13px}
.rb-ucp-head-pager:empty{display:none}
.rb-ucp-head-pager .pagination{gap:3px}
.rb-ucp-head-pager .pagination .pages{display:none}
.rb-ucp-head-pager .pagination a,.rb-ucp-head-pager .pagination .pagination_current{height:28px;min-width:28px;padding:0 8px;background:var(--blue-dark);border-color:transparent;color:#fff}
.rb-ucp-head-pager .pagination a:hover{background:var(--accent);color:#fff}
.rb-ucp-head-pager .pagination .pagination_current{background:#fff;color:var(--blue-dark)}
.rb-ucp-pager:empty{display:none}
.rb-ucp-below{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}

/* ---- thread rows: subscriptions, latest threads, latest subscribed ---- */
.rb-ucp-tlabels,.rb-ucp-thread{display:grid;grid-template-columns:40px minmax(0,1fr) 84px 84px 230px;gap:14px;align-items:center}
.rb-ucp-tlabels.has-check,.rb-ucp-thread.has-check{grid-template-columns:40px minmax(0,1fr) 84px 84px 230px 32px}
.rb-ucp-tlabels{padding:9px 16px}
.rb-ucp-lbl{min-width:0}
.rb-ucp-lbl.is-thread{grid-column:1 / span 2}
.rb-ucp-lbl.is-stat{text-align:center}
.rb-ucp-lbl.is-check{display:flex;justify-content:center}
.rb-ucp-lbl.is-check input{margin:0}
.rb-ucp-thread{padding:12px 16px;border-top:1px solid var(--line);transition:background .12s}
.rb-ucp-thread:first-child{border-top:0}
.rb-ucp-thread:hover{background:var(--surface-2)}
.rb-ucp-thread.is-compact{padding:10px 16px}
.rb-ucp-tstatus{display:flex;align-items:center;justify-content:center}
.rb-ucp-tmain{min-width:0}
.rb-ucp-tsubject{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;font-size:15px;line-height:1.3}
.rb-ucp-tsubject img{max-height:16px;vertical-align:middle}
.rb-ucp-ticon{display:inline-flex;align-items:center}
.rb-ucp-ticon:empty{display:none}
.rb-ucp-tlink{font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rb-ucp-tlink:hover{color:var(--accent-2)}
.rb-ucp-tlink.subject_old{font-weight:500;color:var(--fg-2)}
.rb-ucp-tlink.subject_old:hover{color:#fff}
.rb-ucp-tsub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px;font-size:12.5px;color:var(--muted)}
.rb-ucp-tsub .fa-solid{font-size:11px}
.rb-ucp-tsub a{color:var(--fg-2);font-weight:500}
.rb-ucp-tsub a:hover{color:#fff}
.rb-ucp-tnotify{display:inline-flex;align-items:center;gap:6px}
.rb-ucp-tnotify b{color:var(--fg-2);font-weight:500}
.rb-ucp-tstats{display:contents}
.rb-ucp-tstat{text-align:center;min-width:0}
.rb-ucp-tstat b{display:block;font-size:16px;font-weight:500;color:#fff;line-height:1.15;font-variant-numeric:tabular-nums}
.rb-ucp-tstat b a{color:#fff}
.rb-ucp-tstat b a:hover{color:var(--accent-2)}
.rb-ucp-tstat span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.rb-ucp-tlast{min-width:0;font-size:13px;line-height:1.4}
.rb-ucp-tlast-date{display:flex;align-items:center;gap:6px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-ucp-tlast-date .fa-solid{font-size:11px;color:var(--muted)}
.rb-ucp-tlast-date:hover{color:var(--accent-2)}
.rb-ucp-tlast-by{display:flex;align-items:center;gap:5px;margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-ucp-tlast-by a{color:var(--fg-2);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.rb-ucp-tlast-by a:hover{color:#fff}
.rb-ucp-tcheck{display:flex;justify-content:center}
.rb-ucp-tcheck input{margin:0}

/* subscriptions: bulk-action footer */
.rb-ucp-subs-foot{justify-content:space-between}
.rb-ucp-withsel{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb-ucp-withsel-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.rb-ucp-withsel select{width:auto;height:32px;padding-top:0;padding-bottom:0;font-size:13px}
.rb-ucp-withsel input[type=submit]{height:32px}

/* thread status legend */
.rb-ucp-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-size:12.5px;color:var(--muted)}
.rb-ucp-legend dd{display:inline-flex;align-items:center;gap:8px;margin:0;white-space:nowrap}

/* ---- forum subscriptions (reuses the index .rb-forum row + .rb-cat-labels) ---- */
.rb-ucp-forums .rb-card-body > .rb-forum:first-child{border-top:0}
.rb-ucp-forum-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rb-ucp-forum-actions .rb-chip{height:26px;padding:0 9px;font-size:12.5px}

/* ---- notification method choices (add subscription) ---- */
.rb-ucp-choices{display:grid;gap:8px;margin:8px 0 16px}
.rb-ucp-choice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}
.rb-ucp-choice:hover{background:var(--surface-3);border-color:var(--line-2)}
.rb-ucp-choice:has(input:checked){border-color:var(--blue-2);background:var(--blue-soft)}
.rb-ucp-choice input{margin:3px 0 0;flex:none}
.rb-ucp-choice-body{min-width:0}
.rb-ucp-choice-body b{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px}
.rb-ucp-choice-body b .fa-solid{font-size:13px;color:var(--fg-2);width:16px;text-align:center}
.rb-ucp-choice:has(input:checked) .rb-ucp-choice-body b .fa-solid{color:var(--accent-2)}
.rb-ucp-choice-body span{display:block;margin-top:3px;font-size:13px;color:var(--muted);line-height:1.45}
.rb-ucp-confirm{margin:0 0 16px}

/* ---- buddy / ignore lists ---- */
.rb-ucp-addbox .rb-help{margin:0 0 10px}
.rb-ucp-addbox .rb-label{margin-bottom:6px}
.rb-ucp-addrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.rb-ucp-addrow input[type=submit]{height:38px}
.rb-ucp-addrow .select2-container{width:100%;min-width:0}
.rb-ucp-buddies{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.rb-ucp-buddy{display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 6px 0 12px;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--line-2);font-size:13.5px;max-width:100%;list-style:none}
.rb-ucp-buddy-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-ucp-buddy-name a{color:#fff;font-weight:500}
.rb-ucp-buddy-name a:hover{color:var(--accent-2)}
.rb-ucp-buddy-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius);color:var(--muted);font-size:13px}
.rb-ucp-buddy-remove:hover{background:var(--red-soft);color:var(--red)}
.rb-ucp-buddies-empty{flex-basis:100%;list-style:none;padding:14px;border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--muted);font-size:13.5px;text-align:center}
.rb-ucp-requests > div{min-width:0}
.rb-ucp-requests .rb-card + .rb-card{margin-top:0}
.rb-ucp-requests table.rb-table{border:0;border-radius:0}
.rb-ucp-requests table.rb-table td{vertical-align:middle}
.rb-ucp-req-empty{text-align:center;color:var(--muted)}

/* ---- warnings ---- */
.rb-ucp-warnings table.rb-table{border:0;border-radius:0}
.rb-ucp-warnlevel{font-size:13px;color:rgba(255,255,255,.85)}
.rb-ucp-warnlevel strong{color:#fff}
.rb-ucp-warnpoints{color:var(--amber);font-weight:500;margin-left:4px;white-space:nowrap}
.rb-ucp-warnpost{display:block;margin-top:3px;font-size:12.5px;color:var(--muted)}
.rb-ucp-warnpost .fa-solid{font-size:11px;margin-right:5px}
.rb-ucp-warnpost a{color:var(--fg-2)}
.rb-ucp-warnpost a:hover{color:#fff}

/* ---- account summary facts (reputation / referrals / resend activation) ---- */
.rb-ucp-fact{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:14px;line-height:1.5;color:var(--fg-2)}
.rb-ucp-fact-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:500}
.rb-ucp-fact-label .fa-solid{font-size:12px;width:14px;text-align:center}
.rb-ucp-fact-value{color:#fff;font-weight:500}
/* reputation number: beat .rb-account-extra strong{color:var(--muted)} from usercp-a.css */
.rb-ucp-fact-value .reputation_positive{color:var(--green)}
.rb-ucp-fact-value .reputation_negative{color:var(--red)}
.rb-ucp-fact-value .reputation_neutral{color:var(--muted)}
.rb-ucp-fact-link{font-size:12.5px;font-weight:400;margin-left:4px}
.rb-ucp-fact.is-note{display:block;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.rb-ucp-fact.is-note > br:first-child{display:none}
.rb-ucp-resend{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:12.5px;color:var(--amber)}
.rb-ucp-resend:hover{color:#fff}
/* MyBB appends the resend link to $usergroup; usercp.html prints it twice, hide the copy inside the group badge */
.rb-badge .rb-ucp-resend{display:none}

/* ---- responsive ---- */
@media (max-width:1000px){
  .rb-ucp-tlabels,.rb-ucp-thread{grid-template-columns:40px minmax(0,1fr) 70px 70px 190px}
  .rb-ucp-tlabels.has-check,.rb-ucp-thread.has-check{grid-template-columns:40px minmax(0,1fr) 70px 70px 190px 28px}
}
@media (max-width:760px){
  .rb-ucp-tlabels:not(.has-check){display:none}
  .rb-ucp-tlabels.has-check{grid-template-columns:minmax(0,1fr) 28px;gap:12px;padding:8px 14px}
  .rb-ucp-tlabels.has-check .rb-ucp-lbl.is-thread{grid-column:auto}
  .rb-ucp-tlabels.has-check .rb-ucp-lbl.is-stat,.rb-ucp-tlabels.has-check .rb-ucp-lbl.is-last{display:none}
  .rb-ucp-thread,.rb-ucp-thread.is-compact{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"status main" "status stats" "status last";gap:4px 12px;align-items:start;padding:12px 14px}
  .rb-ucp-thread.has-check{grid-template-columns:36px minmax(0,1fr) 28px;grid-template-areas:"status main check" "status stats check" "status last check"}
  .rb-ucp-tstatus{grid-area:status}
  .rb-ucp-tmain{grid-area:main}
  .rb-ucp-tstats{grid-area:stats;display:flex;gap:14px;margin-top:4px}
  .rb-ucp-tstat{display:inline-flex;align-items:baseline;gap:5px;text-align:left}
  .rb-ucp-tstat b{font-size:14px}
  .rb-ucp-tstat span{margin:0;font-size:12.5px}
  .rb-ucp-tlast{grid-area:last;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:2px}
  .rb-ucp-tlast-by{margin:0}
  .rb-ucp-tcheck{grid-area:check;align-self:center}
  .rb-ucp-thread .thread_status{width:36px;height:36px}
  .rb-ucp-thread .thread_status::after{width:18px;height:18px}
  .rb-ucp-subs-foot .rb-ucp-withsel{margin-left:0;flex-basis:100%}
  .rb-ucp-below{flex-direction:column;align-items:flex-start}
  .rb-ucp-requests{grid-template-columns:minmax(0,1fr)}
  .rb-ucp-choice{padding:10px 12px}
}
@media (max-width:480px){
  .rb-ucp-thread,.rb-ucp-thread.is-compact{padding:10px 12px}
  .rb-ucp-tsubject{font-size:14px}
  .rb-ucp-tlabels.has-check{padding:8px 12px}
  .rb-ucp-addrow{grid-template-columns:minmax(0,1fr)}
  .rb-ucp-addrow input[type=submit]{width:100%}
  .rb-ucp-buddy{max-width:100%}
  .rb-ucp-withsel select{flex:1 1 auto;min-width:0}
  .rb-ucp-legend{gap:6px 14px}
}

/* ===== parts/ux.css ===== */
/* ================= UX: toasts, loading bar, image viewer, unread markers, empty states =================
   JS: images/roidboard/rb-ux.js   PHP: inc/plugins/rb_ux.php   Template: rb_ux_empty_page (search without results).
   Parts load before 70-pro / 72-forumdisplay: rules that meet those files are scoped to win on specificity. */

/* ---- toasts (redirect confirmations, RBUX.toast): top right under the sticky bar, full width on phones.
   z-index: above MyBB modals (9999), below the image viewer (10040) ---- */
.rb-toasts{position:fixed;top:calc(var(--topbar-h) + 12px);right:16px;z-index:10030;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}
/* no display:none while empty: the aria-live region has to be in the accessibility tree before a toast is added.
   It has no background, border or height and takes no clicks, so it is invisible while empty. */
.rb-toasts .rb-toast{pointer-events:auto;box-sizing:border-box;display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 8px 11px 13px;background:var(--surface-3);border:1px solid var(--line-2);border-left:3px solid var(--green);border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.35);color:var(--fg);font-size:13.5px;line-height:1.45;transition:opacity .18s ease,transform .18s ease}
.rb-toasts .rb-toast.is-entering,.rb-toasts .rb-toast.is-leaving{opacity:0;transform:translateY(-6px)}
.rb-toasts .rb-toast.is-info{border-left-color:var(--accent-2)}
.rb-toasts .rb-toast.is-error{border-left-color:var(--red)}
.rb-toast .rb-toast-icon{flex:none;margin-top:2px;font-size:14px;color:var(--green)}
.rb-toast.is-info .rb-toast-icon{color:var(--accent-2)}
.rb-toast.is-error .rb-toast-icon{color:var(--red)}
.rb-toast .rb-toast-text{flex:1 1 auto;min-width:0;padding-top:1px;overflow-wrap:anywhere}
.rb-toasts .rb-toast-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:-3px 0 -3px 0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer}
.rb-toasts .rb-toast-close:hover{background:var(--surface-4);color:#fff}
.rb-toasts .rb-toast-close:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
@media (max-width:760px){
  .rb-toasts{top:calc(var(--topbar-h) + 8px);left:12px;right:12px;width:auto;align-items:stretch}
}

/* ---- thin loading bar at the very top (page navigation and AJAX the user started) ---- */
.rb-loadbar{position:fixed;top:0;left:0;right:0;z-index:10070;height:2px;pointer-events:none;opacity:0;transition:opacity .2s ease}
.rb-loadbar.is-on{opacity:1}
.rb-loadbar .rb-loadbar-fill{height:100%;background:var(--accent-2);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s ease}

/* ---- image viewer ---- */
html.rb-lb-lock,html.rb-lb-lock body{overflow:hidden}
.post_body img.rb-lb-item,.rb-post-attach img.rb-lb-item{cursor:zoom-in}
.post_body img.rb-lb-item:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.rb-lb{position:fixed;inset:0;z-index:10040;display:flex;flex-direction:column;background:rgba(6,7,9,.95);color:#fff;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}
.rb-lb[hidden],.rb-lb .rb-lb-btn[hidden],.rb-lb .rb-lb-error[hidden]{display:none}
.rb-lb .rb-lb-bar{flex:none;display:flex;align-items:center;gap:4px;min-height:52px;padding:8px 8px 8px 16px;padding-top:max(8px,env(safe-area-inset-top,0px))}
.rb-lb .rb-lb-meta{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:12px}
.rb-lb .rb-lb-count{flex:none;font-size:13px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.rb-lb .rb-lb-count:empty{display:none}
.rb-lb .rb-lb-caption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--fg-2)}
.rb-lb .rb-lb-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-width:36px;padding:0 10px;border:0;border-radius:3px;background:transparent;color:#fff;font-size:13px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer}
.rb-lb .rb-lb-btn .fa-solid{font-size:14px}
.rb-lb .rb-lb-close .fa-solid{font-size:18px}
.rb-lb .rb-lb-btn:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.rb-lb .rb-lb-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
.rb-lb .rb-lb-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 64px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}
.rb-lb .rb-lb-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:0;-webkit-user-select:none;user-select:none;transition:opacity .15s ease}
.rb-lb.is-loading .rb-lb-img,.rb-lb.is-broken .rb-lb-img{opacity:0}
.rb-lb .rb-lb-spin{position:absolute;top:50%;left:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:2px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;display:none;animation:rb-lb-spin .8s linear infinite}
.rb-lb.is-loading .rb-lb-spin{display:block}
.rb-lb .rb-lb-error{position:absolute;left:16px;right:16px;top:50%;margin:0;transform:translateY(-50%);text-align:center;font-size:14px;color:var(--fg-2)}
.rb-lb .rb-lb-nav{position:absolute;top:50%;z-index:1;width:48px;height:64px;margin-top:-6px;transform:translateY(-50%);padding:0;border:0;border-radius:3px;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.rb-lb .rb-lb-nav:hover{background:rgba(255,255,255,.1)}
.rb-lb .rb-lb-nav:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
.rb-lb .rb-lb-nav.is-prev{left:8px}
.rb-lb .rb-lb-nav.is-next{right:8px}
.rb-lb.is-single .rb-lb-nav{display:none}
.rb-lb.is-single .rb-lb-stage{padding-left:16px;padding-right:16px}
@keyframes rb-lb-spin{to{transform:rotate(360deg)}}
@media (max-width:760px){
  .rb-lb .rb-lb-bar{padding-left:12px;gap:2px}
  .rb-lb .rb-lb-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .rb-lb .rb-lb-btn{min-width:40px;height:40px;padding:0 8px}
  .rb-lb .rb-lb-stage,.rb-lb.is-single .rb-lb-stage{padding:0 0 12px}
  .rb-lb .rb-lb-nav{width:40px;height:48px;background:rgba(0,0,0,.45);font-size:16px}
  .rb-lb .rb-lb-nav.is-prev{left:6px}
  .rb-lb .rb-lb-nav.is-next{right:6px}
}

/* ---- unread: "New" label in posts (same small text style as the OP mark) and the jump link in the thread bar ---- */
.rb-post-head .rb-new-label{display:inline-flex;align-items:center;color:var(--accent-2);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.rb-post.is-unread[tabindex="-1"]:focus{outline:none}
.rb-topic-tools .rb-topic-unread{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:3px;background:rgba(0,0,0,.28);color:#fff;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none}
.rb-topic-tools .rb-topic-unread:hover{background:rgba(0,0,0,.42);color:#fff;text-decoration:none}
.rb-topic-tools .rb-topic-unread:focus-visible{outline:2px solid #fff;outline-offset:1px}
.rb-topic-tools .rb-topic-unread .fa-solid{font-size:12px}

/* ---- thread lists: a small accent dot before unread titles (no glow, no row colour; the title weight comes from 70-pro).
   The dot is a ::before of the subject span itself (MyBB new_class subject_new), so it wraps with the title text and
   survives MyBB's inline subject edit, which only replaces the span's content. */
.rb-trow .rb-trow-subject.subject_new::before,.rb-sr-title a.subject_new::before{content:"";display:inline-block;width:7px;height:7px;margin:0 7px 0 1px;border-radius:50%;background:var(--accent-2);vertical-align:middle;position:relative;top:-1px}

/* ---- empty states: icon, one line title, one sentence, optional button (rb-ux.js upgrades the MyBB empty rows) ---- */
.rb-empty.rb-empty-state,table.rb-table td .rb-empty.rb-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:44px 20px;text-align:center;color:var(--muted)}
.rb-empty-state .rb-empty-icon{margin:0 0 12px;font-size:26px;line-height:1;color:var(--faint)}
.rb-empty-state .rb-empty-title{display:block;margin:0;color:var(--fg);font-size:15px;font-weight:600;line-height:1.35}
.rb-empty-state .rb-empty-text{margin:4px 0 0;max-width:420px;color:var(--muted);font-size:13.5px;line-height:1.5}
.rb-empty-state .rb-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.rb-empty-state .rb-empty-actions .rb-btn{display:inline-flex;align-items:center;gap:7px}
.rb-empty-state .rb-empty-actions .rb-btn .fa-solid{font-size:13px;color:inherit}
.rb-ux-emptypage{max-width:800px;margin:0 auto}
@media (max-width:760px){
  .rb-empty.rb-empty-state,table.rb-table td .rb-empty.rb-empty-state{padding:32px 16px}
  /* inside a sideways scrolling table (drafts) keep the message in view */
  table.rb-table td .rb-empty.rb-empty-state{position:sticky;left:0;box-sizing:border-box;max-width:calc(100vw - 52px)}
  .rb-empty-state .rb-empty-actions{flex-direction:column;align-self:stretch;align-items:stretch}
  .rb-empty-state .rb-empty-actions .rb-btn{justify-content:center}
}

/* ---- reduced motion: no slides, no sweeping bar, a still ring instead of a spinner ---- */
@media (prefers-reduced-motion:reduce){
  .rb-toasts .rb-toast,.rb-loadbar,.rb-loadbar .rb-loadbar-fill,.rb-lb .rb-lb-img{transition:none}
  .rb-lb .rb-lb-spin{animation:none;border-color:rgba(255,255,255,.35)}
}

/* ===== parts/vendorapp.css ===== */
/* ===================================================================
   Roidboard: vendor applications (plugin rb_vendorapp)
   misc.php?action=vendor_apply + vendor_my_apps + vendor_my_app (members), vendor_apps + vendor_app (staff)
   Flat cards with the blue head bar, hairlines, 3px corners, white titles, --fg-2 meta.
   =================================================================== */

/* ---- page stack ---- */
.rb-va,.rb-va-form,.rb-va-view-main,.rb-va-view-side,.rb-va-mine-view{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-va .rb-card + .rb-card{margin-top:0}
.rb-va-form > .error,.rb-va-form > .rb-alert{margin:0}

/* text colours: no muted grey on the panels */
.rb-va-card .rb-label{color:var(--fg);font-weight:600}
.rb-va-card .rb-help{color:var(--fg-2)}
.rb-va-card .rb-kv dt{color:var(--fg-2)}
.rb-va-card .rb-card-foot{color:var(--fg-2)}
.rb-va-card .rb-card-tools .fa-solid{font-size:11.5px;margin-right:2px}
.rb-va-dim{color:var(--fg-2);font-weight:400}

/* ---- card head buttons: My applications, Review applications, Application page, Staff view ---- */
.rb-va-card .rb-va-tools{gap:8px}
.rb-card-tools .rb-va-headbtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap}
.rb-card-tools .rb-va-headbtn:hover{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff}
.rb-card-tools .rb-va-headbtn .fa-solid{margin:0;font-size:11.5px;color:rgba(255,255,255,.8)}
.rb-va-link{color:var(--link);font-weight:600}
.rb-va-link:hover{color:#fff;text-decoration:underline}

/* ---- intro: tiers, legal note ---- */
.rb-va-lead{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--fg)}
.rb-va-tiers{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rb-va-tiers li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:2px 16px;padding:9px 0 9px 10px;border-bottom:1px solid var(--line);border-left:2px solid transparent;font-size:13.5px;line-height:1.45}
.rb-va-tiers b{color:#fff;font-weight:600}
.rb-va-tiers li > span{color:var(--fg-2)}
.rb-va-card .rb-va-legal{margin:14px 0 0}
.rb-va-legal .rb-alert-body{color:var(--fg)}

/* ---- form ---- */
.rb-va-lbl{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-fields > .rb-va-lbl{padding-top:9px}
.rb-va-lbl .rb-label,.rb-va-lbl .rb-help{display:block}
.rb-va-country-checks{padding-top:9px}
.rb-va-country-checks .rb-check{color:var(--fg)}
.rb-va-agree{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rb-va-agree .rb-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--fg)}
.rb-va-agree .rb-check input[type=checkbox]{flex:none;margin:2px 0 0}
.rb-va-agree .rb-check span{flex:1 1 0;min-width:0}
.rb-va-agree a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
.rb-va-agree a:hover{color:#fff}
.rb-va-foot{gap:10px 16px}
.rb-va-foot .rb-form-actions{margin-left:auto;padding-top:0}
.rb-va-foot .fa-solid{color:var(--fg-2);font-size:12.5px}
.rb-va-foot-note{font-size:12.5px}

/* ---- status card ---- */
.rb-va-status-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rb-va-status-text{font-size:14px;color:var(--fg)}
.rb-va-kv{font-size:13.5px}

/* ---- notice card: already a vendor ---- */
.rb-va-notice-title{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.35;color:#fff}
.rb-va-notice-title .fa-solid{flex:none;font-size:15px;color:var(--accent-2)}
.rb-va-notice-title.is-ok .fa-solid{color:var(--green)}
.rb-va-notice-text{margin:0;font-size:14px;line-height:1.55;color:var(--fg-2)}
.rb-va-boards{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}
.rb-va-boards li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--fg)}
.rb-va-boards li .fa-solid{flex:none;color:var(--fg-2);font-size:12.5px}
.rb-va-boards a{color:var(--fg);font-weight:500}
.rb-va-boards a:hover{color:#fff;text-decoration:underline}

/* ---- staff list ---- */
.rb-va-list .rb-va-tabs{padding:0 8px}
.rb-va-tabcount{margin-left:2px;font-size:12px;font-weight:500;color:var(--fg-2)}
.rb-tab.is-active .rb-va-tabcount{color:#fff}
.rb-va-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 130px 92px 68px;gap:12px;align-items:center}
.rb-labels.rb-va-grid{display:grid;color:var(--fg-2)}
.rb-va-row{padding:11px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2)}
.rb-va-row:last-child{border-bottom:0}
.rb-va-row:hover{background:var(--surface-2)}
.rb-va-c{min-width:0}
.rb-va-who{display:flex;flex-direction:column;gap:2px}
.rb-va-name{font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-va-id{font-size:12.5px;color:var(--fg-2)}
.rb-va-id:hover{color:#fff}
.rb-va-tier{color:var(--fg)}
.rb-va-sub{display:block;font-size:12px;color:var(--fg-2)}
.rb-va-open{text-align:right}
.rb-va-open .rb-btn{height:28px;padding:0 12px;font-size:12.5px}
.rb-va-empty{padding:36px 16px}
.rb-va-empty span{color:var(--fg-2)}
.rb-va-pager{padding:10px 16px;border-top:1px solid var(--line)}

/* ---- My applications (member list) ---- */
.rb-va-mgrid{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(0,1fr) minmax(0,1.2fr) 120px 120px 92px 68px;gap:12px;align-items:center}
.rb-labels.rb-va-mgrid{display:grid;color:var(--fg-2)}
.rb-va-mine .rb-va-name{color:#fff;white-space:normal;overflow-wrap:anywhere}
.rb-va-mine .rb-va-name:hover{color:#fff;text-decoration:underline}
.rb-va-mine .rb-va-decided .rb-va-dim{font-size:13px}
.rb-va-mine .rb-card-foot{gap:8px}
.rb-va-empty .rb-btn{margin-top:6px;gap:7px}
.rb-va-empty .rb-btn .fa-solid{font-size:12.5px;color:inherit}

/* ---- staff view ---- */
.rb-va-view{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap);align-items:start}
.rb-va-answer{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.rb-va-q{margin:0 0 6px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-va-a{font-size:14px;line-height:1.6;color:var(--fg);overflow-wrap:anywhere}
.rb-va-a a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
.rb-va-a a:hover{color:#fff}
.rb-va-confirms{list-style:none;display:flex;flex-direction:column;gap:6px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--fg)}
.rb-va-confirms .fa-solid{margin-right:8px;font-size:12px;color:var(--green)}
.rb-va-facts{font-size:13.5px;gap:8px 16px}
.rb-va-rep{color:var(--fg);font-weight:600}
.rb-va-rep.is-pos{color:var(--green)}
.rb-va-rep.is-neg{color:var(--red)}
.rb-va-decide .rb-alert{margin:0 0 14px}
.rb-va-decide .rb-card-body > .rb-alert:last-child{margin-bottom:0}
.rb-va-decide .rb-field:last-child{margin-bottom:0}
.rb-va-decide .rb-va-foot{justify-content:flex-end}
.rb-va-decide .rb-form-actions input[type=submit].rb-va-deny{order:-1;background:transparent;border-color:var(--red);color:var(--red)}
.rb-va-decide .rb-form-actions input[type=submit].rb-va-deny:hover{background:var(--red-soft);border-color:var(--red);color:#fff}

/* ---- tablet / phone ---- */
@media (max-width:1000px){
  .rb-va-view{grid-template-columns:minmax(0,1fr)}
  .rb-va-mgrid{grid-template-columns:minmax(120px,1fr) minmax(0,1fr) minmax(0,1fr) 104px 104px 88px 60px;gap:10px}
}
@media (max-width:760px){
  .rb-va-tiers li{grid-template-columns:minmax(0,1fr)}
  .rb-va-country-checks{padding-top:0}
  .rb-va-foot .rb-form-actions{margin-left:0;width:100%}
  .rb-va-foot-note{flex-basis:100%}
  .rb-labels.rb-va-labels{display:none}
  .rb-va-row.rb-va-grid,.rb-va-row.rb-va-mgrid,.rb-va-row.rb-va-vgrid{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px}
  .rb-va-row .rb-va-who{grid-column:1;grid-row:1}
  .rb-va-row .rb-va-state{grid-column:2;grid-row:1;justify-self:end;align-self:start}
  .rb-va-row .rb-va-tier,.rb-va-row .rb-va-countries,.rb-va-row .rb-va-date{grid-column:1 / -1;font-size:13px}
  .rb-va-row .rb-va-countries::before,.rb-va-row .rb-va-date::before{content:attr(data-label) ": ";color:var(--fg-2);font-weight:400}
  .rb-va-row .rb-va-tier > span:first-child::before{content:"Tier: ";color:var(--fg-2);font-weight:400}
  .rb-va-row .rb-va-open{grid-column:1 / -1;margin-top:6px;text-align:left}
  .rb-va-row .rb-va-open .rb-btn{width:100%;height:34px}
  .rb-va-tabs .rb-tab{padding:0 10px}
  .rb-va-card .rb-va-tools{gap:6px}
  .rb-card-tools .rb-va-headbtn{height:26px;padding:0 9px;font-size:12px}
  .rb-va-mine .rb-card-foot{align-items:flex-start}
  .rb-va-mine .rb-card-foot .fa-solid{margin-top:3px}
}

/* ---- fixed tier: everyone applies for New Vendor ---- */
.rb-va-tier-fixed{display:flex;align-items:center;min-height:40px;padding:0 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;font-size:14px}
.rb-va-tiers li.is-apply b{color:#fff}
.rb-va-tiers li.is-apply{border-left-color:var(--accent-2)}

/* ---- countries: decide form, Vendors tab, vendor countries page ---- */
.rb-va-pick{display:flex;flex-wrap:wrap;gap:8px 20px;padding:4px 0 2px}
.rb-va-pick .rb-check{color:var(--fg)}
.rb-va-vgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.4fr) 68px;gap:12px;align-items:center}
.rb-labels.rb-va-vgrid{display:grid;color:var(--fg-2)}
.rb-va-countries{overflow-wrap:anywhere}
.rb-va-vendors .rb-card-foot{gap:8px}
.rb-va-countries-form .rb-va-kv{margin-bottom:16px}
.rb-va-countries-form .rb-va-pick-field{margin-bottom:0;padding-top:14px;border-top:1px solid var(--line)}
.rb-va-countries-form .rb-form-actions{gap:8px}
@media (max-width:760px){
  .rb-va-vendors .rb-card-foot{align-items:flex-start}
  .rb-va-vendors .rb-card-foot .fa-solid{margin-top:3px}
  .rb-va-countries-form .rb-form-actions .rb-btn,.rb-va-countries-form .rb-form-actions input[type=submit]{flex:1 1 0}
}

/* ===== parts/vip.css ===== */
/* ===================================================================
   Roidboard: VIP and Donator perks page (plugin rb_vip, templates rb_vip_*)
   misc.php?action=vip. One card: lead text, a quiet status line for a VIP or Donator viewer, the "VIP or Donator"
   comparison (two flat panels: banner, name colour, thread prefix), then the perks in five sections (Profile and
   identity, Posting, Shoutbox, Private boards, Account), each a dark label strip and a list (2 columns on wide
   screens, 1 on phones), and the footer with the "Contact the team" button.
   Flat, hairlines, 3px corners, bare icons, no glows, no coloured alert boxes.
   This file loads before 70-pro.css, so selectors that 70-pro also sets carry one class more.
   Also the perk line in the User CP signature rules box (rb_sigperks.php) and the locked VIP Lounge row in the forum
   lists (template rb_vip_lounge_locked, index and the parent board's forumdisplay).
   =================================================================== */
.rb-vip{display:flex;flex-direction:column;gap:var(--gap);min-width:0}

/* ---- intro: lead, status line, comparison ---- */
.rb-vip-intro{display:flex;flex-direction:column;gap:14px;padding:16px;border-bottom:1px solid var(--line)}
.rb-vip-lead{margin:0;font-size:14px;line-height:1.55;color:var(--fg)}
.rb-vip-status{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-vip-status > .fa-solid{flex:none;margin-top:3px;font-size:12px;color:var(--accent-2)}
.rb-vip-status-text{min-width:0}
.rb-vip-status-text p{margin:0}
.rb-vip-status-text .rb-vip-status-note{margin-top:4px;color:var(--muted)}
.rb-vip-status-note a{color:var(--link);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.rb-vip-status-note a:hover{color:#fff;text-decoration-color:currentColor}

.rb-vip-compare{display:flex;flex-direction:column;gap:10px;min-width:0}
.rb-vip-compare-text{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.rb-vip-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rb-vip-tier{min-width:0;border:1px solid var(--line-2);border-top-width:2px;border-radius:var(--radius);background:var(--surface-2)}
.rb-vip-tier.is-vip{border-top-color:#c9962a}
.rb-vip-tier.is-donator{border-top-color:#b263d6}
.rb-vip-tier-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 14px;border-bottom:1px solid var(--line)}
.rb-vip-tier-title{font-size:13px;font-weight:600;line-height:1.3;color:#fff;letter-spacing:.01em}
.rb-vip-tier-mine{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;color:var(--fg-2);white-space:nowrap}
.rb-vip-tier-mine .fa-solid{font-size:10px;color:var(--accent-2)}
.rb-vip-tier-body{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px}
.rb-vip-tier-banner{display:block;flex:0 1 207px;width:207px;max-width:100%;height:auto}
.rb-vip-tier-rows{display:flex;flex-direction:column;gap:9px;flex:1 1 170px;min-width:0;margin:0}
.rb-vip-tier-row{display:flex;align-items:center;gap:12px;min-width:0}
.rb-vip-tier-row dt{flex:none;width:52px;margin:0;font-size:11px;font-weight:600;line-height:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-vip-tier-row dd{min-width:0;margin:0;font-size:14px;line-height:20px;overflow-wrap:anywhere}

/* prefix chips: the display styles of the thread lists (parts/prefixes.css, VIP / Donator look from 70-pro.css) */
.rb-vip-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rb-vip-chips .rb-prefix{top:0}
.rb-li-main > .rb-vip-chips{margin-top:9px}

/* ---- sections: small uppercase label strip with a muted icon, like the column labels elsewhere ---- */
.rb-vip-section{min-width:0}
.rb-vip-section-head{display:flex;align-items:center;gap:8px;margin:0;padding:9px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--fg-2);font-size:11.5px;font-weight:600;line-height:16px;letter-spacing:.06em;text-transform:uppercase}
.rb-vip-section-head .fa-solid{width:14px;font-size:12px;text-align:center;color:var(--muted)}
.rb-vip-section + .rb-vip-section .rb-vip-section-head{border-top:1px solid var(--line)}

/* perks: static rows, so no hover; bare icons (no boxes); titles and texts wrap instead of being cut */
.rb-vip-perks{display:grid;grid-template-columns:minmax(0,1fr)}
.rb-vip-perks .rb-list-item{align-items:flex-start;gap:14px;padding:14px 16px}
.rb-vip-perks .rb-list-item:hover{background:transparent}
.rb-vip-perks .rb-li-icon{width:18px;height:20px;margin-top:1px;background:transparent;border-radius:0;font-size:14px;color:var(--accent-2)}
.rb-vip-perks .rb-li-title{white-space:normal;overflow:visible;font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.rb-vip-perks .rb-li-title a{color:#fff;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.rb-vip-perks .rb-li-title a:hover{color:var(--link);text-decoration-color:currentColor}
.rb-vip-perks .rb-li-sub{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--fg-2)}
/* a one line condition under a perk ("Only for vendors with VIP or Donator.") */
.rb-vip-perk-note{display:flex;align-items:baseline;gap:7px;margin-top:6px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.rb-vip-perk-note .fa-solid{flex:none;width:12px;font-size:11px;text-align:center;color:var(--faint)}

@media (min-width: 860px){
  .rb-vip-perks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-vip-perks .rb-list-item:nth-child(odd){border-right:1px solid var(--line)}
  .rb-vip-perks .rb-list-item:nth-last-child(2):nth-child(odd){border-bottom:0}
  .rb-vip-perks .rb-list-item:last-child:nth-child(odd){border-right:0}
}

/* ---- footer: text left, button right; the button takes the full width on phones ---- */
.rb-vip-foot{justify-content:space-between;gap:10px 16px;padding:12px 16px}
.rb-vip-foot-text{flex:1 1 260px;min-width:0;font-size:13px;color:var(--fg-2)}
.rb-vip-contact{flex:none}
/* 70-pro.css greys every .rb-btn after the primary rule; keep this one call to action filled (same as profile-v2.css) */
.rb-vip-foot .rb-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-vip-foot .rb-btn-primary:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}

@media (max-width: 700px){
  .rb-vip-tiers{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 600px){
  .rb-vip-intro{padding:14px 12px}
  .rb-vip-tier-body{padding:12px}
  .rb-vip-section-head{padding:9px 12px}
  .rb-vip-perks .rb-list-item{gap:12px;padding:13px 12px}
  .rb-vip-foot{padding:12px}
  .rb-vip-contact{flex:1 1 100%;justify-content:center}
}

/* User CP, Edit signature: the perk line under MyBB's rules (rb_sigperks.php sets edit_sig_note2) */
.rb-sig-perk{display:block;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--fg-2);line-height:1.5}
.rb-sig-perk .fa-solid{margin-right:6px;font-size:11px;color:var(--accent-2)}
.rb-sig-perk a{color:var(--link)}
.rb-sig-perk a:hover{color:#fff;text-decoration:underline}

/* ---- locked VIP Lounge row in the forum lists: a normal forum row (40-index.css / 70-pro.css grid), muted, a lock
   instead of the board glyph, no stats and no last post; the small "Unlock with VIP" button takes their place ---- */
.rb-forum.rb-vip-locked:hover{background:transparent}
.rb-forum.rb-vip-locked .rb-forum-icon::before,
.rb-forum.rb-vip-locked:hover .rb-forum-icon::before{content:"\f023";color:var(--faint)}
.rb-forum.rb-vip-locked .rb-forum-name{color:var(--fg-2)}
.rb-forum.rb-vip-locked .rb-forum-name:hover{color:#fff}
.rb-forum.rb-vip-locked .rb-forum-desc{color:var(--muted)}
.rb-vip-unlock{grid-column:3 / -1;justify-self:end;min-width:0}
.rb-vip-unlock .rb-btn{white-space:nowrap}
.rb-vip-unlock .rb-btn .fa-solid{font-size:11px;color:var(--amber)}
@media (max-width:1000px){
  .rb-vip-unlock{grid-column:2;justify-self:start}
}

/* ===== parts/vipstyle.css ===== */
/* ===================================================================
   Roidboard: VIP and Donator style perks (plugin rb_vipstyle, full visitor list in rb_profile)
   1. Name style presets .rb-name-x-<key> (format_name hook): colours and an effect in the spirit of the
      group styles in 70-pro.css. 70-pro loads after this file and its [class*="rb-name-"] rules (nowrap,
      no ::after icon, hover brightness, reduced motion) apply to these classes too.
   2. Profile cover: custom image over the default banner, corner tools (Change cover / staff Remove cover).
   3. User CP pages: Profile cover (preview + upload) and Name style (tiles).
   4. Visitors card link and the full visitor list (misc.php?action=profile_visitors).
   Flat cards, hairlines, 3px corners; effects only on the names (owner asked for name effects).
   =================================================================== */

/* ---- 1. name style presets ---- */
@keyframes rb-nx-flow{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes rb-nx-shine{0%{background-position:160% 0,0 0}55%,100%{background-position:-60% 0,0 0}}
@keyframes rb-nx-pulse{0%,100%{filter:drop-shadow(0 0 2px var(--rb-nx-glow))}50%{filter:drop-shadow(0 0 7px var(--rb-nx-glow))}}
@keyframes rb-nx-flicker{0%,100%{filter:drop-shadow(0 0 3px var(--rb-nx-glow))}30%{filter:drop-shadow(0 0 6px var(--rb-nx-glow))}60%{filter:drop-shadow(0 0 4px var(--rb-nx-glow))}80%{filter:drop-shadow(0 0 7px var(--rb-nx-glow))}}

.rb-name-x-gold,.rb-name-x-holo,.rb-name-x-ember,.rb-name-x-aurora,.rb-name-x-ice,.rb-name-x-emerald,.rb-name-x-royal,.rb-name-x-rose{
  font-weight:700;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Gold shine: deep gold with a white light sweep */
.rb-name-x-gold{color:#f2b53a;background-image:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),linear-gradient(90deg,#c98a17 0%,#ffd25a 30%,#fff1b8 50%,#ffd25a 70%,#c98a17 100%);
  background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:rb-nx-shine 3.4s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(242,181,58,.45))}
/* Holo: moving rainbow foil */
.rb-name-x-holo{color:#b8d8ff;background-image:linear-gradient(90deg,#ff7ad9 0%,#8be9ff 20%,#c3ff8a 40%,#ffd36e 60%,#b18cff 80%,#ff7ad9 100%);
  background-size:300% 100%;animation:rb-nx-flow 5s linear infinite alternate;filter:drop-shadow(0 0 4px rgba(170,200,255,.45))}
/* Ember: fire colours with a soft flicker */
.rb-name-x-ember{color:#ff7a2e;--rb-nx-glow:rgba(255,106,40,.6);background-image:linear-gradient(90deg,#ff3b2f 0%,#ff8a1f 30%,#ffd25e 50%,#ff8a1f 70%,#ff3b2f 100%);
  background-size:200% 100%;animation:rb-nx-flow 2.6s ease-in-out infinite alternate,rb-nx-flicker 2.2s ease-in-out infinite}
/* Aurora: slow northern lights */
.rb-name-x-aurora{color:#5eead4;background-image:linear-gradient(90deg,#34f5b0 0%,#38bdf8 35%,#a78bfa 65%,#34f5b0 100%);
  background-size:300% 100%;animation:rb-nx-flow 7s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(56,220,200,.4))}
/* Ice: frosty white and blue with a light sweep */
.rb-name-x-ice{color:#a5e4ff;background-image:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),linear-gradient(90deg,#7cc8ff 0%,#e6f8ff 50%,#7cc8ff 100%);
  background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:rb-nx-shine 4s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(140,210,255,.5))}
/* Emerald: deep green with a calm glow */
.rb-name-x-emerald{color:#34d399;--rb-nx-glow:rgba(16,185,129,.6);background-image:linear-gradient(90deg,#059669 0%,#34d399 45%,#a7f3d0 50%,#34d399 55%,#059669 100%);
  background-size:100% 100%;animation:rb-nx-pulse 3.2s ease-in-out infinite}
/* Royal violet: violet with a light sweep */
.rb-name-x-royal{color:#a78bfa;background-image:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 60%),linear-gradient(90deg,#7c3aed 0%,#c4b5fd 50%,#7c3aed 100%);
  background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:rb-nx-shine 3.8s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(139,92,246,.5))}
/* Rose: pink and rose gold, softly moving */
.rb-name-x-rose{color:#ff8fb1;--rb-nx-glow:rgba(255,105,150,.55);background-image:linear-gradient(90deg,#ff4f86 0%,#ffb3c7 35%,#f6c7a8 50%,#ffb3c7 65%,#ff4f86 100%);
  background-size:200% 100%;animation:rb-nx-flow 3.6s ease-in-out infinite alternate,rb-nx-pulse 3.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .rb-name-x-gold,.rb-name-x-holo,.rb-name-x-ember,.rb-name-x-aurora,.rb-name-x-ice,.rb-name-x-emerald,.rb-name-x-royal,.rb-name-x-rose{animation:none}
}

/* ---- 2. profile cover ---- */
/* the custom image sits on top of the default banner; the cover's ::after overlay still covers both */
.rb-pp-cover-tools{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:6px}
.rb-pp-cover-form{margin:0}
.rb-pp .rb-pp-cover-tools .rb-pp-cover-btn{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;font-size:12px;font-weight:600;line-height:1;
  background:rgba(10,11,14,.72);border:1px solid rgba(255,255,255,.16);border-radius:3px;color:#fff;cursor:pointer}
.rb-pp .rb-pp-cover-tools .rb-pp-cover-btn:hover{background:rgba(10,11,14,.9);border-color:rgba(255,255,255,.32);color:#fff;text-decoration:none}
.rb-pp .rb-pp-cover-tools .rb-pp-cover-btn .fa-solid{font-size:11px}
.rb-pp .rb-pp-cover-tools .rb-pp-cover-btn.is-danger{color:#ffb4b4;border-color:rgba(240,82,82,.45)}
.rb-pp .rb-pp-cover-tools .rb-pp-cover-btn.is-danger:hover{background:rgba(120,20,20,.75);border-color:var(--red);color:#fff}
@media (max-width:600px){
  .rb-pp-cover-tools{top:8px;right:8px}
  .rb-pp .rb-pp-cover-tools .rb-pp-cover-btn{height:26px;padding:0 8px}
}

/* ---- 3. User CP pages ---- */
.rb-vs .rb-card-head{display:flex;align-items:center;gap:12px}
.rb-vs .rb-card-tools{margin-left:auto}
.rb-vs-head-link{white-space:nowrap}
.rb-vs-lead{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-vs-lead b{color:#fff;font-weight:600}

/* cover preview: the profile cover's own shape (.rb-pp-cover is 220px tall, 160px at 600px and below, full page width)
   with the same dark overlay. rb-vipstyle.js scales the height down when the column is narrower than the page, so the
   crop matches the profile on this screen. For a member's cover (and a picked file) the frame is the stored 1500x400
   file fitted like object-fit:cover, so a file that is not cropped yet shows the same crop the server makes. The
   default banner is not cropped on the profile, so it fills the box directly. */
.rb-vs-cover-preview{--rb-vs-cover-h:220px;position:relative;width:100%;height:var(--rb-vs-cover-h);margin:0 0 14px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;container-type:size}
.rb-vs-cover-frame{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);overflow:hidden}
@supports (width:1cqw){
  .rb-vs-cover-preview.is-custom .rb-vs-cover-frame,
  .rb-vs-cover-preview.is-pending .rb-vs-cover-frame{width:max(100cqw,calc(100cqh * 3.75));height:max(100cqh,calc(100cqw / 3.75))}
}
.rb-vs-cover-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.rb-vs-cover-preview::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,25,32,.2) 0%,rgba(23,25,32,.55) 50%,rgba(23,25,32,.92) 100%),linear-gradient(90deg,rgba(23,25,32,.55) 0%,rgba(23,25,32,0) 65%)}
.rb-vs-cover-state{position:absolute;left:12px;bottom:10px;z-index:1;padding:3px 8px;background:rgba(10,11,14,.72);border:1px solid rgba(255,255,255,.14);border-radius:3px;font-size:11.5px;font-weight:600;color:var(--fg-2)}
.rb-vs-cover-preview.is-custom .rb-vs-cover-state{color:#fff}
.rb-vs-cover-preview.is-pending{border-color:var(--accent)}
.rb-vs-cover-preview.is-pending .rb-vs-cover-state{color:#fff;border-color:var(--accent)}
.rb-vs-file{display:flex;flex-direction:column;gap:6px;max-width:560px}
.rb-vs-file input[type=file]{padding:12px}
.rb-vs-file-msg{font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-vs-file-msg:empty{margin-top:-6px} /* stays rendered (live region), the negative margin takes back the flex gap */
.rb-vs-file-msg.is-error{color:#f08080}
.rb-vs-remove-form{display:none}
.rb-vs .rb-card-actions .rb-vs-remove-btn{display:inline-flex;align-items:center;gap:7px;margin-right:auto}
.rb-vs .rb-card-actions .rb-vs-remove-btn .fa-solid{font-size:12px}

/* name style tiles: radio + label on top, the name preview, a short line */
.rb-vs-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.rb-vs-style{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;cursor:pointer;transition:border-color .12s,background .12s}
.rb-vs-style:hover{border-color:#3a414c;background:var(--surface-3)}
.rb-vs-style.is-selected{border-color:var(--accent);background:var(--accent-soft)}
/* separate rule: a browser without :has() drops only this one (rb-vipstyle.js keeps .is-selected up to date) */
.rb-vs-style:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.rb-vs-style:has(input:focus-visible){outline:2px solid var(--accent-ring);outline-offset:1px}
.rb-vs-style-top{display:flex;align-items:flex-start;gap:8px;min-width:0}
.rb-vs-style-top input[type=radio]{flex:none;margin:1px 0 0;accent-color:var(--accent)}
.rb-vs-style-label{min-width:0;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);overflow-wrap:anywhere}
.rb-vs-style-name{display:block;min-width:0;padding:6px 0 2px;font-size:18px;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.rb-vs-style .rb-vs-style-name [class*="rb-name-"]{white-space:normal}
.rb-vs-style-desc{font-size:12.5px;line-height:1.45;color:var(--muted)}

/* the avatar page note (VIP, Donator and staff) */
.rb-vs-avatar-perk{display:inline-flex;align-items:baseline;gap:7px;margin-top:4px;color:var(--fg)}
.rb-vs-avatar-perk .fa-solid{font-size:11px;color:#f2b53a}

/* ---- 4. visitors ---- */
.rb-pv-total.has-all{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rb-pv-all{color:var(--link);font-weight:500;white-space:nowrap}
.rb-pv-all:hover{color:#fff;text-decoration:none}

.rb-vs-visits{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-vs-visits-card .rb-card-head{display:flex;align-items:center;gap:12px}
.rb-vs-visits-card .rb-card-tools{margin-left:auto}
.rb-vs-visits-sum{display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.rb-vs-visits-total b{color:#fff;font-weight:600}
.rb-vs-visits-list{display:flex;flex-direction:column}
.rb-vs-visit{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 16px;border-bottom:1px solid var(--line)}
.rb-vs-visit:last-child{border-bottom:0}
.rb-vs-visit:hover{background:var(--surface-2)}
.rb-vs-visit-av{flex:none;display:block;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--surface-3);border:1px solid var(--line-2)}
.rb-vs-visit-av img{display:block;width:100%;height:100%;object-fit:cover}
.rb-vs-visit-main{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.3}
.rb-vs-visit-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-vs-visit-name a{color:#fff}
.rb-vs-visit-name a:hover{color:var(--link);text-decoration:none}
.rb-vs-visit-date{display:flex;flex-wrap:wrap;gap:0 8px;font-size:12.5px;color:var(--fg-2)}
.rb-vs-visit-ago{color:var(--muted)}
.rb-vs-visit-count{flex:none;display:flex;flex-direction:column;align-items:flex-end;min-width:52px;line-height:1.25;text-align:right}
.rb-vs-visit-count b{color:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.rb-vs-visit-count span{color:var(--fg-2);font-size:11.5px}
.rb-vs-visits-pager{padding:10px 16px;border-top:1px solid var(--line)}
.rb-vs-visits-pager .pagination{margin:0}

@media (max-width:600px){
  .rb-vs-cover-preview{--rb-vs-cover-h:160px}
  .rb-vs-styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rb-vs-style{padding:10px}
  .rb-vs-style-name{font-size:16px}
  .rb-vs-style-desc{display:none}
  .rb-vs .rb-card-actions{justify-content:stretch}
  .rb-vs .rb-card-actions > *{flex:1 1 auto}
  .rb-vs .rb-card-actions .rb-vs-remove-btn{justify-content:center;margin-right:0}
  .rb-vs-visits-sum{padding:10px 12px}
  .rb-vs-visit{gap:10px;padding:10px 12px}
  .rb-vs-visit-av{width:36px;height:36px}
  .rb-vs-visit-name{font-size:13.5px}
  .rb-vs-visits-pager{padding:10px 12px}
}

/* ===== 70-pro.css ===== */
/* ================= PRO LAYER: restrained, sharp, professional dark UI (overrides earlier layers) ================= */
body{background:var(--bg);font-size:14px}
a{color:var(--link)}
/* --- topbar / nav --- */
.rb-topbar{background:#0d0f13;border-bottom:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.rb-nav a{color:var(--fg-2);font-size:13.5px;font-weight:500;padding:0 13px}
.rb-nav a .fa-solid{color:var(--muted);font-size:13px}
.rb-nav a:hover{background:transparent;color:#fff}
.rb-nav a:hover .fa-solid{color:var(--fg-2)}
.rb-nav a.is-active{background:transparent;color:#fff}
.rb-nav a.is-active .fa-solid{color:var(--accent-2)}
.rb-nav a.is-active::after{left:13px;right:13px;height:2px;border-radius:0;background:var(--accent)}
.rb-topbar-right > a,.rb-topbar-right .rb-btn{font-size:13.5px;color:var(--fg-2)}
.rb-topbar-right > a:hover,.rb-topbar-right .rb-btn:hover{background:transparent;color:#fff}
.rb-iconbtn{width:40px;color:var(--fg-2);font-size:15px}
.rb-iconbtn:hover{background:transparent;color:#fff}
.rb-count{background:var(--accent);border-radius:9px}
.rb-user-btn{font-size:13.5px}
.rb-user-menu{background:var(--surface);border:1px solid var(--line-2);border-radius:0 0 3px 3px;box-shadow:0 12px 24px rgba(0,0,0,.5)}
.rb-user-menu a{font-size:13.5px}
/* --- brand / banner --- */
.rb-hero{background:#0b0c10;border-bottom:1px solid var(--line)}
.rb-hero::before,.rb-hero::after,.rb-hero .rb-hero-grain{display:none}
.rb-hero-in{min-height:120px}
.rb-wordmark{padding-bottom:0;gap:12px}
.rb-wordmark::before{display:none}
.rb-wm-l{font-family:var(--font);font-size:28px;font-weight:700;letter-spacing:-.02em;color:#fff;text-transform:uppercase}
.rb-wm-l.is-grad,.rb-wm-l b{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:currentColor;color:var(--accent-2);font-weight:700}
.rb-wm-orb .rb-orb,.rb-brand-mark .rb-orb{filter:none}
.rb-wm-orb .rb-orb{width:34px;height:34px}
.rb-wm-line{display:none}
.rb-logo .rb-tagline{margin-top:5px;padding-left:46px;font-size:10.5px;letter-spacing:.28em;color:var(--muted)}
.rb-brand-name{font-family:var(--font);font-weight:700;letter-spacing:-.01em;font-size:14.5px}
.rb-brand-name b{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:currentColor;color:var(--accent-2)}
.rb-brand-mark .rb-orb{width:26px;height:26px}
.rb-qsearch input[type=text]{height:36px;border-radius:3px;background:var(--surface);border-color:var(--line-2);padding-right:84px;font-size:13.5px}
.rb-qsearch input[type=text]:focus{border-color:var(--accent);box-shadow:none;width:300px;background:var(--surface)}
.rb-qsearch input[type=submit]{height:28px;top:4px;right:4px;padding:0 10px;font-size:12px;border-radius:2px}
.rb-crumbs{font-size:12.5px;margin:8px 0 14px}
.rb-crumbs .active{color:#fff;font-weight:500}
/* --- cards / headers: quiet strips, no fill, no chip, no facets --- */
.rb-card,.rb-cat{background:var(--surface);border:1px solid var(--line);border-radius:3px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.rb-card-head,.rb-cat-head,.thead,.modal .rb-modal-head{min-height:0;padding:11px 16px;gap:12px;background:linear-gradient(90deg,#24407a 0%,#1d3566 100%);color:#fff;border-bottom:1px solid #2d4c8e;box-shadow:none;overflow:visible}
.rb-card-head::before,.rb-card-head::after,.rb-cat-head::before,.rb-cat-head::after,.thead::before,.thead::after,.modal .rb-modal-head::before,.modal .rb-modal-head::after{display:none}
.rb-card-title,.rb-cat-title a{padding:0;background:transparent;box-shadow:none;border-radius:0;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.005em;gap:8px}
.rb-cat-title a::before{display:none}
.rb-cat-title a:hover,.rb-card-title a:hover{background:transparent;color:#d6e2ff}
.rb-card-title .fa-solid{color:rgba(255,255,255,.75);font-size:12.5px}
.rb-card-sub,.rb-cat-desc{color:rgba(255,255,255,.72);font-size:12.5px;font-weight:400}
.rb-cat-title{align-items:baseline;gap:10px}
.rb-card-tools,.rb-card-tools a{color:rgba(255,255,255,.8);font-size:12.5px}
.rb-card-tools a:hover{color:#fff;text-decoration:none}
.rb-card-tools .rb-chip{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);color:#fff;height:26px;border-radius:3px}
.rb-card-tools .rb-chip:hover{background:rgba(0,0,0,.4);color:#fff}
.rb-card-head .expcolimage,.rb-cat-head .expcolimage{color:rgba(255,255,255,.8);opacity:1;border-radius:3px}
.rb-card-head .expcolimage:hover,.rb-cat-head .expcolimage:hover{background:rgba(0,0,0,.3);color:#fff}
.rb-card-head.is-dark{background:var(--surface-2);border-bottom-color:var(--line)}
.rb-card-head.is-dark .rb-card-title{color:#dcdce6}
.rb-card-body{padding:14px 16px}
.rb-card-foot{background:var(--surface-2);font-size:12.5px}
.rb-cat-labels,.rb-labels{background:transparent;border-bottom:1px solid var(--line);padding:8px 16px;font-size:11px;letter-spacing:.06em;color:var(--muted);font-weight:600}
.thead{font-size:14px;font-weight:600}
.tcat{background:var(--surface-2);font-size:11px;letter-spacing:.06em;color:var(--muted)}
.trow1,.trow2,table.rb-table td{padding:10px 16px;font-size:13.5px}
.trow2,table.rb-table tbody tr:nth-child(even) td{background:transparent}
table.rb-table,table.tborder{border-radius:3px;border-color:var(--line)}
table.rb-table th,table.rb-table thead td{background:var(--surface-2);font-size:11px;letter-spacing:.06em}
/* --- buttons: flat --- */
.rb-btn,.button,input[type=button],input[type=reset],button.button{height:34px;padding:0 14px;border-radius:3px;font-weight:500;font-size:13px;background:var(--surface-3);border:1px solid var(--line-2);color:var(--fg);box-shadow:none;transition:background .12s,border-color .12s,color .12s}
.rb-btn:hover,.button:hover,input[type=button]:hover,button.button:hover{background:var(--surface-4);border-color:#363d48;color:#fff;transform:none}
.rb-btn:active,.button:active{transform:none}
.rb-btn-primary,input[type=submit],input[type=submit].button{background:var(--accent);border:1px solid var(--accent);color:#fff;box-shadow:none}
.rb-btn-primary:hover,input[type=submit]:hover,input[type=submit].button:hover{background:#3d75d9;border-color:#3d75d9;color:#fff;transform:none;box-shadow:none}
input[type=submit][name=preview],input[type=submit][name=previewpost],input[type=submit][name=savedraft],input[type=submit][value="Preview Post"],input[type=submit].rb-btn-ghost{background:var(--surface-3);border-color:var(--line-2);color:var(--fg);box-shadow:none}
.rb-btn-ghost,input[type=submit].rb-btn-ghost{background:transparent;border-color:transparent;color:var(--fg-2)}
.rb-btn-ghost:hover{background:var(--surface-3);border-color:transparent;color:#fff}
.rb-btn-outline{background:transparent;border-color:var(--line-2);color:var(--fg-2)}
.rb-btn-outline:hover{border-color:var(--accent);color:#fff}
.rb-btn-danger{background:transparent;border-color:rgba(240,82,82,.4);color:#f08080}
.rb-btn-danger:hover{background:var(--red-soft);border-color:var(--red);color:#fff}
.rb-btn-success{background:transparent;border-color:var(--green-line);color:var(--green-text)}
.rb-btn-success:hover{background:var(--green-soft);border-color:var(--green);color:#fff}
.rb-btn-sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:3px}
.rb-btn-lg{height:40px;padding:0 18px;font-size:14px;border-radius:3px}
.rb-btn-icon{width:34px;padding:0}
.rb-btn-icon.rb-btn-sm{width:28px}
.rb-btn-pill{border-radius:3px}
.rb-topbar-right .rb-btn,.rb-topbar-right .rb-btn:hover{background:transparent;border:0;height:auto;border-radius:0}
.rb-segmented{border-radius:3px;border-color:var(--line-2)}
.rb-segmented .rb-btn.is-active{background:var(--accent);color:#fff}
/* --- inputs --- */
.rb-input,.textbox,.textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select{background:#0c0e12;border:1px solid var(--line-2);border-radius:3px;box-shadow:none;font-size:13.5px;min-height:36px}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],select{height:36px}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{background:#0c0e12;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}
select option{background:#101216}
input[type=file]{border-radius:3px;background:#0c0e12;border-color:var(--line-2)}
input[type=file]::file-selector-button{border-radius:3px;height:26px}
.rb-field > label,.rb-label{font-size:12.5px;font-weight:500;color:var(--fg-2)}
/* --- badges / chips / avatars --- */
.rb-badge{border-radius:2px;height:18px;padding:0 6px;font-size:10.5px;font-weight:600;letter-spacing:.04em;background:var(--surface-4);color:var(--fg-2)}
.rb-badge.is-accent,.rb-badge.is-blue,.rb-badge.is-solid{background:var(--accent-soft);color:var(--accent-2);box-shadow:inset 0 0 0 1px rgba(45,99,199,.35)}
.rb-badge.is-green{background:var(--green-soft);color:var(--green-text);box-shadow:inset 0 0 0 1px var(--green-line)}
.rb-badge.is-amber{background:var(--amber-soft);color:#e3b341;box-shadow:inset 0 0 0 1px rgba(210,153,34,.3)}
.rb-badge.is-red{background:var(--red-soft);color:#f08080;box-shadow:inset 0 0 0 1px rgba(240,82,82,.3)}
.rb-badge.is-pink{background:var(--pink-soft);color:#f0a0c0;box-shadow:inset 0 0 0 1px rgba(226,116,158,.3)}
.rb-chip{border-radius:3px;background:transparent;border:1px solid var(--line-2);color:var(--fg-2);height:26px;font-size:12.5px}
.rb-chip:hover{background:var(--surface-3);color:#fff}
.rb-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-avatar{border-radius:3px;background-color:var(--surface-3);border:1px solid var(--line-2)}
.rb-avatar.is-round{border-radius:50%}
.rb-dot.is-online{box-shadow:none}
/* --- tabs: underline style --- */
.rb-cattabs,.rb-tabs,.rb-shout-tabs{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.rb-cattabs{margin-bottom:var(--gap)}
.rb-cattabs a,.rb-tab{height:40px;padding:0 14px;border-radius:0;color:var(--muted);font-weight:500;font-size:13.5px;border:0;box-shadow:none;position:relative}
.rb-cattabs a .fa-solid,.rb-tab .fa-solid{color:var(--muted);font-size:12.5px}
.rb-cattabs a:hover,.rb-tab:hover{background:transparent;color:#fff}
.rb-cattabs a:hover .fa-solid,.rb-tab:hover .fa-solid{color:var(--fg-2)}
.rb-cattabs a.is-active,.rb-tab.is-active{background:transparent;color:#fff;box-shadow:none}
.rb-cattabs a.is-active::after,.rb-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.rb-cattabs a.is-active .fa-solid,.rb-tab.is-active .fa-solid{color:var(--accent-2)}
.rb-cattabs .rb-flag{box-shadow:none;opacity:.9}
.rb-widget-tabs{display:flex;gap:0;padding:0 8px;background:transparent;border-bottom:1px solid var(--line)}
.rb-widget-tabs a{flex:1 1 0;height:36px;border:0;border-radius:0;color:var(--muted);background:transparent;position:relative;box-shadow:none}
.rb-widget-tabs a:hover{background:transparent;color:#fff}
.rb-widget-tabs a.is-active{background:transparent;color:#fff;box-shadow:none}
.rb-widget-tabs a.is-active::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--accent)}
.rb-shout-tabs{padding:0 8px}
/* --- forum rows / icons --- */
.rb-forum{padding:14px 16px;gap:14px;border-top:1px solid var(--line)}
.rb-forum:hover{background:var(--surface-2)}
.rb-forum-icon{width:40px;height:40px;border-radius:0;background:transparent;border:0;box-shadow:none}
.rb-forum:hover .rb-forum-icon{background:transparent;border:0}
.rb-forum-icon::before{font-size:20px;color:var(--muted)}
.rb-forum:hover .rb-forum-icon::before{color:var(--fg-2)}
.rb-forum-icon:has(.forum_on){background:transparent;border:0}
.rb-forum-icon:has(.forum_on)::before{color:var(--accent-2)}
.rb-forum-icon .forum_status{width:8px;height:8px;right:4px;top:4px;border:2px solid var(--surface);box-shadow:none}
.rb-forum-name{font-size:15px;font-weight:600;text-shadow:none}
.rb-forum-desc{font-size:13px;color:var(--muted)}
.rb-forum-stat b{font-size:14px;font-weight:500}
.rb-forum-stat span{font-size:12px}
.rb-forum-last-subject{font-weight:500;text-shadow:none;font-size:13.5px}
.rb-forum-last-meta,.rb-forum-last-by{font-size:12.5px}
.rb-forum .rb-subforums{grid-column:2 / span 3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;margin:8px 0 0;padding:0;background:transparent;border:0}
.rb-subforum{gap:8px;color:var(--fg-2);font-size:13px;font-weight:400}
.rb-subforum:hover{color:#fff}
.rb-subforum .subforumicon{width:6px;height:6px;border-radius:50%;background:var(--faint);-webkit-mask:none;mask:none;box-shadow:none}
.rb-subforum .subforum_minion{background:var(--accent-2);box-shadow:none}
.rb-forum-mods{font-size:12px}
.rb-forum-last{text-align:right}
.rb-forum-last-meta{justify-content:flex-end}
.rb-forum-last-never{justify-content:flex-end}
.rb-cat-labels .rb-cat-col.is-last{text-align:right}
@media (max-width:1000px){.rb-forum .rb-subforums{grid-column:2;grid-template-columns:minmax(0,1fr)}.rb-forum-last{text-align:left}.rb-forum-last-meta,.rb-forum-last-never{justify-content:flex-start}}
/* --- index legend / stats / online --- */
.rb-legend .forum_status{width:14px;height:14px;background:var(--muted);box-shadow:none}
.rb-legend .forum_status.forum_on{background:var(--accent-2)}
.rb-stat{background:transparent;border:1px solid var(--line);border-radius:3px;padding:12px 14px}
.rb-stat > .fa-solid{width:auto;height:auto;background:transparent;border-radius:0;color:var(--muted);font-size:15px;box-shadow:none;margin-right:2px}
.rb-stat-num,.rb-stat b{font-size:17px;font-weight:600}
.rb-stat span{font-size:12px;text-transform:none;letter-spacing:0;margin-top:2px}
.rb-online-block .rb-card-title .rb-num{color:#fff}
.rb-online-list{font-size:13px;line-height:1.8}
.rb-group-legend{font-size:13px;font-weight:600}
.rb-stats-sentences{font-size:12px}
/* --- sidebar widgets --- */
.rb-welcome-buttons{gap:8px}
.rb-welcome-buttons .rb-btn{height:36px;font-size:13px;border-radius:3px}
.rb-welcome-buttons .rb-btn + .rb-btn{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}
.rb-welcome-buttons .rb-btn + .rb-btn:hover{background:#3d75d9}
.rb-latest .rb-list.is-compact .rb-list-item{padding:10px 14px;gap:10px}
.rb-latest .rb-avatar{border-radius:3px;width:34px;height:34px;box-shadow:none}
.rb-latest .rb-li-title{font-size:13px;font-weight:500}
.rb-latest .rb-li-sub,.rb-latest .rb-li-excerpt{font-size:12px}
.rb-iconsquare{background:transparent;border:1px solid var(--line-2);border-radius:3px;min-width:30px;height:28px;color:var(--fg-2);font-size:12px;margin-top:0}
.rb-iconsquare:hover{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.rb-card-foot.is-action{padding:10px 14px;background:transparent;border-top:1px solid var(--line)}
.rb-card-foot.is-action .rb-btn{height:32px;font-size:12.5px}
.rb-quicklinks a{background:transparent;border:1px solid var(--line);border-radius:3px;font-size:12.5px;padding:8px 10px}
.rb-quicklinks a:hover{background:var(--surface-3)}
.rb-quicklinks a .fa-solid{color:var(--muted)}
/* --- shoutbox --- */
.rb-shout{font-size:13.5px;padding:7px 14px}
.rb-shout-name{flex-basis:140px;max-width:140px}
.rb-shout-time{font-size:11.5px}
.rb-shout-foot{background:var(--surface-2)}
.rb-shout-form .rb-btn{height:36px}
.rb-mention{background:transparent;color:var(--accent-2);padding:0;font-weight:500}
.rb-shout.is-new{animation:none}
/* --- pagination / popups / modals / alerts --- */
.pagination a,.pagination .pagination_current,.rb-pager a,.rb-pager span.is-current{border-radius:3px;background:transparent;border:1px solid var(--line-2);height:30px;min-width:30px;font-weight:500;font-size:12.5px}
.pagination a:hover,.rb-pager a:hover{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.pagination .pagination_current,.pagination a.pagination_current,.rb-pager span.is-current{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}
.popup_menu{background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 12px 24px rgba(0,0,0,.5);-webkit-backdrop-filter:none;backdrop-filter:none}
.popup_menu .popup_item.popup_item_active{background:var(--accent)}
.modal{background:var(--surface);border:1px solid var(--line-2);border-radius:3px}
.rb-alert,.red_alert,.pm_alert,.error,.success_message,.error_message,.high_warning,.moderate_warning,.low_warning{border-radius:3px;background:var(--surface-2);border:1px solid var(--line-2);border-left-width:3px;font-size:13.5px}
.rb-alert.is-info,.pm_alert{border-left-color:var(--accent)}
.rb-list-item:hover{background:var(--surface-2)}
.rb-li-icon{border-radius:3px;background:var(--surface-3);color:var(--fg-2)}
.rb-footer{background:#08090c;border-top:1px solid var(--line)}
.rb-footer .rb-totop{border-radius:3px}
.rb-totop-float{border-radius:3px;background:var(--surface-2);border:1px solid var(--line-2);box-shadow:none}
.rb-kbd{border-radius:2px}
/* post content */
blockquote,.mycode_quote{border-left:2px solid var(--accent);background:var(--surface-2)}
.codeblock,.mycode_code{border-radius:3px;background:#0a0b0e}
::-webkit-scrollbar-thumb{background:#2a3039;border-color:#0a0b0e}
/* --- post icons (SVG set in images/roidboard/posticons) --- */
img[src*="/posticons/"]{width:16px;height:16px;vertical-align:-3px;object-fit:contain}
.posticons img[src*="/posticons/"],.rb-posticons img[src*="/posticons/"]{width:18px;height:18px;vertical-align:-4px}
/* --- hero banner artwork --- */
.rb-hero{background:#070a12 url(/images/roidboard/banner.jpg?v=2) center top/cover no-repeat;border-bottom:1px solid #1b1830;position:relative}
.rb-hero::after{content:"";display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,15,.15),rgba(10,11,14,.55));pointer-events:none}
.rb-hero-in{min-height:230px;position:relative;z-index:1}
.rb-wm-l{font-size:34px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.rb-wm-orb .rb-orb{width:40px;height:40px;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.rb-logo .rb-tagline{color:#b9bcd0;text-shadow:0 1px 6px rgba(0,0,0,.7);padding-left:52px}
.rb-hero .rb-qsearch input[type=text]{background:rgba(7,6,15,.72);border-color:rgba(255,255,255,.14)}
@media (max-width:760px){.rb-hero-in{min-height:170px}.rb-wm-l{font-size:26px}.rb-logo .rb-tagline{padding-left:0}}
/* --- hero v2: quiet dark banner with centred logo; search lives in the topbar --- */
.rb-hero{background:#0b0c12 url(/images/roidboard/banner.jpg?v=3) center/cover no-repeat;border-bottom:1px solid var(--line)}
.rb-hero::after{display:none}
.rb-hero-in{min-height:230px;justify-content:center;align-items:center;padding:24px 0}
.rb-logo{align-items:center}
.rb-wordmark{gap:16px}
.rb-wm-l{font-size:52px;font-weight:800;letter-spacing:-.03em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.rb-wm-orb .rb-orb{width:60px;height:60px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.rb-logo .rb-tagline{display:inline-flex;align-items:center;gap:14px;margin-top:10px;padding:0;font-size:12px;letter-spacing:.34em;color:#a9adbd}
.rb-logo .rb-tagline::before,.rb-logo .rb-tagline::after{content:"";width:44px;height:1px;background:rgba(255,255,255,.28)}
.rb-topbar-right .rb-qsearch{margin:0 6px 0 0;align-self:center}
.rb-topbar-right .rb-qsearch input[type=text]{width:210px;height:32px;padding:0 70px 0 32px;font-size:13px;background:var(--surface);border-color:var(--line-2);border-radius:3px}
.rb-topbar-right .rb-qsearch input[type=text]:focus{width:260px;border-color:var(--accent);box-shadow:none}
.rb-topbar-right .rb-qsearch input[type=submit]{height:24px;top:4px;right:4px;padding:0 9px;font-size:11.5px;border-radius:2px}
.rb-topbar-right .rb-qsearch .fa-solid{left:11px;font-size:12px}
/* breadcrumb bar with tools */
.rb-crumbs-bar{display:flex;align-items:center;gap:12px;margin:0 0 var(--gap);padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:3px}
.rb-crumbs-bar .rb-crumbs{margin:0;flex:1 1 auto;min-width:0;font-size:13px}
.rb-crumbs-bar .rb-crumb-home{color:var(--muted);font-size:12px;margin-right:6px}
.rb-crumbs-tools{display:flex;gap:6px;flex:none}
.rb-crumbs-tools .rb-btn{height:28px;font-size:12px}
/* nav.html keeps only rb-ok comments in here (whitespace, so :empty does not match); an empty box wrapped to a dead second line on mobile */
.rb-crumbs-tools:not(:has(*)){display:none}
@media (max-width:1100px){.rb-topbar-right .rb-qsearch{display:none}}
@media (max-width:760px){
  .rb-hero-in{min-height:170px;padding:18px 0}
  .rb-wm-l{font-size:34px}
  .rb-wm-orb .rb-orb{width:40px;height:40px}
  .rb-logo .rb-tagline{font-size:10.5px;letter-spacing:.26em}
  .rb-logo .rb-tagline::before,.rb-logo .rb-tagline::after{width:24px}
  .rb-crumbs-bar{flex-wrap:wrap;padding:8px 12px}
  .rb-crumbs-tools{flex-basis:100%}
  .rb-crumbs-tools .rb-btn{flex:1 1 auto}
}
/* --- shoutbox polish --- */
.rb-shout{padding:8px 14px;gap:10px;align-items:center}
.rb-shout .rb-avatar{width:26px;height:26px}
.rb-shout-name{flex-basis:150px;max-width:150px;font-size:13.5px}
.rb-shout-msg{font-size:13.5px;color:var(--fg-2)}
.rb-shout-time{font-size:11.5px;color:var(--faint)}
.rb-shout-list{max-height:300px}
.rb-shout-rules{margin-right:10px}
.rb-shout-foot{padding:10px 14px}
.rb-shout-form input[type=text]{height:36px}
@media (max-width:700px){.rb-shout{align-items:flex-start}.rb-shout-msg{padding-left:34px}}
/* --- topbar polish --- */
:root{--topbar-h:54px}
.rb-topbar-in{gap:0}
.rb-brand{padding:0 14px 0 2px;margin-right:6px;gap:9px}
.rb-brand-mark .rb-orb{width:26px;height:26px;box-shadow:none}
.rb-brand-name{font-size:14.5px}
.rb-nav a{padding:0 12px;font-size:13.5px;gap:8px}
.rb-nav a .fa-solid{font-size:13px;width:14px;text-align:center}
.rb-topbar-right{gap:2px;align-items:center}
.rb-topbar-right .rb-qsearch{margin:0 8px 0 0}
.rb-topbar-right .rb-qsearch input[type=text]{width:220px;height:34px;padding:0 12px 0 34px;background:#0c0e12;border:1px solid var(--line-2);border-radius:3px;font-size:13px}
.rb-topbar-right .rb-qsearch input[type=text]:focus{width:260px;border-color:var(--accent);box-shadow:none}
.rb-topbar-right .rb-qsearch input[type=submit]{position:absolute;opacity:0;width:1px;height:1px;right:0;top:0;padding:0;border:0;overflow:hidden;pointer-events:none}
.rb-topbar-right .rb-qsearch .fa-solid{left:12px;font-size:13px;color:var(--muted)}
.rb-topbar-right .rb-iconbtn{width:36px;height:36px;border-radius:3px;color:var(--fg-2);font-size:14px}
.rb-topbar-right .rb-iconbtn:hover{background:var(--surface-3);color:#fff}
.rb-count{top:3px;right:3px;min-width:16px;height:16px;font-size:10px;line-height:16px;padding:0 4px}
.rb-user{border-left:1px solid var(--line-2);margin-left:6px;padding-left:6px;align-self:center}
.rb-user-btn{height:36px;padding:0 8px 0 6px;border-radius:3px;gap:8px;font-size:13.5px;font-weight:600;color:var(--fg)}
.rb-user-btn:hover,.rb-user:focus-within .rb-user-btn{background:var(--surface-3);color:#fff}
.rb-user-btn .rb-avatar{width:24px;height:24px;border-radius:3px;border-color:var(--line-2)}
.rb-user-btn .fa-chevron-down{font-size:10px;color:var(--muted)}
.rb-user-menu{top:calc(100% + 9px);right:0;border-radius:3px;min-width:240px}
.rb-topbar-right > a.login{padding:0 12px;font-size:13.5px;color:var(--fg-2);height:36px;align-self:center;border-radius:3px}
.rb-topbar-right > a.login:hover{background:var(--surface-3);color:#fff}
.rb-topbar-right > a.register{height:32px;align-self:center;padding:0 12px;margin-left:4px;border-radius:3px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;border:1px solid var(--accent)}
.rb-topbar-right > a.register:hover{background:#3d75d9;color:#fff}
@media (max-width:760px){
  .rb-user{border-left:0;margin-left:0;padding-left:0}
  .rb-topbar-right > a.register{padding:0 10px}
  .rb-topbar-right > a.register span,.rb-topbar-right > a.login span{display:none}
}
/* --- index: notice strips, activity tabs, stat chips, accent numbers --- */
.rb-notice-strips{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--gap)}
.rb-notice-strip{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--fg);font-size:14px;overflow:hidden}
.rb-notice-strip:hover{background:var(--surface-2);color:#fff}
.rb-notice-ic{display:flex;align-items:center;justify-content:center;width:64px;background:var(--surface-3);color:var(--fg-2);font-size:16px;flex:none}
.rb-notice-text{display:flex;align-items:center;padding:12px 16px;font-weight:500}
.rb-activity-tabs{display:flex;gap:0;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}
.rb-activity-tabs .rb-tab{flex:1 1 0;justify-content:center;height:40px;font-size:13.5px;font-weight:600;color:var(--muted);border-radius:0;padding:0}
.rb-activity-tabs .rb-tab.is-active{color:#fff;box-shadow:none}
.rb-activity-tabs .rb-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.rb-side-latest{grid-row:3}
.rb-side-posts{display:none}
.rb-stats-row .rb-card-body{padding:12px 14px}
.rb-stats-row .rb-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.rb-stat{flex:0 1 auto;display:inline-flex;align-items:center;gap:10px;padding:0 16px;height:40px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px}
.rb-stat > .fa-solid{font-size:14px;color:var(--fg-2)}
.rb-stat > div{display:flex;align-items:baseline;gap:6px}
.rb-stat-num,.rb-stat b{font-size:14px;font-weight:700;color:#fff;display:inline}
.rb-stat span{display:inline;font-size:13px;color:var(--fg-2);margin:0;text-transform:none;letter-spacing:0}
.rb-stats-row .rb-card-head{display:none}
.rb-stats-sentences{display:none}
.rb-forum-stat b{color:var(--accent-2);font-weight:600;font-size:16px}
.rb-forum-stat span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-cat-labels{display:none}
.rb-forum-last-subject{font-weight:600}
.rb-forum-last-meta,.rb-forum-last-by{text-align:left;justify-content:flex-start}
.rb-forum-last{text-align:left}
.rb-forum .rb-subforums{gap:4px 20px}
@media (max-width:760px){.rb-notice-ic{width:48px}.rb-notice-text{padding:10px 12px;font-size:13.5px}.rb-stat{flex:1 1 calc(50% - 10px);justify-content:center}}
/* --- no user stars anywhere (owner request) --- */
.postbit_userstar,.rb-userstars,.rb-user-stars,.rb-stars,.rb-post-stars,.rb-ml-stars,.rb-profile-stars,.rb-author-stars,.rb-pb-stars,
img[src*="star.png"],img[src*="/stars/"],img[src*="starimage"],.rb-post-author .fa-star,.rb-member-stars,.rb-mlist-stars,.rb-stars-row{display:none!important}
.rb-userstar,.rb-post-star,.rb-profile-star,.rb-cal-ev-stars,.rb-ml-userstars,.memberlist_user_userstar{display:none!important}
/* --- who's online + stats: calm card and flat tiles --- */
.rb-online-block .rb-card-head{gap:14px;flex-wrap:wrap}
.rb-online-block .rb-card-sub{font-size:12.5px;color:rgba(255,255,255,.72)}
.rb-online-block .rb-card-sub .rb-num{color:#fff;font-weight:600}
.rb-online-list{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;line-height:1.3;margin-bottom:12px}
.rb-online-list a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);font-weight:600}
.rb-online-list a:hover{background:var(--surface-3)}
.rb-online-list:empty{display:none}
.rb-group-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 0 0;margin:0;border-top:1px solid var(--line);border-bottom:0;font-size:12.5px;font-weight:600}
.rb-legend-group{display:inline-flex;align-items:center;gap:6px}
.rb-legend-group::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.rb-legend-group small{color:var(--muted);font-weight:500}
.rb-online-note{margin:12px 0 0;font-size:12px;color:var(--muted)}
.rb-stats-row{display:block;background:transparent;border:0;box-shadow:none}
.rb-stats-row .rb-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rb-stats-row .rb-stat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:auto;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:3px}
.rb-stat-label{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-stat-label .fa-solid{font-size:12px;color:var(--muted)}
.rb-stats-row .rb-stat-num{display:block;font-size:20px;font-weight:600;color:#fff;line-height:1.1;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rb-stats-row .rb-stat-num a{color:#fff}
.rb-stats-sentences{display:none}
.rb-stats-links{margin-top:0}
.rb-stats-links .rb-chip{height:30px;font-size:12.5px}
@media (max-width:1100px){.rb-stats-row .rb-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.rb-stats-row .rb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-stats-row .rb-stat{padding:12px 14px}.rb-stats-row .rb-stat-num{font-size:18px}}
.rb-stats-row .rb-stat .rb-stat-label{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}
.rb-stats-row .rb-stat .rb-stat-label .fa-solid{width:14px;text-align:center;font-size:12px}
.rb-stats-links{display:none}
/* --- lowkey page background (owner request: not pure black) --- */
:root{--bg:#0f1016;--surface:#14161d;--surface-2:#181b23;--surface-3:#1e2129;--surface-4:#262a33;--line:#23262f;--line-2:#2f333e}
body{background-color:var(--bg);background-image:
  radial-gradient(1200px 520px at 50% -140px,rgba(45,99,199,.13),rgba(45,99,199,0) 70%),
  linear-gradient(180deg,#12131a 0%,#0e0f14 60%,#0c0d12 100%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(../../../%23n)'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat,repeat;background-attachment:fixed,fixed,fixed;background-size:auto,auto,220px 220px}
.rb-topbar{background:#12141a}
.rb-footer{background:#0e0f14}
.rb-hero{background-color:#0f1016}
.rb-threads-sortbar{background:var(--surface-2)}
.rb-trow,.rb-trow.is-announcement,.rb-trow.forumdisplay_sticky{background:var(--surface)}
.rb-trow:hover{background:var(--surface-2)}
.rb-trow-sep{background:var(--surface-2)}
.rb-cat-labels,.rb-labels,.rb-notice-ic,.rb-widget-tabs{background:var(--surface-2)}
.rb-shout-foot,.rb-card-foot{background:var(--surface-2)}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select,.textbox,.textarea,.rb-input{background:#0f1117}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{background:#0f1117}
.rb-qsearch input[type=text],.rb-topbar-right .rb-qsearch input[type=text]{background:#0f1117}
.rb-user-menu,.popup_menu,.modal{background:var(--surface)}
@media (max-width:760px){body{background-attachment:scroll,scroll,scroll}}
/* --- lowkey background v2: clearly lighter dark slate --- */
:root{--bg:#171920;--surface:#1d2029;--surface-2:#22252f;--surface-3:#282c37;--surface-4:#313642;--line:#2b2f3a;--line-2:#383d49;--muted:#8b909e;--faint:#5e6472}
body{background-color:var(--bg);background-image:
  radial-gradient(1200px 520px at 50% -140px,rgba(45,99,199,.14),rgba(45,99,199,0) 70%),
  linear-gradient(180deg,#1a1c24 0%,#171920 55%,#14161d 100%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(../../../%23n)'/%3E%3C/svg%3E")}
.rb-topbar{background:#1a1d25;border-bottom-color:#2b2f3a}
.rb-footer{background:#141620}
.rb-hero{background-color:#171920;border-bottom-color:#2b2f3a}
.rb-card,.rb-cat{background:var(--surface);border-color:var(--line)}
.rb-card-head,.rb-cat-head,.thead,.modal .rb-modal-head{background:linear-gradient(90deg,#27457f 0%,#203a6d 100%);border-bottom-color:#2d4c8e}
.rb-crumbs-bar,.rb-notice-strip,.rb-threads-sortbar{background:var(--surface);border-color:var(--line)}
.rb-cat-labels,.rb-labels,.rb-notice-ic,.rb-widget-tabs,.rb-shout-foot,.rb-card-foot,.rb-trow-sep{background:var(--surface-2)}
.rb-trow,.rb-trow.is-announcement,.rb-trow.forumdisplay_sticky{background:var(--surface)}
.rb-trow:hover,.rb-forum:hover,.rb-list-item:hover{background:var(--surface-2)}
.rb-stats-row .rb-stat{background:var(--surface);border-color:var(--line)}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select,.textbox,.textarea,.rb-input,.rb-qsearch input[type=text],.rb-topbar-right .rb-qsearch input[type=text]{background:#141620;border-color:var(--line-2)}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{background:#141620}
/* (the grey .rb-btn repeat that used to sit here outranked .rb-btn-primary / -ghost / -outline / -danger by source
   order and turned Post Thread and New Reply grey; the base rule near the top already uses these tokens) */
.rb-user-menu,.popup_menu,.modal{background:var(--surface);border-color:var(--line-2)}
.rb-online-list a,.rb-quicklinks a,.rb-iconsquare,.rb-chip{background:var(--surface-2);border-color:var(--line-2)}
.rb-forum-icon::before{color:#9196a6}
::-webkit-scrollbar-track{background:#14161d}
::-webkit-scrollbar-thumb{background:#363b47;border-color:#14161d}
/* --- user dropdown v2: clean head card, tight rows, no welcome-back footer --- */
.rb-user-menu{min-width:268px;padding:0;background:var(--surface);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 14px 32px rgba(0,0,0,.55);overflow:hidden}
.rb-user-menu .rb-menu-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-user-menu .rb-menu-head .rb-avatar.is-md{width:44px;height:44px;border-radius:3px;border:1px solid var(--line-2);flex:none}
.rb-menu-id{min-width:0;display:flex;flex-direction:column;gap:3px}
.rb-user-menu .rb-menu-head a.rb-menu-name{display:block;padding:0;gap:0;font-size:14px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-user-menu .rb-menu-head a.rb-menu-name:hover{background:transparent;color:var(--link)}
.rb-menu-title{font-size:12px;color:var(--fg-2);line-height:1.2}
.rb-menu-visit{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);line-height:1.2;margin-top:1px;white-space:nowrap}
.rb-menu-visit .fa-solid{font-size:10.5px;width:auto}
.rb-user-menu ul{padding:6px 0}
.rb-user-menu ul a{display:flex;align-items:center;gap:11px;padding:8px 16px;font-size:13.5px;color:var(--fg-2);line-height:1.3;white-space:nowrap}
.rb-user-menu ul a .fa-solid{width:16px;font-size:13px;color:var(--muted);text-align:center;flex:none}
.rb-user-menu ul a:hover{background:var(--surface-3);color:#fff}
.rb-user-menu ul a:hover .fa-solid{color:#fff}
.rb-user-menu .rb-menu-sep{height:1px;background:var(--line);margin:0}
.rb-menu-meta{margin-left:auto;padding-left:12px;font-size:11.5px;color:var(--muted);white-space:nowrap}
.rb-user-menu ul a:hover .rb-menu-meta{color:var(--fg-2)}
.rb-user-menu ul a.is-danger,.rb-user-menu ul a.is-danger .fa-solid{color:#ff7b7b}
.rb-user-menu ul a.is-danger:hover{background:rgba(255,123,123,.08);color:#ff9a9a}
.rb-user-menu .rb-menu-foot{display:none}
.rb-user-menu .rb-menu-head span.rb-menu-title{display:block;font-size:12px;color:var(--fg-2)}
.rb-user-menu .rb-menu-head span.rb-menu-visit{display:flex;font-size:11.5px;color:var(--muted)}
.rb-user-menu .rb-menu-head .rb-menu-visit span{display:inline;font-size:inherit;color:inherit;white-space:nowrap}
/* --- forum display, phones: head stays one row, sort form becomes a 2-column grid --- */
@media (max-width:760px){
  .rb-threads > .rb-card-head{flex-wrap:nowrap;padding:8px 12px;gap:8px}
  .rb-threads .rb-card-tools{width:auto;margin-left:auto;justify-content:flex-end;flex:none;flex-wrap:nowrap}
  .rb-head-chip{padding:5px 10px;gap:8px}
  .rb-threads-sortbar{padding:10px 12px}
  .rb-threads-sortbar form.rb-sortform{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
  .rb-threads-sortbar .rb-sortform > *{min-width:0;width:100%;margin:0}
  .rb-threads-sortbar .rb-sortform > select{height:36px;flex:none;font-size:12px;padding-left:8px;padding-right:22px;text-overflow:ellipsis}
  .rb-threads-sortbar .rb-sortform > input[type=submit]{grid-column:1 / -1;height:36px}
}
/* --- forum display: owner wants the sort/filter bar, Latest Threads and Mark as Read/Subscribe hidden --- */
.rb-threads-sortbar,.rb-latest-btn,.rb-threads > .rb-card-head .rb-card-tools{display:none!important}
.rb-threads-top-row .rb-right{margin-left:auto}
/* --- latest activity: single mixed feed with a small kind marker --- */
.rb-latest .rb-li-kind{color:var(--fg-2);font-weight:500;white-space:nowrap}
.rb-latest .rb-li-kind .fa-solid{font-size:10px;margin-right:5px;color:var(--muted)}
.rb-latest .rb-latest-item.is-thread .rb-li-kind .fa-solid{color:var(--accent-2)}
/* --- thread view: owner wants the Threaded Mode toggle gone --- */
.rb-topic-mode{display:none!important}
/* --- sidebar member card v2: no header bar, profile head, three stats, four quiet links --- */
.rb-me{padding:0;overflow:hidden}
.rb-me .rb-me-head{display:flex;align-items:center;gap:14px;padding:16px 16px 14px}
.rb-me .rb-me-avatar{width:52px;height:52px;border-radius:3px;border:1px solid var(--line-2);flex:none;display:block}
.rb-me .rb-me-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rb-me .rb-me-id{min-width:0;display:flex;flex-direction:column;gap:3px}
.rb-me a.rb-me-name{display:block;font-size:15px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-me a.rb-me-name:hover{color:var(--link)}
.rb-me .rb-me-title{font-size:12.5px;color:var(--fg-2);line-height:1.2}
.rb-me .rb-me-visit{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);line-height:1.2;margin-top:1px;white-space:nowrap;overflow:hidden}
.rb-me .rb-me-visit .fa-solid{font-size:10.5px}
.rb-me .rb-me-visit span{overflow:hidden;text-overflow:ellipsis}
.rb-me .rb-me-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}
.rb-me .rb-me-stats a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-right:1px solid var(--line);color:var(--muted)}
.rb-me .rb-me-stats a:last-child{border-right:0}
.rb-me .rb-me-stats a:hover{background:var(--surface-3);color:var(--fg-2)}
.rb-me .rb-me-stats b{font-size:15px;font-weight:700;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.rb-me .rb-me-stats span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.rb-me .rb-me-links{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.rb-me .rb-me-links a{display:flex;align-items:center;gap:9px;height:42px;padding:0 14px;background:var(--surface);color:var(--fg-2);font-size:13px;font-weight:500;white-space:nowrap;min-width:0}
.rb-me .rb-me-links a span{overflow:hidden;text-overflow:ellipsis}
.rb-me .rb-me-links a .fa-solid{width:15px;text-align:center;font-size:13px;color:var(--muted);flex:none}
.rb-me .rb-me-links a:hover{background:var(--surface-2);color:#fff}
.rb-me .rb-me-links a:hover .fa-solid{color:var(--accent-2)}
.rb-me .rb-me-badge{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 5px;border-radius:3px;background:var(--surface-3);color:var(--muted);flex:none}
.rb-me .rb-me-links a:hover .rb-me-badge{background:var(--accent);color:#fff}
/* --- owner request: no forum jump, no search-this-forum, no theme selector --- */
.rb-forumjump,.rb-searchforum,.rb-footer-selects form:has(select[name=theme]){display:none!important}
/* --- registration agreement: show the whole text, no inner scroll box --- */
.rb-agreement-scroll{max-height:none;overflow:visible;background:transparent;border:0;padding:4px 0 0}
.rb-member-page.is-wide .rb-agreement{max-width:860px}
.rb-member-page.is-wide{max-width:980px}
.rb-agreement .rb-card-body{padding:18px 26px 6px}
.rb-agreement-scroll{font-size:13.5px;line-height:1.55}
.rb-agreement-scroll p{margin:0 0 .8em}
/* --- guest gate: replies hidden for guests --- */
.rb-guest-gate{display:flex;align-items:center;gap:16px;margin-top:10px;padding:16px 18px;background:var(--surface);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:3px}
.rb-guest-gate-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:3px;background:var(--surface-3);color:var(--accent-2);font-size:16px;flex:none}
.rb-guest-gate-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.rb-guest-gate-text b{font-size:14px;color:#fff}
.rb-guest-gate-text span{font-size:13px;color:var(--fg-2)}
.rb-guest-gate-actions{display:flex;gap:8px;flex:none}
.rb-guest-gate-actions .rb-btn{height:34px;padding:0 14px;font-size:13px;border-radius:3px}
.rb-guest-gate-actions .rb-btn.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-guest-gate-actions .rb-btn.is-primary:hover{background:#3d75d9}
@media (max-width:600px){.rb-guest-gate{flex-wrap:wrap}.rb-guest-gate-actions{width:100%}.rb-guest-gate-actions .rb-btn{flex:1 1 0}}
.rb-shout-gate{margin:0 0 var(--gap)}
/* --- register button: keep its size and border on hover/focus (a generic hover rule was collapsing it) --- */
.rb-topbar-right > a.register:hover,.rb-topbar-right > a.register:focus{height:32px;padding:0 12px;border:1px solid #3d75d9;background:#3d75d9;color:#fff;border-radius:3px;line-height:1}
.rb-topbar-right > a.login:hover,.rb-topbar-right > a.login:focus{height:36px;padding:0 12px;border:0;border-radius:3px;background:var(--surface-3);color:#fff}
/* --- section tabs v3: contained segmented bar, flat, 3px corners --- */
.rb-cattabs,.rb-cattabs.is-ready{display:flex;gap:4px;padding:4px;margin-bottom:var(--gap);background:var(--surface);border:1px solid var(--line);border-radius:3px;overflow-x:auto;scrollbar-width:none}
.rb-cattabs a{height:36px;padding:0 14px;border-radius:3px;color:var(--fg-2);font-size:13.5px;font-weight:500;gap:8px;flex:none;position:relative;transition:background .12s,color .12s}
.rb-cattabs a .fa-solid{font-size:12.5px;color:var(--muted)}
.rb-cattabs a:hover{background:var(--surface-2);color:#fff}
.rb-cattabs a:hover .fa-solid{color:var(--fg-2)}
.rb-cattabs a.is-active{background:var(--surface-3);color:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.rb-cattabs a.is-active::after{display:none;content:none}
.rb-cattabs a.is-active .fa-solid{color:var(--accent-2)}
.rb-cattabs .rb-flag{width:16px;height:11px;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.35);opacity:.95}
.rb-cattabs a.is-active .rb-flag{opacity:1}
@media (max-width:760px){.rb-cattabs a{padding:0 12px;font-size:13px}}
/* --- who's online: plain comma separated names, no boxes --- */
.rb-online-list{display:block;font-size:13.5px;line-height:1.8;margin-bottom:12px;color:var(--fg-2)}
.rb-online-list a{display:inline;height:auto;padding:0;border:0;background:transparent;font-weight:600}
.rb-online-list a:hover{background:transparent;text-decoration:underline;text-underline-offset:3px}
/* ===== sub-forums + icons: judged variant "ring" with the must-fix list applied (2026-10-14) ===== */

/* --- forum icons (index rows, forumdisplay sub-forum card): 40px hairline ring, glyph from the keyword mapping --- */
.rb-forum .rb-forum-icon{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:3px;background:transparent;border:1px solid var(--line-2);box-shadow:none;transition:border-color .15s,background-color .15s}
.rb-forum .rb-forum-icon::before{font-size:17px;color:var(--muted);transition:color .15s}
.rb-forum:hover .rb-forum-icon{background:transparent;border:1px solid var(--muted)}
.rb-forum:hover .rb-forum-icon::before{color:var(--fg-2)}
/* unread: ring + glyph in accent-2, faint inner tint */
.rb-forum .rb-forum-icon:has(.forum_on){background:transparent;border:1px solid var(--accent-2)}
.rb-forum .rb-forum-icon:has(.forum_on)::before{color:var(--accent-2)}
.rb-forum:hover .rb-forum-icon:has(.forum_on){background:transparent;border:1px solid var(--accent-2)}
.rb-forum:hover .rb-forum-icon:has(.forum_on)::before{color:var(--accent-2)}
/* state glyphs (same specificity as the keyword rules, later in source, so they win) */
.rb-forum .rb-forum-icon:has(.forum_offclose)::before{content:"\f023"}
.rb-forum .rb-forum-icon:has(.forum_offlink)::before{content:"\f08e"}
/* MyBB mark-read span: no corner dot any more, the whole ring is the (invisible) click target */
.rb-forum .rb-forum-icon .forum_status{position:absolute;inset:auto;top:-2px;right:-2px;width:14px;height:14px;border:0;border-radius:3px;background:transparent;box-shadow:none;-webkit-mask:none;mask:none;cursor:pointer;display:block}
.rb-forum .rb-forum-icon .forum_status::after{display:none}

/* --- sub-forums: compact mini rows that mirror the parent row, two columns on desktop --- */
.rb-forum .rb-subforums{grid-column:2 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:8px 0 0;padding:0;background:transparent;border:0}
.rb-forum .rb-subforums .rb-subforum{display:flex;align-items:center;gap:8px;min-height:32px;min-width:0;padding:0 14px 0 0;border-top:1px solid var(--line);color:var(--fg-2);font-size:13px;font-weight:400;line-height:1.3;white-space:nowrap;transition:color .12s}
.rb-forum .rb-subforums .rb-subforum:nth-of-type(even){padding:0 0 0 14px}
.rb-forum .rb-subforums .rb-subforum:has(.subforum_minion){color:var(--fg);font-weight:500}
.rb-forum .rb-subforums .rb-subforum:hover{color:#fff}
/* status glyph: 12px chevron, lock for closed, external arrow for redirects */
.rb-forum .rb-subforums .rb-subforum .subforumicon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:12px;height:12px;border-radius:0;background:transparent;-webkit-mask:none;mask:none;box-shadow:none;color:var(--faint);transition:color .12s}
.rb-forum .rb-subforums .rb-subforum .subforumicon::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:9px;line-height:1;-webkit-font-smoothing:antialiased}
.rb-forum .rb-subforums .rb-subforum:hover .subforumicon{color:var(--fg-2)}
.rb-forum .rb-subforums .rb-subforum .subforum_minion,.rb-forum .rb-subforums .rb-subforum:hover .subforum_minion{color:var(--accent-2)}
.rb-forum .rb-subforums .rb-subforum .subforum_minioffclose{color:var(--muted)}
.rb-forum .rb-subforums .rb-subforum .subforum_minioffclose::before{content:"\f023";font-size:10px}
.rb-forum .rb-subforums .rb-subforum .subforum_miniofflink{color:var(--muted)}
.rb-forum .rb-subforums .rb-subforum .subforum_miniofflink::before{content:"\f08e";font-size:10px}
/* name grows and truncates, counts sit right-aligned */
.rb-forum .rb-subforums .rb-sf-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.rb-forum .rb-subforums .rb-sf-meta{display:inline-flex;align-items:baseline;margin-left:auto;flex:none;font-size:12px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.rb-forum .rb-subforums .rb-sf-stat{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.rb-forum .rb-subforums .rb-sf-stat + .rb-sf-stat::before{content:"";margin:0 0 0 10px}
.rb-forum .rb-subforums .rb-sf-stat{color:var(--fg-2);font-weight:500}
.rb-forum .rb-subforums .rb-sf-stat .fa-solid{font-size:10px;color:var(--faint);margin-right:5px}
.rb-forum .rb-subforums .rb-subforum:hover .rb-sf-stat .fa-solid{color:var(--muted)}
.rb-forum .rb-subforums .rb-subforum:has(.subforum_minion) .rb-sf-stat{color:var(--fg)}
.rb-forum .rb-subforums .rb-sf-stat + .rb-sf-stat::before{margin:0 8px}

/* --- forum display: thread status icons as 26px hairline rings with state colours --- */
.rb-trow .rb-th-status .thread_status{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:26px;height:26px;border-radius:3px;background:transparent!important;border:1px solid var(--line-2)!important;box-shadow:none!important;transition:border-color .15s,background-color .15s}
.rb-trow .rb-th-status .thread_status::after{content:"\f075";font-family:"Font Awesome 6 Free";font-weight:900;font-size:12px;line-height:1;color:var(--muted);-webkit-font-smoothing:antialiased;-webkit-mask:none!important;mask:none!important;background:none!important;width:auto!important;height:auto!important}
.rb-trow:hover .rb-th-status .thread_status{border-color:var(--muted)!important}
.rb-trow .rb-th-status .thread_status[class*="new"]{border-color:var(--accent-2)!important;background:transparent!important}
.rb-trow:hover .rb-th-status .thread_status[class*="new"]{border-color:var(--accent-2)!important}
.rb-trow .rb-th-status .thread_status[class*="new"]::after{color:var(--accent-2)}
.rb-trow .rb-th-status .thread_status[class*="hot"]::after{content:"\f06d";color:var(--amber)}
.rb-trow .rb-th-status .thread_status[class*="close"]::after,.rb-trow .rb-th-status .thread_status[class*="lock"]::after{content:"\f023";color:var(--red)}
.rb-trow.forumdisplay_sticky .rb-th-status .thread_status[class*="close"]::after,.rb-trow.forumdisplay_sticky .rb-th-status .thread_status[class*="lock"]::after{color:var(--red)}
.rb-trow .rb-th-status .thread_status[class*="moved"]::after{content:"\f061"}
.rb-trow.is-announcement .rb-th-status .thread_status::after{content:"\f0a1";color:var(--fg-2)}
.rb-trow .rb-th-status .thread_status[class*="dot_"]::before{display:none}
/* legend under the list: 20px rings */
.rb-threads-legend .thread_legend .thread_status{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:20px;height:20px;border-radius:3px;background:transparent!important;border:1px solid var(--line-2)!important;box-shadow:none!important}
.rb-threads-legend .thread_legend .thread_status::after{content:"\f075";font-family:"Font Awesome 6 Free";font-weight:900;font-size:9px;line-height:1;color:var(--muted);-webkit-font-smoothing:antialiased;-webkit-mask:none!important;mask:none!important;background:none!important;width:auto!important;height:auto!important}
.rb-threads-legend .thread_legend .thread_status[class*="new"]{border-color:var(--accent-2)!important;background:transparent!important}
.rb-threads-legend .thread_legend .thread_status[class*="new"]::after{color:var(--accent-2)}
.rb-threads-legend .thread_legend .thread_status[class*="hot"]::after{content:"\f06d";color:var(--amber)}
.rb-threads-legend .thread_legend .thread_status[class*="close"]::after,.rb-threads-legend .thread_legend .thread_status[class*="lock"]::after{content:"\f023";color:var(--red)}
.rb-threads-legend .thread_legend .thread_status[class*="dot_"]::before{display:none}

/* --- responsive --- */
@media (max-width:1000px){
  .rb-forum .rb-subforums{grid-column:2;grid-template-columns:minmax(0,1fr);margin:8px 0 0;padding:0}
  .rb-forum .rb-subforums .rb-subforum,.rb-forum .rb-subforums .rb-subforum:nth-of-type(even){padding:0;border-left:0}
}
@media (max-width:560px){
  .rb-forum{grid-template-columns:36px minmax(0,1fr)}
  .rb-forum .rb-forum-icon{width:36px;height:36px}
  .rb-forum .rb-forum-icon::before{font-size:15px}
}
@media (max-width:480px){
  .rb-forum .rb-subforums .rb-sf-stat + .rb-sf-stat{display:none}
  .rb-trow .rb-th-status .thread_status{width:24px;height:24px}
  .rb-trow .rb-th-status .thread_status::after{font-size:11px}
}
/* --- owner feedback: no rings around icons, bare glyphs only (forum icons + thread status) --- */
.rb-forum .rb-forum-icon,.rb-forum:hover .rb-forum-icon,.rb-forum .rb-forum-icon:has(.forum_on),.rb-forum:hover .rb-forum-icon:has(.forum_on){border:0;background:transparent;box-shadow:none;width:44px;height:44px}
.rb-forum .rb-forum-icon::before{font-size:20px;color:var(--fg-2)}
.rb-forum:hover .rb-forum-icon::before{color:#fff}
.rb-forum .rb-forum-icon:has(.forum_on)::before,.rb-forum:hover .rb-forum-icon:has(.forum_on)::before{color:var(--accent-2)}
.rb-forum .rb-forum-icon .forum_status{display:none}
.rb-forum .rb-forum-icon .forum_on{display:block;position:absolute;inset:auto;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--accent-2);border:2px solid var(--surface);cursor:pointer}
@media (max-width:560px){.rb-forum .rb-forum-icon{width:36px;height:36px}.rb-forum .rb-forum-icon::before{font-size:17px}}
.rb-trow .rb-th-status .thread_status,.rb-trow:hover .rb-th-status .thread_status,.rb-trow .rb-th-status .thread_status[class*="new"],.rb-trow:hover .rb-th-status .thread_status[class*="new"]{border:0!important;background:transparent!important;width:26px;height:26px}
.rb-trow .rb-th-status .thread_status::after{font-size:16px}
.rb-threads-legend .thread_legend .thread_status,.rb-threads-legend .thread_legend .thread_status[class*="new"]{border:0!important;background:transparent!important}
.rb-threads-legend .thread_legend .thread_status::after{font-size:12px}
/* ===== forum display thread list: judged variant "table" (2026-10-14) ===== */
/* ===== forum display, variant "table": classic column table, flat and quiet =====
   Appended to the end of 70-pro.css. 72-forumdisplay.css still loads after this file, so every
   selector here is scoped with .rb-card.rb-threads to win on specificity, not on order. */

/* ---- card head: flat blue band, title only ---- */
.rb-card.rb-threads > .rb-card-head{position:relative;overflow:visible;min-height:0;padding:11px 16px;gap:12px;background:linear-gradient(90deg,#24407a 0%,#1d3566 100%);border-bottom:1px solid #2d4c8e;box-shadow:none}
.rb-card.rb-threads > .rb-card-head::before,.rb-card.rb-threads > .rb-card-head::after{display:none!important;content:none!important}
.rb-card.rb-threads .rb-card-title{background:transparent;padding:0;border-radius:0;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.005em;box-shadow:none}
.rb-card.rb-threads .rb-head-chip{background:transparent;padding:0;border-radius:0}

/* ---- column geometry shared by the label row and every row ---- */
.rb-card.rb-threads .rb-trow .rb-th-status,.rb-card.rb-threads .rb-threads-labels .rb-th-status{flex:0 0 36px;width:36px;display:flex;align-items:center;justify-content:center;align-self:stretch;padding:0}
.rb-card.rb-threads .rb-trow .rb-th-main,.rb-card.rb-threads .rb-threads-labels .rb-th-main{flex:1 1 auto;min-width:0}
.rb-card.rb-threads .rb-trow .rb-th-num,.rb-card.rb-threads .rb-threads-labels .rb-th-num{flex:0 0 80px;width:80px;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center}
.rb-card.rb-threads .rb-trow .rb-th-last,.rb-card.rb-threads .rb-threads-labels .rb-th-last{flex:0 0 230px;width:230px;min-width:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:0}
.rb-card.rb-threads .rb-trow .rb-th-mod,.rb-card.rb-threads .rb-threads-labels .rb-th-mod{flex:0 0 36px;width:36px;display:flex;align-items:center;justify-content:center;padding:0}
.rb-card.rb-threads .rb-th-rating,.rb-card.rb-threads .rb-th-score{display:none!important}

/* ---- column label row ---- */
.rb-card.rb-threads .rb-labels.rb-threads-labels{display:flex;align-items:center;justify-content:flex-start;gap:12px;height:32px;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1}
.rb-card.rb-threads .rb-labels.rb-threads-labels > .rb-th-status,.rb-card.rb-threads .rb-labels.rb-threads-labels > .rb-th-num,.rb-card.rb-threads .rb-labels.rb-threads-labels > .rb-th-last,.rb-card.rb-threads .rb-labels.rb-threads-labels > .rb-th-mod{display:flex}
.rb-card.rb-threads .rb-labels.rb-threads-labels > .rb-th-main{display:flex;align-items:center;gap:6px}
.rb-card.rb-threads .rb-threads-labels .rb-labels-sep{color:var(--faint);font-weight:400}
.rb-card.rb-threads .rb-threads-labels .rb-sort{display:inline-flex;align-items:center;gap:0;color:var(--muted);white-space:nowrap}
.rb-card.rb-threads .rb-threads-labels .rb-sort a{color:var(--muted);font-weight:600;text-decoration:none}
.rb-card.rb-threads .rb-threads-labels .rb-sort a:hover{color:#fff}
.rb-card.rb-threads .rb-threads-labels .rb-sort:has(.rb-sort-arrow) > a{color:var(--fg-2)}
.rb-card.rb-threads .rb-threads-labels .rb-sort-arrow{display:inline-flex;width:auto;height:auto;margin-left:4px;padding:0;border-radius:0;background:transparent;color:var(--fg-2);font-size:10px}
.rb-card.rb-threads .rb-threads-labels .rb-sort-arrow:hover{background:transparent;color:#fff}
.rb-card.rb-threads .rb-threads-labels .rb-sort-arrow .fa-solid{font-size:10px}

/* ---- select-all strips (inline moderation JS shows them) ---- */
.rb-card.rb-threads .rb-threads-selectall{padding:8px 16px;text-align:center;font-size:12.5px;color:var(--fg-2);background:var(--surface-2);border-bottom:1px solid var(--line)}
.rb-card.rb-threads .rb-threads-selectall.hiddenrow{display:none}
.rb-card.rb-threads .rb-threads-selectall a{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ---- section separators: quiet uppercase labels ---- */
.rb-card.rb-threads .rb-trow-sep{display:flex;align-items:center;gap:0;height:30px;padding:0 16px;background:var(--surface-2);border-top:0;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1}
.rb-card.rb-threads .rb-trow-sep .fa-solid{display:none}

/* ---- rows ---- */
.rb-card.rb-threads .rb-trow{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none!important;opacity:1;transition:background .1s}
.rb-card.rb-threads .rb-trow.forumdisplay_sticky,.rb-card.rb-threads .rb-trow.is-announcement{background:var(--surface)}
.rb-card.rb-threads .rb-trow:hover{background:var(--surface-2)}
.rb-card.rb-threads .rb-trow.trow_selected,.rb-card.rb-threads .rb-trow.trow_selected:hover{background:var(--accent-soft)}
.rb-card.rb-threads .rb-trow.is-deleted{opacity:.6}
.rb-card.rb-threads .rb-trow:last-child{border-bottom:0}

/* title line: inline flow so badges, page links and the subject wrap naturally */
.rb-card.rb-threads .rb-trow-title{display:block;font-size:14px;font-weight:500;line-height:1.35;min-width:0;gap:0}
.rb-card.rb-threads .rb-trow-title::before,.rb-card.rb-threads .rb-trow.forumdisplay_sticky .rb-trow-title::before{display:none!important;content:none!important}
.rb-card.rb-threads .rb-trow-title > *{vertical-align:middle}
.rb-card.rb-threads .rb-trow-subject{display:inline;overflow-wrap:anywhere}
.rb-card.rb-threads .rb-trow-subject a{font-size:14px;font-weight:500;color:var(--fg)}
.rb-card.rb-threads .rb-trow-subject a:hover{color:var(--link)}
.rb-card.rb-threads .rb-trow-subject.subject_new a,.rb-card.rb-threads .rb-trow .subject_new a{font-weight:600;color:#fff}
.rb-card.rb-threads .rb-trow-subject.subject_old a,.rb-card.rb-threads .rb-trow-subject a.subject_old{font-weight:500;color:var(--fg-2)}
.rb-card.rb-threads .rb-trow-subject.subject_old a:hover,.rb-card.rb-threads .rb-trow-subject a.subject_old:hover{color:var(--link)}
.rb-card.rb-threads .rb-trow-subject input{width:100%;min-width:220px;height:28px;padding:0 8px;font-size:13.5px;font-weight:400}
.rb-card.rb-threads .rb-trow.is-announcement .rb-trow-subject a{font-weight:500}
.rb-card.rb-threads .rb-trow-ticon{display:inline;margin:0;font-size:0;line-height:0}
.rb-card.rb-threads .rb-trow-ticon img{width:14px;height:14px;margin-right:6px;vertical-align:middle;object-fit:contain}
.rb-card.rb-threads .rb-trow-prefix{display:inline;margin:0;white-space:nowrap}
.rb-card.rb-threads .rb-trow-prefix:empty,.rb-card.rb-threads .rb-trow-poll:empty{display:none}
.rb-card.rb-threads .rb-trow .rb-badge{display:inline-flex;align-items:center;vertical-align:middle;position:relative;top:-1px;height:18px;margin:0 2px 0 0;padding:0 6px;border-radius:2px;font-size:10.5px;font-weight:600;letter-spacing:.04em;line-height:1;box-shadow:none;text-transform:uppercase}
.rb-card.rb-threads .rb-trow .rb-badge.is-blue,.rb-card.rb-threads .rb-trow .rb-badge.is-accent{background:var(--accent)}
.rb-card.rb-threads .rb-trow .rb-badge.is-green{background:var(--green-strong)}
.rb-card.rb-threads .rb-trow .rb-badge.is-amber{background:#b8761a}
.rb-card.rb-threads .rb-trow .rb-badge.is-red{background:#b83a3a}
.rb-card.rb-threads .rb-trow-poll{display:inline-flex;align-items:center;vertical-align:middle;position:relative;top:-1px;height:18px;margin:0 6px 0 0;padding:0 5px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line-2);background:transparent;font-size:10.5px;font-weight:600;letter-spacing:.03em;line-height:1;color:var(--fg-2);text-transform:none}
.rb-card.rb-threads .rb-trow-unread{display:none}
.rb-card.rb-threads .rb-thread-pages{display:inline-flex;align-items:center;gap:2px;margin-left:6px;vertical-align:middle}
.rb-card.rb-threads .rb-thread-pages a{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:2px;background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--muted);font-size:10.5px;font-weight:500;line-height:1}
.rb-card.rb-threads .rb-thread-pages a:hover{background:var(--surface-3);color:#fff}
.rb-card.rb-threads .rb-pager-gap{color:var(--faint);font-size:11px;padding:0 1px}
.rb-card.rb-threads .rb-trow-attach{display:inline;margin-left:6px;color:var(--muted);font-size:11px;vertical-align:middle}
.rb-card.rb-threads .rb-trow-deleted{display:inline-flex;align-items:center;gap:7px;font-style:normal;font-weight:500;font-size:14px;color:var(--muted)}
.rb-card.rb-threads .rb-trow-deleted .fa-solid{font-size:12px;color:var(--faint)}

/* meta line: "by Author, 2 days ago" */
.rb-card.rb-threads .rb-trow-meta{display:block;margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;gap:0}
.rb-card.rb-threads .rb-trow-meta .smalltext{font-size:inherit;color:inherit}
.rb-card.rb-threads .rb-trow-meta .rb-trow-by{color:var(--muted)}
.rb-card.rb-threads .rb-trow-meta .author a{color:var(--fg-2);font-weight:500;font-size:12px}
.rb-card.rb-threads .rb-trow-meta .author a:hover{color:#fff}
.rb-card.rb-threads .rb-trow-meta .author a span[class*="rb-name-"]{font-weight:500}
.rb-card.rb-threads .rb-trow-meta .thread_start_datetime{color:var(--muted);font-size:12px}
.rb-card.rb-threads .rb-trow-meta .thread_start_datetime::before,.rb-card.rb-threads .rb-trow-meta > span + span::before{content:none;margin:0}

/* numbers: plain tabular figures, no labels on desktop */
.rb-card.rb-threads .rb-trow .rb-th-stats{display:contents}
.rb-card.rb-threads .rb-trow .rb-th-num{flex-direction:row;gap:4px;font-size:13px;line-height:1.2;color:var(--fg-2);font-variant-numeric:tabular-nums}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-num{display:inline;font-size:13px;font-weight:500;color:var(--fg-2);line-height:1.2}
.rb-card.rb-threads .rb-trow .rb-th-num a.rb-num:hover{color:#fff}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{display:none}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-unapproved{display:inline;margin:0;font-size:11px;color:var(--amber);vertical-align:0}
.rb-card.rb-threads .rb-trow .rb-th-num.is-dash,.rb-card.rb-threads .rb-trow .rb-th-last.is-dash{color:var(--faint);font-size:13px}

/* last post: 30px avatar, poster name, relative time below */
.rb-card.rb-threads .rb-trow .rb-th-last{gap:10px;font-size:13px;line-height:1.3}
.rb-card.rb-threads .rb-lp-avatar{display:inline-flex;flex:none;width:30px;height:30px;border:0;border-radius:3px}
.rb-card.rb-threads .rb-th-last .lastpost{display:block;flex:1 1 auto;min-width:0;margin:0;font-size:13px;line-height:1.3;color:var(--fg-2);text-align:left}
.rb-card.rb-threads .rb-last-by{display:block;margin:0;font-size:13px;font-weight:500;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-card.rb-threads .rb-last-by a{color:var(--fg-2);font-weight:500}
.rb-card.rb-threads .rb-last-by a:hover{color:#fff}
.rb-card.rb-threads .rb-last-by a span[class*="rb-name-"]{font-weight:500}
.rb-card.rb-threads .rb-last-date{display:block;margin:1px 0 0;gap:0;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-card.rb-threads .rb-last-date .fa-solid{display:none}
.rb-card.rb-threads a.rb-last-date:hover{color:var(--fg-2)}

/* inline moderation checkbox: only on hover, when checked, or when focused */
.rb-card.rb-threads .rb-th-mod input[type=checkbox]{margin:0;width:15px;height:15px;opacity:0;transition:opacity .1s}
.rb-card.rb-threads .rb-trow:hover .rb-th-mod input[type=checkbox],.rb-card.rb-threads .rb-th-mod input[type=checkbox]:checked,.rb-card.rb-threads .rb-th-mod input[type=checkbox]:focus-visible,.rb-card.rb-threads .rb-threads-labels .rb-th-mod input[type=checkbox]{opacity:1}

/* ---- under the card: legend quieter, forum jump removed (owner request) ---- */
.rb-threads-foot{margin-top:14px}
.rb-threads-foot .rb-threads-tools .rb-forumjump,.rb-threads-foot .rb-threads-tools .rb-searchforum{display:none}
.rb-threads-foot .thread_legend{font-size:12px;color:var(--muted);opacity:1}

/* ---- tablet: narrower number and last post columns ---- */
@media (max-width:1000px) and (min-width:761px){
  .rb-card.rb-threads .rb-trow .rb-th-num,.rb-card.rb-threads .rb-threads-labels .rb-th-num{flex-basis:64px;width:64px}
  .rb-card.rb-threads .rb-trow .rb-th-last,.rb-card.rb-threads .rb-threads-labels .rb-th-last{flex-basis:190px;width:190px}
}

/* ---- phones: title + checkbox, then meta with the numbers at the right, then last post ---- */
@media (max-width:760px){
  .rb-card.rb-threads > .rb-card-head{padding:9px 12px}
  .rb-card.rb-threads .rb-labels.rb-threads-labels{display:none}
  .rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]){display:flex;justify-content:flex-end;height:34px;padding:0 12px}
  .rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]) > .rb-th-status,.rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]) > .rb-th-main,.rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]) > .rb-th-num,.rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]) > .rb-th-last{display:none}
  .rb-card.rb-threads .rb-labels.rb-threads-labels:has(input[name=allbox]) > .rb-th-mod{flex:none;width:auto}
  .rb-card.rb-threads .rb-trow-sep{padding:0 12px}
  .rb-card.rb-threads .rb-threads-selectall{padding:8px 12px}
  .rb-card.rb-threads .rb-trow{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;min-height:0;padding:10px 12px}
  .rb-card.rb-threads .rb-trow .rb-th-status{flex:0 0 30px;width:30px;align-self:center;order:0}
  .rb-card.rb-threads .rb-trow .rb-th-main{display:contents}
  .rb-card.rb-threads .rb-trow-title{order:1;flex:1 1 calc(100% - 78px);min-width:0;font-size:14px}
  .rb-card.rb-threads .rb-trow .rb-th-mod{order:2;flex:0 0 28px;width:28px;justify-content:flex-end;align-self:center}
  .rb-card.rb-threads .rb-trow-meta{order:3;flex:1 1 auto;min-width:0;margin:3px 0 0 40px;white-space:normal;overflow:visible}
  .rb-card.rb-threads .rb-trow .rb-th-stats{order:4;display:flex;flex:0 0 auto;align-items:baseline;gap:0;margin:3px 0 0 auto;padding-left:12px;font-size:12px;color:var(--muted);white-space:nowrap}
  .rb-card.rb-threads .rb-trow .rb-th-num{flex:none;width:auto;display:inline-flex;align-items:baseline;gap:3px;text-align:left;font-size:12px}
  .rb-card.rb-threads .rb-trow .rb-th-num .rb-num{font-size:12px;color:var(--fg-2)}
  .rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{display:inline;font-size:12px;color:var(--muted);text-transform:lowercase}
  .rb-card.rb-threads .rb-trow .rb-th-num + .rb-th-num::before{content:"\00b7";margin:0 6px;color:var(--faint)}
  .rb-card.rb-threads .rb-trow .rb-th-num.is-dash{display:none}
  .rb-card.rb-threads .rb-trow .rb-th-last{order:5;flex:1 0 100%;width:auto;margin:5px 0 0;padding:0 0 0 40px;border-top:0;gap:8px;min-width:0}
  .rb-card.rb-threads .rb-trow .rb-th-last.is-dash{display:none}
  .rb-card.rb-threads .rb-lp-avatar{width:20px;height:20px;border-radius:2px}
  .rb-card.rb-threads .rb-th-last .lastpost{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 6px;margin:0;font-size:12.5px}
  .rb-card.rb-threads .rb-last-by,.rb-card.rb-threads .rb-last-date{display:inline;margin:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rb-card.rb-threads .rb-last-by{font-size:12.5px}
  .rb-card.rb-threads .rb-last-by + .rb-last-date::before{content:"\00b7";margin-right:6px;color:var(--faint)}
  .rb-card.rb-threads .rb-th-mod input[type=checkbox]{opacity:1}
  .rb-threads-foot{margin-top:12px}
}
/* --- thread list on phones: no lone select-all row under the head --- */
@media (max-width:760px){.rb-card.rb-threads .rb-threads-labels,.rb-card.rb-threads .rb-threads-labels:has(input[name=allbox]){display:none!important}}
/* ===== forum display rows, reference look (cracked.io): tall rows, flame/page icons, stacked numbers, score box, avatar + Last Post ===== */
.rb-card.rb-threads > .rb-card-head{min-height:52px;padding:8px 14px;background:linear-gradient(90deg,#2a4a88 0%,#223d72 100%);border-bottom:1px solid #2d4c8e}
.rb-card.rb-threads > .rb-card-head .rb-card-title{display:inline-flex;align-items:center;height:30px;padding:0 14px;margin:0;background:rgba(8,16,40,.5);border-radius:2px;font-size:13.5px;font-weight:700;color:#fff}
.rb-card.rb-threads .rb-threads-labels{display:none!important}
.rb-card.rb-threads .rb-trow{display:grid;grid-template-columns:64px minmax(0,1fr) 92px 92px 70px 260px;align-items:center;min-height:84px;padding:0 12px 0 0;border-top:1px solid var(--line);background:transparent}
.rb-card.rb-threads .rb-trow.has-mod,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:64px minmax(0,1fr) 92px 92px 70px 260px 36px}
.rb-card.rb-threads .rb-trow:hover{background:var(--surface-2)}
.rb-card.rb-threads .rb-trow .rb-th-status{display:flex;align-items:center;justify-content:center;width:auto;flex:none}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status{width:32px;height:32px;border:0!important;background:transparent!important}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status::after{content:"\f15c";font-size:22px;color:var(--muted)}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="new"]::after{color:var(--accent-2)}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="hot"]::after{content:"\f06d";color:#e05d5d}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="close"]::after,.rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="lock"]::after{content:"\f023";color:var(--muted)}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="moved"]::after{content:"\f061";color:var(--muted)}
.rb-card.rb-threads .rb-trow.is-announcement .rb-th-status .thread_status::after{content:"\f0a1";color:var(--fg-2)}
.rb-card.rb-threads .rb-th-main{min-width:0;padding:14px 16px 14px 0}
.rb-card.rb-threads .rb-trow-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:16px;font-weight:500;line-height:1.3;color:#fff}
.rb-card.rb-threads .rb-trow-title a{color:#fff}
.rb-card.rb-threads .rb-trow-title a:hover{color:var(--link)}
.rb-card.rb-threads .rb-trow-subject{min-width:0}
.rb-card.rb-threads .rb-trow-ticon:empty,.rb-card.rb-threads .rb-trow-prefix:empty,.rb-card.rb-threads .rb-trow-poll:empty{display:none}
.rb-card.rb-threads .rb-thread-pages{font-size:13px;color:var(--muted);font-weight:400}
.rb-card.rb-threads .rb-thread-pages::before{content:"(Pages: ";}
.rb-card.rb-threads .rb-thread-pages::after{content:")"}
.rb-card.rb-threads .rb-thread-pages a{color:var(--fg-2);margin:0 2px}
.rb-card.rb-threads .rb-thread-pages a:hover{color:#fff}
.rb-card.rb-threads .rb-trow-meta{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:13.5px;color:var(--muted)}
.rb-card.rb-threads .rb-trow-meta .author a{font-weight:600;font-size:14px}
.rb-card.rb-threads .rb-trow-meta .thread_start_datetime{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.rb-card.rb-threads .rb-trow-meta .thread_start_datetime::before{content:none}
.rb-card.rb-threads .rb-trow-meta .thread_start_datetime .fa-solid{font-size:11.5px;color:var(--muted)}
.rb-card.rb-threads .rb-trow-by{display:none}
.rb-card.rb-threads .rb-th-stats{display:contents}
.rb-card.rb-threads .rb-th-num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:auto;flex:none}
.rb-card.rb-threads .rb-th-num .rb-num{font-size:15px;font-weight:500;color:#fff;line-height:1.1}
.rb-card.rb-threads .rb-th-num .rb-num-label{display:block;font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0;line-height:1.1}
.rb-card.rb-threads .rb-th-num.is-dash{color:var(--faint);font-size:14px}
.rb-card.rb-threads .rb-th-score{display:flex;align-items:center;justify-content:center}
.rb-card.rb-threads .rb-th-score span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 8px;border-radius:3px;background:var(--green-strong);color:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.rb-card.rb-threads .rb-th-score[data-score="0"] span{background:var(--surface-3);color:var(--muted)}
.rb-card.rb-threads .rb-th-last{display:flex;align-items:center;gap:12px;min-width:0;padding-left:10px}
.rb-card.rb-threads .rb-th-last .rb-lp-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;border:0;display:block}
.rb-card.rb-threads .rb-th-last .rb-lp-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rb-card.rb-threads .rb-th-last .lastpost{display:flex;flex-direction:column;gap:4px;min-width:0}
.rb-card.rb-threads .rb-last-by{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-card.rb-threads .rb-last-by .rb-last-label{color:#fff;font-weight:500}
.rb-card.rb-threads .rb-last-by a{font-weight:600}
.rb-card.rb-threads .rb-last-date{display:block;font-size:13px;color:var(--muted);line-height:1.2}
.rb-card.rb-threads .rb-last-date:hover{color:var(--fg-2)}
.rb-card.rb-threads .rb-th-mod{display:flex;align-items:center;justify-content:center;opacity:.6}
.rb-card.rb-threads .rb-trow:hover .rb-th-mod,.rb-card.rb-threads .rb-th-mod:has(:checked){opacity:1}
.rb-card.rb-threads .rb-trow-sep{height:30px;display:flex;align-items:center;padding:0 16px;background:var(--surface-2);border-top:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-card.rb-threads .rb-trow.is-announcement .rb-th-last .lastpost{gap:0}
.rb-card.rb-threads .rb-trow.is-announcement .rb-last-date{color:var(--fg-2);font-size:13.5px}
@media (max-width:1000px){
  .rb-card.rb-threads .rb-trow,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:56px minmax(0,1fr) 80px 80px 60px 200px}
  .rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:56px minmax(0,1fr) 80px 80px 60px 200px 32px}
}
@media (max-width:760px){
  .rb-card.rb-threads .rb-trow,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){display:grid;grid-template-columns:44px minmax(0,1fr) 32px;grid-template-areas:"status main mod" "status stats stats" "status last last";align-items:start;min-height:0;padding:12px 10px 12px 0;row-gap:8px}
  .rb-card.rb-threads .rb-trow .rb-th-status{grid-area:status;align-self:start;padding-top:2px}
  .rb-card.rb-threads .rb-th-main{grid-area:main;padding:0}
  .rb-card.rb-threads .rb-trow-title{font-size:15px}
  .rb-card.rb-threads .rb-th-stats{display:flex;grid-area:stats;gap:16px;align-items:center}
  .rb-card.rb-threads .rb-th-num{flex-direction:row;gap:5px}
  .rb-card.rb-threads .rb-th-num .rb-num{font-size:13.5px}
  .rb-card.rb-threads .rb-th-num .rb-num-label{font-size:12.5px}
  .rb-card.rb-threads .rb-th-score{display:none}
  .rb-card.rb-threads .rb-th-last{grid-area:last;padding-left:0;gap:10px}
  .rb-card.rb-threads .rb-th-last .rb-lp-avatar{width:28px;height:28px}
  .rb-card.rb-threads .rb-th-last .lastpost{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
  .rb-card.rb-threads .rb-last-by{font-size:13px}
  .rb-card.rb-threads .rb-last-by .rb-last-label{display:none}
  .rb-card.rb-threads .rb-last-date::before{content:"\00b7";margin-right:8px;color:var(--faint)}
  .rb-card.rb-threads .rb-th-mod{grid-area:mod;opacity:1}
  .rb-card.rb-threads .rb-th-stats .rb-th-num.is-dash{display:none}
}
/* ===== sub-forums: flat tags on one wrapping line, no counts ===== */
.rb-forum .rb-subforums{display:flex;flex-wrap:wrap;gap:6px;grid-column:2 / -1;margin:10px 0 0;padding:0;background:transparent;border:0}
.rb-forum .rb-subforums .rb-subforum,.rb-forum .rb-subforums .rb-subforum:nth-of-type(even){display:inline-flex;align-items:center;gap:8px;height:28px;min-height:0;padding:0 11px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:13px;font-weight:500;line-height:1;white-space:nowrap}
.rb-forum .rb-subforums .rb-subforum:hover{border-color:var(--line-2);background:var(--surface-3);color:#fff}
.rb-forum .rb-subforums .rb-subforum .subforumicon{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--faint);color:transparent;flex:none}
.rb-forum .rb-subforums .rb-subforum .subforumicon::before{content:none}
.rb-forum .rb-subforums .rb-subforum .subforum_minion{background:var(--accent-2)}
.rb-forum .rb-subforums .rb-subforum:has(.subforum_minion){color:#fff;border-color:#2d4c8e}
.rb-forum .rb-subforums .rb-subforum .subforum_minioffclose,.rb-forum .rb-subforums .rb-subforum .subforum_miniofflink{width:auto;height:auto;border-radius:0;background:transparent;color:var(--muted);display:inline-flex}
.rb-forum .rb-subforums .rb-subforum .subforum_minioffclose::before{content:"\f023";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px}
.rb-forum .rb-subforums .rb-subforum .subforum_miniofflink::before{content:"\f08e";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px}
.rb-forum .rb-subforums .rb-sf-meta{display:none}
@media (max-width:1000px){.rb-forum .rb-subforums{grid-column:2}}
/* --- reference rows: specificity fixes against the earlier table rules --- */
.rb-card.rb-threads .rb-trow .rb-th-score{display:flex!important;align-items:center;justify-content:center}
.rb-card.rb-threads .rb-trow .rb-th-score.is-empty span{display:none}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{display:block;font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0;line-height:1.1}
.rb-card.rb-threads .rb-trow .rb-th-main{display:block;flex:none}
.rb-card.rb-threads .rb-trow .rb-th-last{flex:none;width:auto;display:flex;align-items:center;gap:12px;padding-left:10px;font-size:14px;line-height:1.25}
.rb-card.rb-threads .rb-trow .rb-last-date{display:block;margin:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-card.rb-threads .rb-trow .rb-last-date .rb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:760px){
  .rb-card.rb-threads .rb-trow,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){display:grid;grid-template-columns:44px minmax(0,1fr) 32px;grid-template-areas:"status main mod" "status stats stats" "status last last";align-items:start;min-height:0;padding:12px 10px 12px 0;row-gap:8px}
  .rb-card.rb-threads .rb-trow .rb-th-status{grid-area:status;align-self:start;padding-top:2px}
  .rb-card.rb-threads .rb-trow .rb-th-main{display:block;grid-area:main;padding:0;min-width:0}
  .rb-card.rb-threads .rb-trow .rb-trow-title{font-size:15px}
  .rb-card.rb-threads .rb-trow .rb-th-stats{display:flex;grid-area:stats;gap:16px;align-items:center;order:0;flex:none;width:auto;margin:0;padding:0}
  .rb-card.rb-threads .rb-trow .rb-th-num{flex-direction:row;gap:5px;width:auto;flex:none}
  .rb-card.rb-threads .rb-trow .rb-th-num .rb-num{font-size:13.5px}
  .rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{display:inline;font-size:12.5px;text-transform:none}
  .rb-card.rb-threads .rb-trow .rb-th-score{display:none!important}
  .rb-card.rb-threads .rb-trow .rb-th-last{grid-area:last;order:0;flex:none;width:auto;margin:0;padding:0;border:0;gap:10px;display:flex;align-items:center}
  .rb-card.rb-threads .rb-trow .rb-th-last .rb-lp-avatar{width:28px;height:28px;display:block}
  .rb-card.rb-threads .rb-trow .rb-th-last .lastpost{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
  .rb-card.rb-threads .rb-trow .rb-last-by{display:inline;font-size:13px;margin:0;max-width:100%}
  .rb-card.rb-threads .rb-trow .rb-last-by .rb-last-label{display:none}
  .rb-card.rb-threads .rb-trow .rb-last-date{display:inline;margin:0}
  .rb-card.rb-threads .rb-trow .rb-last-by + .rb-last-date::before{content:"\00b7";margin-right:8px;color:var(--faint)}
  .rb-card.rb-threads .rb-trow .rb-th-mod{grid-area:mod;opacity:1;order:0;flex:none;width:auto;margin:0}
  .rb-card.rb-threads .rb-trow .rb-th-stats .rb-th-num.is-dash{display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-meta{margin-top:4px;font-size:13px}
}
/* --- reference rows: stacked numbers on desktop, tidy phone layout, tags stay inline on phones --- */
.rb-card.rb-threads .rb-trow .rb-th-num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:auto;margin:0;padding:0}
.rb-card.rb-threads .rb-trow .rb-th-num + .rb-th-num::before,.rb-card.rb-threads .rb-trow .rb-th-num::before{content:none;margin:0}
.rb-card.rb-threads .rb-trow .rb-trow-meta{margin:5px 0 0;padding:0;justify-content:flex-start}
@media (max-width:760px){
  .rb-card.rb-threads .rb-trow .rb-th-num{flex-direction:row;gap:5px}
  .rb-card.rb-threads .rb-trow .rb-th-num + .rb-th-num::before{content:"\00b7";margin:0 4px 0 0;color:var(--faint)}
  .rb-card.rb-threads .rb-trow .rb-trow-meta{margin:4px 0 0!important;padding:0!important}
  .rb-card.rb-threads .rb-trow.is-announcement .rb-last-date::before{content:none!important;margin:0}
  .rb-card.rb-threads .rb-trow.is-announcement .rb-th-last{padding-left:0}
  .rb-forum .rb-subforums{display:flex!important;flex-wrap:wrap;flex-direction:row;gap:6px}
  .rb-forum .rb-subforums .rb-subforum{display:inline-flex!important;width:auto!important;flex:none}
}
/* --- sub-forum tags stay neutral whether or not there are new threads (owner request) --- */
.rb-forum .rb-subforums .rb-subforum:has(.subforum_minion),.rb-forum .rb-subforums .rb-subforum{color:var(--fg-2);border-color:var(--line)}
.rb-forum .rb-subforums .rb-subforum .subforum_minion,.rb-forum .rb-subforums .rb-subforum .subforumicon{background:var(--faint)}
.rb-forum .rb-subforums .rb-subforum:hover,.rb-forum .rb-subforums .rb-subforum:has(.subforum_minion):hover{border-color:var(--line-2);background:var(--surface-3);color:#fff}
/* --- messenger pages: the main column was given grid-area:main, which the UserCP grid never defines, so the content fell below the nav --- */
.rb-usercp > .rb-usercp-main,.rb-usercp > .rb-pm-main,.rb-usercp > form.rb-pm-main{grid-area:auto;grid-column:2;grid-row:auto;min-width:0}
.rb-usercp > .rb-subnav-card{grid-column:1;grid-row:auto}
@media (max-width:900px){.rb-usercp > .rb-usercp-main,.rb-usercp > .rb-pm-main,.rb-usercp > .rb-subnav-card{grid-column:1}}
.rb-usercp > .rb-pm-main,.rb-usercp > form.rb-pm-main{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:var(--gap)}
/* --- form controls v2 (quick pass): no black boxes, lighter fill with a hairline, flat focus --- */
.rb-input,.textbox,.textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select{background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;color:var(--fg);box-shadow:none}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{background:var(--surface-2);border-color:var(--accent-2);box-shadow:none;outline:0}
::placeholder{color:var(--muted);opacity:1}
/* select2 (recipients, author search): one border only, same fill */
.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.select2-container .select2-selection{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:none!important;min-height:40px}
.select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--accent-2)!important;box-shadow:none!important}
.select2-container--default .select2-selection--multiple .select2-selection__rendered,.select2-container--default .select2-search--inline .select2-search__field,.select2-container--default .select2-selection--multiple .select2-selection__rendered li{background:transparent!important;border:0!important;box-shadow:none!important;margin:0}
.select2-container--default .select2-search--inline .select2-search__field{height:30px;margin-top:4px;color:var(--fg)}
.select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--surface-3)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;color:var(--fg)!important;margin:4px 4px 0 0!important;padding:2px 8px!important}
.select2-dropdown{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:0 10px 24px rgba(0,0,0,.4)!important}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--accent)!important;color:#fff!important}
.select2-container--default .select2-search--dropdown .select2-search__field{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--fg)!important}
/* wrappers that drew a second box around select2 */
.rb-pm-to-field .rb-input,.rb-pm-bcc-field .rb-input,.rb-field > .select2-container + .rb-input{border:0;background:transparent;padding:0}
/* editor */
.sceditor-container{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:none!important}
.sceditor-container iframe,.sceditor-container textarea{background:var(--surface-2)!important;color:var(--fg)!important}
.sceditor-toolbar{background:var(--surface-3)!important;border-bottom:1px solid var(--line-2)!important}
.sceditor-container .sceditor-toolbar .sceditor-group{background:transparent!important;border:0!important}
/* --- register preferences: checkbox and text on one line, text wraps beside the box --- */
.rb-reg-checks .rb-check{flex-wrap:nowrap;align-items:flex-start;gap:10px;padding:8px 0;min-height:0}
.rb-reg-checks .rb-check input[type=checkbox]{margin-top:1px}
.rb-reg-checks .rb-check span{flex:1 1 0;min-width:0}
/* --- select2 (3.5, used by referrer / recipients / author search): one box, same fill as other inputs, chevron glyph --- */
.select2-container{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.select2-container .select2-choice{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:none!important;height:40px;line-height:38px;padding:0 12px;color:var(--fg)!important;background-image:none!important}
.select2-container-multi .select2-choices{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:none!important;min-height:40px;padding:3px 8px;background-image:none!important}
.select2-container.select2-container-active .select2-choice,.select2-container-multi.select2-container-active .select2-choices,.select2-dropdown-open .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choice{border-color:var(--accent-2)!important;box-shadow:none!important;background:var(--surface-2)!important}
.select2-container .select2-choice .select2-arrow{background:transparent!important;border:0!important;width:30px;background-image:none!important}
.select2-container .select2-choice .select2-arrow b{background-image:none!important;position:relative}
.select2-container .select2-choice .select2-arrow b::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:var(--muted);position:absolute;right:10px;top:0;line-height:38px}
.select2-container .select2-choice > .select2-chosen{color:var(--fg);margin-right:30px;font-size:14px}
.select2-default .select2-chosen,.select2-container .select2-default .select2-chosen{color:var(--muted)!important}
.select2-container .select2-choice abbr{top:13px;right:34px}
.select2-drop{background:var(--surface-2)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;box-shadow:0 10px 24px rgba(0,0,0,.4)!important;margin-top:4px;color:var(--fg)!important}
.select2-drop.select2-drop-above{margin-top:0;margin-bottom:4px}
.select2-search input,.select2-drop .select2-search input{background:var(--surface)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;color:var(--fg)!important;height:36px;background-image:none!important}
.select2-results{padding:4px}
.select2-results .select2-result-label{padding:8px 10px;border-radius:2px}
.select2-results .select2-highlighted{background:var(--accent)!important;color:#fff!important}
.select2-container-multi .select2-choices .select2-search-choice{background:var(--surface-3)!important;border:1px solid var(--line-2)!important;border-radius:3px!important;color:var(--fg)!important;box-shadow:none!important;padding:4px 8px 4px 20px!important;margin:4px 4px 0 0!important;background-image:none!important}
.select2-container-multi .select2-choices .select2-search-field input{color:var(--fg)!important;background:transparent!important;height:32px;margin:0;padding:0 4px;box-shadow:none!important;font-size:14px}
/* --- register card: blue header bar for the title and subtitle (owner request) --- */
.rb-register .rb-reg-head,.rb-member-page .rb-reg-head{background:linear-gradient(90deg,#24407a 0%,#1d3566 100%);border-bottom:1px solid #2d4c8e;padding:16px 22px;margin:0;border-radius:3px 3px 0 0}
.rb-register .rb-reg-head h2,.rb-member-page .rb-reg-head h2{color:#fff;font-size:18px;font-weight:700;margin:0 0 4px;line-height:1.2}
.rb-register .rb-reg-head p,.rb-register .rb-reg-head .rb-reg-sub,.rb-member-page .rb-reg-head p{color:rgba(255,255,255,.8);margin:0;font-size:13px}
.rb-register.rb-card,.rb-member-page .rb-register{overflow:hidden}
/* --- PM compose: options block hidden (owner request); the inputs stay in the form with their defaults --- */
.rb-pm-options{display:none!important}
/* --- form controls v3: fields a shade darker than the panels (page background), never black, never same grey as the card --- */
.rb-input,.textbox,.textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=search],input[type=date],input[type=tel],textarea,select{background:var(--bg);border:1px solid var(--line-2)}
.rb-input:focus,.textbox:focus,.textarea:focus,input:focus,textarea:focus,select:focus{background:var(--bg);border-color:var(--accent-2)}
.select2-container .select2-choice,.select2-container-multi .select2-choices,.select2-container.select2-container-active .select2-choice,.select2-container-multi.select2-container-active .select2-choices,.select2-dropdown-open .select2-choice{background:var(--bg)!important}
.select2-drop{background:var(--surface-2)!important}
.select2-search input,.select2-drop .select2-search input{background:var(--bg)!important}
.sceditor-container,.sceditor-container iframe,.sceditor-container textarea{background:var(--bg)!important}
.sceditor-toolbar{background:var(--surface-2)!important}
.rb-register .textbox,.rb-register .textbox:focus{background:var(--bg)}
/* --- file inputs: custom English control --- */
.rb-file{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:40px;padding:0 10px 0 0;border:1px solid var(--line-2);border-radius:3px;background:var(--bg);cursor:pointer;position:relative;overflow:hidden;vertical-align:middle}
.rb-file input[type=file]{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;border:0;padding:0;margin:0}
.rb-file:focus-within{border-color:var(--accent-2)}
.rb-file-btn{display:inline-flex;align-items:center;height:30px;padding:0 12px;margin:4px;border-radius:3px;background:var(--surface-3);border:1px solid var(--line-2);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;flex:none}
.rb-file:hover .rb-file-btn{background:var(--surface-4)}
.rb-file-name{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rb-file.has-file .rb-file-name{color:var(--fg)}
/* --- thread list contrast: white titles and numbers, brighter meta (owner: no grey on grey) --- */
.rb-card.rb-threads .rb-trow .rb-trow-title .rb-trow-subject a,.rb-card.rb-threads .rb-trow .rb-trow-title a{color:#fff}
.rb-card.rb-threads .rb-trow .rb-trow-title .rb-trow-subject a:hover{color:var(--link)}
.rb-card.rb-threads .rb-trow .rb-trow-meta{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime,.rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime .fa-solid{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-num{color:#fff}
.rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-last-date{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-last-by,.rb-card.rb-threads .rb-trow .rb-last-by .rb-last-label{color:#fff}
.rb-card.rb-threads .rb-trow-sep{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-th-status .thread_status::after{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow .rb-th-score[data-score="0"] span{color:var(--fg-2)}
.rb-card.rb-threads .rb-trow.is-announcement .rb-last-date{color:#fff}
/* --- register: Preferences heading and checkboxes hidden (owner request); the inputs stay in the form so board defaults are still saved --- */
.rb-register .rb-reg-prefs .rb-reg-checks,.rb-register .rb-reg-prefs > .rb-reg-block-title{display:none!important}
.rb-register .rb-reg-prefs .rb-reg-extra{margin-top:0}
/* --- native selects: chevron caret on every single select --- */
select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b4b8c2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 8px}
/* --- index: who's online + stats live inside the main column, right under the forums --- */
.rb-index-main .rb-index-stats{display:flex;flex-direction:column;gap:var(--gap);margin-top:var(--gap)}
.rb-index-main .rb-index-stats > *{grid-column:auto;grid-row:auto;margin:0}
.rb-index-main .rb-index-stats:empty{display:none}
/* --- postbit: no service tag --- */
.rb-post-service{display:none!important}
/* --- thread view: every post is its own card with space between (owner: separate the replies) --- */
.rb-card.rb-topic{background:transparent;border:0;box-shadow:none}
.rb-card.rb-topic > .rb-topic-bar{border:1px solid #2d4c8e;border-radius:3px;margin-bottom:14px}
.rb-card.rb-topic > .rb-topic-rating:empty{display:none}
.rb-card.rb-topic .rb-topic-posts #posts{display:flex;flex-direction:column;gap:14px}
.rb-card.rb-topic .rb-topic-posts .rb-post{margin:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--surface)}
.rb-card.rb-topic .rb-topic-posts .rb-post-collapsed{border:1px solid var(--line);border-left-width:3px;border-radius:3px}
.rb-card.rb-topic .rb-topic-posts .rb-guest-gate{margin:0}
.rb-card.rb-topic > .rb-topic-foot{margin-top:14px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}
@media (max-width:760px){.rb-card.rb-topic .rb-topic-posts #posts{gap:10px}.rb-card.rb-topic > .rb-topic-bar{margin-bottom:10px}}
/* ===== username colours per group (namestyle classes) ===== */
.rb-name-new{color:#a3aab6;font-weight:500}
.rb-name-member{color:#6ea8fe;font-weight:600}
.rb-name-veteran{color:#2dd4bf;font-weight:600}
.rb-name-respected{color:#a78bfa;font-weight:600}
.rb-name-elite,.rb-name-vip,.rb-name-donator,.rb-name-admin{font-weight:700;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rb-name-elite{color:#ff6b6b;background-image:linear-gradient(90deg,#ff4d6d 0%,#ff9e5e 100%)}
.rb-name-vip{color:#f5c542;background-image:linear-gradient(90deg,#fff1a8 0%,#f5c542 45%,#d99a1e 100%)}
.rb-name-donator{color:#ff6ad5;background-image:linear-gradient(90deg,#ff6ad5 0%,#a46bff 100%)}
.rb-name-admin{color:#ff4d4f;background-image:linear-gradient(90deg,#ff3b3b 0%,#ff7a59 100%)}
.rb-name-smod{color:#f0a030;font-weight:700}
.rb-name-mod{color:var(--green);font-weight:700}
.rb-name-banned{color:#6b7280;font-weight:500;text-decoration:line-through}
a:hover .rb-name-elite,a:hover .rb-name-vip,a:hover .rb-name-donator,a:hover .rb-name-admin{filter:brightness(1.15)}
/* ===== marketplace: vendor name colours (lime family) and board icons ===== */
a:hover .rb-name-elitevendor{filter:brightness(1.15)}
.rb-forum[data-name*="vendor" i] .rb-forum-icon::before{content:"\f54e"}
.rb-forum[data-name*="elite vendor" i] .rb-forum-icon::before{content:"\f521"}
.rb-forum[data-name*="verified vendor" i] .rb-forum-icon::before{content:"\f336"}
.rb-forum[data-name="Selg" i] .rb-forum-icon::before,.rb-forum[data-name="Sälj" i] .rb-forum-icon::before,.rb-forum[data-name="Sælg" i] .rb-forum-icon::before{content:"\f02b"}
.rb-forum[data-name="Kjøp" i] .rb-forum-icon::before,.rb-forum[data-name="Köp" i] .rb-forum-icon::before,.rb-forum[data-name="Køb" i] .rb-forum-icon::before{content:"\f07a"}
.rb-forum[data-name*="markedspla" i] .rb-forum-icon::before,.rb-forum[data-name*="marknadspla" i] .rb-forum-icon::before{content:"\f4c0"}
/* ===== username effects v2: every group gets a colour treatment, a glow or motion, and a small icon ===== */
@keyframes rb-name-flow{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes rb-name-shine{0%{background-position:160% 0,0 0}55%,100%{background-position:-60% 0,0 0}}
@keyframes rb-name-pulse{0%,100%{filter:drop-shadow(0 0 2px var(--rb-glow))}50%{filter:drop-shadow(0 0 7px var(--rb-glow))}}
[class*="rb-name-"]{position:relative;white-space:nowrap}
[class*="rb-name-"]::after{font-family:"Font Awesome 6 Free";font-weight:900;font-size:.72em;margin-left:.38em;display:inline-block;vertical-align:.1em;font-style:normal;line-height:1}
/* moving gradient text */
.rb-name-admin,.rb-name-smod,.rb-name-mod,.rb-name-donator,.rb-name-elite,.rb-name-elitevendor{font-weight:700;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-flow 3.2s ease-in-out infinite alternate}
.rb-name-admin{color:#ff4d4f;--rb-glow:rgba(255,77,79,.55);background-image:linear-gradient(90deg,#ff2e43 0%,#ff7a59 35%,#ffd0a8 50%,#ff7a59 65%,#ff2e43 100%);filter:drop-shadow(0 0 5px rgba(255,60,70,.45))}
.rb-name-admin::after{content:"\f3ed"}
.rb-name-smod{color:#f0a030;background-image:linear-gradient(90deg,#ff9f1c 0%,#ffd166 50%,#ff9f1c 100%);filter:drop-shadow(0 0 5px rgba(255,170,40,.4))}
.rb-name-smod::after{content:"\f505"}
/* moderator: calm jade, no glow (the old neon green with a drop shadow was too loud) */
.rb-name-mod{color:var(--green);background-image:linear-gradient(90deg,#48a67f 0%,#9dd3bb 50%,#48a67f 100%);filter:none}
.rb-name-mod::after{content:"\f0e3"}
.rb-name-donator{color:#ff6ad5;background-image:linear-gradient(90deg,#ff6ad5 0%,#a46bff 50%,#ff6ad5 100%);filter:drop-shadow(0 0 5px rgba(200,100,255,.45))}
.rb-name-donator::after{content:"\f004"}
.rb-name-elite{color:#ff6b6b;background-image:linear-gradient(90deg,#ff3d5a 0%,#ff9e5e 50%,#ff3d5a 100%);filter:drop-shadow(0 0 4px rgba(255,90,80,.4))}
.rb-name-elite::after{content:"\f06d"}
.rb-name-elitevendor::after{content:"\f3a5"}
/* VIP: gold with a light sweep */
.rb-name-vip{font-weight:700;color:#f5c542;background-image:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),linear-gradient(90deg,#e0a526 0%,#ffe98a 50%,#e0a526 100%);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-shine 3.6s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(245,197,66,.5))}
.rb-name-vip::after{content:"\f521"}
/* solid colours with a breathing glow */
.rb-name-respected{color:#b39dff;font-weight:700;--rb-glow:rgba(167,139,250,.6);animation:rb-name-pulse 3s ease-in-out infinite}
.rb-name-respected::after{content:"\f559"}
.rb-name-veteran{color:#2dd4bf;font-weight:700;--rb-glow:rgba(45,212,191,.55);animation:rb-name-pulse 3.4s ease-in-out infinite}
.rb-name-veteran::after{content:"\f0e7"}
.rb-name-respectedvendor::after{content:"\f2b5"}
.rb-name-verifiedvendor::after{content:"\f058"}
.rb-name-newvendor::after{content:"\f290"}
.rb-name-member{color:#6ea8fe;font-weight:600;text-shadow:0 0 8px rgba(110,168,254,.35)}
.rb-name-member::after{content:"\f007";opacity:.75}
.rb-name-new{color:#b0b6c1;font-weight:500;text-shadow:0 0 6px rgba(176,182,193,.18)}
.rb-name-new::after{content:"\f4d8";opacity:.6}
.rb-name-banned{color:#6b7280;font-weight:500;text-decoration:line-through;opacity:.8}
.rb-name-banned::after{content:"\f05e"}
a:hover [class*="rb-name-"]{filter:brightness(1.18)}
@media (prefers-reduced-motion:reduce){[class*="rb-name-"]{animation:none!important}}
/* --- vendor board icons match the vendor name icons --- */
.rb-forum[data-name="Elite Vendor" i] .rb-forum-icon::before{content:"\f3a5"}
.rb-forum[data-name="Respected Vendor" i] .rb-forum-icon::before{content:"\f2b5"}
.rb-forum[data-name="Verified Vendor" i] .rb-forum-icon::before{content:"\f058"}
.rb-forum[data-name="New Vendor" i] .rb-forum-icon::before{content:"\f290"}
/* --- marketplace prefix badge: grey variant for Sold / Closed --- */
.rb-badge.is-grey,.rb-trow .rb-badge.is-grey,.rb-crumbs .rb-badge.is-grey{background:var(--surface-4);color:var(--fg-2)}
/* --- select2: kill the retina sprite arrows/close/search icons (select2.css loads later with !important), use FA glyphs instead --- */
.select2-container.select2-container .select2-choice .select2-arrow b,.select2-container.select2-container .select2-choice .select2-arrow{background:none!important;background-image:none!important}
.select2-container.select2-container .select2-choice abbr,.select2-container-multi.select2-container-multi .select2-search-choice-close{background:none!important;background-image:none!important;width:16px;height:16px;line-height:16px;text-align:center;color:var(--muted);font-size:11px}
.select2-container.select2-container .select2-choice abbr{top:12px;right:34px}
.select2-container.select2-container .select2-choice abbr::before,.select2-container-multi.select2-container-multi .select2-search-choice-close::before{content:"\f00d";font-family:"Font Awesome 6 Free";font-weight:900}
.select2-container.select2-container .select2-choice abbr:hover,.select2-container-multi.select2-container-multi .select2-search-choice-close:hover{color:#fff}
.select2-container-multi.select2-container-multi .select2-search-choice-close{left:4px;top:5px}
.select2-drop.select2-drop .select2-search input,.select2-drop.select2-drop .select2-search input.select2-active{background-image:none!important}
/* --- profile facts: breathing room between a value and its Details / Rate / Warn buttons --- */
dd .rb-kv-chips{margin-left:12px;gap:6px 8px;vertical-align:middle}
/* --- country tabs for guests: members-only notice in the section's language --- */
.rb-cat.rb-cat-gate{background:transparent;border:0;box-shadow:none;overflow:visible}
.rb-cat-gate .rb-country-gate{margin:0}
/* --- country gate v2: centred, roomy card --- */
.rb-cat-gate .rb-guest-gate.rb-country-gate{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 28px 36px;margin:0;background:linear-gradient(180deg,rgba(45,99,199,.10) 0%,rgba(45,99,199,0) 55%),var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent);border-left-width:1px;border-radius:3px}
.rb-country-gate-top{position:relative;display:inline-flex}
.rb-country-gate-flag .rb-flag{width:64px;height:40px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.35);display:block}
.rb-country-gate-lock{position:absolute;right:-12px;bottom:-10px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border:2px solid var(--surface);color:#fff;font-size:12px}
.rb-cat-gate .rb-country-gate .rb-guest-gate-text{flex:none;max-width:560px;gap:8px;align-items:center}
.rb-cat-gate .rb-country-gate .rb-guest-gate-text b{font-size:20px;line-height:1.3;font-weight:700;color:#fff}
.rb-cat-gate .rb-country-gate .rb-guest-gate-text span{font-size:14.5px;line-height:1.6;color:var(--fg-2)}
.rb-cat-gate .rb-country-gate .rb-guest-gate-actions{display:flex;gap:10px;justify-content:center;width:auto;margin-top:4px}
.rb-cat-gate .rb-country-gate .rb-guest-gate-actions .rb-btn{height:42px;padding:0 22px;font-size:14px;font-weight:600;flex:none}
@media (max-width:600px){
  .rb-cat-gate .rb-guest-gate.rb-country-gate{padding:32px 18px 28px}
  .rb-cat-gate .rb-country-gate .rb-guest-gate-text b{font-size:18px}
  .rb-cat-gate .rb-country-gate .rb-guest-gate-actions{width:100%}
  .rb-cat-gate .rb-country-gate .rb-guest-gate-actions .rb-btn{flex:1 1 0;padding:0 12px}
}
/* --- mobile menu drawer: restore row spacing and the panel (a later desktop rule had zeroed the padding) --- */
@media (max-width:760px){
  .rb-topbar .rb-nav{background:var(--surface);border-bottom:1px solid var(--line-2);box-shadow:0 14px 28px rgba(0,0,0,.5);padding:4px 0}
  .rb-topbar .rb-nav li{display:block}
  .rb-topbar .rb-nav a{display:flex;align-items:center;gap:12px;height:auto;padding:14px 18px;font-size:15px;color:var(--fg);border-top:1px solid var(--line)}
  .rb-topbar .rb-nav > li:first-child > a{border-top:0}
  .rb-topbar .rb-nav a span{display:inline}
  .rb-topbar .rb-nav a .fa-solid{width:20px;font-size:15px;text-align:center;color:var(--fg-2)}
  .rb-topbar .rb-nav a.is-active{background:var(--surface-2)}
  .rb-topbar .rb-nav a.is-active::after{display:none}
}

/* mobile drawer: active row gets a left bar instead of the desktop underline */
@media (max-width:760px){
  .rb-topbar .rb-nav a.is-active{box-shadow:inset 3px 0 0 var(--accent-2)}
}

/* vendor names v3: four clearly different tiers
   New = copper, Verified = platinum with a blue check, Respected = lime pulse, Elite = holographic flow */
.rb-name-newvendor{color:#dba27a;font-weight:600;text-shadow:0 0 7px rgba(219,162,122,.3);animation:none;filter:none}
.rb-name-newvendor::after{content:"\f290";opacity:.85}
.rb-name-verifiedvendor{color:#eef2f8;font-weight:700;text-shadow:0 0 8px rgba(225,235,255,.35);animation:none;filter:none}
.rb-name-verifiedvendor::after{content:"\f058";color:#3b9bff;-webkit-text-fill-color:#3b9bff;text-shadow:0 0 6px rgba(59,155,255,.55)}
.rb-name-respectedvendor{color:#b3d35c;font-weight:700;text-shadow:none;--rb-glow:rgba(179,211,92,.28);animation:rb-name-pulse 3.2s ease-in-out infinite}
.rb-name-respectedvendor::after{content:"\f2b5"}
.rb-name-elitevendor{color:#a5f3fc;font-weight:700;background-image:linear-gradient(90deg,#f5a3ff 0%,#7ee8fa 30%,#a6e06a 60%,#f5a3ff 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-flow 4.5s linear infinite alternate;filter:drop-shadow(0 0 5px rgba(150,220,255,.45))}
.rb-name-elitevendor::after{content:"\f3a5"}
@media (prefers-reduced-motion:reduce){.rb-name-respectedvendor,.rb-name-elitevendor{animation:none!important}}
.rb-name-elitevendor{background-image:linear-gradient(90deg,#ff6fe0 0%,#45d8ff 33%,#a6e06a 66%,#ff6fe0 100%);filter:drop-shadow(0 0 5px rgba(120,200,255,.5))}
/* verified vendor: electric cyan with a moving gleam */
.rb-name-verifiedvendor{color:#22c8ff;font-weight:700;text-shadow:none;background-image:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 60%),linear-gradient(90deg,#00a8ff 0%,#6ff2ff 50%,#00a8ff 100%);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-shine 3.8s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(0,180,255,.5))}
.rb-name-verifiedvendor::after{content:"\f058";color:inherit;-webkit-text-fill-color:transparent;text-shadow:none}
@media (prefers-reduced-motion:reduce){.rb-name-verifiedvendor{animation:none!important}}
/* elite vendor: show more of the holo gradient at once so it never reads as one flat color */
.rb-name-elitevendor{background-image:linear-gradient(90deg,#ff5fd2 0%,#45d8ff 25%,#a6e06a 50%,#ffb86b 75%,#ff5fd2 100%);background-size:200% 100%}

/* community board icons (English names, 2026-10-15) */
.rb-forum[data-name*="brands" i] .rb-forum-icon::before,.rb-forum[data-name*="labs" i] .rb-forum-icon::before{content:"\f0c3"}
.rb-forum[data-name*="cycle log" i] .rb-forum-icon::before{content:"\f02d"}
.rb-forum[data-name*="training" i][data-name*="supplement" i] .rb-forum-icon::before{content:"\f44b"}
.rb-forum[data-name*="crypto" i] .rb-forum-icon::before,.rb-forum[data-name*="bitcoin" i] .rb-forum-icon::before{content:"\f51e"}
.rb-forum[data-name*="brand" i] .rb-forum-icon::before{content:"\f02c"}
.rb-forum[data-name*="cycle log" i] .rb-forum-icon::before{content:"\f46d"}
.rb-forum[data-name*="guide" i] .rb-forum-icon::before{content:"\f518"}

/* profile: mod + admin options side by side under the signature */
.rb-pp-staffopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap);align-items:start}
.rb-pp-staffopts:empty{display:none}
.rb-pp-staffopts > .rb-card{margin:0;min-width:0}

/* footer v2 (2026-10-15): brand + three link columns, quiet bottom bar */
.rb-footer.rb-fv2{margin-top:40px;background:#12141a;border-top:1px solid var(--line)}
.rb-fv2-top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px;padding:38px 0 30px}
.rb-fv2-brand .rb-wordmark{display:inline-flex;margin-bottom:14px;text-decoration:none}
.rb-fv2-brand p{margin:0 0 16px;max-width:340px;color:var(--fg-2);font-size:13.5px;line-height:1.6}
.rb-fv2-countries{display:flex;flex-wrap:wrap;gap:6px}
.rb-fv2-countries span{padding:3px 9px;border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:12px;line-height:1.4}
.rb-footer.rb-fv2 h4{margin:0 0 14px;color:#fff;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}
.rb-footer.rb-fv2 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rb-footer.rb-fv2 ul a{display:inline;color:var(--fg-2);font-size:13.5px;text-decoration:none}
.rb-footer.rb-fv2 ul a:hover{color:#fff}
.rb-footer.rb-fv2 ul a .fa-solid{display:none}
.rb-fv2-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:16px 0 22px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
.rb-fv2-bottom .rb-fv2-copy{color:var(--fg-2)}
.rb-fv2-bottom .rb-fv2-powered{margin-left:auto}
.rb-fv2-bottom a{color:var(--fg-2)}
.rb-fv2-bottom a:hover{color:#fff}
.rb-footer.rb-fv2 .rb-totop{width:32px;height:32px;border:1px solid var(--line-2);border-radius:3px;background:transparent;color:var(--fg-2)}
.rb-footer.rb-fv2 .rb-totop:hover{border-color:var(--accent-2);color:#fff}
@media (max-width:900px){
  .rb-fv2-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
  .rb-fv2-brand{grid-column:1/-1}
}
@media (max-width:560px){
  .rb-fv2-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px;padding:28px 0 22px}
  .rb-fv2-bottom{flex-direction:column;align-items:flex-start;gap:6px}
  .rb-fv2-bottom .rb-fv2-powered{margin-left:0}
  .rb-footer.rb-fv2 .rb-totop{display:none}
}

/* flags option A (owner, 2026-10-15): small round flags, muted until active */
.rb-flag.is-round{clip-path:circle(50% at 50% 50%);border-radius:50%;box-shadow:none}
.rb-cattabs .rb-flag.is-round{width:15px;height:15px;opacity:1;filter:saturate(.45) brightness(.9);transition:filter .15s}
.rb-cattabs a:hover .rb-flag.is-round{filter:saturate(.75)}
.rb-cattabs a.is-active .rb-flag.is-round{filter:none}
.rb-country-gate-flag .rb-flag.is-round{width:40px;height:40px;border-radius:50%;box-shadow:none;filter:saturate(.7)}
.rb-country-gate-top{padding:6px;border:1px solid var(--line-2);border-radius:50%}

/* no permission page v2 (2026-10-15): one centred card, no warning bar */
.rb-error-card:has(.rb-noperm){max-width:460px;margin:24px auto 8px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent-2);border-radius:3px}
.rb-error-card:has(.rb-noperm) > .rb-card-head{display:none}
.rb-error-card:has(.rb-noperm) > .rb-card-body{padding:0}
.rb-noperm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 32px 28px}
.rb-noperm-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:50%;color:var(--fg-2);font-size:19px;margin-bottom:16px}
.rb-noperm .rb-noperm-title{margin:0 0 8px;color:#fff;font-size:20px;font-weight:700;line-height:1.3}
.rb-noperm .rb-noperm-text{margin:0 0 22px;color:var(--fg-2);font-size:14px;line-height:1.6;max-width:340px}
.rb-noperm-form{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left}
.rb-noperm-field{display:flex;flex-direction:column;gap:6px}
.rb-noperm-field span{color:var(--fg);font-size:13px;font-weight:600}
.rb-noperm-field input{width:100%;height:40px}
.rb-noperm .rb-noperm-submit{width:100%;height:42px;margin-top:4px;font-size:14px;font-weight:600;justify-content:center}
.rb-noperm-actions{width:100%;display:flex;flex-direction:column;gap:10px}
.rb-noperm-actions .button{display:flex;align-items:center;justify-content:center;width:100%;height:42px;margin:0;font-size:14px;text-decoration:none}
.rb-noperm-actions .rb-noperm-submit{background:var(--blue,#2d63c7);border-color:var(--blue,#2d63c7);color:#fff}
.rb-noperm-alt{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--fg-2);font-size:13px;text-align:left}
.rb-noperm-alt a{color:var(--link,#7fa6ff)}
@media (max-width:520px){
  .rb-error-card:has(.rb-noperm){margin:12px auto 0}
  .rb-noperm{padding:28px 18px 22px}
  .rb-noperm-alt{flex-direction:column;align-items:flex-start}
}
.rb-noperm .rb-noperm-form .button.rb-noperm-submit,.rb-noperm .rb-noperm-actions .button.rb-noperm-submit{background:var(--blue);border-color:var(--blue);color:#fff}
.rb-noperm .rb-noperm-form .button.rb-noperm-submit:hover,.rb-noperm .rb-noperm-actions .button.rb-noperm-submit:hover{background:#3570d8;border-color:#3570d8;color:#fff}

/* Like system (owner 2026-10-15): one flat Like button per post, no reaction picker */
.rb-react.is-like .rb-like-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--line-2);border-radius:3px;background:transparent;color:var(--fg-2);font-size:13px;font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.rb-react.is-like button.rb-like-btn:hover{border-color:var(--accent-2);color:#fff}
.rb-react.is-like .rb-like-btn .fa-thumbs-up{font-size:13px}
.rb-react.is-like .rb-like-btn .rb-react-n{margin-left:2px;padding-left:8px;border-left:1px solid var(--line-2);color:var(--fg);font-weight:600}
.rb-react.is-like .rb-like-btn.is-mine{border-color:rgba(91,141,239,.55);background:rgba(45,99,199,.14);color:#9cbcff}
.rb-react.is-like .rb-like-btn.is-mine .rb-react-n{border-left-color:rgba(91,141,239,.4);color:#dbe6ff}
.rb-react.is-like span.rb-like-btn{cursor:default}
.rb-react.is-like span.rb-like-btn .rb-like-label{display:none}
.rb-react.is-like span.rb-like-btn .rb-react-n{margin:0;padding:0;border:0}
.rb-react.is-like .rb-like-btn .fa-solid,.rb-react.is-like .rb-like-btn .fa-regular{color:inherit}
.rb-pp-ibtn.is-static,.rb-pp-ibtn.is-static:hover{background:transparent;border-color:transparent;color:var(--fg-2);cursor:default}

/* usergroup banners (2026-10-15): 207 x 47 images (3x files) in the postbit and the profile Groups card */
.rb-post.rb-post .rb-post-group .rb-post-groupimg{display:block;width:207px;max-width:100%;height:auto;max-height:none;margin:0 auto}
.rb-post.rb-post .rb-post-author .rb-post-group:not(:empty){display:flex;justify-content:center}
.rb-pp-group.is-img{display:block;line-height:0}
.rb-pp-group.is-img img{display:block;width:207px;max-width:100%;height:auto}
@media (max-width:760px){
  .rb-post.rb-post .rb-post-author .rb-post-group:not(:empty){grid-column:1 / -1;justify-content:flex-start;margin:10px 0 2px}
}
.rb-post.rb-post .rb-post-author .rb-post-group:not(:empty){flex-direction:column;align-items:center;gap:6px}
@media (max-width:760px){.rb-post.rb-post .rb-post-author .rb-post-group:not(:empty){flex-direction:row;flex-wrap:wrap;justify-content:center}}

/* replies by the thread starter: OP label in the post head, like the first post (no corner marker) */
.rb-topic-posts .rb-post.is-op-reply .rb-post-head::before{content:"OP";display:inline-flex;align-items:center;margin-right:2px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1}

/* owner 2026-10-15: no icons after usernames and group names, colours and effects stay */
[class*="rb-name-"]::after{content:none!important;display:none!important}

/* VIP and Donator thread prefixes (only those groups can pick them) */
.rb-badge.rb-prefix-vip{background:linear-gradient(90deg,#e0a526,#ffe98a 50%,#e0a526);background-size:200% 100%;color:#2a1d02;border-color:transparent;font-weight:700;animation:rb-name-flow 4s ease-in-out infinite alternate}
.rb-badge.rb-prefix-donator{background:linear-gradient(90deg,#ff6ad5,#a46bff);color:#fff;border-color:transparent;font-weight:700}
@media (prefers-reduced-motion:reduce){.rb-badge.rb-prefix-vip{animation:none}}

/* icons for the review boards, Help Center and Bug Reports (2026-10-15) */
.rb-forum[data-name*="omdöm" i] .rb-forum-icon::before,.rb-forum[data-name*="omtal" i] .rb-forum-icon::before,.rb-forum[data-name*="anmeld" i] .rb-forum-icon::before{content:"\f005"}
.rb-forum[data-name*="help center" i] .rb-forum-icon::before{content:"\f1cd"}
.rb-forum[data-name*="bug" i] .rb-forum-icon::before{content:"\f188"}
.rb-forum[data-name*="early access" i] .rb-forum-icon::before{content:"\f135"}
.rb-forum[data-name*="vip lounge" i] .rb-forum-icon::before{content:"\f521"}

/* No online dot on the postbit avatar; the green dot after the name is enough. */
.author_avatar .rb-odot{display:none!important}

/* Forum list, stacked layout (<= 1000px): the last post on one compact line, "Title  4 hours ago by name"; when the
   title is long, "4 hours ago by name" moves to the next line as one piece (owner 2026-10-15: three lines per forum
   looked loose). .rb-forum-last-info only groups the time and the name; on wide screens it is display:contents. */
.rb-forum-last-info{display:contents}
@media (max-width:1000px){
  .rb-forum-last{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;line-height:1.35}
  .rb-forum-last-subject{flex:0 1 auto;min-width:0;max-width:100%}
  .rb-forum-last-info{display:inline-flex;align-items:baseline;gap:4px;flex:none;max-width:100%;font-size:12.5px;color:var(--muted);white-space:nowrap}
  .rb-forum-last-info .rb-forum-last-meta{margin-top:0;font-size:inherit;color:inherit}
  .rb-forum-last-info .rb-forum-last-by{font-size:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis}
  .rb-forum-last-info .rb-forum-last-by a{color:var(--link)}
}

/* Section tabs on phones (owner picked A, 2026-10-15): five equal columns with the icon over the label, so Home,
   Community, Sverige, Norge and Danmark are all visible without sideways scrolling. */
@media (max-width:760px){
  .rb-cattabs,.rb-cattabs.is-ready{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;overflow:visible}
  .rb-cattabs a{flex-direction:column;justify-content:center;gap:5px;height:auto;min-height:54px;padding:8px 2px 7px;font-size:11.5px;line-height:1.1;text-align:center;min-width:0}
  .rb-cattabs a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rb-cattabs a .fa-solid{font-size:15px}
  .rb-cattabs .rb-flag.is-round{width:17px;height:17px}
}

/* ===== 72-forumdisplay.css ===== */
/* ================= FORUM DISPLAY: calm, list-style thread view (loads after the group parts) ================= */
/* top: pagination + post thread, then the sort bar */
.rb-threads-top{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.rb-threads-top-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rb-threads-top-row:empty{display:none}
.rb-threads-top-row .rb-right{margin-left:auto}
.rb-threads-top-row .new_thread_button{height:32px;font-size:13px}
.rb-threads-sortbar{display:flex;align-items:center;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:3px}
.rb-threads-sortbar .rb-sortform{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%}
.rb-threads-sortbar .rb-sortform-ic{display:none}
.rb-threads-sortbar select{width:auto;min-width:150px;height:32px;font-size:12.5px;background-color:#0c0e12}
.rb-threads-sortbar input[type=submit]{height:32px;padding:0 14px;font-size:12.5px}
/* head: plain text links instead of buttons */
.rb-threads .rb-card-tools{gap:16px}
.rb-head-link{color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
.rb-head-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* column labels */
.rb-threads-labels{padding:8px 16px;background:transparent;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.rb-threads-labels a{color:var(--muted)}
.rb-threads-labels a:hover{color:#fff}
.rb-threads-labels .rb-sort img,.rb-threads-labels .rb-sort .fa-solid{opacity:.7}
/* separators: Important / Normal threads */
.rb-trow-sep{display:flex;align-items:center;gap:8px;padding:9px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);border-top:1px solid var(--line);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg-2)}
.rb-trow-sep .fa-solid,.rb-trow-sep.is-sticky .fa-solid,.rb-trow-sep.is-announce .fa-solid{color:var(--muted);font-size:12px;transform:none}
/* rows */
.rb-trow{padding:12px 16px;gap:14px;box-shadow:none!important;background:transparent}
.rb-trow:hover{background:var(--surface-2)}
.rb-trow.trow_selected{background:var(--accent-soft)}
.rb-trow-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.35}
.rb-trow-subject a{color:#fff;font-size:14.5px;font-weight:500}
.rb-trow-subject a:hover{color:var(--accent-2)}
.rb-trow .subject_new a,.rb-trow-subject.subject_new a{font-weight:700}
.rb-trow-ticon img{width:16px;height:16px}
.rb-trow-ticon:empty,.rb-trow-poll:empty,.rb-trow-prefix:empty{display:none}
.rb-trow-unread{display:inline-flex;align-items:center;color:var(--accent-2);font-size:11px;background:transparent;border:0;padding:0;width:auto;height:auto}
.rb-trow-unread:hover{color:#fff}
.rb-trow-attach{color:var(--muted);font-size:12px}
.rb-trow-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:3px;font-size:12.5px}
.rb-trow-meta .author a{font-weight:600}
.rb-trow-meta .thread_start_datetime{color:var(--muted)}
.rb-trow-meta .thread_start_datetime::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f017";margin-right:5px;font-size:11px}
.rb-trow-meta > span + span::before{content:none}
/* prefixes as small solid labels */
.rb-trow .rb-badge,.rb-crumbs .rb-badge{border-radius:2px;height:18px;padding:0 6px;font-size:10.5px;font-weight:700;box-shadow:none;text-transform:uppercase}
.rb-trow .rb-badge.is-amber,.rb-crumbs .rb-badge.is-amber{background:#c98a14;color:#111}
.rb-trow .rb-badge.is-green,.rb-crumbs .rb-badge.is-green{background:var(--green-strong);color:#fff}
.rb-trow .rb-badge.is-blue,.rb-trow .rb-badge.is-accent,.rb-crumbs .rb-badge.is-blue,.rb-crumbs .rb-badge.is-accent{background:var(--accent);color:#fff}
.rb-trow .rb-badge.is-red,.rb-crumbs .rb-badge.is-red{background:#c43c3c;color:#fff}
/* status icon: plain glyph, no box */
.rb-trow .thread_status,.thread_legend .thread_status,.rb-legend .thread_status{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0}
.rb-trow .thread_status{width:28px;height:28px}
.rb-trow .thread_status::after{width:19px;height:19px}
.thread_status::after{background:var(--muted)}
.thread_status[class*="hot"]::after{background:var(--amber)}
.thread_status[class*="new"]::after{background:var(--accent-2)}
.thread_status[class*="lock"]::after,.thread_status[class*="close"]::after{background:#e05d5d}
.thread_status.closefolder{--ts:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}
.thread_status[class*="dot_"]::before{width:7px;height:7px;right:1px;bottom:1px;border-width:2px;box-shadow:none}
/* numbers: value above label */
@media (min-width:761px){
  .rb-th-num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2}
  .rb-th-num .rb-num{font-size:14px;font-weight:500;color:#fff}
  .rb-th-num a.rb-num:hover{color:var(--accent-2)}
  .rb-th-num .rb-num-label{display:block;font-size:12px;color:var(--muted)}
  .rb-th-num.is-dash{color:var(--faint)}
}
/* rating column hidden (stars read as playful) */
.rb-th-rating{display:none!important}
/* last post: "Last Post: name" + date */
.rb-th-last .lastpost{display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.35}
.rb-last-by{color:var(--fg);font-weight:500}
.rb-last-by a{font-weight:600}
.rb-last-date{color:var(--muted);font-size:12px}
.rb-last-date .fa-solid{display:none}
.rb-last-date:hover{color:#fff}
/* bottom: legend and tools quieter */
.rb-threads-toolbar{margin-top:12px}
.rb-threads-toolbar .new_thread_button{height:38px;font-size:13px}
.rb-threads-foot{margin-top:16px;gap:24px}
.thread_legend{font-size:12.5px;gap:6px 18px}
.thread_legend dd{margin:0 8px 0 4px}
.thread_legend .thread_status{width:20px;height:20px}
.thread_legend .thread_status::after{width:15px;height:15px}
.rb-threads-tools .rb-label{font-size:12.5px;color:var(--muted);font-weight:500}
.rb-threads-tools .rb-label .fa-solid{display:none}
.rb-threads-tools select,.rb-threads-tools input[type=text]{height:32px;font-size:12.5px}
.rb-threads-tools .button,.rb-threads-tools input[type=submit]{height:32px;font-size:12.5px;padding:0 12px}
@media (max-width:760px){
  .rb-threads-sortbar select{flex:1 1 calc(50% - 6px);min-width:0}
  .rb-threads .rb-card-tools{gap:12px}
}
.rb-threads-sortbar .rb-sortform{justify-content:flex-start;margin:0}
.rb-threads-sortbar .rb-sortform > *{margin:0}
.rb-threads-labels .rb-sort{color:var(--muted)}
.rb-threads-labels .rb-sort a,.rb-threads-labels .rb-sort.is-active a{color:var(--muted);font-weight:600}
.rb-threads-labels .rb-sort > a + a,.rb-threads-labels .rb-sort .rb-order,.rb-threads-labels .rb-sort [class*="order"]{background:transparent!important;color:var(--fg-2)!important;border:0!important;box-shadow:none!important;width:auto;height:auto;padding:0;margin-left:4px}
.rb-threads-labels .rb-sort > a + a .fa-solid{font-size:11px}
.rb-sort-arrow{background:transparent;color:var(--fg-2);width:auto;height:auto;margin-left:5px;border-radius:0}
.rb-sort-arrow:hover{background:transparent;color:#fff}
.rb-threads-labels .rb-sort:has(.rb-sort-arrow) > a{color:#fff}
/* ===== exact reference layout ===== */
.rb-threads-labels{display:none}
.rb-threads-labels:has(input[name=allbox]){display:flex;justify-content:flex-end;padding:6px 16px}
.rb-threads-labels:has(input[name=allbox]) > :not(.rb-th-mod){display:none}
.rb-trow-sep{padding:10px 16px;background:#16191f;font-size:13px;font-weight:600;color:var(--fg-2)}
.rb-trow-sep .fa-solid{font-size:13px;color:var(--fg-2)}
.rb-trow{padding:13px 16px;gap:16px;border-bottom:1px solid var(--line)}
.rb-th-status{flex:0 0 30px;width:30px;display:flex;justify-content:center}
.rb-trow .thread_status{width:26px;height:26px}
.rb-trow .thread_status::after{width:22px;height:22px}
.rb-trow-subject a{font-size:15.5px;font-weight:400}
.rb-trow-subject.subject_new a,.rb-trow .subject_new a{font-weight:600}
.rb-trow-meta{margin-top:4px;font-size:12.5px;gap:8px}
@media (min-width:761px){
  .rb-trow{display:flex;align-items:center}
  .rb-th-main{flex:1 1 auto;min-width:0}
  .rb-th-stats{display:flex;flex:0 0 auto}
  .rb-th-num{flex:0 0 90px;width:90px}
  .rb-th-num .rb-num{font-size:14px;color:var(--fg-2);font-weight:400}
  .rb-th-num .rb-num-label{font-size:13px;color:var(--fg-2)}
  .rb-th-score{flex:0 0 52px;display:flex;justify-content:center}
  .rb-th-last{flex:0 0 290px;width:290px;display:flex;align-items:center;gap:12px;min-width:0}
}
.rb-th-score span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 7px;background:var(--green-strong);color:#fff;font-size:13px;font-weight:700;border-radius:2px;font-variant-numeric:tabular-nums}
.rb-th-score.is-empty span{display:none}
.rb-lp-avatar{width:38px;height:38px;border-radius:3px;flex:none}
.rb-th-last .lastpost{min-width:0}
.rb-last-by{font-size:13px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-last-by .rb-muted{color:var(--fg);font-weight:600}
.rb-last-date{font-size:12px;color:var(--muted)}
@media (max-width:760px){
  .rb-th-score,.rb-lp-avatar{display:none}
}
@media (max-width:760px){
  .rb-th-last{display:flex;justify-content:flex-start;text-align:left;padding-left:0}
  .rb-th-last .lastpost{align-items:flex-start;text-align:left;margin:0}
}
/* ===== reference copy v2 ===== */
/* top row: pages left (no "Pages" text), Latest Threads + Post Thread right */
.rb-threads-top .pagination .pages{display:none}
.rb-threads-top-row .rb-right{display:flex;gap:8px;align-items:center}
.rb-latest-btn{height:38px;padding:0 18px;font-size:13.5px;background:var(--surface-3)}
.rb-threads-top-row .new_thread_button{height:38px}
/* sort bar: dark strip, grey Go */
.rb-threads-sortbar{padding:14px 16px;background:#12141a;border:1px solid var(--line)}
.rb-threads-sortbar select{height:36px;min-width:170px;background-color:#0e1014;font-size:13px}
.rb-threads-sortbar input[type=submit]{height:36px;background:var(--surface-3);border:1px solid var(--line-2);color:#fff;box-shadow:none;font-weight:700}
.rb-threads-sortbar input[type=submit]:hover{background:var(--surface-4)}
/* threads bar: the flat bar and plain title come from 70-pro.css and 86-m-forum.css; .rb-head-chip is the subscription link */
.rb-head-chip{display:inline-flex;align-items:center;gap:12px;background:rgba(8,16,40,.55);padding:7px 14px;border-radius:2px}
.rb-head-chip .rb-head-link{font-size:13.5px;font-weight:700}
.rb-sub-short{display:inline}
/* separators */
.rb-trow-sep{background:#1a1d24;color:#d0d3da;font-size:13.5px;font-weight:700;padding:11px 18px}
.rb-trow-sep .fa-solid{color:#d0d3da}
/* rows */
.rb-trow{padding:14px 18px;background:#14161b}
.rb-trow:hover{background:#181b21}
.rb-trow-subject a{font-size:16px;font-weight:400;color:#f2f3f5}
/* status icons: solid glyphs (padlock for closed, violet when important) */
.rb-trow .thread_status::after,.thread_legend .thread_status::after,.rb-legend .thread_status::after{-webkit-mask:none!important;mask:none!important;background:none!important;width:auto!important;height:auto!important;font-family:"Font Awesome 6 Free";font-weight:900;content:"\f075";color:#7d8390;font-size:22px;line-height:1}
.thread_legend .thread_status::after,.rb-legend .thread_status::after{font-size:15px}
.rb-trow .thread_status[class*="new"]::after,.thread_legend .thread_status[class*="new"]::after{color:#fff}
.rb-trow .thread_status[class*="hot"]::after,.thread_legend .thread_status[class*="hot"]::after{content:"\f06d";color:var(--amber)}
.rb-trow .thread_status[class*="close"]::after,.rb-trow .thread_status[class*="lock"]::after,.thread_legend .thread_status[class*="close"]::after{content:"\f023";color:#d94848}
.rb-trow.forumdisplay_sticky .thread_status[class*="close"]::after,.rb-trow.forumdisplay_sticky .thread_status[class*="lock"]::after{color:var(--accent-2)}
.rb-trow .thread_status[class*="dot_"]::before{width:8px;height:8px;right:-1px;bottom:-1px;border:2px solid #14161b;background:var(--green)}
/* prefixes: solid labels with white text */
.rb-trow .rb-badge,.rb-crumbs .rb-badge{height:20px;padding:0 6px;font-size:12px;font-weight:700;color:#fff!important;border-radius:2px;letter-spacing:.02em}
.rb-trow .rb-badge.is-amber,.rb-crumbs .rb-badge.is-amber{background:#e8821c}
.rb-trow .rb-badge.is-red,.rb-crumbs .rb-badge.is-red{background:#c8302e}
.rb-trow .rb-badge.is-green,.rb-crumbs .rb-badge.is-green{background:var(--green-strong)}
/* meta: author + clock + "x ago" */
.rb-trow-meta{gap:10px;margin-top:5px}
.rb-trow-meta .author a{font-weight:600;font-size:13px}
.rb-trow-meta .thread_start_datetime{font-size:12.5px;color:#b9bcc6}
.rb-trow-meta .thread_start_datetime::before{color:#b9bcc6}
/* numbers + score + last post */
@media (min-width:761px){
  .rb-th-num .rb-num{font-size:15px;color:#c9ccd4}
  .rb-th-num .rb-num-label{font-size:14px;color:#c9ccd4}
}
.rb-th-score span{min-width:44px;height:32px;font-size:14px;background:var(--green-strong);border-radius:2px}
.rb-lp-avatar{width:44px;height:44px;border-radius:2px;border:0}
.rb-last-by{font-size:14px}
.rb-last-by .rb-muted{color:#fff;font-weight:500}
.rb-last-date{font-size:12.5px;color:#c9ccd4}
@media (max-width:760px){
  .rb-latest-btn{display:none}
  .rb-head-chip{padding:5px 10px;gap:10px}
}
/* ===== remove playful extras ===== */
.rb-trow .rb-th-status::before,.rb-trow .rb-th-main::before,.rb-trow-title::before,.rb-trow.forumdisplay_sticky .rb-trow-title::before,.rb-trow.forumdisplay_sticky .rb-th-status::after{display:none!important;content:none!important}
.rb-trow-unread{display:none}
.rb-trow .thread_status[class*="dot_"]::before{display:none}
.rb-trow.is-announcement .rb-badge{display:none}
.rb-trow.is-announcement .thread_status::after{content:"\f0a1";color:#c9ccd4}
.rb-trow.is-announcement{background:#14161b}
.rb-trow.is-announcement .rb-trow-subject a{font-weight:400}
.rb-trow.forumdisplay_sticky{background:#14161b}
.thread_legend{opacity:.85}
/* ===== likes instead of the rating box (owner 2026-10-15) =====
   .rb-th-likes sits inside .rb-th-stats, which is display:contents on desktop, so it takes the old score column
   (5th grid track). It is always printed and empty when the first post has no likes: the column stays in place on
   desktop and the cell drops out of the phone stats line (:empty). */
.rb-card.rb-threads .rb-trow .rb-th-likes{display:flex;align-items:center;justify-content:center;min-width:0}
.rb-th-like{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;line-height:1.2;color:var(--fg-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-th-like .fa-solid{font-size:12px;color:var(--muted)}
.rb-trow:hover .rb-th-like .fa-solid{color:var(--fg-2)}
/* a deleted-thread row has no likes cell: keep its last post in the last post column */
@media (min-width:761px){
  .rb-card.rb-threads .rb-trow.is-deleted > .rb-th-last{grid-column:6}
}
@media (max-width:760px){
  .rb-card.rb-threads .rb-trow .rb-th-likes{display:inline-flex;align-items:center;gap:5px;flex:none;width:auto}
  .rb-card.rb-threads .rb-trow .rb-th-likes:empty{display:none}
  .rb-card.rb-threads .rb-trow .rb-th-likes::before{content:"\00b7";margin:0 4px 0 0;color:var(--faint)}
  .rb-th-like{font-size:13.5px}
}

/* ===== 80-responsive.css ===== */
/* ---- generic mobile fallbacks for untouched templates ---- */
@media (max-width:760px){
  .rb-content{padding:10px 0 32px}
  .rb-card-head{padding:6px 12px;flex-wrap:wrap}
  .rb-card-body{padding:12px 14px}
  .rb-card-tools{margin-left:auto}
  table.tborder{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.tborder > tbody,table.tborder > thead{display:table;width:100%;min-width:100%}
  .rb-fields{grid-template-columns:minmax(0,1fr);gap:6px 0}
  .rb-fields > .rb-label{padding-top:0;margin-top:8px}
  .rb-fields > .rb-label:first-child{margin-top:0}
  .rb-form-actions{justify-content:stretch}
  .rb-form-actions .rb-btn,.rb-form-actions .button,.rb-form-actions input[type=submit]{flex:1 1 auto}
  .modal{width:calc(100vw - 20px)}
  .rb-toolbar{gap:8px}
  .rb-toolbar .rb-right{margin-left:0;flex-basis:100%}
  .thead .float_right{float:none;display:block;margin-top:4px}
  .pagination a,.pagination .pagination_current{min-width:34px;height:34px}
  .pagination .pages{flex-basis:100%;margin:0 0 4px}
}
@media (max-width:420px){
  .rb-wrap{padding:0 10px}
  .rb-card-body{padding:12px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .rb-topbar,.rb-hero,.rb-footer,.rb-crumbs,.rb-cattabs,.rb-totop-float{display:none!important}
  body{background:#fff;color:#000}
}

/* rb_shoutbox 1.4 sticky */
.rb-sb-pinned{display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,122,89,.06),transparent);padding-bottom:4px;margin-bottom:4px}
.rb-sb-msg.is-pinned{box-shadow:inset 3px 0 0 #ff7a59;background:rgba(255,122,89,.04)}
.rb-sb-msg.is-pinned:hover{background:rgba(255,122,89,.08)}
.rb-sb-msg.is-pinned.is-mention{box-shadow:inset 3px 0 0 #ff7a59,inset 6px 0 0 var(--accent-2)}
.rb-sb-pin-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;color:#ff7a59;font-size:11px;vertical-align:middle}
.rb-sb-pin-badge .fa-thumbtack{transform:rotate(-20deg)}
.rb-sb-act.rb-sb-pin{color:var(--text-muted)}
.rb-sb-act.rb-sb-pin.is-pinned{color:#ff7a59}
.rb-sb-act.rb-sb-pin:hover{color:#ff7a59}

/* rb_scam_banner 1.0 */
.rb-scam-banner{display:flex;align-items:center;gap:10px;padding:9px 14px;margin:0 0 12px;border-radius:6px;background:linear-gradient(90deg,#5a1b1b 0%,#3a1414 100%);color:#ffd7d7;border:1px solid #7a2626;font-size:13px;font-weight:600;box-shadow:inset 3px 0 0 #ff4d4f}
.rb-scam-banner i.fa-triangle-exclamation{color:#ff6b6b;font-size:15px}
.rb-scam-banner-link{margin-left:auto;color:#ffd7d7;background:rgba(255,77,79,.22);padding:3px 10px;border-radius:4px;text-decoration:none;font-size:12px;font-weight:600;border:1px solid rgba(255,77,79,.5)}
.rb-scam-banner-link:hover{background:rgba(255,77,79,.42);color:#fff}

/* ===== 84-owner.css ===== */
/* Small owner requests applied directly (2026-10-15). Loads after 80-responsive.css and before the 85-89 mobile files.
   Thread page: no "Next Oldest / Next Newest" buttons and no "Search Thread" box under the posts. */
.rb-topic-foot{display:none!important}
/* Editor: no "Image" button in the editor bar (pasting or dropping images and the attachments box still work). */
.rb-ed-tool.is-image{display:none!important}
/* Thread title bar: no copy link icon and no view counter. */
.rb-topic-tools .rb-topic-share,.rb-topic-tools .rb-topic-stat{display:none!important}
/* Thread tools under the posts: no printable version and no "send this thread to a friend". */
.rb-topic-toollist li.printable,.rb-topic-toollist li.sendthread,.thread_tools li.printable,.thread_tools li.sendthread{display:none!important}
/* Post author block (owner 2026-10-15): REP | LIKES counters at the top (template + rb_postbit), Posts, Threads and Joined
   at the bottom. Desktop column: the usual rows under the banners and awards. Phones: only the main group's banner
   (rb_postbit lists the display group first; the profile and the desktop column show them all), then the awards, then Posts | Threads | Joined as one strip of equal columns. */
@media (max-width:760px){
  .rb-post.rb-post .rb-post-author .rb-post-group:not(:empty){display:flex;justify-content:center;margin:10px 0 0}
  .rb-post.rb-post .rb-post-author .rb-post-group .rb-post-groupimg:not(:first-child){display:none}
  .rb-post.rb-post .rb-post-author .rb-post-group{order:1}
  .rb-post.rb-post .rb-post-author .rb-aw-post{order:2}
  .rb-post.rb-post .rb-post-author .rb-post-stats{order:3;grid-area:auto;grid-column:1 / -1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:10px 0 0;border:1px solid var(--line);border-radius:3px;background:var(--surface)}
  .rb-post.rb-post .rb-post-author .rb-post-stats.is-guest{display:none}
  .rb-post.rb-post .rb-post-author .rb-ps{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:7px 4px;border:0;text-align:center}
  .rb-post.rb-post .rb-post-author .rb-ps + .rb-ps{border-left:1px solid var(--line)}
  .rb-post.rb-post .rb-post-author .rb-ps dt{gap:0;font-size:10px;letter-spacing:.07em;color:var(--muted)}
  .rb-post.rb-post .rb-post-author .rb-ps dt .fa-solid{display:none}
  .rb-post.rb-post .rb-post-author .rb-ps dd{margin:0;font-size:13px;white-space:nowrap}
  .rb-post.rb-post .rb-post-author .rb-post-service{order:4}
  /* no Warning level on phones (staff still see it on desktop and in the ModCP) */
  .rb-post.rb-post .rb-post-author .rb-ps-warn{display:none}
}
/* Posts waiting for approval: the amber line sits on the post's own left border, so the user title band in the author
   column no longer cuts it; it runs the full height of the post (author column and message). */
.rb-post.rb-post.unapproved_post{border-left:3px solid rgba(210,153,34,.6)!important}
.rb-post.rb-post.unapproved_post .rb-post-author{box-shadow:none!important}
/* Registration terms (owner 2026-10-19): short sections with small headings. */
.rb-agreement .rb-agree-lead{color:var(--fg);font-size:14.5px}
.rb-agreement .rb-agree-h{display:flex;align-items:center;gap:9px;margin:18px 0 6px;font-size:14px;font-weight:700;color:#fff}
.rb-agreement .rb-agree-h .fa-solid{width:16px;text-align:center;color:var(--accent-2);font-size:13px}
.rb-agreement .rb-agree-h + p{margin-top:0}
.rb-agreement .rb-agree-last{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

/* ===== 85-m-global.css ===== */
/* Mobile and tablet fixes for the global chrome and the index (2026-10-18). Loads after 70-pro, 80-responsive and
   84-owner, so equal specificity is enough here. Desktop above 1100px only gets the category collapse fix (G1) and the
   tap to open user menu state, which only rb.js turns on at 1100px and below or on touch screens. */

/* G1: category collapse. 30-components hides every .thead .expcolimage img, but MyBB binds its click to that img.
   Show it again as the transparent full size overlay (30-components .expcolimage img), above the masked chevron. */
.rb-cat-head.thead .expcolimage img{display:block;z-index:1}

/* G2: user menu opens on tap. rb.js adds .is-toggle (touch or 1100px and below) and toggles .is-open, so hover and
   focus no longer open or keep it open there (sticky hover on phones would stop it from closing). */
.rb-user.is-toggle .rb-user-menu{opacity:0;visibility:hidden;transform:translateY(-4px)}
.rb-user.is-toggle.is-open .rb-user-menu{opacity:1;visibility:visible;transform:none}
.rb-user.is-toggle .rb-user-menu{max-width:calc(100vw - 24px);max-height:calc(100vh - var(--topbar-h) - 24px);overflow-y:auto;overscroll-behavior:contain}
.rb-user.is-toggle .rb-user-menu ul a{min-height:40px}
.rb-user.is-toggle .rb-user-menu .rb-menu-meta{font-size:12px}
.rb-user.is-toggle.is-open .rb-user-btn{background:var(--surface-3);color:#fff}
@media (hover:none){.rb-user.is-toggle:not(.is-open) .rb-user-btn{background:transparent;color:var(--fg)}}

@media (max-width:1100px){
  /* G1: 36px chevron box on touch widths */
  .rb-cat-head .expcolimage{width:36px;height:36px}

  /* G4: labels and counters at 12px or more */
  .rb-forum-stat span{font-size:12px}
  .rb-stat-label,.rb-stats-row .rb-stat .rb-stat-label{font-size:12px}
  .rb-uc .rb-uc-visit{font-size:12px}
  .rb-uc .rb-uc-badge{font-size:12px}
  .rb-topbar-right .rb-count{min-width:18px;height:18px;padding:0 4px;font-size:12px;line-height:18px;top:0;right:0}
  .rb-user-menu .rb-menu-head span.rb-menu-visit{font-size:12px}

  /* G5: tap targets of 36px */
  .rb-footer.rb-fv2 ul{gap:0}
  .rb-footer.rb-fv2 ul a{display:inline-flex;align-items:center;min-height:36px;min-width:36px}
  .rb-card-foot.is-action .rb-btn{height:36px}
  .rb-side-ann a.rb-iconsquare{min-width:36px;height:36px}
  .rb-uc .rb-uc-acts a{height:36px}
  .rb-forum .rb-subforums .rb-subforum,.rb-forum .rb-subforums .rb-subforum:nth-of-type(even){height:36px}
  /* breadcrumb links: bigger hit area, same bar height on one line; wrapped lines get a 36px pitch so the areas do not overlap */
  .rb-crumbs-bar .rb-crumbs a{padding:8px 4px;margin:-8px -4px}
  .rb-crumbs-bar .rb-crumbs{row-gap:16px}

  /* G9: toast close button and the alerts "Mark all read" button */
  .rb-toasts .rb-toast-close{width:36px;height:36px;margin:-8px -4px -8px 0}
  .rb-alerts-menu .rb-alerts-markall{min-height:36px;padding:0 8px;margin:-9px -8px -9px auto}

  /* G10: guest Register button as tall as the Login button */
  .rb-topbar-right > a.register{height:36px}
}

@media (max-width:760px){
  /* G4: bottom nav labels and badges, section tabs, hero tagline */
  .rb-mnav .rb-mnav-item{font-size:12px}
  .rb-mnav .rb-mnav-ic .rb-count{min-width:18px;height:18px;font-size:12px;line-height:18px}
  .rb-cattabs a{padding:8px 0 7px;font-size:12px;letter-spacing:-.02em}
  .rb-logo .rb-tagline{font-size:12px;letter-spacing:.18em}
}

/* ===== 86-m-forum.css ===== */
/* Forum display (thread list) and the new thread / edit post forms: phone and tablet fixes (2026-10-19).
   Loads after 70-pro, 72-forumdisplay and 85-m-global. The thread list rules in 70-pro.css go up to 0,4,0
   specificity, so every row selector here starts with .rb-card.rb-threads .rb-trow.
   Templates that go with this file: forumdisplay_thread (data-replies on the row; .rb-trow-meta-in wrapper and the
   .rb-trow-count copies of the counts in the meta line), forumdisplay_thread_modbit (<label> around the checkbox),
   forumdisplay_announcements_announcement (.rb-trow-meta-in and .rb-trow-ann-date in the meta line). */

/* ================= all widths ================= */

/* Card head: the same flat blue bar and plain white title as every other card head (no dark chip). */
.rb-card.rb-threads > .rb-card-head{min-height:46px;padding:8px 16px;background:linear-gradient(90deg,#27457f 0%,#203a6d 100%);border-bottom:1px solid #2d4c8e}
.rb-card.rb-threads > .rb-card-head .rb-card-title{display:flex;align-items:center;height:auto;margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none;font-size:14px;font-weight:600;letter-spacing:-.005em;color:#fff}

/* Section labels (Forum announcements, Important threads, Normal threads): 12px, not 11px. */
.rb-card.rb-threads .rb-trow-sep{height:32px;font-size:12px}

/* Core prints &nbsp; when a thread has no post icon, so the slot is never :empty. Drop it unless it holds an image,
   otherwise the title starts 8px to the right of the meta line. */
.rb-card.rb-threads .rb-trow .rb-trow-ticon:not(:has(img)){display:none}

/* The meta line repeats the counts and the announcement date for phones (.rb-trow-count, .rb-trow-ann-date); desktop
   shows them in their own columns, and the inner wrapper does not take part in the desktop layout. */
.rb-card.rb-threads .rb-trow .rb-trow-meta-in{display:contents}
.rb-card.rb-threads .rb-trow .rb-trow-count,.rb-card.rb-threads .rb-trow .rb-trow-ann-date{display:none}

/* Guests: the top bar holds only the hidden Latest Threads button, so it left an empty 12px block above the card. */
.rb-threads-top:not(:has(.new_thread_button,.pagination)){display:none}

/* Legend: the same glyphs and colours as the row icons (file for threads, flame for hot, padlock for closed). */
.rb-threads-legend .thread_legend .thread_status::after{content:"\f15c";color:var(--fg-2)}
.rb-threads-legend .thread_legend .thread_status[class*="new"]::after{content:"\f15c";color:var(--accent-2)}
.rb-threads-legend .thread_legend .thread_status[class*="hot"]::after{content:"\f06d";color:#e05d5d}
.rb-threads-legend .thread_legend .thread_status[class*="close"]::after{content:"\f023";color:var(--muted)}

/* Touch screens have no hover: show the moderation checkboxes all the time. */
@media (hover:none){
  .rb-card.rb-threads .rb-trow .rb-th-mod,.rb-card.rb-threads .rb-trow .rb-th-mod input[type=checkbox]{opacity:1}
}

/* ================= desktop and tablet (761px and up) ================= */
@media (min-width:761px){
  /* Title as one inline flow, so a prefix chip and a long title wrap together instead of the chip sitting alone
     on its own line. Chips keep a 6px gap to the text. */
  .rb-card.rb-threads .rb-trow .rb-trow-title{display:block}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-prefix{margin-right:2px}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-solved-tag{margin-right:6px}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-pending-tag{margin-left:6px}
  .rb-card.rb-threads .rb-trow .rb-trow-ticon img{margin-right:8px}
  /* the whole moderation cell toggles the checkbox (the cell is a <label>) */
  .rb-card.rb-threads .rb-trow .rb-th-mod{align-self:stretch;cursor:pointer}
}

/* ================= tablet (761px to 1000px) ================= */
@media (min-width:761px) and (max-width:1000px){
  /* narrower number and last post columns and 8px gaps, so the title column gets about 300px at 768 (260px with
     the moderation column) instead of 116px */
  .rb-card.rb-threads .rb-trow,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:44px minmax(0,1fr) 56px 56px 44px 160px;column-gap:8px;min-height:72px}
  .rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:44px minmax(0,1fr) 56px 56px 44px 160px 40px}
  .rb-card.rb-threads .rb-trow .rb-th-main{padding:12px 12px 12px 0}
  .rb-card.rb-threads .rb-trow .rb-th-num .rb-num-label{font-size:12.5px}
  .rb-card.rb-threads .rb-trow .rb-th-last{gap:0;padding-left:8px}
  .rb-card.rb-threads .rb-trow .rb-th-last .rb-lp-avatar{display:none}
  .rb-card.rb-threads .rb-trow .rb-last-by{font-size:13px}
  .rb-card.rb-threads .rb-trow.is-announcement .rb-last-date{white-space:normal}
  .rb-card.rb-threads .rb-trow .rb-trow-meta{flex-wrap:wrap;gap:2px 10px}
  .rb-card.rb-threads .rb-trow .rb-thread-pages{flex-wrap:wrap;max-width:100%}
  .rb-card.rb-threads .rb-trow .rb-th-mod{min-height:44px}
  .rb-card.rb-threads .rb-trow .rb-th-mod input[type=checkbox]{width:18px;height:18px}
}

/* ================= phone (760px and down) ================= */
@media (max-width:760px){
  .rb-card.rb-threads > .rb-card-head{padding:8px 12px}

  /* ---- row: icon | title (up to 2 lines) / one meta line / last reply line (only with replies) ---- */
  .rb-card.rb-threads .rb-trow,.rb-card.rb-threads .rb-trow:has(> .rb-th-mod){display:block;position:relative;min-height:0;padding:12px 12px 12px 42px;grid-template-areas:none;grid-template-columns:none}
  .rb-card.rb-threads .rb-trow .rb-th-main{display:block;min-width:0;padding:0}
  /* the counts are repeated in the meta line (.rb-trow-count), so the desktop number cells go */
  .rb-card.rb-threads .rb-trow .rb-th-stats{display:none}

  /* status icon: small, top aligned with the first title line */
  .rb-card.rb-threads .rb-trow .rb-th-status{position:absolute;left:12px;top:12px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin:0}
  .rb-card.rb-threads .rb-trow .rb-th-status .thread_status{width:20px;height:20px}
  .rb-card.rb-threads .rb-trow .rb-th-status .thread_status::after{font-size:16px}

  /* title: prefix chip and text in one flow, no indent, 2 lines at most */
  .rb-card.rb-threads .rb-trow .rb-trow-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0;margin:0;font-size:15px;line-height:20px}
  .rb-card.rb-threads .rb-trow:has(> .rb-th-mod input) .rb-trow-title{margin-right:30px}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-trow-subject a{font-size:15px}
  .rb-card.rb-threads .rb-trow .rb-trow-subject.subject_new::before{content:none;display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-ticon img{margin-right:6px}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-prefix{top:-1px;height:20px;margin-right:2px;padding:0 6px;font-size:12px;vertical-align:middle}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-solved-tag{height:20px;margin-right:6px;font-size:12px;vertical-align:middle}
  .rb-card.rb-threads .rb-trow .rb-trow-title .rb-pending-tag{height:20px;margin-left:6px;font-size:12px;vertical-align:middle}
  .rb-card.rb-threads .rb-trow .rb-trow-poll{height:20px;font-size:12px}
  .rb-card.rb-threads .rb-trow .rb-thread-pages{display:none}

  /* one muted meta line: author · time · N replies · N views (· likes). Every piece starts with a 14px dot; the
     inner box is pulled 14px to the left and the outer box clips it, so the first piece on each line (also after a
     wrap) never shows a dot. */
  .rb-card.rb-threads .rb-trow .rb-trow-meta{display:block;overflow:hidden;min-width:0;font-size:12.5px;line-height:18px;color:var(--muted);white-space:nowrap}
  .rb-card.rb-threads .rb-trow .rb-trow-meta-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0;margin-left:-14px}
  .rb-card.rb-threads .rb-trow .rb-trow-meta-in > *{flex:none;min-width:0;max-width:100%;margin:0;font-size:12.5px;line-height:18px;color:var(--muted)}
  .rb-card.rb-threads .rb-trow .rb-trow-meta-in > *::before{content:"\00b7";display:inline-block;width:14px;margin:0;text-align:center;font-family:var(--font);font-weight:400;color:var(--faint)}
  .rb-card.rb-threads .rb-trow .rb-trow-meta-in > .rb-trow-by{display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-meta .author{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
  .rb-card.rb-threads .rb-trow .rb-trow-meta .author a{font-size:12.5px;font-weight:600}
  .rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime{display:block;color:var(--muted)}
  .rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime .fa-solid{display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-count{display:block;white-space:nowrap}
  .rb-card.rb-threads .rb-trow .rb-trow-count b{font-weight:600;color:var(--fg-2)}
  .rb-card.rb-threads .rb-trow .rb-trow-count .rb-trow-count-l{text-transform:lowercase}
  .rb-card.rb-threads .rb-trow .rb-trow-count .rb-unapproved{margin-left:3px;font-size:12px}
  .rb-card.rb-threads .rb-trow .rb-trow-count.is-likes:empty{display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-count .rb-th-like{display:inline-flex;align-items:baseline;gap:4px;font-size:12.5px;color:var(--fg-2)}
  .rb-card.rb-threads .rb-trow .rb-trow-count .rb-th-like .fa-solid{font-size:11.5px;color:var(--muted)}
  /* "1 reply" and "1 view", not "1 replies" (the counts are already formatted, so 1 prints as "1") */
  .rb-card.rb-threads .rb-trow .rb-trow-count[data-n="1"] .rb-trow-count-l{display:none}
  .rb-card.rb-threads .rb-trow .rb-trow-count.is-replies[data-n="1"]::after{content:"reply"}
  .rb-card.rb-threads .rb-trow .rb-trow-count.is-views[data-n="1"]::after{content:"view"}
  /* moved threads print "-" for both counts */
  .rb-card.rb-threads .rb-trow .rb-trow-count[data-n="-"]{display:none}

  /* last reply line, only when the thread has replies */
  .rb-card.rb-threads .rb-trow .rb-th-last{display:flex;align-items:center;gap:6px;min-width:0;width:auto;margin:6px 0 0;padding:0;border:0;font-size:12.5px;line-height:18px}
  .rb-card.rb-threads .rb-trow .rb-th-last::before{content:"Last reply";flex:none;color:var(--muted)}
  .rb-card.rb-threads .rb-trow .rb-th-last .rb-lp-avatar{display:block;flex:none;width:18px;height:18px;border-radius:50%}
  .rb-card.rb-threads .rb-trow .rb-th-last .lastpost{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:0;min-width:0;margin:0}
  .rb-card.rb-threads .rb-trow .rb-last-by{display:block;min-width:0;font-size:12.5px;font-weight:600;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rb-card.rb-threads .rb-trow .rb-last-by a{font-weight:600}
  .rb-card.rb-threads .rb-trow .rb-last-by .rb-last-label{display:none}
  .rb-card.rb-threads .rb-trow .rb-last-date{display:block;flex:none;margin:0;font-size:12.5px;color:var(--muted);white-space:nowrap}
  .rb-card.rb-threads .rb-trow .rb-last-by + .rb-last-date::before{content:"\00b7";margin:0 6px;color:var(--faint)}
  .rb-card.rb-threads .rb-trow[data-replies="0"] .rb-th-last,.rb-card.rb-threads .rb-trow[data-replies="-"] .rb-th-last,.rb-card.rb-threads .rb-trow .rb-th-last.is-dash{display:none}

  /* announcement: title, then "author · date" */
  .rb-card.rb-threads .rb-trow.is-announcement .rb-th-last,.rb-card.rb-threads .rb-trow.is-announcement .rb-th-mod{display:none}
  .rb-card.rb-threads .rb-trow.is-announcement .rb-trow-ann-date{display:block;white-space:nowrap}

  /* moderation checkbox: top right of the row, 36px hit box (the cell is a <label>) */
  .rb-card.rb-threads .rb-trow .rb-th-mod{position:absolute;top:4px;right:4px;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;opacity:1;cursor:pointer}
  .rb-card.rb-threads .rb-trow .rb-th-mod input[type=checkbox]{width:18px;height:18px;margin:0;opacity:1}

  /* the whole row opens the thread; author, last reply and the checkbox stay their own links */
  .rb-card.rb-threads .rb-trow .rb-trow-subject a::after{content:"";position:absolute;inset:0}
  .rb-card.rb-threads .rb-trow .rb-trow-meta .author a,.rb-card.rb-threads .rb-trow .rb-th-last a,.rb-card.rb-threads .rb-trow .rb-trow-unread{position:relative;z-index:1}

  /* ---- pagination: one line of 36px items at 375px (previous, 5 pages, next, jump); it may still wrap on 320px ---- */
  .rb-threads-top .pagination,.rb-threads-toolbar .pagination{flex-wrap:wrap;gap:4px;max-width:100%}
  .rb-threads-top .pagination a,.rb-threads-top .pagination .pagination_current,.rb-threads-toolbar .pagination a,.rb-threads-toolbar .pagination .pagination_current{min-width:36px;height:36px;padding:0 8px}
  .rb-threads-top .pagination .pagination_previous,.rb-threads-top .pagination .pagination_next,.rb-threads-toolbar .pagination .pagination_previous,.rb-threads-toolbar .pagination .pagination_next{width:36px;padding:0;font-size:0;justify-content:center}
  .rb-threads-top .pagination .pagination_previous .fa-solid,.rb-threads-top .pagination .pagination_next .fa-solid,.rb-threads-toolbar .pagination .pagination_previous .fa-solid,.rb-threads-toolbar .pagination .pagination_next .fa-solid{font-size:13px}
  .rb-threads-top .pagination .pagination_first,.rb-threads-top .pagination .pagination_last,.rb-threads-top .pagination .rb-pager-gap,.rb-threads-toolbar .pagination .pagination_first,.rb-threads-toolbar .pagination .pagination_last,.rb-threads-toolbar .pagination .rb-pager-gap,.rb-threads-toolbar .pagination .pages{display:none}
  .rb-threads-top .pagination .go_page,.rb-threads-toolbar .pagination .go_page{width:36px;padding:0}

  /* ---- bottom: legend in two columns, moderation bar on one line ---- */
  .rb-threads-legend .rb-legend{grid-template-columns:repeat(2,auto minmax(0,1fr));gap:6px 8px;font-size:12px}
  .rb-threads-legend .thread_legend dd{margin:0;white-space:normal}
  .rb-threads-tools .rb-threads-inlinemod{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
  .rb-threads-tools .rb-threads-inlinemod .rb-label{grid-column:1 / -1}
  .rb-threads-tools .rb-threads-inlinemod select,.rb-threads-tools .rb-threads-inlinemod .button,.rb-threads-tools .rb-threads-inlinemod input[type=submit],.rb-threads-tools .rb-threads-inlinemod input[type=button]{height:40px;margin:0}

  /* moderators and users browsing: names are inline links, give them a taller hit area without moving the text */
  .rb-forumdisplay .rb-forum-meta .rb-forum-metaitem a{padding:10px 2px;margin:-10px -2px}

  /* ---- iOS zooms in on fields under 16px: thread list tools and the posting forms ---- */
  .rb-forumdisplay :is(input.textbox,input[type=text],input[type=number],input[type=search],select,textarea),
  .rb-posting :is(form[action^="newthread.php"],form#editpost) :is(input.textbox,input[type=text],input[type=number],select,textarea){font-size:16px}

  /* ---- new thread / edit post: post icon chips and option rows at 36px ---- */
  .rb-compose-icons .rb-icons .rb-icon-chip{height:36px;min-width:36px}
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .rb-compose-opts .rb-popt .rb-check{min-height:36px;align-items:center}
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .rb-compose-opts .rb-popt .rb-check input{margin:0}
}

/* ===== 87-m-thread.css ===== */
/* Thread area fixes for phones and tablets (2026-10-19): showthread, posts, quick reply, new reply, report / rate popups.
   Loads after 70-pro, 80-responsive, 84-owner and 85-m-global, so equal specificity wins here. Desktop above 1024px only
   gets the fixes that were wrong at every width (popup backdrop, long names, quote header, PHP colours, quick edit buttons,
   12px minimum text, post number alignment). Never give .rb-post, .rb-post-main, .rb-post-foot or .rb-pa-more a position:
   MyBB's popup menus are placed with page offsets (see postbit.css). */

/* T1: popup backdrop. The theme replaced MyBB's global.css, which held jquery-modal's own .blocker layout, so the wrapper
   was a 0px tall block at the end of the page: no dimming, and taps outside the popup reached the links under it.
   This puts that layout back for every MyBB popup (report, rate, who posted, login). jquery-modal closes the popup on a
   tap on the dim area itself. The .modal box keeps its own fixed, centred position (30-components / 70-pro). */
.jquery-modal.blocker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;overflow:auto;padding:16px;box-sizing:border-box;background:rgba(0,0,0,.72)}
.jquery-modal.blocker.behind{background:transparent}

/* T2: long usernames wrap inside their column (70-pro sets every [class*="rb-name-"] to nowrap, which pushed long names
   over the REP / LIKES counters on phones and out of the card). Same override as profile-v2 and vipstyle. */
.rb-post .rb-post-name a{min-width:0;max-width:100%}
.rb-post .rb-post-name [class*="rb-name-"],
.rb-topic-by [class*="rb-name-"],
.rb-browsing-list [class*="rb-name-"]{white-space:normal;overflow-wrap:anywhere}

/* T3: quote header. MyBB prints <cite><span> (date)</span>NAME Wrote: <a class="quick_jump"></cite>. Name and the jump
   arrow come first, the date follows as quiet 12px text: on its own line on phones, at the right on wider screens. */
.post_body .mycode_quote cite{flex-wrap:wrap;gap:2px 8px}
.post_body .mycode_quote cite > span{order:3;flex:1 1 100%;min-width:0;font-weight:400;font-size:12px;color:var(--muted)}
@media (min-width:761px){
  .post_body .mycode_quote cite > span{flex:0 1 auto;margin-left:auto}
}
/* the 20px jump arrow keeps its look, with a 36px hit area (insets count from inside the 1px border) */
.post_body .rb-post-jump{position:relative}
.post_body .rb-post-jump::after{content:"";position:absolute;inset:-9px}

/* T4: [php] blocks keep PHP's inline light theme colours (highlight_string). Remap them for the dark code background,
   inline style needs !important. No green here: green is only for positive states. */
.phpcodeblock code [style*="#0000BB" i]{color:var(--link)!important}
.phpcodeblock code [style*="#007700" i]{color:var(--fg-2)!important}
.phpcodeblock code [style*="#DD0000" i]{color:var(--red)!important}
.phpcodeblock code [style*="#FF8000" i]{color:var(--amber)!important}
.phpcodeblock code [style*="#000000" i]{color:var(--fg)!important}

/* T5: quick edit. jeditable builds <button type="submit"> Save Changes and <button type="cancel"> Cancel Edit, which
   had the browser's default grey look. Same flat buttons as the rest of the board, 36px tall, 8px apart. */
.rb-post .post_body form button{display:inline-flex;align-items:center;justify-content:center;height:36px;margin:8px 8px 0 0;padding:0 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);box-shadow:none;color:var(--fg);font:500 13px/1 var(--font);white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.rb-post .post_body form button:hover{background:var(--surface-4);border-color:#363d48;color:#fff}
.rb-post .post_body form button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-post .post_body form button[type=submit]:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}
.rb-post .post_body form button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.rb-post .post_body form input[type=submit],.rb-post .post_body form input[type=button]{height:36px}

/* T6: text under 12px in posts. Labels keep their uppercase look with a little less letter spacing */
.rb-post .rb-post-counters .rb-post-counter span{font-size:12px;letter-spacing:.04em}
.rb-post .rb-post-stats .rb-ps dt{font-size:12px}
.rb-post .rb-post-author .rb-post-service{font-size:12px}
.rb-topic-posts .rb-post.is-op .rb-post-head::before,
.rb-topic-posts .rb-post.is-op-reply .rb-post-head::before{font-size:12px}
.rb-post .rb-post-numlink{font-size:12px}
.rb-post .rb-post-status .status_type{font-size:12px}
.rb-post .rb-post-attach-head{font-size:12px}
.rb-post .rb-post-author .rb-aw-more{font-size:12px}
/* code: 13px (the .92em reset in 10-base shrank it to 11.5px), title 12px */
.post_body .codeblock code{font-size:13px}
.post_body .codeblock .title{font-size:12px}

/* T7: the post number stays at the right when a long head line (date + "Waiting for approval") wraps it */
.rb-post .rb-post-head .rb-post-num{margin-left:auto}

/* T8: bigger hit areas that keep the look: post number, REP number (the whole counter is the link) */
.rb-post .rb-post-numlink{position:relative}
.rb-post .rb-post-numlink::after{content:"";position:absolute;inset:-7px -6px}
.rb-post .rb-post-counter.is-rep{position:relative}
.rb-post .rb-post-counter.is-rep .rb-post-replink::after{content:"";position:absolute;inset:0}
/* inline moderation checkbox: postbit_inlinecheck wraps it in a 36px label, the row height stays as it was */
.rb-post .rb-inlinemod-hit{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-6px -10px -6px -4px;cursor:pointer}
.rb-post .rb-inlinemod-hit .checkbox{margin:0;cursor:pointer}

/* ================= touch widths: phones and the 768px tablet (which uses the desktop post layout) ================= */
@media (max-width:1024px){
  /* post buttons (the phone row is 36px in postactions.css; the More menu rows stay 40px there) */
  .rb-post .rb-post-foot .rb-btn{height:36px}
  .rb-post .rb-react.is-like .rb-like-btn,.rb-post .rb-react-btn,.rb-post .rb-react-toggle{height:36px}
  .rb-post .rb-react-opt{min-width:36px;min-height:36px}
  .rb-post .rb-solved-btn,.rb-post .rb-solved-btn.is-remove{height:36px}
  .rb-pc-btn .rb-btn{height:36px}
  .rb-post .rb-post-counter{min-height:36px}
  /* award images keep their 28px look and footprint; each link reaches 36px (padding inside a negative margin) */
  .rb-post .rb-post-author .rb-aw-pi{padding:4px;margin:-4px}
  .rb-post .rb-post-author a.rb-aw-more{position:relative}
  .rb-post .rb-post-author a.rb-aw-more::after{content:"";position:absolute;inset:-5px -4px}
  /* author name and the logged IP link: 36px tall hit areas around the text */
  .rb-post .rb-post-name a,.rb-post .rb-post-ipval a{position:relative}
  .rb-post .rb-post-name a::after,.rb-post .rb-post-ipval a::after{content:"";position:absolute;inset:-9px -4px}
  /* links in the stat rows of the desktop column (warning level) */
  .rb-post .rb-ps dd a{position:relative}
  .rb-post .rb-ps dd a::after{content:"";position:absolute;inset:-10px -8px}

  /* pagination above and below the posts */
  .rb-topic-page .pagination a,.rb-topic-page .pagination .pagination_current{min-width:36px;height:36px}
  .rb-topic-page .pagination .go_page{width:36px}

  /* quick reply: option rows, collapse chevron, buttons */
  .rb-quickreply .rb-qr-options{row-gap:0}
  .rb-quickreply .rb-qr-options .rb-check{min-height:36px}
  .rb-quickreply .rb-card-head .expcolimage,.rb-threadnotes .rb-card-head .expcolimage{width:36px;height:36px}
  .rb-quickreply .rb-qr-actions .button{height:36px}
  /* Write / Preview tabs and the editor tools above the quick reply and new reply fields (editor.css is 34 / 28px) */
  .rb-quickreply .rb-ed-tab,.rb-reply-compose .rb-ed-tab{height:36px}
  .rb-quickreply .rb-ed-tool,.rb-reply-compose .rb-ed-tool{height:36px;min-width:36px;justify-content:center}
  /* new reply: option rows and post icon chips at 36px, like new thread / edit post on phones (86-m-forum) */
  .rb-reply-compose .rb-compose-opts .rb-popt .rb-check{min-height:36px;align-items:center}
  .rb-reply-compose .rb-compose-opts .rb-popt .rb-check input{margin:0}
  .rb-reply-compose .rb-compose-icons .rb-icons .rb-icon-chip{height:36px;min-width:36px}

  /* tools and moderation under the thread */
  .rb-topic-bottom .rb-topic-toollist .rb-chip{height:36px}
  .rb-topic-modbox .rb-modform select,.rb-topic-modbox .rb-modform .button,.rb-topic-modbox .rb-modform input[type=submit],
  .rb-topic-modbox .rb-modform input[type=button],.rb-topic-modbox .rb-forumjump select,.rb-topic-modbox .rb-forumjump .button,
  .rb-topic-modbox .rb-forumjump input[type=submit]{height:36px;min-height:36px}

  /* poll: the radio / checkbox label gets a 36px hit area without moving the option text */
  .rb-poll .rb-poll-option-ctl{min-width:36px;min-height:36px;margin:-8px}
  .rb-poll .rb-poll-foot .button{height:36px}

  /* popups opened from the thread: 36px close button, the title keeps clear of it */
  .modal.rb-report-modal a.close-modal,.modal.rb-rep-modal a.close-modal,.modal.rb-who-modal a.close-modal{top:6px;right:6px;width:36px;height:36px}
  .modal.rb-report-modal .rb-modal-head,.modal.rb-rep-modal .rb-modal-head,.modal.rb-who-modal .rb-modal-head{padding-right:52px}
}

/* ================= phones ================= */
@media (max-width:760px){
  /* author strip: POSTS / THREADS / JOINED labels at 12px (84-owner made them 10px) */
  .rb-post.rb-post .rb-post-author .rb-ps dt{font-size:12px;letter-spacing:.04em}
  /* award strip: 8px gap so the 36px award links never overlap (the desktop column has no room for it) */
  .rb-post .rb-post-author .rb-aw-post{gap:8px}

  /* pager above and below the posts: the same one line pager as the thread list (86-m-forum): previous and next as
     36px arrows, the first / last page shortcuts and the dots hidden; the jump button reaches any page */
  .rb-topic-toolbar .pagination{gap:4px}
  .rb-topic-toolbar .pagination a,.rb-topic-toolbar .pagination .pagination_current{padding:0 8px}
  .rb-topic-toolbar .pagination .pagination_previous,.rb-topic-toolbar .pagination .pagination_next{width:36px;padding:0;font-size:0;justify-content:center}
  .rb-topic-toolbar .pagination .pagination_previous .fa-solid,.rb-topic-toolbar .pagination .pagination_next .fa-solid{font-size:13px}
  .rb-topic-toolbar .pagination .pagination_first,.rb-topic-toolbar .pagination .pagination_last,.rb-topic-toolbar .pagination .rb-pager-gap{display:none}
  .rb-topic-toolbar .pagination .go_page{padding:0}

  /* iOS zooms the page in on fields under 16px: quick reply, quick edit and the new reply form (86-m-forum does new thread
     and edit post) */
  .rb-quickreply .rb-qr-body textarea,.rb-post .post_body form textarea,.rb-post .editreason input.textbox,
  .rb-reply-compose :is(input.textbox,input[type=text],input[type=number],select,textarea){font-size:16px}
}

/* ================= new reply (newreply.html, .rb-reply-compose): sticky bar and editor on phones =================
   The three buttons share one 40px row (the bar was 102px tall because Post Reply had its own row); the writing area
   gets about half the screen (SCEditor takes its height from the textarea when it starts); toolbar buttons are 36px
   and the rarely used ones (font, size, colour, alignment, clear formatting, rule, email, unlink, PHP) are hidden on
   phones so the toolbar stays at two rows. BBCode typed by hand still works for all of them. */
@media (max-width:760px){
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:4px}
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button svg,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button div{margin:0}
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-font,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-size,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-color,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-left,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-center,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-right,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-justify,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-removeformat,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-horizontalrule,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-email,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-unlink,
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-button-php{display:none}
  /* a group left with no visible button would still draw its divider */
  .rb-reply-compose .sceditor-container .sceditor-toolbar .sceditor-group:not(:has(.sceditor-button:not(.sceditor-button-font,.sceditor-button-size,.sceditor-button-color,.sceditor-button-left,.sceditor-button-center,.sceditor-button-right,.sceditor-button-justify,.sceditor-button-removeformat,.sceditor-button-horizontalrule,.sceditor-button-email,.sceditor-button-unlink,.sceditor-button-php))){display:none}
}
@media (max-width:480px){
  .rb-reply-compose .rb-compose-editor-main > textarea.textarea{height:min(55vh,420px)}
  .rb-reply-compose .rb-compose-bar{padding:8px 10px}
  .rb-reply-compose .rb-compose-bar .rb-form-actions{flex-wrap:nowrap;gap:6px}
  .rb-reply-compose .rb-compose-bar .button,
  .rb-reply-compose .rb-compose-bar input[name=submit]{flex:1 1 0;min-width:0;height:40px;padding:0 6px;font-size:13px}
}

@media print{
  .rb-post .rb-inlinemod-hit{display:none}
}

/* ===== 88-m-people.css ===== */
/* Mobile and tablet fixes for the people pages (2026-10-19): help, Who's Online, member list, team, profiles, awards,
   alerts, VIP, vendor applications, scam register, username changes, pending posts and search. Loads after 85-m-global.
   Shared components (.rb-btn, .rb-check, .rb-badge, .rb-labels, .rb-card-tools) are only resized inside the page
   wrappers below, so other pages keep their sizes. Desktop above 1100px only gets the award alert link (P4). */

/* ---- P4: award alerts (misc.php?action=alerts). rb_alerts_row carries a.rb-al-open to the alert target; only award
   rows show it, stretched over the row, so the whole row opens the awards on the profile. Name links and the avatar
   stay on top. Board sent awards (the avatar links to #awards) show a trophy instead of the default avatar. ---- */
.rb-al-open{display:none}
.rb-al-list .rb-al-item[data-type="award"]{position:relative}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-open{display:block;position:absolute;inset:0;border-radius:0}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-open:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-av,.rb-al-list .rb-al-item[data-type="award"] .rb-al-text a{position:relative;z-index:1}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-av[href$="#awards"]{align-items:center;justify-content:center;background-image:none}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-av[href$="#awards"] img{display:none}
.rb-al-list .rb-al-item[data-type="award"] .rb-al-av[href$="#awards"]::before{content:"\f091";font-family:"Font Awesome 6 Free";font-weight:900;font-size:15px;line-height:1;color:var(--accent-2);-webkit-font-smoothing:antialiased}

@media (max-width:1100px){
  /* ---- P1: MyCode help doc (misc.php?action=help&hid=7). The Input / Output / Notes table had a 460px video in
     Output and MyBB's inline column widths, so the other columns fell to one letter per line. Each row becomes a
     block with small labels; the header row and empty Notes cells are hidden. The table keeps its inline
     style="width:90%" from misc.php, hence the one !important. ---- */
  .rb-help-doc .rb-prose iframe{display:block;width:100%;max-width:460px;height:auto;aspect-ratio:16 / 9}
  .rb-help-doc table.tborder{display:block;width:100%!important}
  .rb-help-doc table.tborder > tbody{display:block;width:auto;min-width:0}
  .rb-help-doc table.tborder tr{display:block;padding:10px 14px;border-top:1px solid var(--line)}
  .rb-help-doc table.tborder tr:first-child{display:none}
  .rb-help-doc table.tborder tr:nth-child(2){border-top:0}
  .rb-help-doc table.tborder td{display:block;width:auto;min-width:0;padding:3px 0;border:0;background:transparent;overflow-wrap:break-word}
  .rb-help-doc table.tborder td:empty{display:none}
  .rb-help-doc table.tborder td::before{display:block;margin-bottom:2px;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .rb-help-doc table.tborder td:nth-child(1)::before{content:"Input"}
  .rb-help-doc table.tborder td:nth-child(2)::before{content:"Output"}
  .rb-help-doc table.tborder td:nth-child(3)::before{content:"Notes"}
  .rb-help-doc .codeblock .title{font-size:12px}

  /* ---- P6: profile buttons. Actions row, reputation tile buttons and the Information row links ---- */
  .rb-pp .rb-pp-actions .rb-pa-btn{height:36px}
  .rb-pp .rb-pp-ibtn{width:36px;height:36px;font-size:13px}
  .rb-pp .rb-pp-row .rb-pp-ibtn{width:36px;height:36px;margin:-6px 0;font-size:12px}
  /* the padding grows the hit area, the equal negative margin keeps the row height */
  .rb-pp .rb-pp-row dd a{display:inline-block;padding:10px 8px;margin:-10px -8px}
  /* profile Awards card head: All awards and Give */
  .rb-aw-profile .rb-aw-ptools a{height:36px}
  .rb-aw-profile .rb-aw-ptools .rb-aw-give{width:36px}

  /* ---- P7: card head links and buttons. Plain head links get a 36px hit area without making the bar taller ---- */
  :is(.rb-wol,.rb-help,.rb-help-doc,.rb-help-results,.rb-scam,.rb-va,.rb-vip,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-sresults,.rb-mlv,.rb-st,.rb-pp,.rb-al-page) .rb-card-tools > a:not([class]){padding-block:9px;margin-block:-9px}
  .rb-card-tools .rb-aw-headbtn,.rb-card-tools .rb-va-headbtn,.rb-card-tools .rb-nc-headbtn,.rb-pending-card .rb-card-tools .rb-pending-headlink{height:36px}
  .rb-al-card .rb-card-tools .rb-al-markall{min-height:36px;margin-block:-10px}
  /* grey and small buttons as tall as the 36px submit inputs next to them (icon squares keep their own size) */
  :is(.rb-help,.rb-scam,.rb-va,.rb-vip,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-mlv,.rb-st,.rb-pp,.rb-al-page) :is(.rb-btn:not(.rb-btn-icon),a.button,input.button[type=button],input[type=reset]){height:36px}
  .rb-st .rb-st-actions > a{height:36px;min-width:36px}
  .rb-st .rb-st-actions > a:has(> i){width:36px}
  .rb-aw .rb-aw-order .rb-btn-icon{width:36px;height:36px}
  /* team page: the name link and the moderated forum links get 36px of height, the layout stays as it was */
  .rb-st-tile .rb-st-name{padding-block:9px;margin-block:-9px}
  .rb-st-tile .rb-st-scope a{display:inline-block;padding-block:10px;margin-block:-10px}
  /* sort links in the column label strips (shown from 761px) and the status links in the profile header:
     a 36px hit area around the text, same look */
  .rb-mlv-labels a,.rb-wol-labels a,.rb-pp-online a{position:relative}
  .rb-mlv-labels a::before,.rb-wol-labels a::before{content:"";position:absolute;inset:-12px -4px}
  .rb-mlv-labels .rb-mlv-dir::before{inset:-12px -10px}
  .rb-pp-online a::before{content:"";position:absolute;inset:-9px -4px}

  /* ---- P8: checkbox labels are 36px tall; stacked lists drop their gap so they do not grow much ---- */
  :is(.rb-help,.rb-scam,.rb-va,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-mlv,.rb-pp) .rb-check{min-height:36px}
  :is(.rb-help,.rb-scam,.rb-va,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-mlv,.rb-pp) .rb-checks{gap:0}
  :is(.rb-help,.rb-scam,.rb-va,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-mlv,.rb-pp) .rb-checks.is-inline{gap:0 18px}
  .rb-va .rb-va-agree .rb-check{padding-top:8px}
  .rb-va .rb-va-agree{padding-top:8px}

  /* ---- P9: rows where only a small name or title link could be tapped. The main link is stretched over the row
     (its ::after takes the row as containing block, so the name's ellipsis clip does not cut it); the other links
     and controls in the row stay on top ---- */
  .rb-mlv-row{position:relative}
  .rb-mlv-name a::after{content:"";position:absolute;inset:0}
  .rb-mlv-row .rb-mlv-cell a{position:relative;z-index:1}
  .rb-online-row{position:relative}
  .rb-wol-user > a::after{content:"";position:absolute;inset:0}
  .rb-wol-loc a,.rb-wol-ip a{position:relative;z-index:1}
  .rb-aw-hrow{position:relative}
  .rb-aw-uname a::after{content:"";position:absolute;inset:0}
  .rb-aw-hrow :is(.rb-aw-reason,.rb-aw-by,.rb-aw-act) :is(a,button),.rb-aw-hrow .rb-aw-hidden{position:relative;z-index:1}
  .rb-aw-row{position:relative}
  .rb-aw-row-title a::after{content:"";position:absolute;inset:0}
  .rb-aw-row-holders a{position:relative;z-index:1}
  .rb-pv-visitor{position:relative}
  .rb-pv-visitor-name a::after{content:"";position:absolute;inset:0}
  .rb-sr-list .rb-srow{position:relative}
  .rb-sr-list.is-threads .rb-sr-title > a[id^="tid_"]::after,.rb-sr-list.is-posts .rb-sr-title > a::after{content:"";position:absolute;inset:0}
  .rb-sr-list .rb-srow :is(.rb-sr-meta,.rb-sr-forum,.rb-sr-last,.rb-thread-pages) a,.rb-sr-list.is-threads .rb-sr-title > a:not([id^="tid_"]),.rb-sr-list .rb-srow .rb-sr-check input{position:relative;z-index:1}
  /* reply count: a 36px hit area around the number (it opens Who Posted) */
  .rb-sr-list .rb-srow .rb-sr-num > a{position:relative;z-index:1}
  .rb-sr-list .rb-srow .rb-sr-num > a::before{content:"";position:absolute;inset:-10px -14px}
  /* Who's Online IP lookup (staff): 36px hit area, same look */
  .rb-wol-lookup{position:relative;font-size:12px}
  .rb-wol-lookup::before{content:"";position:absolute;inset:-8px -4px}
  .rb-wol-ip-lbl{font-size:12px}

  /* ---- P10: badges, label strips and key/value labels at 12px ---- */
  :is(.rb-wol,.rb-help,.rb-help-results,.rb-scam,.rb-va,.rb-vip,.rb-aw,.rb-nc,.rb-nc-card,.rb-pending-page,.rb-srch,.rb-sresults,.rb-mlv,.rb-st,.rb-pp,.rb-al-page) :is(.rb-badge,.rb-labels,.rb-kv dt){font-size:12px}
  .rb-mlv-labels,.rb-sr-labels,.rb-sr-labels .rb-sortdir,.rb-mlv-sec-title{font-size:12px}
  .rb-vip .rb-vip-tier-row dt{width:60px;font-size:12px}
  .rb-vip .rb-vip-section-head{font-size:12px}
  .rb-vip .rb-vip-chips .rb-prefix{font-size:12px}
}

/* ---- P5: member list A to Z on tablets: two even rows of 36px cells (14 and 13), so no letter is left alone ---- */
@media (min-width:761px) and (max-width:1100px){
  .rb-mlv-az{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:2px;padding:4px 12px}
  .rb-mlv-az a,.rb-mlv-az a.is-all{min-width:0;height:36px;margin:0;padding:0}

  /* ---- P11: award holders. The Member column gets the most room; Reason is often empty (automatic awards) ---- */
  .rb-aw-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.9fr) 120px 96px}
}

@media (max-width:600px){
  /* ---- P12: profile header. The location and time get their own line instead of an ellipsis ---- */
  .rb-pp-online{flex-wrap:wrap;row-gap:2px}
  .rb-pp-st-loc{flex-basis:100%;white-space:normal;overflow:visible;text-overflow:clip}
}

/* ===== 89-m-account.css ===== */
/* Mobile and tablet fixes for the account area (2026-10-19): UserCP, private messages, ModCP, reputation, warnings,
   manage group, contact guard and VIP style pages. Loads last (after 70-pro, 80-responsive and 85-m-global).
   Every rule is scoped to the account page shells, so other pages do not change:
     .rb-usercp   UserCP, PM, ModCP, contact guard and VIP style pages (the shoutbox moderation page .rb-sm-modcp is left out)
     .rb-mod-page reputation, warnings, manage group and the moderation pages
   Desktop above 1000px only gets A1 to A3, which fix real overlaps at every width. */

/* A1: the modal title stays clear of the close (x) button (reputation, IP lookup and thread notes modals). 52px matches
   87-m-thread, which gives the reputation modal a 36px close button 6px from the edge on touch widths. */
.modal.rb-rep-modal .rb-modal-head,.modal.rb-ip-modal .rb-modal-head,.modal.rb-mcp-ipmodal .rb-modal-head,.modal.rb-notes-modal .rb-modal-head{padding-right:52px}

/* A2: checkbox and radio rows: the box keeps its 16px next to a label that wraps to two lines */
:is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-check > input{flex:none}

/* A3: select2 single pickers (ban user, find user, warning logs, manage group). select2.css is linked in the page body,
   after global.css, so its 26px height won over the 40px box from 70-pro and the arrow sat below the text. */
:is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .select2-container .select2-choice{height:40px;line-height:38px}

@media (max-width:1000px){
  /* A4: tap targets of 36px */
  /* chips (card head tools, ModCP queue tabs and mass controls, group and ban links) and small buttons */
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-chip{height:36px;padding:0 12px}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-btn-sm{height:36px}
  /* buttons are 34px in 70-pro; 36px also lines them up with the 36px fields beside them (min-height keeps 38px ones) */
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) :is(.rb-btn,.button,input[type=submit],input[type=button],input[type=reset]){min-height:36px}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-btn-icon.rb-btn-sm{width:36px}
  .rb-mod-page .rb-rep-row-actions .rb-btn{height:36px;padding:0 12px}
  .rb-mod-page .rb-rep-row-actions{gap:8px}
  .rb-mod-page .rb-rep-filter select,.rb-mod-page .rb-rep-filter .button{height:36px}
  .rb-mod-page .rb-mg-contact .rb-btn{height:36px;min-width:36px}
  .rb-mod-page .rb-mg-leader{height:36px}
  .rb-modcp .rb-mcp-ann-ctl{gap:8px}
  .rb-modcp .rb-mcp-ann-ctl .rb-btn,.rb-modcp .rb-mcp-ann-forum .rb-btn{height:36px;min-width:36px}
  .rb-modcp .rb-mcp-radio span{height:36px}
  /* PM list: search box, footer bulk controls, tracking actions */
  .rb-usercp .rb-pm-search-group .textbox,.rb-usercp .rb-pm-search-group .button{height:36px}
  .rb-usercp .rb-pm-foot select,.rb-usercp .rb-pm-foot .button,.rb-usercp .rb-pm-track-actions .button{height:36px}
  /* sort links in the column label strip: taller hit area, same strip height */
  .rb-usercp .rb-pm-labels a:not(.rb-pm-order){display:inline-flex;align-items:center;min-height:36px;margin:-10px 0}
  .rb-usercp .rb-pm-labels .rb-pm-order{position:relative}
  .rb-usercp .rb-pm-labels .rb-pm-order::after{content:"";position:absolute;inset:-8px}
  /* small inline links: UserCP reputation "Details", PM "Advanced Search" and BCC toggle, VIP cover and visitors head link */
  .rb-usercp .rb-ucp-fact-link,.rb-usercp .rb-pm-advlink,.rb-usercp .rb-pm-bcc-toggle,.rb-vs-head-link{display:inline-block;padding:10px 4px;margin:-10px -4px}
  /* ModCP home queue names, find user names, the "(1)" post link on reputation comments: same trick, no layout change */
  .rb-modcp .rb-mcp-await-type a,.rb-modcp .rb-mcp-user-link{padding:8px 0;margin:-8px 0}
  .rb-modcp .rb-mcp-ann-subject{display:inline-block;padding:8px 0;margin:-8px 0}
  .rb-mod-page .rb-rep-row a.rb-post-replink{display:inline-block;padding:11px 16px;margin:-11px -16px}
  /* editor bar tools (image, shortcuts) next to the SCEditor toolbar, as 87-m-thread does for replies */
  .rb-usercp .rb-ed-tool{height:36px;min-width:36px;justify-content:center}
  /* checkbox and radio rows: 36px rows without extra space between them */
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-check{min-height:36px}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-checks:not(.is-inline){gap:0}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-checks:not(.is-inline) > .rb-check{padding:8px 0}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-checks.is-inline{gap:0 18px}
  /* close button of the IP lookup and thread notes modals, as 87-m-thread does for the reputation modal */
  .modal.rb-ip-modal a.close-modal,.modal.rb-mcp-ipmodal a.close-modal,.modal.rb-notes-modal a.close-modal{top:6px;right:6px;width:36px;height:36px}
  /* SCEditor toolbar (PM compose, signature, ModCP announcement and profile editors): 36px buttons, as 87-m-thread does
     for the new reply editor */
  .rb-usercp .sceditor-container .sceditor-toolbar .sceditor-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:4px}
  .rb-usercp .sceditor-container .sceditor-toolbar .sceditor-button svg,.rb-usercp .sceditor-container .sceditor-toolbar .sceditor-button div{margin:0}
  /* PM recipient chips: 36px tall with a 36px remove (x) box on the left (70-pro pads the chip with !important, so
     the room for the box comes from the name's own margin) */
  .rb-usercp .select2-container-multi .select2-choices .select2-search-choice > div{margin-left:16px;line-height:26px}
  .rb-usercp .select2-container-multi.select2-container-multi .select2-search-choice-close{left:-1px;top:-1px;width:36px;height:36px;line-height:36px;font-size:12px}
  /* select2 result rows (recipient and user pickers; the drop list hangs off <body>) */
  body:has(.rb-usercp,.rb-mod-page) .select2-results .select2-result-label{padding:10px}

  /* A5: text of 12px or more */
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-badge,
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-badge.is-sm{height:20px;font-size:12px;letter-spacing:.02em}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) table.rb-table th,
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) table.rb-table thead td{font-size:12px;letter-spacing:.04em}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-labels{font-size:12px}
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) .rb-kv dt,.modal .rb-kv.is-wide dt{font-size:12px}
  .rb-usercp .rb-subnav-card .rb-subnav-title{font-size:12px;letter-spacing:.08em}
  .rb-usercp .rb-avatar-current-label{font-size:12px}
  .rb-usercp .rb-pm-labels{font-size:12px}
  .rb-usercp .rb-pm-deny,.rb-usercp .rb-pm-bcc-toggle{font-size:12px}
  .popup_menu .rb-pm-popup-head{font-size:12px}
  .rb-usercp .rb-cg-bcc-tag,.rb-usercp .rb-cg-navcount{font-size:12px}
  .rb-usercp .rb-vs-cover-state{font-size:12px}
  .rb-vs-visits .rb-vs-visit-count span{font-size:12px}
  .rb-mod-page .rb-warn-status{font-size:12px}
  .rb-mod-page .rb-rep-matrix > span:nth-child(-n+4){font-size:12px}
}

@media (min-width:761px) and (max-width:1000px){
  /* moderator log on tablets: the date may wrap to two lines, so the action, details and IP fit without sideways scroll
     (phones get the stacked layout from modcp.css) */
  .rb-modcp table.rb-mcp-logtable td.rb-mcp-log-date{white-space:normal;min-width:110px}
  .rb-modcp table.rb-mcp-logtable td.rb-mcp-log-info{min-width:160px}
}

@media (max-width:760px){
  /* A6: a table that only holds its empty state row (attachments, drafts, PM tracking, ModCP lists) drops the column
     labels and the select all box on phones; the labels only squeezed into two lines above the message */
  :is(.rb-usercp:not(.rb-sm-modcp),.rb-mod-page) table.rb-table:has(> tbody > tr > td .rb-empty) > thead{display:none}
}

@media (max-width:900px){
  /* the collapsed UserCP / ModCP "Menu" bar is the toggle: 44px tall; group collapse chevrons 36px without a taller row */
  .rb-usercp .rb-subnav-card .rb-subnav-head{min-height:44px}
  .rb-usercp .rb-subnav-card .rb-subnav-title .expcolimage{width:36px;height:36px;margin:-6px -6px -6px auto}
}
