/* ===== 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)}
/* owner 2026-10-21: typing in the header search scrolled the page up about 47px per character. The sticky header plus
   scroll-padding-top on html made Chrome pull the caret into view on every keystroke. While the header box has focus
   the padding goes away; anchor links still get their offset when the box is not in use. */
html.rb-searching{scroll-padding-top:0}
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,.rb-footer h2{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{position:fixed;top:calc(var(--topbar-h) + 12px);right:16px;z-index:10030;width:min(380px,calc(100vw - 32px));pointer-events:none}
.jGrowl-notification:empty{display:none!important}
.jGrowl-notification{pointer-events:auto;box-sizing:border-box;margin:0 0 8px;padding:11px 34px 11px 13px;background:#1b1d24;border:1px solid var(--line-2);border-left:3px solid var(--green);border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.45);color:var(--fg);font-size:13.5px;line-height:1.45;text-align:left;position:relative;overflow-wrap:anywhere}
.jGrowl-notification.jgrowl_error{border-left-color:#f05252;background:#3a1a1c;color:#ffdcdc}
.jGrowl-notification.jgrowl_success{border-left-color:#48a67f;background:#143024;color:#d6f0e3}
.jGrowl-notification.jgrowl_info{border-left-color:#5b8def;background:#18243a;color:#dfe8f8}
.jGrowl-header{font-weight:700;color:#fff;margin:0 0 2px}
.jGrowl-notification.jgrowl_error .jGrowl-header{color:#ffd9d9}
.jGrowl-message{color:inherit}
.jGrowl-close{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.7}
.jGrowl-close:hover{opacity:1;background:rgba(255,255,255,.08)}
.jGrowl-closer{display:none}
@media (max-width:760px){.jGrowl{top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:auto}.jGrowl-notification{padding:12px 40px 12px 14px;font-size:14px}}

/* ================= 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:normal;overflow-wrap:anywhere}
.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:block}
.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>. 1.5 (owner 2026-10-19): every tab has its own icon (.rb-sb-tab-ic) and
   colour (--rb-sb-tab-accent), the active tab takes the underline and a faint tint in that colour. When the labels do
   not fit, rb.js sets .is-compact (only the active tab keeps its label) or .is-icons (icons only) on the row, so
   phones never scroll it sideways; .has-more / .has-less still fade the edges if even the icons do not fit.
   1.5 pins: the pinned header .rb-sb-pinbar between the tabs and the list; pin and mute icons in the action row,
   has-acts-N on a row keeps room for its N icons (on touch screens the icons sit under the text of an opened row).
   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(--rb-sb-tab-accent,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.5 channel colours (owner 2026-10-19): General blue speech bubbles, Marketplace green price tag, Help violet
   question mark, VIP gold crown, Vendors cyan shop, Staff red shield. The icon and the active underline take the
   colour, the active tab a faint tint of it; the label keeps the normal tab colours. */
.rb-sb-tab.is-ch-general{--rb-sb-tab-accent:#5b8def}
.rb-sb-tab.is-ch-marketplace{--rb-sb-tab-accent:#4cb386}
.rb-sb-tab.is-ch-help{--rb-sb-tab-accent:#a184f0}
.rb-sb-tab.is-ch-vip{--rb-sb-tab-accent:var(--amber)}
.rb-sb-tab.is-ch-vendor{--rb-sb-tab-accent:#34bcd6}
.rb-sb-tab.is-ch-staff{--rb-sb-tab-accent:#c26161}
.rb-sb-tab-ic{flex:none;width:14px;font-size:12px;line-height:1;text-align:center;color:var(--rb-sb-tab-accent,var(--muted));opacity:.85;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-active{background:linear-gradient(0deg,color-mix(in srgb,var(--rb-sb-tab-accent,var(--accent)) 12%,transparent),transparent 85%)}
/* labels do not fit (rb.js fitTabs()): the tabs share the row, the other tabs show only a slightly larger icon
   (.is-icons: every tab). The label stays for screen readers; the unread dot sits on the icon. */
.rb-sb-tabs.is-compact{padding:0 4px}
.rb-sb-tabs.is-compact .rb-sb-tab{flex:1 1 auto;justify-content:center;min-width:40px;padding:0 8px}
.rb-sb-tabs.is-compact .rb-sb-tab.is-active{flex-shrink:0}
.rb-sb-tabs.is-compact .rb-sb-tab.is-active::after{left:4px;right:4px}
.rb-sb-tabs.is-compact .rb-sb-tab:not(.is-active) .rb-sb-tab-label,.rb-sb-tabs.is-icons .rb-sb-tab-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.rb-sb-tabs.is-compact .rb-sb-tab:not(.is-active) .rb-sb-tab-ic,.rb-sb-tabs.is-icons .rb-sb-tab-ic{width:18px;font-size:14px}
.rb-sb-tabs.is-compact .rb-sb-tab:not(.is-active) .rb-sb-unread,.rb-sb-tabs.is-icons .rb-sb-unread{position:absolute;top:9px;left:calc(50% + 7px)}
/* 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)}

/* 1.5 pinned header between the tabs and the list (outside the scrolling list, so it stays in view): coral edge,
   "Pinned" with a tilted pin, avatar, name, relative time and the text clamped to two lines (a click opens it).
   The item wrappers are display:contents, so meta and text sit in the bar's own grid: on desktop the text goes
   under the meta and the label and tools span both rows; on phones the label, meta and tools share the first row
   and the text takes the full width under them. Tools: "1 / 2", next, and Unpin for staff. */
.rb-sb-pinbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ic meta tools" "ic text tools";align-items:start;column-gap:10px;padding:9px 12px 9px 14px;background:linear-gradient(90deg,rgba(255,122,89,.10),rgba(255,122,89,.03) 60%),var(--surface-2);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 #ff7a59}
.rb-sb-pinbar[hidden]{display:none}
.rb-sb-pinbar-ic{grid-area:ic;display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:#ff7a59;font-size:11px;font-weight:700;line-height:16px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.rb-sb-pinbar-ic .fa-thumbtack{transform:rotate(-20deg)}
.rb-sb-pinbar-main,.rb-sb-pinitem{display:contents}
.rb-sb-pinitem[hidden]{display:none}
.rb-sb-pinbar-meta{grid-area:meta;display:flex;align-items:center;gap:8px;min-width:0;font-size:12.5px;line-height:1.3}
.rb-sb-pinbar-av{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--fg-2);font-size:10px;font-weight:600;line-height:1;text-transform:uppercase;user-select:none}
.rb-sb-pinbar-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--surface-3)}
.rb-sb-pinbar-name{min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.rb-sb-pinbar-name a{color:var(--fg);text-decoration:none}
.rb-sb-pinbar-name a:hover{color:#fff;text-decoration:none}
.rb-sb-pinbar-time{flex:none;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-sb-pinbar .rb-sb-pinbar-text{grid-area:text;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-width:0;margin-top:3px;overflow:hidden;color:var(--fg);font-size:13.5px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}
.rb-sb-pinbar .rb-sb-pinbar-text a{color:var(--link)}
.rb-sb-pinbar .rb-sb-pinbar-text img{max-height:20px;vertical-align:-4px}
.rb-sb-pinbar.is-clampable .rb-sb-pinbar-text{cursor:pointer}
.rb-sb-pinbar.is-expanded .rb-sb-pinbar-text{display:block;-webkit-line-clamp:unset;line-clamp:none;max-height:40vh;overflow-y:auto;overscroll-behavior:contain}
.rb-sb-pinbar .rb-sb-pinbar-text:focus{outline:0}
.rb-sb-pinbar .rb-sb-pinbar-text:focus-visible{outline:1px solid var(--accent-2);outline-offset:2px}
.rb-sb-pinbar-tools{grid-area:tools;display:flex;align-items:center;gap:4px}
.rb-sb-pinbar-count{padding:0 2px;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-sb-pinbar-count[hidden],.rb-sb-pinbar-btn[hidden]{display:none}
.rb-sb-pinbar-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;margin:0;padding:0;background:transparent;border:1px solid var(--line-2);border-radius:3px;color:var(--muted);font-size:12px;line-height:1;cursor:pointer;transition:background .12s,color .12s}
.rb-sb-pinbar-btn:hover{background:var(--surface-3);color:var(--fg)}
.rb-sb-pinbar-unpin:hover{color:#ff7a59}
.rb-sb-pinbar-btn:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sb-pinbar-btn:disabled{opacity:.45;cursor:default}
@media (hover:none){
  .rb-sb-pinbar-btn{width:36px;height:36px;font-size:13px}
}
@media (max-width:600px){
  .rb-sb-pinbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ic meta tools" "text text text";align-items:center;column-gap:8px;padding:5px 6px 9px 12px}
  .rb-sb-pinbar-ic{margin-top:0}
  .rb-sb-pinbar .rb-sb-pinbar-text{margin-top:2px}
  .rb-sb-pinbar-btn{width:36px;height:36px;font-size:13px}
  .rb-sb-pinbar-tools{gap:2px}
}
/* very narrow phones: the label keeps only its pin so the name has room */
@media (max-width:360px){
  .rb-sb-pinbar-ic > span{display:none}
}

/* 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 (has-acts-N = the number of icons: pin, mute, edit, delete) */
.rb-sb-msg.has-acts-1 .rb-sb-main{padding-right:26px}
.rb-sb-msg.has-acts-2 .rb-sb-main{padding-right:52px}
.rb-sb-msg.has-acts-3 .rb-sb-main{padding-right:78px}
.rb-sb-msg.has-acts-4 .rb-sb-main{padding-right:104px}
.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 (pin, mute, edit pencil, delete). The delete icon needs two clicks: the
   first arms it (red), the second deletes. Pin turns coral on hover, mute amber; a muted member's mute icon stays
   amber and visible (rb_shoutmod, title "Muted until ..."). */
.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,.rb-sb-act.is-active{opacity:1}
.rb-sb-act:hover{background:var(--surface-3);color:var(--fg)}
.rb-sb-del:hover{color:var(--red)}
.rb-sb-act.rb-sb-pin:hover{color:#ff7a59}
.rb-sb-act.rb-sb-mute:hover,.rb-sb-act.rb-sb-mute.is-active{color:#e8b84a}
.rb-sb-act.rb-sb-mute.is-active{background:var(--surface-3)}
.rb-sb-act.rb-sb-mute.is-muted{color:#e8b84a;opacity:.85}
.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 and no room kept for them; a tap on a message opens it (rb.js) and its
   icons show as a row of 36px buttons under the text, so the text keeps its full width. Grouped messages show
   their time faintly. */
@media (hover:none){
  .rb-sb-msg:hover{background:transparent}
  .rb-sb-acts{display:none}
  .rb-sb-msg[class*="has-acts-"] .rb-sb-main{padding-right:0}
  .rb-sb-msg.is-open{background:var(--surface-2)}
  .rb-sb-msg.is-open .rb-sb-acts{position:static;grid-column:2;display:flex;justify-content:flex-end;gap:4px;margin:2px -6px 2px 0}
  .rb-sb-act,.rb-sb-msg:hover .rb-sb-act{width:36px;height:36px;font-size:13px;opacity:1;pointer-events:auto}
  .rb-sb-act.rb-sb-mute.is-muted{opacity:1}
  .rb-sb-msg.is-open .rb-sb-act:disabled{opacity:.4}
  .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[class*="has-acts-"] .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,.rb-sb-pinbar-btn{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: tighter tabs; with more tabs than room rb.js switches the row to .is-compact / .is-icons (rules above) */
@media (max-width:420px){
  .rb-sb-tab{gap:5px;padding:0 7px}
  .rb-sb-tab.is-active::after{left:5px;right:5px}
}

/* ---- site audit 2026-10-20 (RB-AUDIT-20261020) ----
   Touch screens: the list no longer keeps a swipe for itself. With overscroll-behavior contain, a swipe over a list that
   is at its end (or does not overflow) did not move the page, so almost half a phone screen refused to scroll. Mouse
   users keep contain (the wheel at the end of the list does not scroll the page). Tap targets of 40px or more.
   Phones (max-width 760px): the panel starts folded: header, pinned message, the newest messages in a short window that
   is no scroll container (a swipe over it moves the page) and a full width "Open chat" button; the tabs, the input bar
   and a taller list come with .is-open (rb.js, remembered per browser), the chevron in the header folds it again. */
.rb-sb-fold,.rb-sb-unfold{display:none}
@media (hover:none){
  .rb-sb-list{overscroll-behavior-y:auto}
  .rb-sb-iconbtn{width:40px;height:40px;font-size:14px}
  .rb-sb-iconbtn.rb-sf-toggle{height:40px}
  .rb-sb-send,.rb-sb-compose .rb-sb-send{width:44px;height:40px;font-size:14px}
  .rb-sb-tool,.rb-sb-compose .rb-sb-tool{width:40px;height:40px;font-size:15px}
  .rb-sb-jump{height:40px}
}
@media (max-width:600px){
  .rb-sb-list{height:240px}
}
@media (max-width:760px){
  .rb-sb-unfold{position:relative;align-items:center;justify-content:center;gap:8px;width:calc(100% - 24px);min-height:44px;margin:6px 12px 12px;padding:0 14px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:#fff;font-size:14px;font-weight:600;line-height:1;cursor:pointer}
  .rb-sb-unfold:hover{background:var(--surface-4)}
  .rb-sb-unfold:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
  .rb-sb-unfold .fa-solid{color:var(--accent-2);font-size:14px}
  .rb-sb-unfold-dot{display:none;width:7px;height:7px;border-radius:50%;background:var(--accent-2)}
  .rb-shoutbox.has-unread-other .rb-sb-unfold-dot{display:inline-block}
  /* folded */
  .rb-shoutbox:not(.is-open) .rb-sb-tabs,
  .rb-shoutbox:not(.is-open) .rb-sb-foot,
  .rb-shoutbox:not(.is-open) .rb-sb-jump,
  .rb-shoutbox:not(.is-open) .rb-sb-refresh,
  .rb-shoutbox:not(.is-open) .rb-sf-toggle{display:none}
  .rb-shoutbox:not(.is-open) .rb-sb-unfold{display:none}
  .rb-shoutbox:not(.is-open) .rb-sb-list{height:auto;max-height:122px;overflow:hidden;padding-bottom:2px;cursor:pointer;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30px);mask-image:linear-gradient(180deg,transparent 0,#000 30px)}
  .rb-shoutbox:not(.is-open) .rb-sb-list > .rb-sb-empty{padding:14px 16px}
  .rb-shoutbox:not(.is-open) .rb-sb-msg:hover{background:transparent}
  /* open */
  .rb-shoutbox.is-open .rb-sb-fold{display:inline-flex}
}

/* ===== parts/account.css ===== */
/* ===================================================================
   Roidboard: Account page and the signature in Edit Profile (plugin rb_account, UCP-ACCOUNT-20261020)
   usercp.php?action=account: one card "Account" with the sections Email, Password and Username
   (title and a short note on the left, the form on the right; stacked on narrow screens).
   usercp.php?action=profile: the Signature card after the profile form.
   Flat, hairlines, 3px corners, white titles, --fg-2 notes.
   =================================================================== */

.rb-acc-card,.rb-acc-sigform{min-width:0}

/* ---- sections ---- */
.rb-acc-sec{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px 32px;padding:22px 20px;border-top:1px solid var(--line);scroll-margin-top:90px}
.rb-acc-card > .rb-card-head + .rb-acc-sec{border-top:0}
.rb-acc-aside{min-width:0}
.rb-acc-title{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.3;color:#fff}
.rb-acc-title .fa-solid{flex:none;width:16px;font-size:13px;text-align:center;color:var(--accent-2)}
.rb-acc-desc{margin:0;font-size:13px;line-height:1.55;color:var(--fg-2)}

.rb-acc-form{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:640px}
.rb-acc-form > .error,.rb-acc-form > .rb-alert,.rb-acc-form > .red_alert{margin:0}
.rb-acc-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-acc-fields:empty{display:none}
.rb-acc-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:6px 16px;align-items:start}
.rb-acc-row > .rb-label{padding-top:9px;color:var(--fg);font-weight:600}
.rb-acc-value{min-width:0;padding-top:8px;font-size:14px;line-height:1.45;color:var(--fg);overflow-wrap:anywhere}
.rb-acc-value b,.rb-acc-addr{color:#fff;font-weight:600}
.rb-acc-pending{display:flex;flex-direction:column;gap:2px}
.rb-acc-ctl{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-acc-ctl .textbox{width:100%;max-width:380px}
.rb-acc-ctl .rb-help{color:var(--fg-2)}
.rb-acc-ctl .rb-acc-pwhint.is-short{color:var(--amber)}
.rb-acc-ctl .rb-acc-pwhint.is-good{color:var(--green)}
.rb-acc-pwhint[hidden]{display:none}

.rb-acc-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 16px;padding-top:14px;border-top:1px solid var(--line)}
.rb-acc-note{flex:1 1 240px;min-width:0;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-acc-actions input[type=submit].rb-acc-btn-quiet{background:transparent;border-color:var(--line-2);color:var(--fg-2)}
.rb-acc-actions input[type=submit].rb-acc-btn-quiet:hover{background:transparent;border-color:var(--red);color:var(--red)}

/* ---- calm state rows: locked (VIP), waiting, blocked ---- */
.rb-acc-state{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}
.rb-acc-state > .fa-solid{width:16px;font-size:14px;text-align:center;color:var(--fg-2)}
.rb-acc-state.is-locked > .fa-solid{color:var(--accent-2)}
.rb-acc-state.is-wait > .fa-solid{color:var(--amber)}
.rb-acc-state.is-block > .fa-solid{color:var(--red)}
.rb-acc-state-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.rb-acc-state-txt b{font-size:14px;font-weight:600;line-height:1.35;color:#fff}
.rb-acc-state-txt span{font-size:13px;line-height:1.45;color:var(--fg-2)}
.rb-acc-state .rb-acc-plans{justify-self:end}

/* ---- name history ---- */
.rb-acc-hist{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.rb-acc-hist ul{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius)}
.rb-acc-hist li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;padding:9px 12px;border-top:1px solid var(--line);font-size:13.5px}
.rb-acc-hist li:first-child{border-top:0}
.rb-acc-hist-change{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}
.rb-acc-hist-change .fa-solid{font-size:11px;color:var(--fg-2)}
.rb-acc-old{color:var(--fg-2);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.28);overflow-wrap:anywhere}
.rb-acc-new{color:#fff;font-weight:600;overflow-wrap:anywhere}
.rb-acc-hist-meta{font-size:12.5px;color:var(--fg-2)}

/* ---- Edit Profile: Signature card ---- */
.rb-acc-sigform{scroll-margin-top:90px}
.rb-acc-sigcard .rb-card-body > .error,.rb-acc-sigcard .rb-card-body > .rb-alert,.rb-acc-sigcard .rb-card-body > .red_alert{margin:0 0 16px}
.rb-acc-sigprev{margin:0 0 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.rb-acc-sigprev-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.rb-acc-sigprev-head .fa-solid{font-size:11px}
.rb-acc-sigprev.is-preview .rb-acc-sigprev-head .fa-solid{color:var(--accent-2)}
.rb-acc-sigprev-body{min-height:40px;padding:12px;overflow-wrap:anywhere}
.rb-acc-sigcard .rb-sig-editor textarea{min-height:260px}

/* ---- narrow ---- */
@media (max-width:1100px){
  .rb-acc-sec{grid-template-columns:minmax(0,1fr);gap:14px}
  .rb-acc-form{max-width:none}
}
@media (max-width:600px){
  .rb-acc-sec{padding:16px 14px}
  .rb-acc-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .rb-acc-row > .rb-label,.rb-acc-value{padding-top:0}
  .rb-acc-ctl .textbox{max-width:none}
  .rb-acc-actions input[type=submit]{flex:1 1 auto}
  .rb-acc-state{grid-template-columns:16px minmax(0,1fr);align-items:start}
  .rb-acc-state > .fa-solid{margin-top:2px}
  .rb-acc-state .rb-acc-plans{grid-column:2;justify-self:start}
}
@media (max-width:760px){
  /* signature editor on phones: the toolbar of new thread on phones (no font, size, alignments, email, remove
     formatting, PHP; no group breaks), so it takes two rows and leaves room to write */
  .rb-usercp .rb-acc-sigcard .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-usercp .rb-acc-sigcard .sceditor-container .sceditor-toolbar .sceditor-group{display:contents}
  .rb-usercp .rb-acc-sigcard .sceditor-container .sceditor-toolbar .sceditor-button{margin:0}
}

/* ===== 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/apex.css ===== */
/* ===================================================================
   Roidboard: Apex, the top plan above VIP (PERKS2-APEX-20261020). Look: option C "Black Diamond", picked by the owner
   on 2026-10-20 from pending/apex (black cut glass userbar with a permanent prismatic frame, a prismatic name with a
   3.6 s glint, a prismatic top line and outline round the plans card).
   1. Name style of the Apex group (usergroup namestyle <span class="rb-name-apex">{username}</span>): a pale prismatic
      run (champagne, pink, periwinkle, mint) with a dark cut edge, always on, also with motion turned off; at least
      dE 10 from the body text, the heading white, every group name and VIP preset (pending/apex/tools/palette_check_apex.py)
   2. User title of Apex members (.rb-utitle-apex, rb_perk_title_html()): the colour the member picked from the fixed
      swatch list (rb_vipstyle_title_swatches(), --rb-ut on the span), the Apex default otherwise
   3. Profile theme colour of Apex members (.rb-pp.rb-pp-theme, --rb-pc, rb_vipstyle): avatar ring, a line under the
      cover, the card icons. Same swatch list.
   4. Plans page (rb_vip 2.1): three columns from 1024px (tablets get one plan at a time with the Donator | VIP | Apex
      picker, like phones), the Apex card, the "yearly or lifetime only" monthly view, the Apex button of the picker
   5. The Apex thread prefix chip (.rb-prefix-apex) and the free Donator month line of the Donator column
   6. Supporters list, the Who's Online "Invisible" tag; 8. the Priority Support board notes (rb_tierperks)
   This part loads before 70-pro.css and the later parts: rules that compete with them carry one class more.
   Every effect stops under prefers-reduced-motion. Flat, hairlines, 3px corners.
   =================================================================== */

/* ---- 1. name style ---- */
@keyframes rb-name-apex{0%{background-position:140% 0,0 0}38%,100%{background-position:-40% 0,0 0}}
.rb-name-apex{font-weight:800;color:#d8dcf5;
  background-image:linear-gradient(105deg,rgba(255,255,255,0) 42%,#ffffff 50%,rgba(255,255,255,0) 58%),linear-gradient(90deg,#fff1bd 0%,#ffbfe8 30%,#c4c9ff 62%,#aef3df 100%);
  background-size:300% 100%,100% 100%;background-repeat:no-repeat;background-position:140% 0,0 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:rb-name-apex 3.6s ease-in-out infinite;filter:drop-shadow(0 1px 0 rgba(0,0,0,.95)) drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 0 4px rgba(214,206,255,.25))}
a:hover span.rb-name-apex{filter:brightness(1.08) drop-shadow(0 1px 0 rgba(0,0,0,.95)) drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 0 5px rgba(214,206,255,.35))}

/* ---- 2. user title colour (Apex picks it from the swatch list) ---- */
.rb-utitle-apex{font-weight:600;color:var(--rb-ut,#dfe5ee)}

/* ---- 3. profile theme colour (Apex picks it from the swatch list) ---- */
.rb-pp.rb-pp-theme .rb-pp-avatar{border-color:var(--rb-pc);box-shadow:0 0 0 1px rgba(0,0,0,.6)}
.rb-pp.rb-pp-theme .rb-pp-cover{border-color:color-mix(in srgb,var(--rb-pc) 45%,var(--line))}
.rb-pp.rb-pp-theme .rb-pp-cover::before{content:"";position:absolute;left:0;right:0;bottom:0;z-index:2;height:2px;background:var(--rb-pc);opacity:.9}
.rb-pp.rb-pp-theme .rb-card-title .fa-solid{color:var(--rb-pc)}

/* the swatch pickers in the User CP (usercp.php?action=rb_colours) */
.rb-vs-swatches{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.rb-vs-swatch{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:13px;cursor:pointer}
.rb-vs-swatch:hover{background:var(--surface-3);color:#fff}
.rb-vs-swatch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rb-vs-swatch-dot{flex:none;width:18px;height:18px;border-radius:50%;background:var(--rb-sw,#dfe5ee);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.rb-vs-swatch:has(input:checked){border-color:var(--rb-sw,var(--accent-2));color:#fff;box-shadow:inset 0 0 0 1px var(--rb-sw,var(--accent-2))}
.rb-vs-swatch:has(input:focus-visible){outline:2px solid var(--accent-2);outline-offset:1px}
.rb-vs-colour-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:13px;color:var(--muted)}

/* ---- 4. plans page ---- */
/* three columns from 1024px, tighter paddings while they are narrow (review fix: at 768 to 1023px three columns left
   every userbar at about 120px and wrapped the values); vip.css keeps one column per row on phones */
@media (min-width:1024px){.rb-plans-cols.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 761 to 1023px with three plans: one full width plan at a time and the picker (the page script adds has-pick), the
   shared row tracks of vip.css (subgrid from 761px) are not needed for one column. vip.css loads after this part,
   so these rules carry more classes. */
@media (min-width:761px) and (max-width:1023px){
  .rb-plans .rb-plans-cols.is-three{grid-template-columns:minmax(0,1fr);row-gap:var(--gap)}
  .rb-plans .rb-plans-cols.is-three .rb-plan{display:flex;grid-row:auto}
  .rb-plans.has-pick .rb-plans-pick.is-three{display:flex;width:100%;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}
  .rb-plans.has-pick .rb-plans-cols.is-three .rb-plan:not(.is-picked){display:none}
}
@media (min-width:1024px) and (max-width:1100px){
  .rb-plans .rb-plans-cols.is-three .rb-plan-row{gap:10px;padding:9px 12px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-row.is-head{padding:8px 12px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-row.is-bar{padding:12px 12px 14px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-name{padding:0 12px;font-size:15.5px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-price{min-width:76px;padding:0 12px;font-size:18px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-foot{padding:12px}
  .rb-plans .rb-plans-cols.is-three .rb-plan-val{max-width:58%}
}
/* the Apex card: black header bar with the prismatic line on top, and the same prismatic line as a 1px outline round
   the whole card (white text on #0b0c0f: about 19:1) */
.rb-plans .rb-plan.is-apex{--rb-plan-box:rgba(255,255,255,.06);border-color:transparent;
  background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(90deg,#ffa6dc,#b4c6ff 33%,#a2ffe4 66%,#fff1a6) border-box}
.rb-plans .rb-plan.is-apex .rb-plan-head{border-top:0;padding-top:2px;
  background:linear-gradient(90deg,#ffa6dc,#b4c6ff 33%,#a2ffe4 66%,#fff1a6) top left / 100% 2px no-repeat,linear-gradient(115deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.05) 50%,rgba(255,255,255,0) 65%),#0b0c0f}
.rb-plans .rb-plan.is-apex.is-mine{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(90deg,#ffa6dc,#b4c6ff 33%,#a2ffe4 66%,#fff1a6) border-box}
/* monthly view of Apex (no monthly plan): the price box shows the yearly price with a small "a year" */
.rb-plan-price > span.is-stack{display:flex;flex-direction:column;align-items:center}
.rb-plan-price .rb-plan-per{display:block;margin-top:3px;font-size:11px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.72)}
.rb-plan-only{font-size:12.5px;color:var(--muted)}
/* "New" next to a row label */
.rb-plan-new{display:inline-flex;align-items:center;height:16px;margin-left:6px;padding:0 5px;border-radius:2px;background:rgba(162,255,228,.12);color:#a2ffe4;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
/* phone plan picker: Donator | VIP | Apex */
.rb-plans-pick-btn.is-apex{--rb-pick-bg:#0b0c0f}
.rb-plans .rb-plans-pick-btn.is-apex[aria-pressed="true"]{background:linear-gradient(90deg,#ffa6dc,#b4c6ff 33%,#a2ffe4 66%,#fff1a6) bottom left / 100% 2px no-repeat,#0b0c0f;color:#fff}

/* ---- 5. Apex thread prefix (one class more than .rb-topic-title .rb-badge of parts/showthread.css) ---- */
.rb-prefix.rb-badge.rb-prefix-apex{position:relative;border:1px solid transparent;color:#fff;font-weight:800;
  background:linear-gradient(#0d0e11,#0d0e11) padding-box,linear-gradient(90deg,#ffa6dc,#b4c6ff,#a2ffe4,#fff1a6) border-box}
.rb-trow .rb-prefix.rb-badge.rb-prefix-apex,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex{color:#fff!important}

/* the free Donator month (Donator column of the plans page, Membership page) */
.rb-plans .rb-plan-free{flex:1 1 140px}
.rb-plan-free-note{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}

/* ---- 6. Supporters list (misc.php?action=supporters, rb_tierperks) and the Who's Online tag ---- */
.rb-supporters{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-supporters-card .rb-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rb-supporters-count{font-size:12.5px;color:rgba(255,255,255,.72)} /* on the blue card head: about 7:1 (--muted was 3:1) */
.rb-supporters-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:14px 16px}
.rb-supporters-lead{margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-supporters-lead a{color:var(--link);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.rb-supporters-mine{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:12.5px;color:var(--muted)}
.rb-supporters-card{overflow:hidden}
/* the last row's bottom lines sit on the card's own bottom border (no short extra line, no double line) */
.rb-supporters-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0 0 -1px;padding:0;list-style:none;border-top:1px solid var(--line)}
.rb-supporter{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-supporter-av{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--surface-3);box-shadow:0 0 0 1px rgba(196,201,255,.35)}
.rb-supporter-av img{display:block;width:100%;height:100%;object-fit:cover}
.rb-supporter-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb-supporter-name{min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.rb-supporter-name [class*="rb-name-"]{white-space:normal;overflow-wrap:anywhere}
.rb-supporter-when{font-size:12px;color:var(--muted)}
.rb-supporters-empty{padding:28px 16px}
.rb-wol-invis{display:inline-flex;align-items:center;height:16px;margin-left:6px;padding:0 5px;border-radius:2px;background:var(--surface-4);color:var(--muted);font-size:10.5px;font-weight:600;vertical-align:1px}
@media (max-width:600px){
  .rb-supporters-top{padding:12px}
  .rb-supporter{padding:10px 12px}
}

/* ---- 7. checkout, invoice and Membership page (parts/payments.css has the VIP and Donator colours) ---- */
.rb-pay-summary.is-apex{border-top:2px solid #b4c6ff}
.rb-pay-summary.is-apex .rb-pay-plan-name,.rb-pay-tier.is-apex .rb-pay-tier-name{color:#c4c9ff}
.rb-pay-ucp-foot.is-free{border-top:1px solid var(--line)}

/* ---- 8. Priority Support board (rb_tierperks): the note above the list and on the new thread form, the empty state,
   "Private" instead of the "-" counters and "Never" of an own threads only board on the index ---- */
.rb-ps-note{display:flex;align-items:center;gap:10px;margin:0 0 var(--gap);padding:11px 14px;border:1px solid var(--line);border-left:2px solid var(--accent-2);border-radius:var(--radius);background:var(--surface);color:var(--fg-2);font-size:13.5px;line-height:1.45}
.rb-ps-note .fa-solid{flex:none;font-size:13px;color:var(--accent-2)}
.rb-forum.rb-forum-private .rb-forum-stat{visibility:hidden}
.rb-forum.rb-forum-private .rb-forum-last > :not(.rb-forum-private-tag){display:none}
.rb-forum-private-tag{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.rb-forum-private-tag .fa-solid{font-size:11px}
@media (max-width:1000px){
  .rb-forum.rb-forum-private .rb-forum-stats-wrap{display:none}
}

@media (prefers-reduced-motion:reduce){
  .rb-name-apex{animation:none!important}
}

/* ===== parts/awaiting.css ===== */
/* Awaiting Activation (plugin rb_awaiting, AWAITING-20261020). A member who has not clicked the activation link yet
   (usergroup 5) reads the board like a guest. rb_awaiting swaps #rb-member-flag for #rb-awaiting-flag on the page, so
   20-layout.css already hides every .rb-member-only part for them; here the guest login and register parts go too
   (.rb-guest-only: guest bar, sidebar card, guest country gates, Login / Register links) and the activation versions
   show (.rb-awaiting-only: the country gates in index.html, "Resend activation email" in the user menu and footer, the
   Activate item of the mobile bar). Everyone else never sees an .rb-awaiting-only part. */
.rb-shell:has(#rb-awaiting-flag) .rb-guest-only{display:none!important}
.rb-shell:not(:has(#rb-awaiting-flag)) .rb-awaiting-only{display:none!important}
@supports not selector(:has(*)){.rb-awaiting-only{display:none!important}}

/* the slim notice under the header on every page ({$rb_awaiting_notice}), in the notice strip style of the index */
.rb-notices .rb-awaiting-notice{margin-bottom:12px}
.rb-awaiting-notice .rb-notice-strip,.rb-awaiting-notice .rb-notice-strip:hover{background:var(--surface);color:var(--fg)}
.rb-awaiting-notice .rb-notice-ic{color:var(--accent-2)}
.rb-awaiting-notice .rb-notice-text{flex-wrap:wrap;gap:4px 6px}
.rb-awaiting-notice .rb-notice-text a{color:var(--link);font-weight:600;text-decoration:none}
.rb-awaiting-notice .rb-notice-text a:hover{color:#fff;text-decoration:underline}

/* the country gates: the guest gate look, with an envelope on the flag instead of the login buttons */
.rb-awaiting-gate .rb-country-gate-lock{background:var(--accent);color:#fff}
.rb-awaiting-gate .rb-guest-gate-actions .rb-btn{white-space:normal;text-align:center}

/* ===== 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:wrap;align-items:center;gap:4px;min-width:0;max-width:100%} /* owner 2026-10-26: every award on the postbit, in as many rows as needed */
.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/brand-mobile.css ===== */
/* Owner 2026-10-20: show the full ROIDBOARD wordmark next to the icon in the top bar on phones too. */
@media (max-width:760px){
  .rb-topbar .rb-brand .rb-brand-name.rb-hide-mobile{display:inline!important;font-size:15px;white-space:nowrap}
  .rb-topbar .rb-brand{gap:8px;padding-right:4px;margin-right:0}
}
@media (max-width:359px){
  .rb-topbar .rb-brand .rb-brand-name.rb-hide-mobile{font-size:13px}
  .rb-topbar .rb-brand{gap:6px}
}

/* ===== parts/bugform.css ===== */
/* ================= BUG REPORT FORM (plugin rb_bugform 1.0) ================= */
/* newthread.php in Bug Reports for members: template rb_bugform_form, eight numbered questions instead of the editor.
   Same components and spacing as the scam appeal form (parts/scamappeal-form.css). Desktop: question on the left,
   answer on the right. Phones: stacked. The first post of a report is shown as question / answer rows
   (.rb-bf-answers), for everyone. */

/* ---- notes above the form ---- */
.rb-bf-compose .rb-alert.rb-bf-security,.rb-alert.rb-bf-staffnote{margin:0;align-items:center}
.rb-bf-compose .rb-bf-security .rb-alert-icon,.rb-bf-staffnote .rb-alert-icon{margin-top:0}
.rb-bf-security .rb-alert-body strong{color:#fff;font-weight:600}
.rb-bf-staffnote .rb-alert-body a{font-weight:600}

/* ---- form ---- */
.rb-bf-compose .rb-bf-formbody{padding:18px 20px 6px}
.rb-bf-intro{margin:0 0 4px;padding:0 0 16px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:14px;line-height:1.55}
.rb-bf-intro p{margin:0 0 10px}
.rb-bf-intro .rb-bf-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0}
.rb-bf-title span{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-bf-title b{min-width:0;color:#fff;font-weight:600;overflow-wrap:anywhere}
.rb-bf-title b.is-empty{color:var(--muted);font-weight:500}
.rb-bf-steps{list-style:none;margin:0;padding:0}
.rb-bf-step{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:10px 32px;padding:20px 0;border-top:1px solid var(--line)}
.rb-bf-step:first-child{border-top:0}
.rb-bf-step-q{display:flex;align-items:flex-start;gap:12px;min-width:0}
.rb-bf-step-q > div{min-width:0}
.rb-bf-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.rb-bf-q{display:block;margin:2px 0 4px;font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.rb-bf-q .rb-req{color:#f87171}
.rb-bf-step-q .rb-help{margin:0}
.rb-bf-step-a{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-bf-step-a input.textbox{width:100%}
.rb-bf-step-a textarea.textarea{display:block;width:100%;min-height:0;font-size:14.5px;line-height:1.55}
.rb-bf-step-a textarea#rb_bf_steps{min-height:132px}
.rb-bf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-bf-field .rb-label{font-weight:600}
select.rb-bf-where{max-width:360px}

/* 4 expected / what happened instead */
.rb-bf-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}

/* 5 every time / sometimes / only once */
.rb-bf-choices{display:flex;flex-wrap:wrap;gap:8px}
.rb-bf-choice{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 18px 0 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:14px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.rb-bf-choice:hover{background:var(--surface-3);color:#fff}
.rb-bf-choice input[type=radio]{margin:0;flex:none}
.rb-bf-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#fff}
.rb-bf-choice:has(input:focus-visible){outline:2px solid var(--blue-2);outline-offset:1px}

/* 6 device, system, browser */
.rb-bf-device{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.rb-bf-device select{width:100%;min-width:0}

/* 7 screenshots: the attachment box */
.rb-bf-attach .rb-attachbox{margin:0;background:var(--surface-2);border-color:var(--line-2)}
.rb-bf-attach .rb-attachbox .rb-card-head{min-height:0;padding:9px 14px}
.rb-bf-attach .rb-attachbox .rb-card-title{font-size:13px}

/* problems */
.rb-bf-err{display:flex;align-items:flex-start;gap:8px;margin:0;color:#f2a3a3;font-size:13px;line-height:1.45}
.rb-bf-err .fa-solid{flex:none;margin-top:2px;font-size:12.5px;color:var(--red)}
.rb-bf-step.is-error .rb-bf-num{border-color:var(--red);background:var(--red-soft);color:#fff}
.rb-bf-step-a :is(textarea,input.textbox,select)[aria-invalid=true],.rb-bf-choices[aria-invalid=true] .rb-bf-choice{border-color:rgba(240,82,82,.7)}

/* sending: the button shows it, a second click does nothing (the page script) */
.rb-compose-form.is-sending input[name=submit]{opacity:.7;cursor:progress}

/* ---- the first post of a report ---- */
.rb-bf-lead{margin:0 0 12px}
.rb-bf-answers{margin:0;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);overflow:hidden;font-size:14.5px;line-height:1.6}
.rb-bf-answers-head{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line-2);background:var(--surface-3);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.rb-bf-answers-head .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-bf-list{margin:0;padding:0}
.rb-bf-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px 20px;padding:12px 14px;border-top:1px solid var(--line)}
.rb-bf-row:first-child{border-top:0}
.rb-bf-row dt{margin:0;font-size:13px;font-weight:600;line-height:1.75;color:var(--muted)}
.rb-bf-row dd{margin:0;min-width:0;color:var(--fg);overflow-wrap:anywhere}
.rb-bf-row dd .rb-badge{height:22px;padding:0 9px;font-size:11.5px;vertical-align:1px}
.rb-bf-sub{display:inline-block;margin-right:8px;font-size:13px;color:var(--muted)}
/* screenshots ([attachment=N]) side by side, not one full width block each */
.rb-bf-row dd .rb-attach-thumb{display:inline-block;margin:6px 8px 2px 0;vertical-align:top}
.rb-bf-row dd img.attachment.rb-attach-img{display:inline-block;max-width:100%;margin:6px 8px 2px 0;vertical-align:top}
.rb-bf-none{color:var(--muted)}

@media (max-width:1100px){
  .rb-bf-step{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:10px 22px}
  .rb-bf-pair{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rb-bf-compose .rb-bf-formbody{padding:14px 14px 2px}
  .rb-bf-step{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}
  .rb-bf-step-q{gap:10px}
  .rb-bf-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-bf-choice{justify-content:center;height:42px;padding:0 10px}
  /* device, system, browser: one row each, the label beside its select */
  .rb-bf-device{grid-template-columns:minmax(0,1fr);gap:8px}
  .rb-bf-device .rb-bf-field{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px}
  .rb-bf-device select,select.rb-bf-where{height:42px}
  select.rb-bf-where{max-width:none}
  .rb-bf-row{grid-template-columns:minmax(0,1fr);gap:2px 0;padding:10px 12px}
  .rb-bf-row dt{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;line-height:1.6}
  .rb-bf-answers{font-size:14.5px}
}
@media (max-width:480px){
  /* the three answers are longer than Yes / No: full width rows, never a wrapped label */
  .rb-bf-choices{grid-template-columns:minmax(0,1fr)}
  .rb-bf-choice{justify-content:flex-start;padding:0 14px}
}

/* ===== 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/funds.css ===== */
/* ===================================================================
   Roidboard balance, auto renew, top up (rb_payments 1.1.0), VENDOR-FEES-20261020 (src/css/parts/funds.css, rb-fund-*).
   Same language: hairlines, 3px corners, one filled button per screen, green only for money that comes in and for
   "covered". The balance pages also use the small rb-vf-* helpers of parts/vendorfees.css (chips, facts, tables).
   =================================================================== */

/* auto renew strip inside a pay card */
.rb-fund-arbox{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2)}
.rb-fund-arbox.is-on{border-color:var(--accent-ring)}
.rb-fund-arbox-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.rb-fund-arbox .rb-switch b{color:#fff;font-weight:600}
.rb-fund-arbox-line{font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-switch.is-disabled{opacity:.45;cursor:not-allowed}

/* Balance page: the amount */
.rb-fund-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 20px}
.rb-fund-amount{display:flex;flex-direction:column;gap:2px;min-width:0}
.rb-fund-amount b{font-size:34px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.rb-fund-cur{font-size:12.5px;color:var(--muted)}
.rb-fund-head-actions{display:flex;flex-wrap:wrap;gap:8px}
.rb-fund-head-actions .rb-btn{height:40px;padding:0 16px}
.rb-fund-card{border-top:2px solid var(--green)}

/* Balance page: auto renew list */
.rb-fund-due{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 20px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--fg-2)}
.rb-fund-due b{color:#fff;font-variant-numeric:tabular-nums}
.rb-fund-ars{margin:0;padding:0;list-style:none}
.rb-fund-ar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,220px) minmax(0,1fr) auto;gap:8px 18px;align-items:center;padding:13px 20px;border-top:1px solid var(--line)}
.rb-fund-ar:first-child{border-top:0}
.rb-fund-ar-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}
.rb-fund-ar-name .rb-vf-tdsub{flex:1 0 100%}
.rb-fund-ar-title{font-size:14px;font-weight:600;color:#fff}
.rb-fund-ar-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.04em}
.rb-fund-ar-tag.is-vip{background:rgba(214,170,64,.16);color:#e9c46a}
.rb-fund-ar-tag.is-donator{background:rgba(226,116,158,.14);color:#efa3c0}
.rb-fund-ar-term select{width:100%;max-width:none}
.rb-fund-ar-state{min-width:0}
.rb-fund-ar.is-off .rb-fund-ar-name,.rb-fund-ar.is-off .rb-fund-ar-term{opacity:.6}
.rb-card-foot.rb-fund-arfoot{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:12px 20px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.rb-fund-arfoot .fa-solid{margin-top:3px;font-size:11px;color:var(--faint)}
.rb-card-foot.rb-fund-arfoot{flex-wrap:nowrap}
.rb-card-foot.rb-fund-arfoot > span{flex:1 1 auto;min-width:0}
.rb-fund-plus{color:var(--green-text);font-weight:600}
.rb-fund-minus{color:var(--fg-2)}
.rb-fund-ledger td.is-num{white-space:nowrap}

/* Vendor page: the auto renew card */
.rb-fund-arcard{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;padding:18px 20px;align-items:start}
.rb-fund-arcard-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-fund-arcard-main .rb-switch b{color:#fff;font-weight:600}
.rb-fund-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-2);border-radius:3px;overflow:hidden;background:var(--surface-2)}
.rb-fund-seg-opt{position:relative;display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-left:1px solid var(--line-2);cursor:pointer;font-size:12.5px;color:var(--fg-2)}
.rb-fund-seg-opt:first-child{border-left:0}
.rb-fund-seg-opt input{position:absolute;opacity:0;pointer-events:none}
.rb-fund-seg-opt b{font-size:15px;color:#fff;font-variant-numeric:tabular-nums}
.rb-fund-seg-opt:has(input:checked){background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}
.rb-fund-arcard-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-fund-ar-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);overflow:hidden}
.rb-fund-ar-sum > div{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rb-fund-ar-sum > div:nth-child(-n+2){border-top:0}
.rb-fund-ar-sum > div:nth-child(odd){border-left:0}
.rb-fund-ar-sum dt{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-fund-ar-sum dd{margin:0;font-size:15px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.rb-fund-ar-sum dd small{display:block;margin-top:1px;font-size:12px;font-weight:400;color:var(--muted)}
.rb-fund-ar-sum .is-warn dd{color:#e6c271}
.rb-fund-arcard-actions{display:flex;flex-wrap:wrap;gap:8px}
.rb-fund-arcard-actions .rb-btn{flex:1 1 0;justify-content:center;height:40px}

/* top up checkout: amounts */
.rb-fund-amounts{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:10px}
.rb-fund-amt{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:58px;padding:10px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}
.rb-fund-amt:hover{background:var(--surface-3)}
.rb-fund-amt > input{position:absolute;opacity:0;pointer-events:none}
.rb-fund-amt b{font-size:19px;font-weight:700;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums}
.rb-fund-amt small{font-size:12px;color:var(--green-text)}
.rb-fund-amt:has(> input:checked){border-color:var(--accent);background:var(--accent-soft)}
.rb-fund-amt:has(> input:focus-visible){outline:2px solid var(--blue-2);outline-offset:1px}
.rb-fund-other{flex-direction:row;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--fg-2)}
.rb-fund-other-in{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;color:var(--muted)}
.rb-fund-other-in input.textbox{width:100%;min-width:0;height:34px}
.rb-fund-checkout .rb-pay-line dd{font-variant-numeric:tabular-nums}
.rb-fund-checkout .rb-pay-period b{color:#fff}

@media (max-width:980px){
  .rb-fund-arcard{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rb-fund-ar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name switch" "term term" "state state";padding:12px 14px;gap:10px 12px}
  .rb-fund-ar-name{grid-area:name}
  .rb-fund-ar-switch{grid-area:switch}
  .rb-fund-ar-term{grid-area:term}
  .rb-fund-ar-state{grid-area:state}
  .rb-fund-due{padding:12px 14px}
  .rb-fund-amount b{font-size:30px}
  .rb-fund-head-actions{width:100%}
  .rb-fund-head-actions .rb-btn{flex:1 1 0;justify-content:center}
  .rb-fund-arcard{padding:14px;gap:14px}
  .rb-fund-seg-opt{padding:8px 10px}
  .rb-fund-amounts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .rb-fund-other{grid-column:1 / -1}
  .rb-fund-ar.is-off .rb-fund-ar-term{display:none}
  .rb-card-foot.rb-fund-arfoot{padding:12px 14px}
  .rb-vf-table-cards.rb-fund-ledger tr{display:grid !important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date amt" "what what" "bal bal";gap:3px 12px}
  .rb-vf-table-cards.rb-fund-ledger td[data-l]{display:block !important}
  .rb-vf-table-cards.rb-fund-ledger td[data-l]::before{display:none}
  .rb-fund-ledger td:nth-child(1){grid-area:date;font-size:12px;color:var(--muted)}
  .rb-fund-ledger td:nth-child(2){grid-area:what;font-size:13.5px}
  .rb-fund-ledger td:nth-child(3){grid-area:amt;text-align:right !important;font-size:14px}
  .rb-fund-ledger td:nth-child(4){grid-area:bal;font-size:12px;color:var(--muted)}
  .rb-vf-table-cards.rb-fund-ledger td:nth-child(4)::before{display:inline !important;content:"Balance after ";font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}
}

/* ===== parts/guestbar.css ===== */
/* Guest welcome bar on the index (owner 2026-10-19: move "Hello There, Guest!" with Login and Register to the top on
   mobile, right above the section tabs). index.html has .rb-guestbar inside .rb-index-main before nav.rb-cattabs, with the
   same title and buttons as the sidebar card (.rb-welcome-buttons, so 70-pro.css gives it the same look and the blue
   primary Register). It only shows at 1100px and below, where .rb-index is one column and the sidebar card would fall to
   the very bottom; that card is hidden there so the guest sees it once. Above 1100px nothing changes.
   Buttons are 40px tall here (70-pro.css makes the sidebar card's 36px, too small as a tap target). Phones: two full width
   buttons; 761px to 1100px: two 200px buttons on the left, so they do not stretch across a wide bar.
   Members never see either: .rb-guest-only is display:none!important when #rb-member-flag is on the page (20-layout.css). */
.rb-index .rb-card.rb-guestbar{display:none}
@media (max-width:1100px){
  .rb-index .rb-card.rb-guestbar{display:block;margin:0 0 var(--gap)}
  .rb-index > .rb-card.rb-side-welcome.rb-guest-only{display:none}
  .rb-card.rb-guestbar .rb-card-body{padding:10px 12px}
  .rb-card.rb-guestbar .rb-welcome-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rb-card.rb-guestbar .rb-welcome-buttons .rb-btn{min-width:0;height:40px}
}
@media (min-width:761px) and (max-width:1100px){
  .rb-card.rb-guestbar .rb-welcome-buttons{grid-template-columns:repeat(2,minmax(0,200px));justify-content:start}
}

/* ===== 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}
}

/* ================= AUDIT-20261020 (rb_market 1.4.2, rb_autoprefix 1.2; marker RB-AUDIT-MARKET-20261020) =================
   1. Staff bump on someone else's listing: <button class="button rb-bump-btn is-staff">Bump (staff)</button> asks first
      (confirm in the form). Outline look so it does not read as the main action, and on phones it keeps its own width
      instead of stretching over the toolbar (showthread.css gives .rb-topic-actions .button flex:1 1 auto there).
   2. Self reply notice (.rb-card.rb-mkt-notice): in place of the quick reply on the thread page and above the editor on
      newreply.php, for a starter who posted last: clock icon square, title, one paragraph with the wait as text, and
      "Edit your last post" for members who may edit. Same layout as the reopen notice (parts/reopen.css).
   3. Listing type hint (p.rb-listing-type-help) under the type + title row of a new listing (rb_autoprefix 1.2). */
.rb-topic-actions .button.rb-bump-btn.is-staff{background:transparent;border-color:var(--line-2);color:var(--fg)}
.rb-topic-actions .button.rb-bump-btn.is-staff:hover,
.rb-topic-actions .button.rb-bump-btn.is-staff:focus-visible{background:var(--surface-3);border-color:var(--line-2);color:#fff}
.rb-topic-actions .button.rb-bump-btn.is-staff .fa-solid{color:var(--fg-2)}

.rb-topic-page > .rb-card.rb-mkt-notice,.rb-posting > .rb-card.rb-mkt-notice{display:flex;align-items:center;gap:16px;margin:0;padding:16px 18px;background:var(--surface);border:1px solid var(--line-2);border-left:2px solid var(--amber)}
.rb-mkt-notice .rb-mkt-notice-ic{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:15px}
.rb-mkt-notice .rb-mkt-notice-body{flex:1 1 auto;min-width:0}
.rb-mkt-notice .rb-mkt-notice-title{color:#fff;font-size:14px;font-weight:600;line-height:1.35}
.rb-mkt-notice .rb-mkt-notice-text{margin:4px 0 0;color:var(--fg-2);font-size:13.5px;line-height:1.5}
.rb-mkt-notice .button.rb-mkt-notice-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;height:38px;margin:0;padding:0 18px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;color:#fff;font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none}
.rb-mkt-notice .button.rb-mkt-notice-btn:hover{background:var(--surface-4);color:#fff}
.rb-mkt-notice .button.rb-mkt-notice-btn .fa-solid{font-size:12.5px;color:var(--fg-2)}

.rb-compose-subject .rb-help.rb-listing-type-help,.rb-compose-body > .rb-help.rb-listing-type-help{margin:-6px 0 12px;color:var(--fg-2);font-size:12.5px;line-height:1.5}
.rb-listing-type-help b{color:var(--fg);font-weight:600}

@media (max-width:760px){
  .rb-topic-actions .button.rb-bump-btn.is-staff{flex:0 0 auto}
  .rb-topic-page > .rb-card.rb-mkt-notice,.rb-posting > .rb-card.rb-mkt-notice{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px}
  .rb-mkt-notice .rb-mkt-notice-ic{width:36px;height:36px;font-size:14px}
  .rb-mkt-notice .rb-mkt-notice-body{flex:1 1 0}
  .rb-mkt-notice .button.rb-mkt-notice-btn{flex:1 1 100%;height:40px}
}

/* ===== parts/marketsold.css ===== */
/* ================= MARKETPLACE: MARK AS SOLD + PREFIX FILTER (rb_marketsold plugin) =================
   1. Thread toolbar button (template rb_marketsold_button), appended to {$newreply} right after rb_market's Bump
      button, so it shows in the top and the bottom toolbar (.rb-topic-actions). <form class="rb-msold-form"> is
      display:contents, so the button is a flex item of the toolbar like New Thread, Reply and Bump.
      .is-mark   (Mark as sold, Mark as found): the green outline of .rb-btn-success
      .is-reopen (Mark as available, Mark as open again): the plain grey toolbar button
   2. Filter chips (templates rb_marketsold_filter, rb_marketsold_filter_chip), a row in front of the thread list.
      Each chip is a .rb-chip (70-pro look) with a small square in the prefix's own colour: the swatch carries the
      prefix's display style classes (rb-prefix is-wts, is-sold ...), so the colours come from parts/prefixes.css.
      The active chip is .rb-chip.is-active (blue). On phones the row wraps (1.2; it scrolled sideways before).
   3. Empty filtered list (template rb_marketsold_empty) uses the empty state markup of parts/ux.css (.rb-empty-state),
      so it needs no rules here.
   4. (1.2, RB-AUDIT-MARKET-20261020) "Search in <board>" (form.rb-mkf-search) at the end of the chip row: right of the
      chips on wide screens, its own full width line under them on phones.
   5. (1.2) Seller line (nav.rb-seller-line) in the row under the thread title bar (.rb-topic-rating): Message seller,
      Feedback (N), Check in Scam Register. Left aligned, small outline buttons; on phones one row of equal buttons,
      40px high, with short labels under 480px.
   70-pro.css loads after this part, so every rule uses at least two classes to beat its .button / .rb-chip rules. */

/* ---- 1. toolbar button ---- */
.rb-topic-actions .rb-msold-form{display:contents}
.rb-topic-actions .button.rb-msold-btn{margin:0;color:#fff}
.rb-topic-actions .button.rb-msold-btn.is-mark{background:transparent;border-color:var(--green-line);color:var(--green-text)}
.rb-topic-actions .button.rb-msold-btn.is-mark:hover,
.rb-topic-actions .button.rb-msold-btn.is-mark:focus-visible{background:var(--green-soft);border-color:var(--green);color:#fff}
.rb-topic-actions .button.rb-msold-btn.is-mark .fa-solid{color:var(--green)}
.rb-topic-actions .button.rb-msold-btn.is-mark:hover .fa-solid{color:#fff}
@media (max-width:760px){
  .rb-topic-actions .button.rb-msold-btn{padding:0 14px}
}

/* ---- 2. filter chips ---- */
/* a direct child of .rb-page (flex column, gap var(--gap)): sit a little closer to the toolbar below */
.rb-mkf{min-width:0;max-width:100%;margin:0 0 -6px}
.rb-mkf-row{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rb-mkf-row::-webkit-scrollbar{display:none}
.rb-mkf .rb-chip.rb-mkf-chip{flex:none;height:30px;padding:0 11px;gap:7px;font-size:13px;font-weight:500;color:var(--fg-2);text-decoration:none}
.rb-mkf .rb-chip.rb-mkf-chip:hover{background:var(--surface-3);color:#fff;text-decoration:none}
.rb-mkf .rb-chip.rb-mkf-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-mkf .rb-chip.rb-mkf-chip:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
/* the swatch: the prefix chip shrunk to an 8px square (keeps the background colour of its is-* class). Tinted topic
   tones (Interest is is-tone-violet) are too faint at 8px, so those fill with their own text colour instead. */
.rb-mkf-chip .rb-prefix.rb-mkf-sw{top:0;width:8px;height:8px;padding:0;border-radius:2px;font-size:0;line-height:0}
.rb-mkf-chip .rb-prefix.rb-mkf-sw[class*="is-tone-"]{background:currentColor;box-shadow:none}
.rb-mkf-chip.is-active .rb-prefix.rb-mkf-sw{box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.rb-mkf-chip .rb-mkf-label{white-space:nowrap}
.rb-mkf-chip .rb-mkf-n{color:var(--muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.rb-mkf-chip.is-active .rb-mkf-n{color:rgba(255,255,255,.78)}
.rb-mkf-chip.is-empty:not(.is-active) .rb-mkf-label{color:var(--muted)}
@media (max-width:760px){
  /* a touch target that is easy to hit; 1.2 (RB-AUDIT-MARKET-20261020): the chips wrap instead of scrolling, so no
     filter sits off screen without a hint (the owner's rule for tab rows: every tab shows) */
  .rb-mkf .rb-chip.rb-mkf-chip{height:36px;padding:0 12px}
  .rb-mkf .rb-mkf-row{flex-wrap:wrap;overflow:visible}
}

/* ---- 4. board search (1.2) ---- */
.rb-mkf{display:flex;align-items:center;gap:10px}
.rb-mkf .rb-mkf-row{flex:1 1 auto}
.rb-mkf-search{position:relative;display:flex;align-items:center;flex:0 0 250px;min-width:0;margin:0}
.rb-mkf-search .textbox.rb-mkf-q{width:100%;height:32px;min-height:32px;padding:0 36px 0 12px;font-size:13px;border-radius:3px}
.rb-mkf-search .rb-mkf-go{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:28px;margin:0;padding:0;background:transparent;border:0;color:var(--fg-2);cursor:pointer}
.rb-mkf-search .rb-mkf-go:hover,.rb-mkf-search .rb-mkf-go:focus-visible{color:#fff}
@media (max-width:760px){
  .rb-mkf{flex-wrap:wrap;gap:8px}
  .rb-mkf .rb-mkf-row{flex:1 1 100%}
  .rb-mkf-search{flex:1 1 100%}
  .rb-mkf-search .textbox.rb-mkf-q{height:40px;min-height:40px;font-size:16px}
  .rb-mkf-search .rb-mkf-go{width:40px;height:38px}
}

/* ---- 5. seller line (1.2) ---- */
.rb-topic-rating > .rb-seller-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto;min-width:0}
.rb-seller-line .rb-seller-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;background:transparent;border:1px solid var(--line-2);border-radius:3px;color:var(--fg);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none}
.rb-seller-line .rb-seller-btn:hover,.rb-seller-line .rb-seller-btn:focus-visible{background:var(--surface-3);border-color:var(--line-2);color:#fff;text-decoration:none}
.rb-seller-line .rb-seller-btn .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-seller-line .rb-seller-s{display:none}
@media (max-width:760px){
  .rb-topic-rating > .rb-seller-line{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;gap:6px}
  .rb-seller-line .rb-seller-btn{justify-content:center;height:40px;padding:0 8px;min-width:0}
  .rb-seller-line .rb-seller-btn > span{overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:480px){
  .rb-seller-line .rb-seller-btn{gap:4px;padding:0 6px}
  /* the long label stays the link's name for screen readers, the short one is what fits */
  .rb-seller-line .rb-seller-l{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .rb-seller-line .rb-seller-s{display:inline}
}
@media (max-width:370px){
  /* the narrowest phones: the words need the room more than the icons */
  .rb-seller-line .rb-seller-btn .fa-solid{display:none}
  .rb-seller-line .rb-seller-btn{font-size:12.5px}
}

/* ===== 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/newgroups.css ===== */
/* ================= NEW GROUPS (tools/new_groups.php, owner 2026-10-19) =================
   Name styles for Legend, Verified Coach, Contributor and Restricted. Same colours as their userbars
   (make_banners_v3.py): Legend royal purple to gold, Coach aqua, Contributor indigo ink, Restricted caution yellow.
   This part loads before 70-pro.css, like parts/trustedvendor.css. The generic [class*="rb-name-"] rules of 70-pro.css still apply
   (nowrap, no icon after the name, hover brightness, no animation under prefers-reduced-motion); every animated class
   below also has its own reduced-motion rule with a good still frame. */

/* Legend (5,000 posts, TIER VI): one step above Elite. Elite is a red to orange flow with a glow; Legend is a purple
   to gold flow with a white light sweep on top and a glow that breathes from purple to gold. */
@keyframes rb-name-legend{0%{background-position:160% 0,0% 50%}50%{background-position:-60% 0,100% 50%}100%{background-position:-60% 0,0% 50%}}
@keyframes rb-name-legend-glow{0%{filter:drop-shadow(0 0 4px rgba(154,61,255,.6))}100%{filter:drop-shadow(0 0 7px rgba(255,190,92,.55))}}
.rb-name-legend{color:#c38bff;font-weight:800;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,#a24dff 0%,#dc72ff 28%,#ffbe5c 50%,#dc72ff 72%,#a24dff 100%);background-size:250% 100%,200% 100%;background-repeat:no-repeat;background-position:160% 0,0% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-legend 4.6s ease-in-out infinite,rb-name-legend-glow 2.3s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(170,80,255,.55))}
@media (prefers-reduced-motion:reduce){.rb-name-legend{animation:none!important;background-position:160% 0,50% 50%}}

/* Verified Coach: aqua to mint green (greener than the blue of Verified Vendor, brighter than the flat teal of Veteran),
   with a double heartbeat glow like the pulse line on the userbar */
@keyframes rb-name-heartbeat{0%,30%,100%{filter:drop-shadow(0 0 2px rgba(0,213,255,.45))}8%,22%{filter:drop-shadow(0 0 7px rgba(0,213,255,.75))}15%{filter:drop-shadow(0 0 3px rgba(0,213,255,.5))}}
.rb-name-coach{color:#2ff0d8;font-weight:700;text-shadow:none;background-image:linear-gradient(90deg,#00d0ff 0%,#3df5d0 55%,#9dffb8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-heartbeat 2.6s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(0,213,255,.5))}
@media (prefers-reduced-motion:reduce){.rb-name-coach{animation:none!important}}

/* Contributor: indigo ink (more violet than Member, deeper than the lavender of Respected) that slowly flows, soft glow */
.rb-name-contributor{color:#8a86ff;font-weight:700;text-shadow:none;background-image:linear-gradient(90deg,#6a5cff 0%,#a3b4ff 50%,#6a5cff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-flow 5s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(100,80,255,.6))}
@media (prefers-reduced-motion:reduce){.rb-name-contributor{animation:none!important}}

/* Restricted: muted caution yellow with a dotted underline, no glow and no motion (a penalty group should not shine;
   Banned and Scammer are struck through, Restricted is only marked) */
.rb-name-restricted{color:#d9b84a;font-weight:600;text-shadow:none;text-decoration:underline dotted rgba(217,184,74,.7);text-decoration-thickness:1px;text-underline-offset:3px;opacity:.9;animation:none;filter:none}

/* ===== parts/payments.css ===== */
/* ===================================================================
   Roidboard: payments (plugin rb_payments, templates rb_pay_*)
   Checkout (misc.php?action=vip_checkout), invoice (vip_invoice), receipt (vip_receipt), notices, the User CP
   Membership page and its nav group. Same restrained language as the rest: dark surfaces, hairlines, 3px corners,
   bare icons, one filled call to action per screen. Tier accents only as a 2px top line (VIP gold, Donator purple,
   the same colours as parts/vip.css). Two columns from 980px (main + 360px order card), one column below.
   This file loads before 70-pro.css, so selectors that 70-pro also sets carry one class more.
   =================================================================== */
.rb-pay{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-pay-muted{color:var(--muted)}
.rb-pay .rb-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-pay .rb-btn-primary:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}
.rb-pay .rb-btn .fa-solid,.rb-pay .rb-btn .fa-regular{font-size:12px}

/* ---- layout ---- */
.rb-pay-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--gap);align-items:start}
.rb-pay-main{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-pay-side{display:flex;flex-direction:column;gap:10px;min-width:0;position:sticky;top:calc(var(--topbar-h) + 16px)}
@media (max-width:980px){
  .rb-pay-grid{grid-template-columns:minmax(0,1fr)}
  .rb-pay-side{position:static}
  /* one column: the order card and its button come right after the coins, the explanation last */
  .rb-pay-checkout .rb-pay-main{display:contents}
  .rb-pay-checkout .rb-pay-side{order:2}
  .rb-pay-checkout .rb-pay-how{order:3}
}

/* ---- order card ---- */
.rb-pay-summary.is-vip{border-top:2px solid #c9962a}
.rb-pay-summary.is-donator{border-top:2px solid #b263d6}
.rb-pay-plan{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.rb-pay-plan-name{font-size:20px;font-weight:700;line-height:1.2;color:#fff;letter-spacing:.005em}
.rb-pay-summary.is-vip .rb-pay-plan-name{color:#e2b54a}
.rb-pay-summary.is-donator .rb-pay-plan-name{color:#c88ae6}
.rb-pay-plan-term{font-size:13px;color:var(--fg-2);white-space:nowrap}
.rb-pay-terms{display:flex;gap:2px;margin:0 0 14px;border-bottom:1px solid var(--line)}
.rb-pay-term{flex:1 1 0;padding:7px 4px 8px;margin-bottom:-1px;border-bottom:2px solid transparent;text-align:center;font-size:13px;font-weight:500;color:var(--muted)}
.rb-pay-term:hover{color:#fff}
.rb-pay-term.is-active{border-bottom-color:var(--accent-2);color:#fff}
.rb-pay-lines{display:flex;flex-direction:column;gap:8px;margin:0}
.rb-pay-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13.5px;line-height:1.4}
.rb-pay-line dt{min-width:0;color:var(--fg-2)}
.rb-pay-line dd{flex:none;margin:0;color:var(--fg);font-variant-numeric:tabular-nums}
.rb-pay-line.is-credit dd{color:var(--green-text)}
.rb-pay-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.rb-pay-total span{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-pay-total b{font-size:24px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.rb-pay-total-coin{margin:4px 0 0;text-align:right;font-family:var(--mono);font-size:12.5px;color:var(--fg-2)}
.rb-pay-period{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.rb-pay-period li{position:relative;padding-left:16px;font-size:12.5px;line-height:1.5;color:var(--fg-2)}
.rb-pay-period li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent-2)}
.rb-card-foot.rb-pay-summary-foot{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}
.rb-pay-submit{width:100%;justify-content:center}
.rb-pay-switch{align-self:center;font-size:12.5px;color:var(--link)}
.rb-pay-switch:hover{color:#fff;text-decoration:underline}
.rb-pay-back{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:2px 0;font-size:13px;color:var(--fg-2)}
.rb-pay-back:hover{color:#fff}
.rb-pay-back .fa-solid{font-size:11px;color:var(--muted)}
.rb-card-foot.rb-pay-side-foot{font-size:12px;color:var(--muted)}
.rb-pay-gift-msg{margin:12px 0 0;padding:8px 12px;border-left:2px solid var(--line-2);background:var(--surface-2);font-size:13px;line-height:1.5;color:var(--fg-2);overflow-wrap:anywhere}

/* ---- coins ---- */
.rb-pay-coins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rb-pay-coin{position:relative;display:block;min-width:0;cursor:pointer}
.rb-pay-coin-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rb-pay-coin-box{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"mark text tick" "mark approx tick";align-items:center;gap:2px 12px;min-height:64px;padding:11px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);transition:border-color .12s,background .12s}
.rb-pay-coin:hover .rb-pay-coin-box{border-color:#3a414c}
.rb-pay-coin-input:checked + .rb-pay-coin-box{border-color:var(--accent);background:var(--accent-soft)}
.rb-pay-coin-input:focus-visible + .rb-pay-coin-box{outline:2px solid var(--accent-ring);outline-offset:2px}
.rb-pay-coin-mark{grid-area:mark;font-size:24px;font-weight:700;line-height:1;text-align:center}
.rb-pay-coin-mark.is-ltc{color:#a9b8cc}
.rb-pay-coin-mark.is-btc{color:#e8933a}
.rb-pay-coin-text{grid-area:text;display:flex;flex-direction:column;min-width:0}
.rb-pay-coin-text b{font-size:14px;font-weight:600;line-height:1.3;color:#fff}
.rb-pay-coin-text span{font-size:12px;line-height:1.4;color:var(--muted)}
.rb-pay-coin-approx{grid-area:approx;font-family:var(--mono);font-size:12px;color:var(--fg-2)}
.rb-pay-coin-approx:empty{display:none}
.rb-pay-coin-tick{grid-area:tick;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--line-2);border-radius:50%;font-size:9px;color:transparent}
.rb-pay-coin-input:checked + .rb-pay-coin-box .rb-pay-coin-tick{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-pay-coin-note{display:flex;align-items:baseline;gap:8px;margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-2)}
.rb-pay-coin-note .fa-solid{flex:none;font-size:11px;color:var(--amber)}

/* ---- how it works ---- */
.rb-pay-steps{margin:0;padding:6px 16px 10px;list-style:none;counter-reset:rbpay}
.rb-pay-steps li{position:relative;padding:8px 0 8px 30px;font-size:13px;line-height:1.5;color:var(--fg-2);counter-increment:rbpay}
.rb-pay-steps li + li{border-top:1px solid var(--line)}
.rb-pay-steps li::before{content:counter(rbpay);position:absolute;left:0;top:8px;width:20px;font-family:var(--mono);font-size:12px;font-weight:700;line-height:19px;color:var(--accent-2)}
.rb-pay-steps b{font-weight:600;color:#fff}

/* ---- gift ---- */
.rb-pay-gift-body{display:flex;flex-direction:column;gap:14px}
.rb-pay-gift-body .rb-field{margin:0}
.rb-pay-gift-body .textarea{width:100%;min-height:76px;resize:vertical}
.rb-pay-gift .select2-container{width:100%!important}
.rb-pay-optional{margin-left:6px;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rb-pay-anon{gap:4px}
.rb-pay-gift-note{margin:0;font-size:12.5px;color:var(--muted)}

/* ---- notices ---- */
.rb-pay-notice{max-width:760px;width:100%;margin:0 auto}
.rb-pay-notice-body{display:flex;align-items:flex-start;gap:14px;padding:20px 18px}
.rb-pay-notice-icon{flex:none;width:22px;margin-top:2px;font-size:18px;text-align:center;color:var(--accent-2)}
.rb-pay-notice.is-warning .rb-pay-notice-icon{color:var(--amber)}
.rb-pay-notice.is-muted .rb-pay-notice-icon{color:var(--muted)}
.rb-pay-notice-main{min-width:0}
.rb-pay-notice-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#fff}
.rb-pay-notice-text{margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-card-foot.rb-pay-notice-foot{gap:8px;padding:12px 18px}
.rb-card-foot.rb-pay-notice-foot:empty{display:none}

/* ---- invoice ---- */
.rb-pay-head-label{font-size:12.5px;color:rgba(255,255,255,.82);white-space:nowrap}
.rb-pay-state{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--line)}
.rb-pay-state-icon{flex:none;width:22px;font-size:18px;text-align:center;color:var(--accent-2)}
.rb-pay-state.is-success .rb-pay-state-icon{color:var(--green)}
.rb-pay-state.is-warning .rb-pay-state-icon{color:var(--amber)}
.rb-pay-state.is-muted .rb-pay-state-icon{color:var(--muted)}
.rb-pay-state-text{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.rb-pay-state-text b{font-size:15px;font-weight:600;line-height:1.3;color:#fff}
.rb-pay-state-text span{font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-pay-invoice.is-open .rb-pay-state-icon,.rb-pay-invoice.is-seen .rb-pay-state-icon{animation:rbPayPulse 2s ease-in-out infinite}
@keyframes rbPayPulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.rb-pay-invoice .rb-pay-state-icon{animation:none}}
.rb-pay-countdown{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-left:14px;border-left:1px solid var(--line)}
.rb-pay-countdown-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-pay-countdown-time{font-family:var(--mono);font-size:20px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.rb-pay-countdown.is-low .rb-pay-countdown-time{color:var(--amber)}

.rb-pay-pay{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start;padding:18px 16px}
.rb-pay-qr{width:220px;aspect-ratio:1/1;padding:0;border-radius:var(--radius);background:#fff;overflow:hidden}
.rb-pay-qr svg{display:block;width:100%;height:100%}
.rb-pay-fields{display:flex;flex-direction:column;gap:16px;min-width:0}
.rb-pay-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-pay-field-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-pay-copy{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 8px 8px 12px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2)}
.rb-pay-value{min-width:0;margin:0;padding:0;background:none;border:0;font-family:var(--mono);color:#fff;overflow-wrap:anywhere;word-break:break-all}
.rb-pay-value.is-amount{font-size:20px;font-weight:700;line-height:1.2;word-break:normal;font-variant-numeric:tabular-nums}
.rb-pay-value.is-address{flex:1 1 auto;font-size:14px;line-height:1.45}
.rb-pay-unit{flex:1 1 auto;font-size:13px;font-weight:600;color:var(--fg-2)}
.rb-pay-copy-btn{flex:none;margin-left:auto}
.rb-pay-copy-btn.is-copied{border-color:var(--green-line);color:var(--green-text)}
.rb-pay-field-sub{font-size:12.5px;color:var(--muted)}
.rb-pay-wallet{display:flex;flex-wrap:wrap;gap:8px}
.rb-pay-notes{margin:0;padding:12px 0 0;list-style:none;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line)}
.rb-pay-notes li{position:relative;padding-left:14px;font-size:12.5px;line-height:1.5;color:var(--fg-2)}
.rb-pay-notes li::before{content:"";position:absolute;left:1px;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--faint)}
.rb-pay-done{display:flex;flex-direction:column;gap:14px;padding:16px}
.rb-pay-done-actions{display:flex;flex-wrap:wrap;gap:8px}
.rb-pay-done-actions:empty{display:none}
.rb-pay-tx{font-family:var(--mono);font-size:12.5px;color:var(--link)}
.rb-card-foot.rb-pay-inv-foot{gap:10px;padding:10px 16px}
.rb-card-foot.rb-pay-inv-foot:empty{display:none}
.rb-pay-cancel-form{display:inline-flex;margin:0}
.rb-pay-foot-link{margin-left:auto;font-size:12.5px;color:var(--link)}
.rb-pay-foot-link:hover{color:#fff;text-decoration:underline}

/* ---- receipt ---- */
.rb-pay-receipt{max-width:820px;width:100%;margin:0 auto}
.rb-pay-receipt-body{display:flex;flex-direction:column;gap:16px}
.rb-pay-receipt-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rb-pay-receipt-from{display:flex;flex-direction:column;gap:2px}
.rb-pay-receipt-from b{font-size:16px;font-weight:700;color:#fff}
.rb-pay-receipt-from span,.rb-pay-receipt-meta span{font-size:12.5px;color:var(--muted)}
.rb-pay-receipt-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.rb-pay-receipt-meta .rb-pay-receipt-status{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.rb-pay-receipt-status.is-paid{color:var(--green-text)}
.rb-pay-receipt-status.is-refunded{color:var(--amber)}
.rb-pay-receipt-table td,.rb-pay-receipt-table th{font-variant-numeric:tabular-nums}
.rb-pay-receipt-table tfoot th{font-size:14px;color:#fff;border-top:1px solid var(--line-2)}
.rb-pay .is-num{text-align:right;white-space:nowrap}
.rb-card-foot.rb-pay-receipt-foot{gap:8px}

/* ---- User CP: Membership ---- */
.rb-pay-tiers{display:flex;flex-direction:column}
.rb-pay-tier{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.rb-pay-tier:last-child{border-bottom:0}
.rb-pay-tier-name{flex:none;width:84px;font-size:14px;font-weight:700;color:#fff}
.rb-pay-tier.is-vip .rb-pay-tier-name{color:#e2b54a}
.rb-pay-tier.is-donator .rb-pay-tier-name{color:#c88ae6}
.rb-pay-tier.is-ended .rb-pay-tier-name{color:var(--muted)}
.rb-pay-tier-when{flex:1 1 220px;min-width:0;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-pay-tier-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.rb-card-foot.rb-pay-ucp-foot{justify-content:space-between;gap:10px}
.rb-pay-head-link{font-size:12.5px;color:rgba(255,255,255,.86)}
.rb-pay-head-link:hover{color:#fff;text-decoration:underline}
.rb-pay-table td{vertical-align:middle}
.rb-pay-table td:first-child{white-space:nowrap}
.rb-pay-empty{padding:26px 16px}

/* ---- phones ---- */
/* tap targets: Copy (amount, address), Cancel invoice and the invoice footer buttons are 40px tall like the rest of
   the theme (rb-btn-sm is 28px) */
@media (max-width:760px){
  .rb-pay-copy .rb-pay-copy-btn,.rb-pay-cancel-form .rb-btn,.rb-card-foot.rb-pay-inv-foot .rb-btn{min-height:40px;padding:0 14px}
}
@media (max-width:700px){
  .rb-pay-coins{grid-template-columns:minmax(0,1fr)}
  .rb-pay-pay{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px 12px}
  /* a phone usually pays from the same phone: amount, address and Open in wallet first, the QR code after them */
  .rb-pay-fields{order:1}
  .rb-pay-qr{order:2;width:min(200px,100%);justify-self:center}
  .rb-pay-head-label{white-space:normal;text-align:right}
}
@media (max-width:600px){
  .rb-pay-state{flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:14px 12px}
  .rb-pay-state-icon{margin-top:1px}
  .rb-pay-state-text{flex:1 1 0}
  .rb-pay-countdown{flex:1 1 100%;flex-direction:row;align-items:baseline;gap:8px;padding:8px 0 0 34px;border-left:0;border-top:1px solid var(--line)}
  .rb-pay-head-label{display:none}
  .rb-pay-value.is-amount{font-size:18px}
  .rb-pay-value.is-address{font-size:13px}
  .rb-pay-wallet .rb-btn{flex:1 1 100%;justify-content:center}
  .rb-pay-done{padding:14px 12px}
  .rb-pay-tier{padding:13px 12px}
  .rb-pay-tier-actions{width:100%;margin-left:0}
  .rb-pay-tier-actions .rb-btn{flex:1 1 0;justify-content:center}
  .rb-pay-notice-body{padding:16px 12px}
  .rb-card-foot.rb-pay-notice-foot .rb-btn{flex:1 1 100%;justify-content:center}
  .rb-pay-receipt-meta{align-items:flex-start}
  .rb-card-foot.rb-pay-ucp-foot .rb-btn{flex:1 1 100%;justify-content:center}
  /* User CP Membership tables: one compact block per invoice or receipt instead of a sideways scrolling table */
  .rb-pay-ucp .rb-table-wrap{overflow:visible}
  .rb-pay-ucp table.rb-table.rb-pay-table,.rb-pay-ucp table.rb-table.rb-pay-table tbody{display:block;width:100%}
  .rb-pay-ucp table.rb-table.rb-pay-table thead{display:none}
  .rb-pay-ucp table.rb-table.rb-pay-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 12px;padding:12px;border-bottom:1px solid var(--line)}
  .rb-pay-ucp table.rb-table.rb-pay-table tr:last-child{border-bottom:0}
  .rb-pay-ucp table.rb-table.rb-pay-table td{display:block;padding:0;border:0;text-align:left;white-space:normal;min-width:0}
  .rb-pay-ucp table.rb-table.rb-pay-table td:nth-child(1){grid-column:1;grid-row:1;white-space:nowrap;color:var(--fg)}
  .rb-pay-ucp table.rb-table.rb-pay-table td:nth-child(2){grid-column:2;grid-row:1;color:var(--fg)}
  .rb-pay-ucp table.rb-table.rb-pay-table td:nth-child(3){grid-column:1 / 3;grid-row:2;font-size:13px;color:var(--muted)}
  .rb-pay-ucp table.rb-table.rb-pay-table td:nth-child(4){grid-column:1 / 3;grid-row:3;font-size:13px;color:var(--fg-2)}
  .rb-pay-ucp table.rb-table.rb-pay-table td:last-child{grid-column:3;grid-row:1 / 4;align-self:center}
}

/* ---- print: only the receipt, black on white ---- */
@media print{
  body *{visibility:hidden}
  .rb-pay-receipt,.rb-pay-receipt *{visibility:visible}
  .rb-pay-receipt{position:absolute;left:0;top:0;max-width:none;border:0;box-shadow:none;background:#fff;color:#000}
  .rb-pay-receipt .rb-card-head{background:none;border-bottom:1px solid #000}
  .rb-pay-receipt .rb-card-title,.rb-pay-receipt b,.rb-pay-receipt dt,.rb-pay-receipt dd,.rb-pay-receipt td,.rb-pay-receipt th,.rb-pay-receipt span,.rb-pay-receipt a{color:#000!important}
  .rb-pay-receipt .rb-table thead th{background:none}
  .rb-pay-print,.rb-pay-receipt-foot{display:none!important}
}

/* ---- site audit 2026-10-20 (RB-AUDIT-20261020): tap targets of 40px on touch screens (the 16px fields of bug 6 come
   from area-1's one global rule, 90-audit-nav.css) ---- */
@media (hover:none){
  .rb-pay-back,.rb-pay-switch{display:inline-flex;align-items:center;min-height:40px}
  .rb-pay-gift .select2-container .select2-choice{height:40px;line-height:38px}
  .select2-drop .select2-search input,.select2-drop input.select2-input{min-height:40px}
  .select2-results .select2-result-label{display:flex;align-items:center;min-height:40px;padding-top:4px;padding-bottom:4px}
}

/* ===== 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/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 (>= 1001px; up to 1000px since AUDIT-FIXES-20261020, audit UX 2.2, tablets use the phone row): 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 and tablets (<= 1000px): 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:1001px){
  .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 AND TABLETS (up to 1000px) ================= */
@media (max-width:1000px){
  /* 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;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;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%)}
/* the name block grows the cover instead of being pinned to its bottom: a two line name plus a long "Viewing thread"
   line made the block 178px tall inside a 160px cover on phones, so the name and the avatar ran out of the top edge
   (owner, 2026-10-22). min-height keeps the normal look, the cover only gets taller when the text needs it. */
.rb-pp-cover-in{position:relative;z-index:1;display:flex;align-items:center;gap:20px;padding:18px 24px 24px;min-width:0;margin-top:auto}
.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:1 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-2)}
.rb-pp-st-loc a{display:inline;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.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:auto;min-height:160px}
  .rb-pp-cover-in{gap:14px;padding:14px 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/reopen.css ===== */
/* ================= REOPEN OWN THREAD (rb_reopen plugin) =================
   Only the thread starter of a marketplace thread the board closed for inactivity sees these.
   1. Toolbar: <form class="rb-reopen-form"> (POST, hidden fields) around <button class="button rb-reopen-btn">, appended to
      {$newreply} after the red "Thread Closed" button (.rb-topic-actions, top and bottom). The form is display:contents,
      so the button is a flex item of the toolbar like rb_market's Bump. Primary blue: it is the one thing to do here.
   2. Notice in place of the quick reply: .rb-card.rb-reopen-notice = lock icon square, title + one short paragraph, the
      same button (.rb-reopen-main) on the right. On phones the button goes full width under the text.
   70-pro.css loads after this part, so the button rules use at least three classes to beat its .button rules. */
.rb-topic-actions .rb-reopen-form{display:contents}
.rb-topic-actions .button.rb-reopen-btn,
.rb-reopen-notice .button.rb-reopen-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}
.rb-topic-actions .button.rb-reopen-btn:hover,
.rb-reopen-notice .button.rb-reopen-btn:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}
.rb-topic-actions .button.rb-reopen-btn .fa-solid,
.rb-reopen-notice .button.rb-reopen-btn .fa-solid{color:#fff;font-size:13px}

.rb-topic-page > .rb-card.rb-reopen-notice{display:flex;align-items:center;gap:16px;margin:0;padding:16px 18px;background:var(--surface);border:1px solid var(--line-2);border-left:2px solid var(--accent)}
.rb-reopen-notice .rb-reopen-ic{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:15px}
.rb-reopen-notice .rb-reopen-body{flex:1 1 auto;min-width:0}
.rb-reopen-notice .rb-reopen-title{color:#fff;font-size:14px;font-weight:600;line-height:1.35}
.rb-reopen-notice .rb-reopen-text{margin:4px 0 0;color:var(--fg-2);font-size:13.5px;line-height:1.5}
.rb-reopen-notice .rb-reopen-form{flex:none;margin:0}
.rb-reopen-notice .button.rb-reopen-btn{height:38px;padding:0 18px;font-size:13.5px;font-weight:600;white-space:nowrap}
@media (max-width:760px){
  .rb-topic-actions .button.rb-reopen-btn{padding:0 14px}
  .rb-topic-page > .rb-card.rb-reopen-notice{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px}
  .rb-reopen-notice .rb-reopen-ic{width:36px;height:36px;font-size:14px}
  .rb-reopen-notice .rb-reopen-body{flex:1 1 0}
  .rb-reopen-notice .rb-reopen-form{flex:1 1 100%}
  .rb-reopen-notice .button.rb-reopen-btn{width:100%;height:40px}
}

/* ===== parts/scam.css ===== */
/* ===================================================================
   Roidboard: scam system (plugin rb_scam 2.1, 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;
   #f87171 (site audit 2026-10-20): 5.9:1 or more on every surface, #ef4444 was 4.0 to 4.3:1 on the raised ones */
.rb-name-scammer{color:#f87171;font-weight:600;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(248,113,113,.8)}
.rb-name-scammer::after{content:"\f071";color:#f87171}

/* ---- 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}

/* ---- countries (rb_scam 1.4) ----
   round flags: the same SVG and clip as the section tabs on the index (.rb-flag.is-round in 70-pro.css),
   a neutral ring for Unknown. Tabs on the public register: underline tabs like the staff list, the flag muted
   until the tab is active (like .rb-cattabs on the index). */
.rb-scam-flag{flex:none;display:inline-flex;align-items:center;justify-content:center;position:relative;width:16px;height:16px;line-height:0;vertical-align:-3px}
.rb-scam-flag .rb-flag.is-round{display:block;width:16px;height:16px}
.rb-scam-flag.is-none{border-radius:50%;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-2)}
.rb-scam-flag.is-none::before{content:"?";font-size:9.5px;font-weight:700;line-height:1;color:var(--muted)}
.rb-scam .rb-scam-ctabs{padding:0 8px}
.rb-scam .rb-scam-ctab{gap:7px}
.rb-scam .rb-scam-ctab .rb-scam-tabcount{margin-left:1px}
.rb-scam .rb-scam-ctab .rb-flag.is-round{flex:none;width:15px;height:15px;filter:saturate(.45) brightness(.9);transition:filter .15s}
.rb-scam .rb-scam-ctab:hover .rb-flag.is-round{filter:saturate(.75)}
.rb-scam .rb-scam-ctab.is-active .rb-flag.is-round{filter:none}
.rb-scam .rb-scam-ctab .rb-scam-flag.is-none{width:15px;height:15px;vertical-align:0}
.rb-scam .rb-scam-ctab.is-active .rb-scam-flag.is-none::before{color:var(--fg-2)}
.rb-scam .rb-scam-ctabs + .rb-scam-labels,.rb-scam .rb-scam-cnote + .rb-scam-labels{border-top:0}
/* members with confirmed cases in more than one country: a line under the tabs */
.rb-scam .rb-scam-cnote{margin:0;padding:8px 16px;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.45;color:var(--fg-2)}
/* public list: flag(s) in front of the name */
.rb-scam-flags{flex:none;display:inline-flex;align-items:center;gap:3px;vertical-align:-3px}
.rb-scam-entry-user{display:flex;align-items:flex-start;gap:8px}
.rb-scam-entry-user > .rb-scam-flag,.rb-scam-entry-user > .rb-scam-flags{margin-top:2px}
.rb-scam-entry-name{min-width:0;overflow-wrap:anywhere}
/* "Check a user" result */
.rb-scam-result-title > .rb-scam-flag,.rb-scam-result-title > .rb-scam-flags{margin-right:7px}
/* staff case view: Keep this country */
.rb-scam .rb-scam-keep{align-self:flex-start;font-size:13.5px}
.rb-scam .rb-scam-keep input{margin:0}
/* staff list and case view */
.rb-scam-row-head{display:flex;align-items:center;gap:7px;min-width:0}
.rb-scam-row-head .rb-scam-row-title{min-width:0}
.rb-scam-country{display:inline-flex;align-items:center;gap:7px}
.rb-scam-csrc{display:block}
.rb-scam-cinfo{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--fg-2);overflow-wrap:anywhere}
@media (max-width:520px){
  /* five tabs in one row down to 320: All with its name, the countries and Unknown as flag (or ring) and count,
     their names for screen readers only; the tabs share the row and shrink to their content */
  .rb-scam .rb-scam-ctabs{padding:0}
  .rb-scam .rb-scam-ctab{flex:1 1 auto;justify-content:center;gap:6px;padding:0 9px}
  .rb-scam .rb-scam-ctab.is-country .rb-scam-ctab-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:400px){
  .rb-scam .rb-scam-ctab{padding:0 6px;gap:5px}
}

/* =====================================================================
   rb_scam 2.0: case pages, status chips, Deal with caution plates.
   The rules above stay for the 1.x pages (and a rollback).
   ===================================================================== */

/* ---- status chips: Open blue, Investigating amber, Confirmed red, Closed grey, Imported outline ---- */
.rb-scam-status{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid transparent;border-radius:3px;font-size:11.5px;font-weight:600;letter-spacing:.02em;line-height:1;white-space:nowrap;vertical-align:middle}
.rb-scam-status::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.rb-scam-status.is-open{background:rgba(45,99,199,.16);border-color:rgba(91,141,239,.42);color:#a9c4ff}
.rb-scam-status.is-investigating{background:rgba(210,153,34,.13);border-color:rgba(232,177,62,.45);color:#f2c46d}
.rb-scam-status.is-confirmed{background:rgba(240,82,82,.13);border-color:rgba(240,82,82,.45);color:#ff9d9d}
.rb-scam-status.is-closed{background:var(--surface-3);border-color:var(--line-2);color:var(--fg-2)}
.rb-scam-status.is-imported{background:transparent;border-color:var(--line-2);color:var(--muted)}

/* ---- Deal with caution / Confirmed scammer plates (postbit, profile, member card, thread bar) ---- */
:is(a,span).rb-caution{display:flex;align-items:center;gap:9px;box-sizing:border-box;width:207px;max-width:100%;margin:0 auto;padding:7px 10px;border:1px solid rgba(232,177,62,.5);border-left-width:3px;border-radius:3px;background:rgba(210,153,34,.12);color:#f6cf7c;line-height:1.25;text-align:left;text-decoration:none;transition:background .15s,color .15s}
a.rb-caution:hover,a.rb-caution:focus-visible{background:rgba(210,153,34,.2);color:#ffe2a3;text-decoration:none}
:is(a,span).rb-caution .fa-solid{flex:none;font-size:14px;color:#f2b84b}
.rb-caution-main{display:flex;flex-direction:column;min-width:0}
.rb-caution-label{font-size:12.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.rb-caution-sub{margin-top:1px;font-size:11.5px;font-weight:500;color:#d6b26a;overflow-wrap:anywhere}
:is(a,span).rb-caution.is-scammer{border-color:rgba(240,82,82,.5);background:rgba(240,82,82,.12);color:#ffb3b3}
:is(a,span).rb-caution.is-scammer .fa-solid{color:#ff7a7a}
:is(a,span).rb-caution.is-scammer .rb-caution-sub{color:#e39b9b}
a.rb-caution.is-scammer:hover,a.rb-caution.is-scammer:focus-visible{background:rgba(240,82,82,.2);color:#ffd0d0}
/* one line variants */
:is(a,span).rb-caution.is-card,:is(a,span).rb-caution.is-profile,:is(a,span).rb-caution.is-thread{display:inline-flex;width:auto;margin:0;padding:3px 8px;gap:6px;border-left-width:1px;vertical-align:middle}
:is(a,span).rb-caution.is-card .fa-solid,:is(a,span).rb-caution.is-profile .fa-solid,:is(a,span).rb-caution.is-thread .fa-solid{font-size:11.5px}
:is(a,span).rb-caution.is-card .rb-caution-label,:is(a,span).rb-caution.is-profile .rb-caution-label,:is(a,span).rb-caution.is-thread .rb-caution-label{font-size:12px}
.rb-post-author :is(a,span).rb-caution.is-post{margin-top:2px}
.rb-hc-caution{padding:12px 14px 0}
.rb-hc-caution :is(a,span).rb-caution{display:flex;width:100%}
.rb-caution-wrap{display:block;margin-top:8px}
.rb-topic-by :is(a,span).rb-caution.is-thread{margin-left:8px;color:#f6cf7c;font-weight:600}
.rb-topic-by :is(a,span).rb-caution.is-thread.is-scammer{color:#ffb3b3}
.rb-topic-by a.rb-caution.is-thread:hover{color:#ffe2a3;text-decoration:none}
.rb-topic-by a.rb-caution.is-thread.is-scammer:hover{color:#ffd0d0}

/* ---- personal data placeholder ---- */
.rb-scam-mask{display:inline-block;padding:0 6px;border:1px dashed var(--line-2);border-radius:2px;background:var(--surface-3);color:var(--muted);font-size:12px;line-height:1.55;white-space:nowrap;vertical-align:baseline}

/* ---- shared bits ---- */
.rb-scam2 .rb-scam-notice{margin:0}
.rb-scam2 .rb-scam-notice a{color:var(--link)}
.rb-scam2 .rb-scam-muted{display:flex;align-items:baseline;gap:8px;margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-scam2 .rb-scam-muted .fa-solid{font-size:12px;color:var(--muted)}
.rb-scam-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid rgba(255,255,255,.22);border-radius:3px;font-size:11px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.85);white-space:nowrap}
.rb-scam-tag.is-ok{border-color:rgba(72,166,127,.6);color:#a6dcc4}
.rb-scam2 .rb-card-tools a{display:inline-flex;align-items:center;gap:6px}
.rb-scam2 .rb-card-tools a + a{margin-left:14px}

/* ---- public register ---- */
.rb-scam2 .rb-scam-reghead .rb-scam-top{margin-bottom:14px}
.rb-scam2 .rb-scam-lead{max-width:720px}
.rb-scam2 .rb-scam-check{max-width:620px}
.rb-scam2 .rb-scam-stabs{padding:0 8px;border-bottom:1px solid var(--line)}
.rb-scam2 .rb-scam-stab{gap:8px;height:48px;font-size:14px;font-weight:600}
.rb-scam2 .rb-scam-stab .fa-solid{font-size:13px;color:var(--muted)}
.rb-scam2 .rb-scam-stab.is-active .fa-solid{color:var(--accent-2)}
.rb-scam2 .rb-scam-stab.is-confirmed.is-active .fa-solid{color:#ff8a8a}
.rb-scam2 .rb-scam-stab.is-open.is-active .fa-solid{color:#a9c4ff}
.rb-scam2 .rb-scam-stab .rb-scam-tabcount{display:inline-flex;align-items:center;height:20px;margin-left:2px;padding:0 7px;border-radius:3px;background:var(--surface-3);font-size:11.5px;font-weight:600;color:var(--fg-2)}
.rb-scam2 .rb-scam-stab.is-active .rb-scam-tabcount{background:var(--accent-soft);color:#fff}
.rb-scam-subbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 8px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.rb-scam-subbar .rb-scam-ctabs{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent}
.rb-scam-subbar .rb-scam-ctab{height:40px;font-size:13px}
.rb-scam-subbar-count{flex:none;font-size:12.5px;color:var(--fg-2);white-space:nowrap}
.rb-scam-tabintro{margin:0;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-scam2 .rb-scam-labels,.rb-scam2 .rb-scam-entry{display:grid;grid-template-columns:minmax(170px,250px) minmax(0,1fr) 128px 120px 14px;gap:16px;align-items:center}
.rb-scam2 .rb-scam-labels span:nth-child(3){text-align:left}
.rb-scam2 .rb-scam-labels span:nth-child(4){text-align:right}
.rb-scam2 .rb-scam-labels::after{content:""}
.rb-scam2 .rb-scam-entry{padding:13px 16px;border-top:1px solid var(--line);color:var(--fg);text-decoration:none}
.rb-scam2 .rb-scam-list > .rb-scam-entry:first-child{border-top:0}
.rb-scam2 .rb-scam-entry:hover{background:var(--surface-2);text-decoration:none}
.rb-scam2 .rb-scam-entry:hover .rb-scam-entry-go{color:#fff;transform:translateX(2px)}
.rb-scam2 .rb-scam-entry-user{display:flex;align-items:center;gap:9px;min-width:0;font-size:14px;font-weight:600;color:#fff}
.rb-scam2 .rb-scam-entry-user > .rb-scam-flag{margin-top:0}
.rb-scam2 .rb-scam-entry-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-scam-entry-id{flex:none;font-family:var(--mono);font-size:11.5px;font-weight:400;color:var(--muted)}
.rb-scam-entry-info{display:flex;align-items:baseline;gap:10px;min-width:0;font-size:13.5px;line-height:1.5}
.rb-scam-entry-text{min-width:0;overflow-wrap:anywhere;color:var(--fg)}
.rb-scam-entry-muted{color:var(--muted);font-size:13px}
.rb-scam-entry-amount{flex:none;padding:1px 7px;border:1px solid var(--line-2);border-radius:3px;font-family:var(--mono);font-size:12px;color:var(--fg-2);white-space:nowrap}
.rb-scam2 .rb-scam-entry-status{display:flex}
.rb-scam2 .rb-scam-entry-date{text-align:right;white-space:nowrap;font-size:12.5px;color:var(--fg-2)}
.rb-scam-entry-dlabel{display:none}
.rb-scam-entry-go{color:var(--faint);font-size:11px;transition:transform .15s,color .15s}

/* ---- case page ---- */
.rb-scam-hero .rb-card-body{border-top:2px solid var(--line-2)}
.rb-scam-view.is-open .rb-scam-hero .rb-card-body{border-top-color:rgba(91,141,239,.7)}
.rb-scam-view.is-investigating .rb-scam-hero .rb-card-body{border-top-color:rgba(232,177,62,.75)}
.rb-scam-view.is-confirmed .rb-scam-hero .rb-card-body{border-top-color:rgba(240,82,82,.75)}
.rb-scam-hero-who{display:flex;align-items:center;gap:14px;min-width:0}
.rb-scam-hero-av{flex:none;width:56px;height:56px;border-radius:3px;overflow:hidden;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-2)}
.rb-scam-hero-av img{display:block;width:56px;height:56px;object-fit:cover}
.rb-scam-hero-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.rb-scam-hero-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-scam-hero-name{display:flex;align-items:center;gap:9px;min-width:0;font-size:21px;font-weight:700;line-height:1.2;color:#fff;overflow-wrap:anywhere}
.rb-scam-hero-name > .rb-scam-flag{width:18px;height:18px;vertical-align:0}
.rb-scam-hero-name > .rb-scam-flag .rb-flag.is-round{width:18px;height:18px}
.rb-scam-hero-name a{color:inherit}
.rb-scam-hero-status{flex:none}
.rb-scam-hero-status .rb-scam-status{height:26px;padding:0 10px;font-size:12.5px}
.rb-scam-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.rb-scam-fact{min-width:0}
.rb-scam-fact dt{margin:0 0 3px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rb-scam-fact dd{margin:0;font-size:13.5px;color:#fff;overflow-wrap:anywhere}
.rb-scam-hero-note{margin:14px 0 0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}
.rb-scam2 .rb-scam-grid{grid-template-columns:minmax(0,1fr) 330px}
.rb-scam2 .rb-scam-conclusion .rb-card-body{border-left:3px solid rgba(240,82,82,.65)}
.rb-scam2 .rb-scam-conclusion .rb-scam-text{font-size:14.5px;color:#fff}
.rb-scam2 .rb-scam-hidden .rb-empty{padding:26px 16px}
.rb-scam2 .rb-scam-hidden .rb-empty .rb-btn{margin-top:8px}
.rb-scam2 .rb-scam-report-card .rb-scam-kv{grid-template-columns:170px minmax(0,1fr)}
.rb-scam-resp-meta{margin:0 0 8px;font-size:12.5px;color:var(--fg-2)}
.rb-scam2 .rb-scam-respond{margin:0}
.rb-scam2 .rb-scam-respond textarea{width:100%}
.rb-scam2 .rb-scam-evtext{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.rb-scam-files:first-child + .rb-scam-evtext,.rb-scam-files + .rb-scam-evtext{margin-top:14px}
.rb-scam-evtext:first-child{margin-top:0;padding-top:0;border-top:0}
.rb-scam-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.rb-scam-file{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3)}
.rb-scam-file img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .15s}
.rb-scam-file:hover img{opacity:.85}
.rb-scam-file.is-hidden img{opacity:.35}
.rb-scam-file-flag{position:absolute;left:6px;bottom:6px;padding:1px 6px;border-radius:2px;background:rgba(0,0,0,.75);font-size:11px;color:#fff}
/* timeline */
.rb-scam-tl{list-style:none;margin:0;padding:0;position:relative}
.rb-scam-tl-item{position:relative;display:flex;gap:12px;padding:0 0 16px}
.rb-scam-tl-item:last-child{padding-bottom:0}
.rb-scam-tl-item::before{content:"";position:absolute;left:5px;top:14px;bottom:-2px;width:1px;background:var(--line-2)}
.rb-scam-tl-item:last-child::before{display:none}
.rb-scam-tl-dot{flex:none;position:relative;width:11px;height:11px;margin-top:3px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 2px var(--muted)}
.rb-scam-tl-item.is-open .rb-scam-tl-dot,.rb-scam-tl-item.is-import .rb-scam-tl-dot,.rb-scam-tl-item.is-to-open .rb-scam-tl-dot{box-shadow:inset 0 0 0 2px #7fa6ff}
.rb-scam-tl-item.is-to-investigating .rb-scam-tl-dot{box-shadow:inset 0 0 0 2px #e8b13e}
.rb-scam-tl-item.is-to-confirmed .rb-scam-tl-dot{background:#f05252;box-shadow:none}
.rb-scam-tl-item.is-to-closed .rb-scam-tl-dot{background:var(--muted);box-shadow:none}
.rb-scam-tl-item.is-response .rb-scam-tl-dot,.rb-scam-tl-item.is-response_edit .rb-scam-tl-dot{box-shadow:inset 0 0 0 2px #8ccbb0}
.rb-scam-tl-item.is-private .rb-scam-tl-dot{box-shadow:inset 0 0 0 2px var(--line-2)}
.rb-scam-tl-body{min-width:0;flex:1 1 auto}
.rb-scam-tl-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13.5px;font-weight:600;color:#fff}
.rb-scam-tl-private{display:inline-flex;align-items:center;height:17px;padding:0 5px;border:1px solid var(--line-2);border-radius:2px;font-size:10.5px;font-weight:600;color:var(--muted)}
.rb-scam-tl-meta{margin-top:2px;font-size:12px;color:var(--fg-2)}
.rb-scam-tl-meta a{color:inherit;font-weight:500}
.rb-scam-tl-note{margin-top:6px;padding:8px 10px;border-radius:3px;background:var(--surface-2);font-size:13px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere}
/* side help */
.rb-scam-legend{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.rb-scam-legend li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;align-items:start;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-scam-legend li .rb-scam-status{justify-self:start}
.rb-scam-help-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
/* staff form */
.rb-scam2 .rb-scam-manage .rb-card-body{display:flex;flex-direction:column;gap:16px}
.rb-scam2 .rb-scam-manage .rb-field{margin:0}
.rb-scam2 .rb-scam-manage textarea{width:100%}
.rb-scam-mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rb-scam-mgrid select{width:100%}
.rb-scam-checks .rb-check{font-size:13.5px}
.rb-scam-frows{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 6px}
.rb-scam-frow{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:132px;font-size:12px;color:var(--fg-2);cursor:pointer}
.rb-scam-frow img{width:132px;height:99px;object-fit:cover;border:1px solid var(--line-2);border-radius:3px}
.rb-scam-frow input{margin:0}
.rb-scam-frow{position:relative}
.rb-scam-frow input{position:absolute;top:6px;left:6px}
.rb-scam-file-input{max-width:100%;color:var(--fg-2);font-size:13px}
.rb-scam-mside{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-scam-cnow{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12.5px;color:var(--fg-2)}
.rb-scam-cnow-label{color:var(--muted)}
.rb-scam-cnow .rb-scam-country{color:#fff}
.rb-scam-cnow-src .rb-scam-csrc{display:inline}
.rb-scam-cnow-src .rb-scam-cinfo{display:block;margin-top:2px}
/* staff list */
.rb-scam-staffsearch{display:flex;gap:8px;max-width:560px;margin:0 0 12px;padding:0 8px}
.rb-scam-staffsearch .rb-search{flex:1 1 auto;min-width:0}
.rb-scam-staffsearch .textbox{width:100%}
.rb-scam-row-marks{display:flex;flex-wrap:wrap;gap:6px}
.rb-scam-row-marks:empty{display:none}
.rb-scam-row-marks{margin-top:6px}
.rb-scam-mark{display:inline-flex;align-items:center;gap:5px;height:19px;padding:0 6px;border:1px solid var(--line-2);border-radius:2px;font-size:11px;color:var(--fg-2)}
.rb-scam-mark .fa-solid{font-size:10px}
.rb-scam2 .rb-scam-row-status .rb-scam-status{align-self:flex-end}
/* report form */
.rb-scam-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px;padding:0}
.rb-scam-steps li{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);font-size:12.5px;line-height:1.45}
.rb-scam-steps b{font-size:12.5px;font-weight:600;color:#fff}
.rb-scam-amount{display:flex;gap:8px;max-width:360px}
.rb-scam-amount .textbox{flex:1 1 auto;min-width:0}
.rb-scam-amount select{flex:0 0 120px}
.rb-scam-upload{display:flex;flex-direction:column;gap:5px}
.rb-scam-upload .rb-help:empty{display:none}

/* rb_scam 2.1 */
.rb-caution.is-plain{cursor:default}
.rb-scam-acct{font-size:12px;color:var(--muted);white-space:nowrap}
.rb-scam-mark.is-held{border-color:rgba(232,177,62,.45);color:#f2c46d}
.rb-scam-heldbox{margin:0 0 14px}
.rb-scam-heldbox .rb-check{display:flex;margin-top:8px}
.rb-scam-repfacts:empty{display:none}
.rb-scam-repfacts{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.rb-scam .rb-scam-intro p.rb-scam-holdnote{display:flex;align-items:baseline;gap:8px;margin:10px 0 0;padding:9px 11px;border:1px solid rgba(232,177,62,.4);border-left-width:3px;border-radius:3px;background:rgba(210,153,34,.08);color:#f2d79a}
.rb-scam-holdnote .fa-solid{flex:none;font-size:12px;color:#f2b84b}
.rb-scam-upload .rb-help.is-error,.rb-scam-update .rb-help.is-error{color:#ff9d9d}
.rb-scam-tl-prev{margin-top:6px}
.rb-scam-tl-prev summary{cursor:pointer;font-size:12px;color:var(--link)}
.rb-scam-tl-prev summary:hover{color:#fff}
.rb-scam-tl-prev[open] summary{margin-bottom:2px}

/* ---- 2.2: "Reported by" in the register rows. A row is a block with a stretched link to the case, so the
   reporter's name can be a profile link of its own (a link inside a link is not valid HTML) ---- */
.rb-scam2 .rb-scam-entry{position:relative}
.rb-scam2 .rb-scam-entry-user:has(.rb-scam-entry-by){align-items:flex-start}
.rb-scam2 .rb-scam-entry-user:has(.rb-scam-entry-by) > .rb-scam-flag{margin-top:3px}
.rb-scam-entry-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.rb-scam-entry-line{display:flex;align-items:center;gap:9px;min-width:0}
.rb-scam2 a.rb-scam-entry-link,.rb-scam2 a.rb-scam-entry-link:hover{color:inherit;text-decoration:none}
.rb-scam2 a.rb-scam-entry-link::after{content:"";position:absolute;inset:0;z-index:1}
.rb-scam2 a.rb-scam-entry-link:focus{outline:0}
.rb-scam2 a.rb-scam-entry-link:focus-visible::after{outline:2px solid var(--accent);outline-offset:-2px}
.rb-scam-entry-by{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:400;line-height:1.45;color:var(--muted)}
.rb-scam-entry-byname{font-weight:600;color:var(--fg-2)}
.rb-scam-entry-byname a{position:relative;z-index:2}
.rb-scam-entry-byname a:hover{text-decoration:underline}
.rb-scam-entry-byname .rb-scam-none,.rb-scam-result-by .rb-scam-none{font-weight:400}
.rb-scam-result-by{font-weight:600}

@media (max-width:1100px){
  .rb-scam2 .rb-scam-labels,.rb-scam2 .rb-scam-entry{grid-template-columns:minmax(150px,210px) minmax(0,1fr) 120px 110px 12px}
}
@media (max-width:1000px){
  .rb-scam2 .rb-scam-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rb-scam2 .rb-scam-labels{display:none}
  .rb-scam2 .rb-scam-entry{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"user status" "info info" "date date";gap:7px 12px;padding:12px 14px}
  .rb-scam2 .rb-scam-entry-user{grid-area:user}
  .rb-scam2 .rb-scam-entry-status{grid-area:status;justify-content:flex-end}
  .rb-scam2 .rb-scam-entry-info{grid-area:info;flex-wrap:wrap;gap:6px 10px}
  .rb-scam2 .rb-scam-entry-date{grid-area:date;text-align:left;font-size:12px}
  .rb-scam-entry-dlabel{display:inline;margin-right:5px;color:var(--muted)}
  .rb-scam-entry-go{display:none}
  .rb-scam-subbar{flex-direction:column;align-items:stretch;gap:0;padding:0}
  .rb-scam-subbar-count{padding:0 14px 8px}
  .rb-scam2 .rb-scam-stabs{padding:0}
  .rb-scam2 .rb-scam-stab{flex:1 1 0;justify-content:center;padding:0 6px;font-size:13.5px}
  .rb-scam-hero-who{flex-wrap:wrap}
  .rb-scam-hero-status{order:3;width:100%}
  .rb-scam-hero-name{font-size:18px}
  .rb-scam-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-scam-mgrid{grid-template-columns:minmax(0,1fr)}
  .rb-scam-steps{grid-template-columns:minmax(0,1fr)}
  .rb-scam2 .rb-scam-report-card .rb-scam-kv{grid-template-columns:minmax(0,1fr)}
  .rb-scam-staffsearch{padding:0}
  .rb-scam-legend li{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .rb-scam2 .rb-scam-stab .fa-solid{display:none}
  .rb-scam2 .rb-scam-stab{gap:6px;font-size:13px}
  .rb-scam-amount{max-width:none}
  .rb-scam-amount select{flex-basis:104px}
  .rb-scam-files{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-scam2 .rb-card-tools a + a{margin-left:10px}
}

/* =====================================================================
   site audit 2026-10-20 (rb_scam 2.3, RB-AUDIT-20261020)
   ===================================================================== */
/* 16px fields on phones (bug 6): area-1's one global rule (90-audit-nav.css) covers these pages */
/* report form: English messages under the fields (rb_scam_report_check_js(), same look as the bug report form) */
.rb-scam .rb-label .rb-req{color:#f87171}
.rb-scam-err{display:flex;align-items:flex-start;gap:8px;margin:6px 0 0;color:#f2a3a3;font-size:13px;line-height:1.45}
.rb-scam-err .fa-solid{flex:none;margin-top:2px;font-size:12.5px;color:var(--red)}
.rb-scam-amount,.rb-scam .rb-scam-date{flex-wrap:wrap}
.rb-scam-amount .textbox{flex:1 1 0}
.rb-scam-amount select,.rb-scam .rb-scam-amount select{flex:0 0 128px}
.rb-scam-amount > .rb-scam-err,.rb-scam .rb-scam-date > .rb-scam-err{flex:0 0 100%;margin-top:0}
.rb-scam2 [aria-invalid="true"]{border-color:rgba(240,82,82,.75)}
/* report form: the three "what happens" boxes behind one line */
.rb-scam-more{margin:8px 0 10px}
.rb-scam-more > summary{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:var(--link);font-size:13.5px;font-weight:500;cursor:pointer;list-style:none}
.rb-scam-more > summary::-webkit-details-marker{display:none}
.rb-scam-more > summary::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:var(--muted);transition:transform .15s}
.rb-scam-more[open] > summary::before{transform:rotate(90deg)}
.rb-scam-more > summary:hover{color:#fff}
.rb-scam-more > summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}
.rb-scam-more .rb-scam-steps{margin:6px 0 4px}
/* "Check a member": Clear link in every answer */
.rb-scam-clear{margin-left:8px;color:var(--link);white-space:nowrap}
.rb-scam-clear:hover{color:#fff}
/* thread bar: the plate after the start date; on phones its own line under "by NAME, date" */
/* register: an empty status tab has no country tabs; the pager gap readable */
.rb-scam-subbar:has(> .rb-scam-ctabs:empty){display:none}
.rb-scam .rb-pager-gap{color:var(--muted)}
/* staff case page: the facts about the member as label and value side by side on phones too (half the height) */
@media (max-width:600px){
  .rb-scam-mside .rb-kv.rb-scam-kv{grid-template-columns:max-content minmax(0,1fr);gap:7px 14px}
  .rb-scam-mside .rb-kv.rb-scam-kv dt{margin-top:0;font-size:12.5px;letter-spacing:0;text-transform:none}
}
@media (hover:none){
  :is(a,span).rb-caution.is-thread{min-height:28px}
}
@media (max-width:760px){
  .rb-scam-lead-more{display:none}
  .rb-scam-subbar-count{display:none}
  /* one status per tab: the chip repeats on every row (the Open tab mixes open and investigating, it keeps them) */
  .rb-scam-listcard:has(.rb-scam-stab.is-confirmed.is-active) .rb-scam-entry-status,
  .rb-scam-listcard:has(.rb-scam-stab.is-closed.is-active) .rb-scam-entry-status{display:none}
  /* pager on one row with its jump button: the current page, its neighbours, the first and the last page (no Previous /
     Next, the neighbours do that) */
  .rb-scam .pagination .pagination_page,.rb-scam .pagination :is(.pagination_previous,.pagination_next){display:none}
  .rb-scam .pagination .pagination_current + .pagination_page,.rb-scam .pagination .pagination_page:has(+ .pagination_current){display:inline-flex}
  .rb-topic-date .rb-caution-tbar{display:flex;margin-top:6px}
  .rb-topic-by .rb-caution-tbar :is(a,span).rb-caution.is-thread{margin-left:0;width:max-content;max-width:100%}
}

/* ===== parts/scamappeal-form.css ===== */
/* ================= SCAM APPEAL FORM (plugin rb_scamappeal 1.1) ================= */
/* newthread.php in Scam Appeals for a member in the Scammer group: template rb_scamappeal_form, six numbered
   questions instead of the editor. Desktop: question on the left, answer on the right. Phones: stacked.
   The first post of an appeal is shown as question / answer rows (.rb-sa-answers), staff and member alike. */

/* ---- form ---- */
.rb-sa-compose .rb-sa-formbody{padding:18px 20px 6px}
.rb-sa-intro{margin:0 0 4px;padding:0 0 16px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:14px;line-height:1.55}
.rb-sa-intro p{margin:0 0 10px}
.rb-sa-intro .rb-sa-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0}
.rb-sa-title span{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-sa-title b{min-width:0;color:#fff;font-weight:600;overflow-wrap:anywhere}
.rb-sa-steps{list-style:none;margin:0;padding:0}
.rb-sa-step{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:10px 32px;padding:20px 0;border-top:1px solid var(--line)}
.rb-sa-step:first-child{border-top:0}
.rb-sa-step-q{display:flex;align-items:flex-start;gap:12px;min-width:0}
.rb-sa-step-q > div{min-width:0}
.rb-sa-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.rb-sa-q{display:block;margin:2px 0 4px;font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.rb-sa-q .rb-req{color:#f87171}
.rb-sa-step-q .rb-help{margin:0}
.rb-sa-step-a{display:flex;flex-direction:column;gap:12px;min-width:0}
.rb-sa-step-a textarea.textarea{display:block;width:100%;min-height:0;font-size:14.5px;line-height:1.55}
.rb-sa-step-a textarea#rb_sa_story{min-height:150px}
.rb-sa-step-a textarea.rb-sa-links{min-height:76px;font-size:13.5px}
.rb-sa-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-sa-field .rb-label{font-weight:600}

/* 1 case */
.rb-sa-case{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg);font-size:14px;line-height:1.4}
.rb-sa-case .fa-solid{flex:none;font-size:13px;color:var(--muted)}
.rb-sa-case span{min-width:0;overflow-wrap:anywhere}
.rb-sa-case.is-none{color:var(--fg-2)}
select.rb-sa-case-select{max-width:520px}

/* 3 yes / no / partly */
.rb-sa-choices{display:flex;flex-wrap:wrap;gap:8px}
.rb-sa-choice{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 18px 0 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:14px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.rb-sa-choice:hover{background:var(--surface-3);color:#fff}
.rb-sa-choice input[type=radio]{margin:0;flex:none}
.rb-sa-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#fff}
.rb-sa-choice:has(input:focus-visible){outline:2px solid var(--blue-2);outline-offset:1px}

/* 4 proof: attachment box, links, transaction */
.rb-sa-attach .rb-attachbox{margin:0;background:var(--surface-2);border-color:var(--line-2)}
.rb-sa-attach .rb-attachbox .rb-card-head{min-height:0;padding:9px 14px}
.rb-sa-attach .rb-attachbox .rb-card-title{font-size:13px}
.rb-sa-attach .rb-attachbox-viewlink{display:none} /* the User CP attachment list is closed to the member */
fieldset.rb-sa-tx{min-width:0;margin:0;padding:10px 14px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2)}
fieldset.rb-sa-tx legend{padding:0 6px;margin-left:-6px;font-size:13px;font-weight:600;color:#fff}
fieldset.rb-sa-tx legend .rb-req{color:#f87171}
.rb-sa-tx > .rb-help{margin:0 0 12px}
.rb-sa-tx-grid{display:grid;grid-template-columns:minmax(290px,1.5fr) minmax(140px,1fr) minmax(170px,1.2fr);gap:12px}
.rb-sa-date{display:flex;gap:6px;min-width:0}
.rb-sa-date select{flex:1 1 0;min-width:0;padding-left:10px;padding-right:28px;background-position:right 8px center}
.rb-sa-date select[name="rb_appeal[tx_month]"]{flex:1.7 1 0}

/* problems */
.rb-sa-err{display:flex;align-items:flex-start;gap:8px;margin:0;color:#f2a3a3;font-size:13px;line-height:1.45}
.rb-sa-err .fa-solid{flex:none;margin-top:2px;font-size:12.5px;color:var(--red)}
.rb-sa-step.is-error .rb-sa-num{border-color:var(--red);background:var(--red-soft);color:#fff}
.rb-sa-step-a :is(textarea,input.textbox)[aria-invalid=true],.rb-sa-date[aria-invalid=true] select,.rb-sa-choices[aria-invalid=true] .rb-sa-choice{border-color:rgba(240,82,82,.7)}

/* ---- the first post of an appeal ---- */
.rb-sa-lead{margin:0 0 12px}
.rb-sa-answers{margin:0;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);overflow:hidden;font-size:14.5px;line-height:1.6}
.rb-sa-answers-head{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line-2);background:var(--surface-3);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.rb-sa-answers-head .fa-solid{font-size:12px;color:var(--accent-2)}
.rb-sa-list{margin:0;padding:0}
.rb-sa-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px 20px;padding:12px 14px;border-top:1px solid var(--line)}
.rb-sa-row:first-child{border-top:0}
.rb-sa-row dt{margin:0;font-size:13px;font-weight:600;line-height:1.75;color:var(--muted)}
.rb-sa-row dd{margin:0;min-width:0;color:var(--fg);overflow-wrap:anywhere}
.rb-sa-row dd .rb-badge{height:22px;padding:0 9px;font-size:11.5px;vertical-align:1px}
.rb-sa-sub{display:inline-block;min-width:122px;margin-right:8px;font-size:13px;color:var(--muted)}
/* screenshots ([attachment=N]) side by side under their label, not one full width block each */
.rb-sa-row dd .rb-attach-thumb{display:inline-block;margin:6px 8px 2px 0;vertical-align:top}
.rb-sa-row dd img.attachment.rb-attach-img{display:inline-block;max-width:100%;margin:6px 8px 2px 0;vertical-align:top}
.rb-sa-none{color:var(--muted)}

@media (max-width:1100px){
  .rb-sa-step{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:10px 22px}
  .rb-sa-tx-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rb-sa-tx-date{grid-column:1 / -1}
}
@media (max-width:760px){
  .rb-sa-compose .rb-sa-formbody{padding:14px 14px 2px}
  .rb-sa-step{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}
  .rb-sa-step-q{gap:10px}
  .rb-sa-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-sa-choice{justify-content:center;height:42px;padding:0 10px}
  .rb-sa-tx-grid{grid-template-columns:minmax(0,1fr)}
  .rb-sa-date select{height:42px}
  select.rb-sa-case-select{max-width:none}
  .rb-sa-row{grid-template-columns:minmax(0,1fr);gap:2px 0;padding:10px 12px}
  .rb-sa-row dt{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;line-height:1.6}
  .rb-sa-sub{min-width:0;margin-right:6px}
  .rb-sa-answers{font-size:14.5px}
}

/* ===== parts/scamappeal.css ===== */
/* ================= SCAM APPEALS (plugin rb_scamappeal) ================= */
/* Members banned for scamming only use the Scam Appeals section. The plugin puts rb-scammer on #container
   (header template {$rb_scamappeal_shell}); the pages behind the hidden links are closed on the server, this only
   keeps the chrome honest: header nav shows just Scam Appeals, the alerts bell (the server only lists their appeal
   alerts in it), no messages, a menu with Log Out only, no footer link columns and no phone bar. Parts load before
   70-pro, so the hide rules use !important. */
.rb-shell.rb-scammer .rb-nav > li:not(.rb-sa-nav){display:none!important}
.rb-shell.rb-scammer #panel > a.rb-iconbtn[href$="/private.php"],
.rb-shell.rb-scammer .rb-user-menu .panel_links,
.rb-shell.rb-scammer .rb-user-menu .user_links,
.rb-shell.rb-scammer .rb-user-menu .rb-menu-sep,
.rb-shell.rb-scammer .rb-fv2-col,
.rb-shell.rb-scammer .rb-mnav{display:none!important}
.rb-shell.rb-scammer .rb-user-menu .rb-menu-name{pointer-events:none;text-decoration:none}
/* Next Oldest / Next Newest under an appeal: the server keeps a scammer on their own thread, so the links would only
   reload it. The rest of that footer is the thread search, which is closed to them too. */
.rb-shell.rb-scammer .rb-topic-foot{display:none!important}

/* notice on every page: red alert strip with the way out */
.rb-shell .rb-alert.rb-sa-notice{align-items:center}
.rb-shell .rb-sa-notice .rb-alert-icon{margin-top:0}
.rb-shell .rb-sa-notice .rb-alert-body strong{color:#fff;font-weight:600}
.rb-shell .rb-sa-notice .rb-sa-notice-state.is-new{font-weight:600}
.rb-shell .rb-sa-notice .rb-sa-notice-btn{flex:none;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;text-decoration:none;color:var(--fg);white-space:nowrap}
.rb-shell .rb-sa-notice .rb-sa-notice-btn .fa-solid{font-size:12.5px;color:var(--muted)}
.rb-shell .rb-sa-notice .rb-sa-notice-btn:hover{color:#fff}

/* the button on the "Banned for scamming" and "open appeal" pages (error card prose would underline it) */
.rb-shell .rb-prose a.rb-sa-btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;color:#fff;text-decoration:none}
.rb-shell .rb-prose a.rb-sa-btn .fa-solid{color:#fff;font-size:12.5px}

/* staff only line above the first post of an appeal (the member's Scam Register cases) */
.rb-shell .rb-sa-staff{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:9px 12px;border:1px solid var(--line-2);border-left:3px solid var(--amber);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:13px;line-height:1.5}
.rb-shell .rb-sa-staff .fa-solid{flex:none;margin-top:3px;color:var(--amber);font-size:13px}
.rb-shell .rb-sa-staff b{color:#fff;font-weight:600}
.rb-shell .rb-sa-staff a{color:#fff;text-decoration:underline;text-underline-offset:2px}

@media (max-width:760px){
  .rb-shell .rb-alert.rb-sa-notice{flex-wrap:wrap;align-items:flex-start}
  .rb-shell .rb-sa-notice .rb-alert-icon{margin-top:2px}
  .rb-shell .rb-sa-notice .rb-alert-body{flex:1 1 calc(100% - 30px)}
  .rb-shell .rb-sa-notice .rb-sa-notice-btn{margin-left:28px;height:34px}
  /* no phone bar for scammers: no room kept for it */
  .rb-shell.rb-scammer{padding-bottom:0}
  .rb-shell.rb-scammer .rb-totop-float,.rb-shell.rb-scammer .rb-spinner{bottom:12px}
  .rb-shell.rb-scammer .rb-compose-bar{bottom:8px}
}

/* ===== parts/shoutfeed.css ===== */
/* ================= SHOUTBOX FEED (rb_shoutfeed 1.0, owner 2026-10-19) =================
   New threads of the buy, sell and vendor boards as compact system lines in the Marketplace channel
   (rb_shoutfeed_render()): round country flag in the avatar column, a chip (the thread prefix WTS / WTB / Trade with
   the prefix chip colours of parts/prefixes.css, or the vendor tier in that tier's own name style on a faint tint),
   the title as a link, "by" the author with the group style, the relative time. Desktop: one line, the title is cut
   with an ellipsis. Phones: chip and title (two lines at most) on top, "by" and time under them, "Vendor" of the
   tier chip left out. The "Listings" switch sits in the header tools while the Marketplace tab is open
   (rb-shoutfeed.js); .rb-sf-off on the panel hides the lines at once until the list has reloaded without them. */
.rb-sb-msg.is-feed{align-items:center;margin-top:1px;padding-top:4px;padding-bottom:4px}
.rb-sf-flag{display:flex;align-items:center;justify-content:center;width:28px;height:20px}
.rb-sf-flag .rb-flag.is-round{display:block;width:16px;height:16px;filter:saturate(.85)}
.rb-sf-line{display:flex;align-items:center;gap:8px;min-width:0;min-height:20px;color:var(--fg-2);font-size:13px;line-height:20px}
.rb-sf-chip{flex:none}
.rb-sf-line .rb-prefix{top:0}
.rb-sf-title{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--fg);font-weight:500;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.rb-sf-title:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
.rb-sf-title:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sf-meta{display:inline-flex;align-items:baseline;flex:none;gap:8px;min-width:0;white-space:nowrap}
.rb-sf-by{color:var(--muted);font-size:12.5px}
.rb-sf-name a{color:var(--fg);text-decoration:none}
.rb-sf-name a:hover{color:#fff;text-decoration:none}
.rb-sf-line .rb-sb-time{font-size:12px}

/* vendor tier chip: the metrics of .rb-prefix, the text in the tier's name style (copper, cyan sweep, lime pulse,
   rose gold, holo), a faint tint and hairline in the same colour */
.rb-sf-tier{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:2px;background:var(--rb-sf-tint,rgba(255,255,255,.06));box-shadow:inset 0 0 0 1px var(--rb-sf-edge,var(--line-2));font-family:var(--font);font-size:10.5px;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap}
.rb-sf-tier > span{font-weight:700}
.rb-sf-tier.is-tier-new{--rb-sf-tint:rgba(219,162,122,.10);--rb-sf-edge:rgba(219,162,122,.34)}
.rb-sf-tier.is-tier-verified{--rb-sf-tint:rgba(34,200,255,.09);--rb-sf-edge:rgba(34,200,255,.34)}
.rb-sf-tier.is-tier-respected{--rb-sf-tint:rgba(179,211,92,.10);--rb-sf-edge:rgba(179,211,92,.34)}
.rb-sf-tier.is-tier-trusted{--rb-sf-tint:rgba(234,168,152,.10);--rb-sf-edge:rgba(234,168,152,.36)}
.rb-sf-tier.is-tier-elite{--rb-sf-tint:linear-gradient(90deg,rgba(255,95,210,.10),rgba(69,216,255,.10) 50%,rgba(166,224,106,.10));--rb-sf-edge:rgba(150,200,255,.34)}

/* "Listings" switch in the header (blue bar): icon, label and a small switch; hidden outside the Marketplace tab */
.rb-sb-iconbtn.rb-sf-toggle{width:auto;gap:6px;padding:0 8px}
.rb-sf-toggle[hidden]{display:none}
.rb-sf-toggle .fa-tags{font-size:11.5px}
.rb-sf-toggle-label{font-size:12.5px;font-weight:500;white-space:nowrap}
.rb-sf-switch{position:relative;flex:none;width:22px;height:12px;border-radius:6px;background:rgba(255,255,255,.22);transition:background .12s}
.rb-sf-switch::after{content:"";position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:#fff;transition:transform .12s}
.rb-sf-toggle[aria-pressed="true"] .rb-sf-switch{background:var(--green)}
.rb-sf-toggle[aria-pressed="true"] .rb-sf-switch::after{transform:translateX(10px)}
.rb-sf-toggle.is-off{color:rgba(255,255,255,.62)}
.rb-shoutbox.rb-sf-off .rb-sb-msg.is-feed{display:none}

@media (max-width:600px){
  .rb-sb-msg.is-feed{align-items:start}
  .rb-sf-line{flex-wrap:wrap;align-items:flex-start;column-gap:7px;row-gap:0}
  .rb-sf-chip{margin-top:1px}
  .rb-sf-title{display:-webkit-box;flex:1 1 0;min-width:55%;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere}
  .rb-sf-meta{flex:1 1 100%;line-height:18px}
}
@media (max-width:480px){
  .rb-sf-tier-word{display:none}
}
@media (max-width:420px){
  .rb-sf-toggle-label{display:none}
  .rb-sb-iconbtn.rb-sf-toggle{padding:0 6px}
}
@media (prefers-reduced-motion:reduce){
  .rb-sf-switch,.rb-sf-switch::after{transition:none}
}

/* ===== parts/shoutmod.css ===== */
/* ===================================================================
   Roidboard: shoutbox moderation (plugin rb_shoutmod 1.1, assets/rb-shoutmod.js)
   Index: the muted notice in the shoutbox foot, and the mute panel that the mute icon of a shout opens (the icon
   itself is styled with the other row icons in 46-shoutbox.css). The panel sits inside .rb-sb-body, never inside
   the scrolling list, so the list cannot clip it. Mod CP: modcp.php?action=rb_shoutmutes.
   Flat surfaces, hairlines, 3px corners, no glows; amber for mutes like the approved preview.
   =================================================================== */

/* ---- 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:center;gap:10px;min-height:38px;padding:10px 12px;background:rgba(232,184,74,.08);border:1px solid rgba(232,184,74,.35);border-radius:3px;color:var(--fg-2);font-size:13px;line-height:1.45}
.rb-sb-note.rb-sm-notice .fa-solid{flex:none;color:#e8b84a;font-size:13px}
.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 mute panel (positioned by rb-shoutmod.js inside .rb-sb-body, clamped to the card) ---- */
.rb-sm-pop{position:absolute;top:0;left:0;z-index:30;box-sizing:border-box;width:262px;max-width:calc(100% - 12px);padding:12px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.45);color:var(--fg);font-size:12.5px;line-height:1.4;text-align:left}
.rb-sm-pop[hidden]{display:none}
.rb-sm-pop:focus{outline:0}
.rb-sm-pop.is-busy{cursor:progress}
.rb-sm-pop-title{margin:0 0 9px;padding:0;color:#fff;font-size:12.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
/* the shout being moderated, one or two lines under the title (rb-shoutmod.js, site audit 2026-10-20): the panel covers it on phones */
.rb-sm-pop-quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;margin:-4px 0 10px;padding:0 0 0 8px;overflow:hidden;border-left:2px solid var(--line-2);color:var(--fg-2);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.rb-sm-durs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 9px}
.rb-sm-dur{box-sizing:border-box;height:30px;margin:0;padding:0 4px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font:inherit;font-size:12px;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .12s,color .12s,background .12s}
.rb-sm-dur:hover{border-color:#5a4a2a;color:var(--fg)}
.rb-sm-dur.is-on{background:rgba(232,184,74,.12);border-color:#e8b84a;color:#fff}
.rb-sm-dur:focus-visible{outline:1px solid var(--accent-2);outline-offset:1px}
.rb-sm-pop .rb-sm-reason{box-sizing:border-box;display:block;width:100%;height:32px;min-height:0;margin:0 0 8px;padding:0 9px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:none;color:var(--fg);font:inherit;font-size:12.5px}
.rb-sm-pop .rb-sm-reason::placeholder{color:var(--muted);opacity:1}
.rb-sm-pop .rb-sm-reason:focus{background:var(--surface-2);border-color:#e8b84a;box-shadow:none;outline:0}
.rb-sm-check{display:flex;align-items:flex-start;gap:7px;margin:0 0 10px;color:var(--fg-2);font-size:12px;line-height:1.4;cursor:pointer}
.rb-sm-check input{flex:none;width:14px;height:14px;margin:1px 0 0;accent-color:#e8b84a;cursor:pointer}
.rb-sm-go{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:32px;margin:0;padding:0 10px;background:#8f6416;border:0;border-radius:3px;color:#fff;font:inherit;font-size:12.5px;font-weight:600;line-height:1;cursor:pointer;transition:background .12s}
.rb-sm-go:hover{background:#9a6c1c}
.rb-sm-go.is-unmute{background:var(--accent)}
.rb-sm-go.is-unmute:hover{background:#3d75d9}
.rb-sm-go:focus-visible{outline:1px solid #fff;outline-offset:1px}
.rb-sm-pop button:disabled,.rb-sm-pop input:disabled{opacity:.55;cursor:default}
.rb-sm-pop-line{margin:0 0 6px;color:var(--fg-2);font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.rb-sm-pop-line.is-status{display:flex;align-items:center;gap:7px;color:var(--fg)}
.rb-sm-pop-line.is-status .fa-solid{flex:none;color:#e8b84a;font-size:12px}
.rb-sm-pop-line + .rb-sm-go{margin-top:10px}
.rb-sm-pop .rb-sm-err{margin:8px 0 0;color:var(--red);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.rb-sm-pop .rb-sm-err[hidden]{display:none}
/* touch screens and phones: 36px tap targets, 16px in the field so iOS does not zoom */
@media (hover:none), (max-width:600px){
  .rb-sm-dur{height:36px}
  .rb-sm-go{height:38px}
  .rb-sm-pop .rb-sm-reason{height:36px;font-size:16px}
  .rb-sm-check{align-items:center;min-height:36px;margin-bottom:6px}
  .rb-sm-check input{width:18px;height:18px;margin:0}
}
@media (prefers-reduced-motion:reduce){.rb-sm-dur,.rb-sm-go{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/shoutvendor.css ===== */
/* ================= SHOUTBOX: Vendors channel tab, vendors and staff only (owner 2026-10-19) =================
   The tab colour moved to 46-shoutbox.css with the other channel colours (rb_shoutbox 1.5 tab icons: Vendors is the
   cyan shop, .rb-sb-tab.is-ch-vendor). Nothing else is needed for this channel here. */

/* ===== 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:72px;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}
}
/* Mark as best answer in the post head (owner 2026-10-21): next to the post number from 761px, own line under the
   date and post number on phones (the head is display:contents there, see 90-m-postbit.css). */
.rb-post .rb-post-head > .rb-solved.is-mark{margin:0}
@media (min-width:761px){
  .rb-post .rb-post-head > .rb-solved.is-mark{order:1;flex:none}
  .rb-post .rb-post-head > .rb-post-num{order:2}
  .rb-post .rb-post-head:has(> .rb-solved.is-mark) > .rb-post-date{flex:1 1 0;min-width:0}
}
@media (max-width:760px){
  .rb-topic-posts #posts .rb-post .rb-post-head > .rb-solved.is-mark{flex:0 0 100%;justify-content:flex-start;margin:10px 0 0}
}

/* ===== parts/spoiler.css ===== */
/* ================= SPOILER MyCode =================
   [spoiler]...[/spoiler] and [spoiler=Title]...[/spoiler], custom MyCode rows "Spoiler" to "Spoiler (nested 4)"
   (tools/phpbb_import/tools_post/spoiler_mycode.php). MyBB writes:
     <details class="rb-spoiler"><summary><span class="rb-spoiler-k">Spoiler</span> <span class="rb-spoiler-t">Title</span></summary>content</details>
   .rb-spoiler-t is empty for a spoiler without a title. The content sits right inside <details> (no wrapper element),
   so the side padding is on <details> and the summary reaches both edges with a negative margin.
   Posts, PMs, signatures, the editor preview and the shoutbox all use the same markup.
   Editor: the Spoiler button (.sceditor-button-spoiler, template codebuttons) has no SCEditor icon, so it gets a mask. */
.rb-spoiler{display:block;box-sizing:border-box;max-width:100%;margin:10px 0;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);color:var(--fg-2);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.rb-spoiler > summary{position:relative;display:block;margin:0 -14px;padding:8px 14px 8px 32px;border-radius:var(--radius);list-style:none;cursor:pointer;color:var(--fg);font-size:13px;font-weight:600;line-height:1.45;-webkit-user-select:none;user-select:none;transition:background .12s}
.rb-spoiler > summary::-webkit-details-marker{display:none}
.rb-spoiler > summary::marker{content:""}
/* chevron: points right while closed, down while open */
.rb-spoiler > summary::before{content:"";position:absolute;left:15px;top:50%;width:5px;height:5px;margin-top:-4px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);transition:transform .15s var(--ease),border-color .12s}
.rb-spoiler[open] > summary::before{margin-top:-5px;transform:rotate(45deg)}
.rb-spoiler > summary:hover{background:var(--surface-3)}
.rb-spoiler > summary:hover::before{border-color:var(--fg-2)}
.rb-spoiler > summary:focus{outline:none}
.rb-spoiler > summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-spoiler-t{margin-left:4px;padding-left:9px;border-left:1px solid var(--line-2);color:var(--fg-2);font-weight:500}
.rb-spoiler-t:empty{display:none}
.rb-spoiler[open]{padding-bottom:12px}
.rb-spoiler[open] > summary{margin-bottom:10px;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}
.rb-spoiler blockquote,.rb-spoiler .mycode_quote,.rb-spoiler .codeblock{margin:10px 0}
.rb-spoiler img{max-width:100%;height:auto}
.rb-spoiler img.smilie{display:inline;width:auto;max-height:22px;vertical-align:middle}
/* a spoiler inside a spoiler or inside a quote sits one step lighter */
.rb-spoiler .rb-spoiler,.mycode_quote .rb-spoiler,blockquote .rb-spoiler{background:var(--surface-3)}
.rb-spoiler .rb-spoiler > summary:hover,.mycode_quote .rb-spoiler > summary:hover,blockquote .rb-spoiler > summary:hover{background:var(--surface-4)}
.rb-post .post_body > .rb-spoiler:first-child{margin-top:0}
.rb-post .post_body > .rb-spoiler:last-child{margin-bottom:0}
/* signatures are small print */
.rb-post-sig .rb-spoiler{margin:6px 0;font-size:13px}
.rb-post-sig .rb-spoiler > summary{padding-top:6px;padding-bottom:6px;font-size:12.5px}
@media (max-width:760px){
  .rb-spoiler{padding:0 12px}
  /* 40px touch target */
  .rb-spoiler > summary{margin:0 -12px;padding:10px 12px 10px 30px}
  .rb-spoiler > summary::before{left:13px}
}
@media (prefers-reduced-motion:reduce){
  .rb-spoiler > summary,.rb-spoiler > summary::before{transition:none}
}

/* editor toolbar: an eye with a slash in the colour of the other toolbar icons (the theme file draws svg icons #d9d9d9,
   #fff on hover, and gives icon-less buttons an inverted sprite, which this replaces) */
.sceditor-container .sceditor-toolbar .sceditor-button-spoiler div{display:inline-block;width:16px;height:16px;margin:2px 0;padding:0;background:#d9d9d9;filter:none;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M1.6 8s2.4-4.4 6.4-4.4S14.4 8 14.4 8s-2.4 4.4-6.4 4.4S1.6 8 1.6 8z'/><circle cx='8' cy='8' r='1.9'/><path d='M2.6 2.6l10.8 10.8'/></svg>") center/16px 16px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M1.6 8s2.4-4.4 6.4-4.4S14.4 8 14.4 8s-2.4 4.4-6.4 4.4S1.6 8 1.6 8z'/><circle cx='8' cy='8' r='1.9'/><path d='M2.6 2.6l10.8 10.8'/></svg>") center/16px 16px no-repeat}
.sceditor-container .sceditor-toolbar .sceditor-button-spoiler:hover div,.sceditor-container .sceditor-toolbar .sceditor-button-spoiler.active div{background:#fff}
.sceditor-container .sceditor-toolbar .sceditor-button-spoiler.disabled div{background:#555}
/* touch screens and narrow windows: parts/editor.css sets every toolbar icon to margin 0 there; the same here, else
   this rule (same specificity, later in the file) keeps the 2px and the eye sits 2px lower than its neighbours */
@media (max-width:1000px),(pointer:coarse){
  .sceditor-container .sceditor-toolbar .sceditor-button-spoiler div{margin:0}
}
@media (max-width:760px){
  /* phones: new thread and edit post show 16 buttons in two rows of 8 (parts/editor.css); Spoiler takes the place of
     Unlink there (the reply toolbar in 87-m-thread.css hides Unlink too) */
  .rb-posting :is(form[action^="newthread.php"],form#editpost) .sceditor-container .sceditor-toolbar .sceditor-button-unlink{display:none}
}

/* ===== parts/trustedvendor.css ===== */
/* ================= TRUSTED VENDOR (tools/trusted_vendor.php, owner 2026-10-19) =================
   Vendor ladder: New = copper, Verified = electric cyan with a light sweep, Respected = lime pulse,
   Trusted = rose gold with a slow shimmer, Elite = moving multicolour holo.
   This part loads before 70-pro.css. The generic [class*="rb-name-"] rules there still apply (nowrap, no icon after
   the name, hover brightness, no animation under prefers-reduced-motion). The board icon rule carries one extra
   attribute so it beats the generic [data-name*="vendor"] icon of 70-pro.css. */
@keyframes rb-name-rosegold{0%{background-position:150% 0,0% 50%}50%{background-position:-50% 0,100% 50%}100%{background-position:-50% 0,0% 50%}}
.rb-name-trustedvendor{color:#eaa898;font-weight:700;text-shadow:none;background-image:linear-gradient(110deg,rgba(255,236,228,0) 40%,rgba(255,244,238,.92) 50%,rgba(255,236,228,0) 60%),linear-gradient(90deg,#b8676f 0%,#e39a8d 28%,#ffd9c8 50%,#e39a8d 72%,#b8676f 100%);background-size:250% 100%,200% 100%;background-repeat:no-repeat;background-position:150% 0,0% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-name-rosegold 7s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(231,150,140,.42))}
@media (prefers-reduced-motion:reduce){.rb-name-trustedvendor{animation:none!important;background-position:150% 0,50% 50%}}
/* board icon: the certificate seal, same glyph as the Trusted Vendor userbar emblem */
.rb-forum[data-name="Trusted Vendor" i][data-fid] .rb-forum-icon::before{content:"\f0a3"}

/* ===== 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/ucp-plus.css ===== */
/* ===================================================================
   UCP-PLUS-20261020: User CP additions (rb_ucpplus, rb_security)
   progress on the home page, My listings, Notifications, Privacy,
   Security (two factor login, sessions, history), the code page after
   the password and the ModCP reset page. Same restrained look as the
   rest of the User CP: flat cards, hairlines, 3px corners.
   =================================================================== */

.rb-ucpp{min-width:0}
.rb-ucpp .rb-card{margin:0}
.rb-ucpp .rb-card-body > p:first-child{margin-top:0}
.rb-ucpp .rb-alert{margin:0}
.rb-ucpp .rb-card-body > .rb-alert + *{margin-top:12px}
.rb-ucpp-act,.rb-sec-inline,.rb-sec-form{margin:0}
.rb-ucpp-act{display:inline-flex}
.rb-sec-sep{display:inline-block;width:3px;height:3px;margin:0 8px;border-radius:50%;background:var(--faint);vertical-align:middle}
.rb-ucpp-more{font-size:12.5px;color:var(--link);white-space:nowrap}
.rb-ucpp-more:hover{color:#fff}
.rb-ucpp-count,.rb-sec-count{font-size:12.5px;color:rgba(255,255,255,.8)}
.rb-ucpp-intro{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}

/* ---- progress bar ---- */
.rb-ucpp-bar{display:block;height:6px;margin-top:8px;border-radius:2px;background:var(--surface-3);overflow:hidden}
.rb-ucpp-bar > span{display:block;height:100%;min-width:2px;background:var(--accent);border-radius:2px}
.is-done .rb-ucpp-bar > span,.rb-ucpp-aw.is-due .rb-ucpp-bar > span{background:var(--green)}

/* ---- 1. Your progress (User CP home) ---- */
.rb-ucpp-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:18px 28px;align-items:start}
.rb-ucpp-ov-main{min-width:0;display:flex;flex-direction:column;gap:18px}
.rb-ucpp-ov-side{min-width:0;padding-left:24px;border-left:1px solid var(--line)}
.rb-ucpp-prog{min-width:0}
.rb-ucpp-prog-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rb-ucpp-prog-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-ucpp-prog-label .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-ucpp-prog-head .rb-ucpp-more{margin-left:auto}
.rb-ucpp-rank-now{margin-left:auto;font-size:12.5px;color:var(--fg-2)}
.rb-ucpp-prog-line{font-size:14px;color:var(--fg-2);line-height:1.45}
.rb-ucpp-prog-line b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.rb-ucpp-prog-line .rb-muted{margin-left:4px;font-size:12.5px}
.rb-ucpp-prog-note{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;color:var(--green-text)}
.rb-ucpp-aw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rb-ucpp-aw{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center}
.rb-ucpp-aw-img{display:flex;width:36px;height:36px}
.rb-ucpp-aw-img img,.rb-ucpp-aw-img .rb-aw-circle{width:36px;height:36px}
.rb-ucpp-aw-main{min-width:0}
.rb-ucpp-aw-name{font-size:14px;font-weight:600}
.rb-ucpp-aw-name a{color:#fff}
.rb-ucpp-aw-name a:hover{color:var(--accent-2)}
.rb-ucpp-aw-line{font-size:12.5px;color:var(--muted);margin-top:1px}
.rb-ucpp-aw-line b{color:var(--fg-2);font-weight:600;font-variant-numeric:tabular-nums}
.rb-ucpp-aw .rb-ucpp-bar{margin-top:6px;height:4px}
.rb-ucpp-status{display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.rb-ucpp-status dt{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-ucpp-status dt .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-ucpp-status dd{margin:0 0 10px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;color:var(--fg-2)}
.rb-ucpp-status dd:last-child{margin-bottom:0}
@media (max-width:760px){
	.rb-ucpp-overview{grid-template-columns:minmax(0,1fr)}
	.rb-ucpp-ov-side{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}
}

/* ---- tabs inside a card (My listings filter) ---- */
.rb-ucpp-tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.rb-ucpp-tabs::-webkit-scrollbar{display:none}
.rb-ucpp-tab{display:inline-flex;align-items:center;gap:7px;padding:11px 10px 10px;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}
.rb-ucpp-tab span{font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.rb-ucpp-tab:hover{color:#fff}
.rb-ucpp-tab.is-active{color:#fff;border-bottom-color:var(--accent)}
.rb-ucpp-tab.is-active span{color:var(--fg-2)}

/* ---- 2. My listings ---- */
.rb-ucpp-li{display:grid;grid-template-columns:minmax(0,1fr) 64px 64px 140px 252px;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.rb-ucpp-lis > .rb-ucpp-li:first-child{border-top:0}
.rb-ucpp-li:hover{background:var(--surface-2)}
.rb-ucpp-li-labels{padding:8px 16px;border-top:0;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-ucpp-li-labels:hover{background:var(--surface-2)}
.rb-ucpp-li-labels > div:nth-child(2),.rb-ucpp-li-labels > div:nth-child(3){text-align:center}
.rb-ucpp-li-main{min-width:0}
.rb-ucpp-li-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:15px;line-height:1.3;min-width:0}
.rb-ucpp-li-title > a{font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rb-ucpp-li-title > a:hover{color:var(--accent-2)}
.rb-ucpp-li-sub{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:5px;font-size:12.5px;color:var(--muted)}
.rb-ucpp-li-sub a{color:var(--fg-2)}
.rb-ucpp-li-sub a:hover{color:#fff}
.rb-ucpp-li-stat{text-align:center}
.rb-ucpp-li-stat b,.rb-ucpp-li-last b{display:block;font-size:14px;font-weight:500;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-ucpp-li-stat span,.rb-ucpp-li-last span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.rb-ucpp-li-last{min-width:0}
.rb-ucpp-li-last b{white-space:normal;line-height:1.3}
.rb-ucpp-li-act{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.rb-ucpp-li-act .rb-btn{height:30px;padding:0 10px;font-size:12.5px}
.rb-ucpp-li-act .rb-btn.is-cooldown{opacity:.6;cursor:default}
.rb-ucpp-li-foot{justify-content:space-between}
.rb-ucpp-li-foot > span{flex:1 1 320px}
.rb-ucpp-pager .pagination{margin:0}
@media (max-width:1100px){
	.rb-ucpp-li{grid-template-columns:minmax(0,1fr) 64px 64px 130px}
	.rb-ucpp-li-act{grid-column:1 / -1;justify-content:flex-start}
	.rb-ucpp-li-act:empty{display:none}
	.rb-ucpp-li-labels > div:last-child{display:none}
}
@media (max-width:640px){
	.rb-ucpp-li-labels{display:none}
	.rb-ucpp-li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:12px 14px}
	.rb-ucpp-li-main{flex:1 1 100%}
	.rb-ucpp-li-title > a{white-space:normal}
	.rb-ucpp-li-stat,.rb-ucpp-li-last{text-align:left;display:flex;align-items:baseline;gap:5px}
	.rb-ucpp-li-stat b,.rb-ucpp-li-last b{display:inline;font-size:13px;white-space:nowrap}
	.rb-ucpp-li-stat span,.rb-ucpp-li-last span{display:inline;margin:0}
	.rb-ucpp-li-act{flex:1 1 100%;margin-top:4px}
	.rb-ucpp-li-act .rb-btn{height:34px}
	.rb-ucpp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
	.rb-ucpp-stat{padding:10px}
	.rb-ucpp-stat b{font-size:18px}
}

/* feedback and scam cases (full width: the scam rows of rb_scam need the room) */
.rb-ucpp-two{display:flex;flex-direction:column;gap:var(--gap)}
.rb-ucpp-two:empty{display:none}
.rb-ucpp-two .rb-ucpp-stats{max-width:640px}
.rb-ucpp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.rb-ucpp-stat{padding:12px 14px;background:var(--surface)}
.rb-ucpp-stat b{display:block;font-size:20px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.rb-ucpp-stat span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.rb-ucpp-stat.is-warn b{color:var(--amber)}
.rb-ucpp-fb-list{list-style:none;margin:14px 0 0;padding:0}
.rb-ucpp-fb-list li{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid var(--line)}
.rb-ucpp-fb-list li:first-child{border-top:0}
.rb-ucpp-fb-list li > a{font-weight:600;color:#fff}
.rb-ucpp-fb-list li > a:hover{color:var(--accent-2)}
.rb-ucpp-fb-list .rb-muted{font-size:12.5px}
.rb-ucpp-fb-list .rb-muted a{color:var(--fg-2)}
.rb-ucpp-fb-empty,.rb-ucpp-scam p{margin:14px 0 0;font-size:13px}
.rb-ucpp-scam-rows{margin-top:14px}

/* ---- switches (notifications, privacy) ---- */
.rb-ucpp-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.rb-ucpp-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rb-ucpp-switch-ui{position:relative;display:block;width:36px;height:20px;border-radius:3px;background:var(--surface-4);border:1px solid var(--line-2);transition:background .15s,border-color .15s}
.rb-ucpp-switch-ui::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:2px;background:var(--fg-2);transition:transform .15s,background .15s}
.rb-ucpp-switch input:checked + .rb-ucpp-switch-ui{background:var(--accent);border-color:var(--accent)}
.rb-ucpp-switch input:checked + .rb-ucpp-switch-ui::after{transform:translateX(16px);background:#fff}
.rb-ucpp-switch input:focus-visible + .rb-ucpp-switch-ui{outline:2px solid var(--accent-2);outline-offset:2px}
.rb-ucpp-switch.is-locked{cursor:not-allowed;opacity:.5}
@media (prefers-reduced-motion:reduce){.rb-ucpp-switch-ui,.rb-ucpp-switch-ui::after{transition:none}}

/* ---- 4. Notifications (owner design 2026-10-20: 5 settings, rows like the Privacy page) ---- */
.rb-ucpp-nlabel b,.rb-ucpp-plabel b{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#fff}
.rb-ucpp-nlabel span,.rb-ucpp-plabel span{display:block;margin-top:3px;font-size:12.5px;color:var(--muted);line-height:1.45}
.rb-ucpp-prow.is-locked .rb-ucpp-plabel b .fa-solid{font-size:11px;color:var(--muted)}
.rb-ucpp-plabel b label{cursor:pointer}
.rb-ucpp-nset.is-select .rb-ucpp-nselect{flex:0 0 auto;width:220px;max-width:100%}
.rb-ucpp-always{display:flex;align-items:center;gap:8px;margin:calc(var(--gap) * -.5) 0 var(--gap);padding:0 2px;font-size:12.5px;color:var(--muted);line-height:1.45}
.rb-ucpp-always .fa-solid{font-size:11px;flex:0 0 auto}
.rb-ucpp-save{display:flex;justify-content:flex-end}
@media (max-width:640px){
	.rb-ucpp-nset.is-select{flex-wrap:wrap}
	.rb-ucpp-nset.is-select .rb-ucpp-plabel{flex:1 1 100%}
	.rb-ucpp-nset.is-select .rb-ucpp-nselect{width:100%}
	.rb-ucpp-always{align-items:flex-start}
	.rb-ucpp-always .fa-solid{margin-top:3px}
	.rb-ucpp-save .button{width:100%}
}

/* ---- 5. Privacy ---- */
.rb-ucpp-radios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.rb-ucpp-radio{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);cursor:pointer}
.rb-ucpp-radio:hover{border-color:var(--faint)}
.rb-ucpp-radio.is-on,.rb-ucpp-radio:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.rb-ucpp-radio input{margin:3px 0 0;accent-color:var(--accent)}
.rb-ucpp-radio b{display:block;font-size:14px;color:#fff}
.rb-ucpp-radio small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.4}
.rb-ucpp-pm .rb-help{margin-top:10px}
.rb-ucpp-prow{display:flex;align-items:center;gap:16px;padding:14px 16px;border-top:1px solid var(--line)}
.rb-ucpp-prows > .rb-ucpp-prow:first-child{border-top:0}
.rb-ucpp-plabel{flex:1 1 auto;min-width:0}
.rb-ucpp-plabel a{color:var(--link)}
.rb-ucpp-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.rb-ucpp-listbox{min-width:0}
.rb-ucpp-lb-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rb-ucpp-lb-head b{display:flex;align-items:center;gap:8px;font-size:14px;color:#fff}
.rb-ucpp-lb-head b .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-ucpp-listbox .rb-help{margin:4px 0 10px}
.rb-ucpp-addform .rb-input-group .textbox{flex:1 1 auto;min-width:0}
.rb-ucpp-ul{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line);border-radius:3px;max-height:320px;overflow:auto}
.rb-ucpp-ul li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 12px;border-top:1px solid var(--line)}
.rb-ucpp-ul li:first-child{border-top:0}
.rb-ucpp-ul-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.rb-ucpp-ul .rb-btn{height:28px;width:28px;padding:0;justify-content:center}
.rb-ucpp-ul-empty{margin:10px 0 0;font-size:13px}
.rb-ucpp-optnote{margin-bottom:var(--gap)}
@media (max-width:760px){
	.rb-ucpp-radios{grid-template-columns:minmax(0,1fr)}
	.rb-ucpp-lists{grid-template-columns:minmax(0,1fr)}
	.rb-ucpp-prow{padding:14px}
}

/* ---- Security: two factor login ---- */
.rb-sec-state{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2)}
.rb-sec-state > .fa-solid{margin-top:2px;font-size:18px;color:var(--muted)}
.rb-sec-state.is-on{border-color:var(--green-line);background:var(--green-soft)}
.rb-sec-state.is-on > .fa-solid{color:var(--green)}
.rb-sec-state b{display:block;font-size:14px;color:#fff}
.rb-sec-state span{display:block;margin-top:3px;font-size:13px;color:var(--fg-2);line-height:1.5}
.rb-sec-apps{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.rb-sec-start{margin-top:16px;max-width:420px}
.rb-sec-kv{margin-top:14px;font-size:13.5px}
.rb-sec-kv dd.is-low{color:var(--amber)}
.rb-sec-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:16px}
.rb-sec-more{min-width:0}
.rb-sec-more > summary{list-style:none;cursor:pointer}
.rb-sec-more > summary::-webkit-details-marker{display:none}
.rb-sec-more[open]{flex:1 1 100%;order:-1;padding:14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2)}
.rb-sec-more[open] > summary{margin-bottom:10px}
.rb-sec-sub{max-width:420px}
.rb-sec-sub .rb-help:first-child{margin:0 0 10px}
.rb-sec-sub .rb-form-actions{margin-top:12px;justify-content:flex-start}
.rb-sec-card .rb-form-actions{display:flex;justify-content:flex-start;gap:8px}
.rb-sec-setup-side .rb-sec-inline{margin-top:-6px}
.rb-sec-code-input{font-family:var(--mono);letter-spacing:.12em;font-size:16px}
.rb-sec-steps{margin:0 0 16px;padding-left:20px;font-size:13.5px;color:var(--fg-2);line-height:1.7}
.rb-sec-steps b{color:#fff;font-weight:600}
.rb-sec-setup{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.rb-sec-qr{width:200px;aspect-ratio:1/1;background:#fff;border-radius:3px;overflow:hidden}
.rb-sec-qr svg{display:block;width:100%;height:100%}
.rb-sec-setup-side{min-width:0;display:flex;flex-direction:column;gap:14px}
.rb-sec-secret{display:block;padding:10px 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);font-family:var(--mono);font-size:15px;letter-spacing:.06em;color:#fff;word-break:break-all;user-select:all}
@media (max-width:640px){
	.rb-sec-setup{grid-template-columns:minmax(0,1fr)}
	.rb-sec-qr{width:min(220px,100%);justify-self:center}
	.rb-sec-start,.rb-sec-sub{max-width:none}
	.rb-sec-actions > form,.rb-sec-more{flex:1 1 100%}
	.rb-sec-more > summary.rb-btn,.rb-sec-actions .rb-btn{width:100%;justify-content:center}
}

/* recovery codes, shown once */
.rb-sec-codes-intro{margin:14px 0 12px;font-size:13.5px;color:var(--fg-2);line-height:1.55}
.rb-sec-codes-intro b{color:#fff}
.rb-sec-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding:14px 16px 14px 40px;border:1px dashed var(--line-2);border-radius:3px;background:var(--surface-2);max-width:520px}
.rb-sec-codes li{font-size:12px;color:var(--muted)}
.rb-sec-codes code{font-family:var(--mono);font-size:16px;letter-spacing:.08em;color:#fff}
.rb-sec-codes-plain{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rb-sec-codes-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media (max-width:480px){.rb-sec-codes{grid-template-columns:minmax(0,1fr)}.rb-sec-codes-actions .rb-btn{flex:1 1 auto;justify-content:center}}

/* active sessions */
.rb-sec-dev{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.rb-sec-devs > .rb-sec-dev:first-child{border-top:0}
.rb-sec-dev.is-current{background:var(--accent-soft)}
.rb-sec-dev-ic{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:15px}
.rb-sec-dev-main{min-width:0}
.rb-sec-dev-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;color:#fff}
.rb-sec-dev-sub{margin-top:3px;font-size:12.5px;color:var(--muted);line-height:1.5}
.rb-sec-dev-act{display:flex;justify-content:flex-end}
.rb-sec-foot{justify-content:space-between}
.rb-sec-foot > span{flex:1 1 320px;line-height:1.5}
.rb-sec-foot .rb-btn[disabled]{opacity:.45;pointer-events:none}
@media (max-width:640px){
	.rb-sec-dev{grid-template-columns:32px minmax(0,1fr);padding:12px 14px}
	.rb-sec-dev-ic{width:32px;height:32px}
	.rb-sec-dev-act{grid-column:2;justify-content:flex-start}
	.rb-sec-foot form,.rb-sec-foot .rb-btn{width:100%;justify-content:center}
}

/* login history */
.rb-sec-ev{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,220px) 150px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);font-size:13px}
.rb-sec-evs > .rb-sec-ev:first-child{border-top:0}
.rb-sec-ev-ic{display:flex;justify-content:center;color:var(--muted)}
.rb-sec-ev.is-ok .rb-sec-ev-ic{color:var(--green)}
.rb-sec-ev.is-bad .rb-sec-ev-ic{color:var(--red)}
.rb-sec-ev.is-warn .rb-sec-ev-ic{color:var(--amber)}
.rb-sec-ev-main{min-width:0}
.rb-sec-ev-main b{display:block;font-weight:600;color:#fff}
.rb-sec-ev.is-bad .rb-sec-ev-main b{color:#ffb4b4}
.rb-sec-ev-dev{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:12.5px;color:var(--muted)}
.rb-sec-ev-dev .fa-solid{font-size:11px}
.rb-sec-ev-place{min-width:0;color:var(--fg-2);font-size:12.5px}
.rb-sec-ev-time{text-align:right;color:var(--fg-2);font-size:12.5px;white-space:nowrap}
@media (max-width:860px){
	.rb-sec-ev{grid-template-columns:24px minmax(0,1fr) auto;gap:4px 10px;padding:10px 14px}
	.rb-sec-ev-ic{grid-row:span 2;align-self:start;padding-top:2px}
	.rb-sec-ev-place{grid-column:2;grid-row:2}
	.rb-sec-ev-time{grid-column:3;grid-row:1}
}

/* the code page after the password (member.php?action=rb_2fa) */
.rb-sec-login .rb-card-body > .rb-field + .rb-sec-recovery{margin-top:4px}
.rb-sec-login .rb-sec-code-input{text-align:left}
.rb-sec-recovery{margin:4px 0 14px}
.rb-sec-recovery > summary{cursor:pointer;font-size:13px;color:var(--link);width:max-content;max-width:100%}
.rb-sec-recovery > summary:hover{color:#fff}
.rb-sec-recovery[open] > summary{margin-bottom:10px}
.rb-sec-trust{margin:2px 0 14px}
.rb-sec-err{max-width:440px;margin:0 auto 14px}
.rb-sec-cancel{margin:14px 0 0;text-align:center;font-size:13px}
.rb-sec-cancel a{color:var(--muted)}
.rb-sec-cancel a:hover{color:#fff}

/* ModCP reset */
.rb-sec-mcp-find{max-width:420px;margin:12px 0 16px}
.rb-sec-mcp .rb-kv{margin-bottom:14px}

/* ===== parts/ucp-tabs.css ===== */
/* ================= User CP tabs on phones and tablets (UCP-TABS-20261020, owner picked B) =================
   The usercp_nav script puts nav.rb-ucptabs in front of the Menu card: the index section tabs (.rb-cattabs, so the
   same look; icon over label below 761px) and under them the links of the active section as chips that wrap onto
   more lines. Up to 900px, where the Menu dropdown was, the card is hidden; above 900px nothing changes. data-fit
   (set by the script) steps from the index look (0, equal columns) to label based widths (1) and smaller padding and
   type (2-5) until every tab fits: labels are never cut and the row never scrolls sideways. Without JavaScript the
   old dropdown stays. Bar selectors are .rb-ucptabs .rb-cattabs.rb-ucptabs-bar (0,3,0) so they win over 70-pro and
   85-m-global, which load after the parts. */
.rb-ucptabs{display:none}
/* r2: tab rows that ran off to the side wrap onto a second line instead, at every width (the owner: every tab must show): the
   PM list's row (Inbox ... Download Messages) scrolled from 901 to 1059px, the Alerts filters (All ... Membership)
   from phones up to 1099px. Where a row fits (wide screens) nothing changes. */
.rb-pm-page .rb-pm-tabs,.rb-al-page .rb-al-tabs{flex-wrap:wrap}
/* owner 2026-10-21/22: the desktop User CP looks like the phone one too: the section tabs and the links under them
   instead of the long Menu column, and the page uses the full width. Only where the script built the tabs (:has), so
   ModCP and a browser without JavaScript keep the Menu column. */
.rb-usercp:has(.rb-ucptabs){grid-template-columns:minmax(0,1fr)}
@media (min-width:901px){
  .rb-ucptabs{display:block;min-width:0}
  .rb-subnav-card.has-ucptabs{display:none}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar{margin:0;overflow:visible}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar a{text-decoration:none}
  .rb-ucptabs-links{display:flex;flex-wrap:wrap;gap:2px 24px;margin:12px 0 0;padding:0 4px;border-bottom:1px solid #2a2f3b}
  .rb-ucptabs-links a{position:relative;display:inline-flex;align-items:center;min-height:40px;max-width:100%;padding:10px 0 9px;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:#98a2b6;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:color .12s,border-color .12s}
  .rb-ucptabs-links a:hover{color:#fff}
  .rb-ucptabs-links a.is-on{color:#fff;border-bottom-color:#4d7cff;font-weight:600}
  body:has(.rb-ucptabs) .rb-pm-tabs > a.rb-tab[href="private.php"],
  body:has(.rb-ucptabs) .rb-pm-tabs > a.rb-tab[href="private.php?action=send"]{display:none}
}
@media (max-width:900px){
  .rb-ucptabs{display:block;min-width:0}
  .rb-subnav-card.has-ucptabs{display:none}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar{margin:0;overflow:visible}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar a{text-decoration:none}
  /* 40px touch target where the tab itself is shorter (36px tabs between 761 and 900px) */
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar a::before{content:"";position:absolute;left:0;right:0;top:-2px;bottom:-2px}
  /* r3 (owner picked option 1, 2026-10-20): the links under the tabs are plain text with a blue underline on the
     active page, no rounded chips. Each link keeps a 40px touch area. */
  .rb-ucptabs-links{display:flex;flex-wrap:wrap;gap:2px 20px;margin:12px 0 0;padding:0 4px;border-bottom:1px solid #2a2f3b}
  .rb-ucptabs-links a{position:relative;display:inline-flex;align-items:center;min-height:40px;max-width:100%;padding:10px 0 9px;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:#98a2b6;font-size:13.5px;font-weight:500;line-height:1.2;overflow-wrap:anywhere;text-decoration:none;transition:color .12s,border-color .12s}
  .rb-ucptabs-links a:hover{color:#fff}
  .rb-ucptabs-links a.is-on{color:#fff;border-bottom-color:#4d7cff;font-weight:600}
  /* the PM list's own tab row scrolled sideways on phones: Inbox and Compose are chips above it now, so they go,
     and the rest (Manage Folders, Empty Folders, Download Messages) wraps */
  body:has(.rb-ucptabs) .rb-pm-tabs > a.rb-tab[href="private.php"],
  body:has(.rb-ucptabs) .rb-pm-tabs > a.rb-tab[href="private.php?action=send"]{display:none}
  .rb-pm-page .rb-pm-tabs{overflow:visible}
}
/* tablets: the index row (icon beside the label); only the fit steps are added */
@media (min-width:761px) and (max-width:900px){
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="1"] a{padding:0 10px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="2"] a{padding:0 8px;gap:6px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="3"]{gap:2px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="3"] a{padding:0 6px;gap:5px;font-size:12.5px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="4"]{gap:2px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="4"] a{padding:0 5px;gap:4px;font-size:12px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"]{gap:1px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"] a{padding:0 4px;gap:4px;font-size:11px}
}
/* phones: the index grid (icon over label) with one column per tab */
@media (max-width:760px){
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar{grid-template-columns:repeat(var(--rb-ucpt-n,5),minmax(0,1fr))}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="1"],.rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="2"],.rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="3"],
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="4"],.rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"]{display:flex}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit] a{flex:1 0 auto}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="2"] a{padding:8px 1px 7px;font-size:11.5px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="3"]{gap:1px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="3"] a{padding:8px 0 7px;font-size:11px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="4"]{gap:1px;padding:3px 2px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="4"] a{padding:8px 0 7px;font-size:10.5px;letter-spacing:-.03em}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"]{gap:0;padding:3px 1px}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"] a{padding:8px 0 7px;font-size:10px;letter-spacing:-.04em}
  .rb-ucptabs .rb-cattabs.rb-ucptabs-bar[data-fit="5"] a .fa-solid{font-size:14px}
}
/* r2: on phones the Alerts filters are wrapping chips like the User CP links (ten underline tabs would stack three
   rows high); 36px chips with a 42px touch area */
@media (max-width:760px){
  .rb-al-card .rb-al-tabs.rb-tabs{gap:8px;padding:12px;overflow:visible}
  .rb-al-page .rb-al-tabs .rb-tab{position:relative;height:auto;min-height:36px;padding:7px 13px;border:1px solid #2f3442;border-radius:999px;background:#1a1d25;color:#c5ccda;font-size:13px;font-weight:500;line-height:1.2}
  .rb-al-page .rb-al-tabs .rb-tab::before{content:"";position:absolute;left:0;right:0;top:-3px;bottom:-3px}
  .rb-al-page .rb-al-tabs .rb-tab:hover{background:#20242e;border-color:#3a4050;color:#fff}
  .rb-al-page .rb-al-tabs .rb-tab.is-active{background:#24324f;border-color:#3b63d6;color:#fff}
  .rb-al-page .rb-al-tabs .rb-tab.is-active::after{content:none}
}

/* ===== parts/upgrade.css ===== */
/* ================= HEADER UPGRADE LINK: to the VIP and Donator page (owner 2026-10-19) ================= */
/* .rb-topbar prefix: 70-pro.css loads after the parts and sets the menu link colours (desktop and the phone drawer) */
.rb-topbar .rb-nav a.upgrade,.rb-nav a.upgrade{color:#f3d27a}
.rb-topbar .rb-nav a.upgrade .fa-solid,.rb-nav a.upgrade .fa-solid{color:#f5c542}
.rb-topbar .rb-nav a.upgrade:hover{color:#fff;background:rgba(245,197,66,.10)}
.rb-topbar .rb-nav a.upgrade:hover .fa-solid{color:#ffd76a}
.rb-topbar .rb-nav a.upgrade.is-active{color:#fff;background:rgba(245,197,66,.08);box-shadow:inset 0 -3px 0 #f5c542}

/* ===== 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}
/* Edit Profile: the Required Fields box (usercp_profile .rb-req-group) only shows when a required custom profile field exists;
   the email note is gone (Change Email has its own page). No :has() support: only the empty body collapses. */
fieldset.rb-req-group:has(> .rb-opt-body:empty){display:none}
.rb-req-group > .rb-opt-body:empty{display:none}
.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)} /* only the text line: the span inside the Apply button keeps the button's white (AUDIT-20261020, 2.84:1 before) */
.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}
}

/* ===== AUDIT-20261020 (rb_vendorapp 1.3.1, marker RB-AUDIT-MARKET-20261020) =====
   1. Staff queue tabs (Pending, Approved, Denied, Vendors): 2 x 2 on narrow phones, so the fourth tab is never off screen.
   2. Application form: English inline errors (p.rb-va-err, added by the form script) and room above / below a field
      the script scrolls to (header 54px, phone bottom bar 58px).
   3. Guest page "Become a vendor": the three steps and the Register / Log in buttons.
   4. Vendor boards: the note in place of Post Thread (.rb-va-postnote), the empty state (.rb-va-board-empty) and the
      no permission page text (.rb-va-who-*). */
@media (max-width:480px){
  .rb-tabs.rb-va-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}
  .rb-va-tabs .rb-tab{justify-content:center;min-width:0;padding:0 8px}
}

.rb-va-form :is(textarea,input.textbox,input[type=checkbox]){scroll-margin-top:72px;scroll-margin-bottom:84px}
.rb-va-err{display:flex;align-items:flex-start;gap:8px;flex-basis:100%;margin:6px 0 0;color:#f2a3a3;font-size:13px;line-height:1.45}
.rb-va-err[hidden]{display:none}
.rb-va-err .fa-solid{flex:none;margin-top:2px;font-size:12.5px;color:var(--red)}
.rb-va-form :is(textarea,input.textbox)[aria-invalid=true]{border-color:rgba(240,82,82,.7)}
.rb-va-country-checks{flex-wrap:wrap}

.rb-va-steps{list-style:none;counter-reset:rb-va-step;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.rb-va-steps li{counter-increment:rb-va-step;display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px;font-size:13.5px;line-height:1.45}
.rb-va-steps li::before{content:counter(rb-va-step);grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:#fff;font-size:12px;font-weight:600}
.rb-va-steps b{color:#fff;font-weight:600}
.rb-va-steps li > span{color:var(--fg-2)}
.rb-va-guest-foot .rb-form-actions{display:flex;gap:8px}

/* the top row above the thread list hides itself without Post Thread or pages (86-m-forum.css): it shows for the note */
div.rb-threads-top:has(.rb-va-postnote){display:flex}
.rb-va-postnote{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 4px 0 12px;border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:13px;white-space:nowrap}
.rb-va-postnote > .fa-solid{font-size:12px;color:var(--fg-2)}
.rb-va-postnote:not(:has(.rb-va-postnote-link)){padding-right:12px}
.rb-va-postnote .rb-va-postnote-link{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:3px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none}
.rb-va-postnote .rb-va-postnote-link:hover{background:#3d75d9;color:#fff;text-decoration:none}
.rb-empty-state.rb-va-board-empty .rb-empty-text{max-width:460px;color:var(--fg-2)}
.rb-va-who-text{margin:0 0 12px}
.rb-va-who-actions{margin:0}
.rb-va-who-actions .rb-btn{gap:7px}
/* the no permission page is a .rb-prose card: its link colour and underline must not reach the buttons */
.rb-shell .rb-prose .rb-va-who-actions a.rb-btn{display:inline-flex;align-items:center;color:var(--fg);text-decoration:none}
.rb-shell .rb-prose .rb-va-who-actions a.rb-btn.rb-btn-primary,.rb-shell .rb-prose .rb-va-who-actions a.rb-btn.rb-btn-primary .fa-solid{color:#fff}
@media (max-width:760px){
  .rb-va-guest-foot .rb-form-actions{width:100%}
  .rb-va-guest-foot .rb-form-actions .rb-btn{flex:1 1 0;justify-content:center;height:40px}
  .rb-va-postnote{height:40px}
  .rb-va-postnote .rb-va-postnote-link{height:32px}
}

/* ===== parts/vendorfees.css ===== */
/* ===================================================================
   Roidboard: paid vendor memberships (rb_vendorapp 2.0), VENDOR-FEES-20261020 (src/css/parts/vendorfees.css).
   Loads after parts/vip.css, parts/payments.css and parts/bugform.css and reuses their components (.rb-plan*,
   .rb-pay-*, .rb-bf-*). Restrained: dark surfaces, hairlines, 3px corners, bare icons, one filled call to action per
   screen. Tier colours only as 2px top lines, small marks and plan header bars: New copper, Verified cyan, Respected
   lime, Trusted rose gold, Elite holo. Built from the approved preview (pending/vendor-fees/preview-tools).
   =================================================================== */
.rb-vf{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-vf-muted{color:var(--muted)}
.rb-vf p{margin:0}
.rb-vf .rb-req{color:var(--red)}
.rb-vf a:not(.rb-btn):not(.button){color:var(--link)}
.rb-vf a:not(.rb-btn):not(.button):hover{color:#fff}

/* ---- tier colours ---- */
.is-t-new{--vf-c:#d08a52;--vf-bar:#6b3e20;--vf-box:rgba(28,12,2,.38)}
.is-t-verified{--vf-c:#36c6e8;--vf-bar:#0e5566;--vf-box:rgba(0,18,24,.4)}
.is-t-respected{--vf-c:#97d35a;--vf-bar:#3d5f1f;--vf-box:rgba(10,20,2,.4)}
.is-t-trusted{--vf-c:#eba597;--vf-bar:#74403a;--vf-box:rgba(26,8,6,.38)}
.is-t-elite{--vf-c:#c9a6ff;--vf-bar:linear-gradient(90deg,#4a2a78 0%,#1e4a86 52%,#1c6656 100%);--vf-box:rgba(6,6,20,.42)}
.rb-vf-tier{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.rb-vf-tier::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--vf-c,var(--accent-2))}
.rb-vf-tier.is-t-elite::before{background:linear-gradient(135deg,#c9a6ff,#7fb2ff 50%,#7fe0c4)}

/* ---- small status chip ---- */
.rb-vf-state{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:12px;font-weight:600;line-height:1;white-space:nowrap}
.rb-vf-state .fa-solid{font-size:11px}
.rb-vf-state.is-ok{border-color:var(--green-line);background:var(--green-soft);color:var(--green-text)}
.rb-vf-state.is-warn{border-color:rgba(210,153,34,.4);background:var(--amber-soft);color:#e6c271}
.rb-vf-state.is-bad{border-color:rgba(240,82,82,.42);background:var(--red-soft);color:#f2a3a3}
.rb-vf-state.is-info{border-color:var(--accent-ring);background:var(--accent-soft);color:#a9c4ff}

/* ---- flags ---- */
.rb-vf-flags{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.rb-vf-flags > span{display:inline-flex;align-items:center;gap:6px}
.rb-vf .rb-flag.is-round,.rb-vf-flags .rb-flag.is-round{flex:none;width:16px;height:16px}
.rb-vf td .rb-flag.is-round,.rb-vf-holdbar .rb-flag.is-round{display:inline-block;width:15px;height:15px;margin-right:5px;vertical-align:-3px}
.rb-vf-plate.is-ended img{filter:grayscale(.85);opacity:.55}

/* ---- status card (top of the Vendor page) ---- */
.rb-vf-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 22px;align-items:center;padding:18px 20px}
.rb-vf-plate{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.rb-vf-plate img{display:block;width:207px;height:auto;max-width:100%}
.rb-vf-plate .rb-vf-namesample{font-size:14px}
.rb-vf-status-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.rb-vf-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.rb-vf-status-title{margin:0;font-size:18px;font-weight:700;line-height:1.25;color:#fff}
.rb-vf-status-text{font-size:14px;line-height:1.55;color:var(--fg-2)}
.rb-vf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);overflow:hidden}
.rb-vf-fact{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 14px;border-left:1px solid var(--line)}
.rb-vf-fact:first-child{border-left:0}
.rb-vf-fact dt{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-vf-fact dd{margin:0;min-width:0;font-size:14px;color:var(--fg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rb-vf-fact dd small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.rb-vf-card-top{border-top:2px solid var(--vf-c,var(--accent))}

/* boards the vendor can start threads in */
.rb-vf-boards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.rb-vf-boards li{display:flex;align-items:center;gap:9px;min-width:0;min-height:38px;padding:7px 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);font-size:13.5px}
.rb-vf-boards li .fa-solid{flex:none;font-size:12px;color:var(--muted)}
.rb-vf-boards li a{min-width:0;line-height:1.35;color:var(--fg)}
.rb-vf-boards li a:hover{color:#fff}
.rb-vf-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px}
.rb-vf-sub{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ---- horizontal steps ---- */
.rb-vf-steps{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);overflow:hidden}
.rb-vf-steps li{display:flex;gap:12px;min-width:0;padding:14px 16px;border-left:1px solid var(--line)}
.rb-vf-steps li:first-child{border-left:0}
.rb-vf-steps li > div{min-width:0}
.rb-vf-steps b{display:block;margin:1px 0 3px;font-size:14px;color:#fff}
.rb-vf-steps span.rb-vf-steptext{display:block;font-size:13px;line-height:1.5;color:var(--fg-2)}
.rb-vf-steps .rb-bf-num{margin-top:0}
.rb-vf-steps li.is-done .rb-bf-num{border-color:var(--green-line);background:var(--green-soft);color:var(--green-text)}
.rb-vf-steps li.is-now .rb-bf-num{border-color:var(--accent);background:var(--accent);color:#fff}

/* ---- pay / renew card: periods + coins left, order summary right ---- */
.rb-vf-pay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;padding:18px 20px;align-items:start}
.rb-vf-pay-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.rb-vf-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rb-vf-term{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px 13px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}
.rb-vf-term:hover{background:var(--surface-3)}
.rb-vf-term input{position:absolute;opacity:0;pointer-events:none}
.rb-vf-term:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.rb-vf-term:has(input:focus-visible){outline:2px solid var(--blue-2);outline-offset:1px}
.rb-vf-term-name{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--fg-2)}
.rb-vf-term-price{font-size:20px;font-weight:700;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums}
.rb-vf-term-per{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rb-vf-term-net{font-size:12px;color:var(--green-text);font-variant-numeric:tabular-nums}
.rb-vf-save{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:2px;background:var(--green-soft);color:var(--green-text);font-size:11px;font-weight:600}
.rb-vf-coins{display:flex;flex-wrap:wrap;gap:8px}
.rb-vf-coin{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 16px 0 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:14px;cursor:pointer}
.rb-vf-coin input{margin:0}
.rb-vf-coin b{font-weight:600;color:#fff}
.rb-vf-coin small{font-size:12px;color:var(--muted)}
.rb-vf-coin:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#fff}
.rb-vf-note{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.rb-vf-note .fa-solid{flex:none;margin-top:3px;font-size:11px;color:var(--faint)}
.rb-vf-summary{border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);border-top:2px solid var(--vf-c,var(--accent))}
.rb-vf-summary-in{padding:14px 16px}
.rb-vf-summary .rb-pay-plan-name{color:var(--vf-c,#fff)}
.rb-vf-summary .rb-pay-line.is-credit dd{color:var(--green-text)}
.rb-vf-summary-foot{display:flex;flex-direction:column;gap:10px;padding:12px 16px 14px;border-top:1px solid var(--line)}
.rb-vf-summary-foot .rb-btn{width:100%;justify-content:center;height:40px}

/* ---- promotion checklist ---- */
.rb-vf-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 20px;border-bottom:1px solid var(--line)}
.rb-vf-next-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:15px;font-weight:600;color:#fff}
.rb-vf-next-count{font-size:13px;color:var(--fg-2);font-variant-numeric:tabular-nums}
.rb-vf-check{margin:0;padding:0;list-style:none}
.rb-vf-check > li{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,260px);gap:6px 14px;align-items:center;padding:12px 20px;border-top:1px solid var(--line)}
.rb-vf-check > li:first-child{border-top:0}
.rb-vf-ck{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);color:var(--faint);font-size:11px}
.rb-vf-check li.is-ok .rb-vf-ck{border-color:var(--green-line);background:var(--green-soft);color:var(--green-text)}
.rb-vf-check li.is-bad .rb-vf-ck{border-color:rgba(240,82,82,.45);background:var(--red-soft);color:#f2a3a3}
.rb-vf-ck-label{min-width:0;font-size:14px;color:var(--fg)}
.rb-vf-ck-label small{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--muted)}
.rb-vf-ck-val{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;font-size:13px;color:var(--fg-2);font-variant-numeric:tabular-nums;text-align:right}
.rb-vf-ck-val b{color:#fff;font-weight:600}
.rb-vf-bar{position:relative;width:100%;max-width:220px;height:6px;border-radius:3px;background:var(--surface-4);overflow:hidden}
.rb-vf-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);border-radius:3px;background:var(--accent-2)}
.rb-vf-check li.is-ok .rb-vf-bar i{background:var(--green)}
.rb-vf-check-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2)}
.rb-vf-check-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.rb-vf-check-meta button{padding:0;border:0;background:none;color:var(--link);font:inherit;cursor:pointer}
.rb-vf-check-meta button:hover{color:#fff;text-decoration:underline}
.rb-vf .rb-btn.is-disabled,.rb-vf .rb-btn[disabled]{background:var(--surface-3);border-color:var(--line-2);color:var(--muted);cursor:not-allowed}
.rb-vf-left{padding:0 20px 12px 56px;margin-top:-4px;font-size:12px;line-height:1.5;color:var(--muted)}

/* ---- tables ---- */
.rb-vf .rb-table td.is-num,.rb-vf .rb-table th.is-num{text-align:right;font-variant-numeric:tabular-nums}
.rb-vf .rb-table td{vertical-align:middle}
.rb-vf-tdsub{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.rb-vf-reason{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#e6c271}
.rb-vf-reason .fa-solid{font-size:11px}
.rb-vf-yes{color:var(--green-text);font-weight:600}
.rb-vf-yes .fa-solid{margin-right:5px;font-size:11px}

/* ---- staff: numbers strip ---- */
.rb-vf-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:3px;background:var(--surface);overflow:hidden}
.rb-vf-kpi{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 16px;border-left:1px solid var(--line)}
.rb-vf-kpi:first-child{border-left:0}
.rb-vf-kpi b{font-size:20px;font-weight:700;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.rb-vf-kpi span{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rb-vf .rb-tabs{margin:0}
.rb-vf-tabcount{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--surface-4);color:var(--fg-2);font-size:11px;font-weight:700}
.rb-tab.is-active .rb-vf-tabcount{background:var(--accent);color:#fff}
.rb-vf-flagchip{display:inline-flex;align-items:center;gap:5px;height:20px;margin:2px 4px 2px 0;padding:0 7px;border:1px solid rgba(210,153,34,.38);border-radius:2px;background:var(--amber-soft);color:#e6c271;font-size:11.5px;font-weight:600;white-space:nowrap}
.rb-vf-flagchip.is-red{border-color:rgba(240,82,82,.4);background:var(--red-soft);color:#f2a3a3}
.rb-vf-flagchip .fa-solid{font-size:10px}

/* ---- staff: feedback givers list ---- */
.rb-vf-givers{margin:0;padding:0;list-style:none}
.rb-vf-givers li{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,300px);gap:4px 16px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);font-size:13.5px}
.rb-vf-givers li:first-child{border-top:0}
.rb-vf-g-name{min-width:0;font-weight:600}
.rb-vf-g-facts{min-width:0;font-size:12.5px;color:var(--fg-2)}
.rb-vf-g-res{min-width:0;text-align:right}
.rb-vf-givers li.is-out{background:rgba(210,153,34,.04)}
.rb-vf-givers li.is-more{display:block;padding:8px 16px}

/* ---- staff: review layout ---- */
.rb-vf-review{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--gap);align-items:start}
.rb-vf-review-main,.rb-vf-review-side{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.rb-vf-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0;padding:14px 16px;font-size:13.5px}
.rb-vf-dl dt{margin:0;color:var(--muted)}
.rb-vf-dl dd{margin:0;min-width:0;color:var(--fg);text-align:right;overflow-wrap:anywhere}
.rb-vf-decide{display:flex;flex-direction:column;gap:12px;padding:14px 16px}
.rb-vf-decide textarea{width:100%;min-height:76px}
.rb-vf-decide .rb-label{font-weight:600}
.rb-vf-decide-actions{display:flex;gap:8px}
.rb-vf-decide-actions .rb-btn{flex:1 1 0;justify-content:center;height:40px}
.rb-vf .rb-btn-approve{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.rb-vf .rb-btn-deny{background:transparent;border-color:rgba(240,82,82,.55);color:#f2a3a3}
.rb-vf-ans .rb-bf-row dd ul{margin:0;padding-left:18px}
.rb-vf-tags{display:flex;flex-wrap:wrap;gap:6px}
.rb-vf-tags span{display:inline-flex;align-items:center;height:24px;padding:0 9px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);font-size:12.5px;color:var(--fg)}
.rb-vf-timeline{margin:0;padding:6px 16px 12px;list-style:none}
.rb-vf-timeline li{position:relative;padding:8px 0 8px 18px;border-left:1px solid var(--line-2);margin-left:5px;font-size:13px;line-height:1.45;color:var(--fg-2)}
.rb-vf-timeline li::before{content:"";position:absolute;left:-4px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--surface-4);border:1px solid var(--line-2)}
.rb-vf-timeline li.is-paid::before{background:var(--green);border-color:var(--green)}
.rb-vf-timeline li b{color:var(--fg)}
.rb-vf-timeline time{display:block;font-size:12px;color:var(--muted)}

/* ---- threads on hold ---- */
.rb-vf-holdbar{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid rgba(210,153,34,.35);border-left:3px solid var(--amber);border-radius:3px;background:var(--amber-soft);font-size:13.5px;line-height:1.55;color:var(--fg)}
.rb-vf-holdbar .fa-solid{flex:none;margin-top:3px;color:var(--amber)}
.rb-vf-holdbar b{color:#fff}
.rb-vf-holdbar > div:not(.rb-vf-holdbar-actions){flex:1 1 0;min-width:0}
.rb-vf-holdbar .rb-vf-holdbar-actions{margin-left:auto;display:flex;gap:8px;flex:none}
.rb-vf-holdchip{display:inline-block;max-width:100%;margin-top:5px;padding:3px 8px;border:1px solid rgba(210,153,34,.32);border-radius:2px;background:rgba(210,153,34,.08);font-size:12px;line-height:1.4;color:#e6c271}
.rb-vf-holdchip .fa-solid{margin-right:6px;font-size:10.5px}
.rb-vf-holdchip .rb-flag.is-round{display:inline-block;width:14px;height:14px;margin:0 3px;vertical-align:-2px}
.rb-trow.is-held .rb-trow-subject a{color:var(--fg-2)}

/* ---- application form additions (rb-bf step layout) ---- */
.rb-vf-apply .rb-bf-choice input[type=checkbox]{margin:0;flex:none}
.rb-vf-apply .rb-bf-choice.is-locked{opacity:.85;cursor:default}
.rb-vf-apply .rb-bf-choice .rb-flag.is-round{width:16px;height:16px}
.rb-vf-found{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);font-size:13.5px;line-height:1.5}
.rb-vf-found ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.rb-vf-found li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.rb-vf-found li .fa-solid{font-size:12px;color:var(--muted)}
.rb-vf-apply .rb-bf-pair3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rb-vf-apply .rb-bf-step-a select{max-width:none;width:100%}
.rb-vf-agree{display:flex;flex-direction:column;gap:10px}
.rb-vf-agree .rb-check{align-items:flex-start;line-height:1.5}
.rb-vf-agree .rb-check input{margin-top:3px}

/* ---- plans page: five columns ---- */
.rb-vf-plans .rb-plans-cols{grid-template-columns:repeat(5,minmax(0,1fr))}
.rb-vf-plans .rb-plan.is-t-new,.rb-vf-plans .rb-plan.is-t-verified,.rb-vf-plans .rb-plan.is-t-respected,.rb-vf-plans .rb-plan.is-t-trusted,.rb-vf-plans .rb-plan.is-t-elite{--rb-plan-bar:var(--vf-bar);--rb-plan-line:var(--vf-c);--rb-plan-box:var(--vf-box)}
.rb-vf-plans .rb-plan-head{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0}
.rb-vf-plans .rb-plan-name{padding:12px 16px 2px;font-size:16px}
.rb-vf-plans .rb-plan-price{justify-content:flex-start;align-items:baseline;gap:6px;min-width:0;padding:0 16px 12px;background:transparent;font-size:24px}
.rb-vf-plans .rb-plan-price small{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.78)}
/* owner 2026-10-22: the stacked name and price in a full tier colour bar looked messy once one plan shows at a time.
   One clean row instead: a dark header with a thin tier colour line on top, the tier name on the left with a small
   colour mark and "Vendor tier" above it, the price large on the right with the period under it. */
.rb-vf-plans .rb-plan .rb-plan-head{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:18px 20px;
  background:var(--surface-2);border-top:3px solid var(--vf-c,var(--accent));border-bottom:1px solid var(--line)}
.rb-vf-plans .rb-plan .rb-plan-name{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0;font-size:19px;font-weight:700;line-height:1.15;color:#fff}
.rb-vf-plans .rb-plan .rb-plan-name::before{content:"Vendor tier";display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vf-c,var(--muted))}
.rb-vf-plans .rb-plan .rb-plan-price{flex:none;display:block;min-width:0;padding:0;background:none;font-size:28px;font-weight:700;line-height:1;text-align:right;color:#fff}
.rb-vf-plans .rb-plan .rb-plan-price > span{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rb-vf-plans .rb-plan .rb-plan-price small{font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--muted)}
/* the Per month row repeats the header price for 1 month; for 3 and 6 months it shows the monthly price after the saving */
.rb-vf-plans[data-term="m1"] .rb-plan-row.is-permonth{display:none}
@media (max-width:760px){
  .rb-vf-plans .rb-plan .rb-plan-head{padding:14px 16px}
  .rb-vf-plans .rb-plan .rb-plan-name{font-size:17px}
  .rb-vf-plans .rb-plan .rb-plan-price{font-size:24px}
}
.rb-vf-plans .rb-plan-row{padding:9px 14px;font-size:13px}
.rb-vf-plans .rb-plan-row.is-stack{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.rb-vf-plans .rb-plan-row.is-stack .rb-plan-label{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rb-vf-plans .rb-plan-row.is-stack .rb-plan-val{display:block;max-width:100%;text-align:left;font-weight:500;line-height:1.45}
.rb-vf-plans .rb-plan-row.is-head{padding:8px 14px}
.rb-vf-plans .rb-plan-row.is-bar{padding:12px 14px 14px}
.rb-vf-plans .rb-plan-foot{padding:12px 14px 14px}
.rb-vf-plans .rb-plan-btn{width:100%;justify-content:center}
.rb-vf-plans .rb-plan-yes + span,.rb-vf-plans .rb-plan-no + span{margin-left:6px}
.rb-vf-plans .rb-plan.is-mine{border-color:var(--vf-c)}
.rb-vf-plans[data-term="m1"] [data-for]:not([data-for="m1"]),
.rb-vf-plans[data-term="m3"] [data-for]:not([data-for="m3"]),
.rb-vf-plans[data-term="m6"] [data-for]:not([data-for="m6"]){display:none}
.rb-vf-plans[data-term="m1"] .rb-plans-tab[data-term="m1"],
.rb-vf-plans[data-term="m3"] .rb-plans-tab[data-term="m3"],
.rb-vf-plans[data-term="m6"] .rb-plans-tab[data-term="m6"]{background:var(--accent);color:#fff}
.rb-vf-plans[data-term="m3"] .rb-plans-tab[data-term="m3"] .rb-plans-save,.rb-vf-plans[data-term="m6"] .rb-plans-tab[data-term="m6"] .rb-plans-save{color:#d9f2e6}
.rb-vf-plans .rb-plans-pick-btn.is-t-new{--rb-pick-bg:#6b3e20}
.rb-vf-plans .rb-plans-pick-btn.is-t-verified{--rb-pick-bg:#0e5566}
.rb-vf-plans .rb-plans-pick-btn.is-t-respected{--rb-pick-bg:#3d5f1f}
.rb-vf-plans .rb-plans-pick-btn.is-t-trusted{--rb-pick-bg:#74403a}
.rb-vf-plans .rb-plans-pick-btn.is-t-elite{--rb-pick-bg:#2b3a7e}
.rb-vf-how{padding:16px 20px}

@media (max-width:1200px){
  .rb-vf-plans .rb-plans-cols{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--gap)}
  .rb-vf-plans .rb-plan{display:flex;grid-row:auto}
  .rb-vf-review{grid-template-columns:minmax(0,1fr) 330px}
  .rb-vf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-vf-kpi:nth-child(4){border-left:0}
  .rb-vf-kpi:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width:980px){
  .rb-vf-pay{grid-template-columns:minmax(0,1fr)}
  .rb-vf-review{grid-template-columns:minmax(0,1fr)}
  .rb-vf-plans .rb-plans-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .rb-vf-status{grid-template-columns:minmax(0,1fr);padding:14px}
  .rb-vf-plate{align-items:flex-start}
  .rb-vf-body{padding:14px}
  .rb-vf-pay{padding:14px;gap:14px}
  .rb-vf-terms{grid-template-columns:minmax(0,1fr)}
  .rb-vf-term{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "per net";align-items:center;gap:2px 10px;padding:11px 12px}
  .rb-vf-term-name{grid-area:name}
  .rb-vf-term-price{grid-area:price;font-size:18px;text-align:right}
  .rb-vf-term-per{grid-area:per}
  .rb-vf-term-net{grid-area:net;text-align:right}
@media (max-width:760px){
  .rb-vf-coin{flex:1 1 0;justify-content:center}
  .rb-vf-coin small{display:none}
}
  .rb-vf-steps{grid-template-columns:minmax(0,1fr)}
  .rb-vf-steps li{border-left:0;border-top:1px solid var(--line);padding:12px 14px}
  .rb-vf-steps li:first-child{border-top:0}
  .rb-vf-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-vf-fact:nth-child(odd){border-left:0}
  .rb-vf-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .rb-vf-next{padding:12px 14px}
  .rb-vf-check > li{grid-template-columns:22px minmax(0,1fr);padding:12px 14px}
  .rb-vf-ck-val{grid-column:2;align-items:flex-start;text-align:left}
  .rb-vf-bar{max-width:none}
  .rb-vf-left{padding:0 14px 12px 50px}
  .rb-vf-check-foot{padding:12px 14px}
  .rb-vf-check-foot .rb-btn{width:100%;justify-content:center;height:42px}
  .rb-vf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-vf-kpi:nth-child(odd){border-left:0}
  .rb-vf-kpi:nth-child(4){border-left:1px solid var(--line)}
  .rb-vf-kpi:nth-child(n+3){border-top:1px solid var(--line)}
  .rb-vf-kpi{padding:10px 12px}
  .rb-vf-holdbar{flex-wrap:wrap}
  .rb-vf-holdbar .rb-vf-holdbar-actions{margin-left:0;width:100%}
  .rb-vf-holdbar .rb-vf-holdbar-actions .rb-btn{flex:1 1 0;justify-content:center;height:40px}
  .rb-vf-apply .rb-bf-pair3{grid-template-columns:minmax(0,1fr)}
  .rb-vf-apply .rb-bf-choices{display:flex;flex-wrap:wrap}
  .rb-vf-apply .rb-bf-choice{justify-content:flex-start;height:40px;padding:0 14px 0 12px}
  .rb-vf-plans .rb-plans-cols{grid-template-columns:minmax(0,1fr)}
  .rb-vf-plans.has-pick .rb-plans-pick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .rb-vf-plans .rb-plans-pick-btn{padding:0 4px;font-size:12.5px}
  .rb-vf-plans .rb-plans-pick-btn + .rb-plans-pick-btn{border-left:1px solid var(--line-2)}
  .rb-vf-dl dd{text-align:left}
  .rb-vf-decide-actions{flex-direction:column}
  .rb-vf .rb-table-wrap{overflow-x:auto}
  .rb-vf-table-cards thead{display:none}
  .rb-vf-table-cards,.rb-vf-table-cards tbody,.rb-vf-table-cards tr,.rb-vf-table-cards td{display:block;width:100%}
  .rb-vf-table-cards tr{padding:10px 14px;border-top:1px solid var(--line)}
  .rb-vf-table-cards tr:first-child{border-top:0}
  .rb-vf-table-cards td{padding:2px 0 !important;border:0 !important;text-align:left !important}
  .rb-vf-table-cards td[data-l]{display:grid !important;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:8px}
  .rb-vf-table-cards td[data-l]::before{content:attr(data-l);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
  .rb-vf-table-cards .rb-vf-cell{min-width:0}
  .rb-vf-table-cards .rb-vf-flagchip{margin:2px 4px 2px 0}
  .rb-vf-table-tight th:nth-child(3),.rb-vf-table-tight td:nth-child(3){display:none}
  .rb-vf-table-tight th,.rb-vf-table-tight td{padding:9px 10px !important;font-size:13px}
  .rb-vf-givers li{grid-template-columns:minmax(0,1fr) auto;padding:10px 14px}
  .rb-vf-g-facts{grid-column:1 / -1;grid-row:2}
  .rb-vf-g-res{grid-column:2;grid-row:1}
  .rb-vf-givers li.is-out .rb-vf-g-res{grid-column:1 / -1;grid-row:3;text-align:left}
  .rb-vf-table-cards td.is-act{padding-top:8px !important}
  .rb-vf-table-cards td.is-act .rb-btn{width:100%;justify-content:center;height:40px}
}

/* ---- balance as a way to pay in the vendor pay card (revision 2) ---- */
.rb-vf-coin.is-bal{flex:1 1 100%;gap:10px}
.rb-vf-coin.is-bal > .fa-solid{font-size:13px;color:var(--muted)}
.rb-vf-coin-txt{display:inline-flex;align-items:baseline;gap:9px;min-width:0}
.rb-vf-coin.is-bal.is-short small{color:#e6c271}
.rb-vf-coin.is-bal:has(input:checked) > .fa-solid{color:#fff}
.rb-vf-paylink{font-size:12.5px;text-align:center}
.rb-vf-howcount{margin-top:2px;font-size:13px;color:var(--fg-2)}
.rb-vf-howcount summary{cursor:pointer;color:var(--link);width:max-content;max-width:100%}
.rb-vf-howcount summary:hover{color:#fff}
.rb-vf-howcount p{margin:8px 0 0;line-height:1.55;color:var(--fg-2)}
@media (max-width:760px){
  .rb-vf-coin.is-bal{flex:1 1 100%;justify-content:flex-start;height:auto;min-height:48px;padding:8px 14px 8px 12px}
  .rb-vf-coin.is-bal small{display:inline}
  .rb-vf-coin-txt{flex-direction:column;align-items:flex-start;gap:1px}
}

/* ---- build additions (rb_vendorapp 2.0 pages) ---- */
.rb-vf-page{display:block}
.rb-vf-inline-form{display:inline-flex;margin:0}
.rb-vf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-vf-body.rb-vf-actions{padding-top:0}
.rb-vf-body-tight{padding-top:0}
.rb-vf-linkbtn{height:auto;padding:0;border:0;background:none;color:var(--link);font-size:inherit;font-weight:inherit;cursor:pointer}
.rb-vf-linkbtn:hover{background:none;color:#fff}
.rb-vf-check-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.rb-vf-check-act .rb-vf-muted{font-size:12px;text-align:right}
.rb-vf-next-price{font-weight:500;font-size:13px}
.rb-vf-check li.is-amber .rb-vf-ck{border-color:rgba(210,153,34,.45);background:var(--amber-soft);color:#e6c271}
.rb-vf-sendbar{position:static}
.rb-vf-sendbar .rb-vf-muted{font-size:13px}
.rb-vf-awardname{margin-left:8px}
.rb-vf-ans-text{margin-top:8px !important}
.rb-vf-g-ex{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--fg-2) !important;overflow-wrap:anywhere}
.rb-vf-g-res .rb-vf-inline-form{margin-left:8px}
.rb-vf-no{display:inline-flex;align-items:center;gap:5px;color:#e6c271;font-weight:600}
.rb-vf-holdbar.is-thin{margin-bottom:var(--gap);padding:9px 14px;font-size:13px}
.rb-vf-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:16px 20px}
.rb-vf-action{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2)}
.rb-vf-action-title{margin:0;font-size:13.5px;font-weight:600;color:#fff}
.rb-vf-action .textbox,.rb-vf-action select{width:100%;max-width:none}
.rb-vf-action .rb-vf-muted{font-size:12px;line-height:1.45}
.rb-vf-action-foot{display:flex;justify-content:flex-end}
.rb-vf-linked{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.rb-vf-heldpost{margin-bottom:10px}
.rb-vf-heldpost .rb-card-head{display:flex;justify-content:space-between;gap:10px}
.rb-vf-files{margin-top:10px !important;font-size:12.5px}
.rb-vf-files .fa-solid{margin-right:6px}
.rb-fund-ar-form{display:contents}
.rb-fund-ar-form.is-js .rb-fund-ar-save,.rb-fund-arbox.is-js .rb-fund-ar-save{display:none}
.rb-fund-arbox select{width:auto;max-width:100%}

/* ---------------------------------------------------------------------------------------------------------------
   Revision 2 (2026-10-20, owner): "Vendor Dashboard" in the header account menu (after User CP), in the phone menu
   drawer (li.rb-hide-desktop, only at 760 px and below) and in the User CP menu, with a short status hint on the
   right like "2 unread" of Private Messages (SPEC 20). Becomes part of src/css/parts/vendorfees.css.
   --------------------------------------------------------------------------------------------------------------- */
.rb-va-hint.is-warn{color:#e6c271}
.rb-va-hint.is-bad{color:#f2a3a3}
.rb-va-hint.is-info{color:#8fb4ff}
.rb-user-menu ul a:hover .rb-va-hint.is-warn{color:#f0d28c}
.rb-user-menu ul a:hover .rb-va-hint.is-bad{color:#f7bcbc}
.rb-subnav-card .rb-subnav-item .rb-va-hint{flex:none;margin-left:auto;padding-left:10px;font-size:11.5px;font-weight:400;color:var(--muted);white-space:nowrap}
.rb-subnav-card .rb-subnav-item .rb-va-hint.is-warn{color:#e6c271}
.rb-subnav-card .rb-subnav-item .rb-va-hint.is-bad{color:#f2a3a3}
.rb-subnav-card .rb-subnav-item .rb-va-hint.is-info{color:#8fb4ff}
@media (max-width:760px){
  .rb-topbar .rb-nav .rb-va-drawer a .rb-va-hint{display:inline;margin-left:auto;padding-left:12px;font-size:12px}
}

/* ===== parts/vip.css ===== */
/* ===================================================================
   Roidboard: VIP and Donator plans page (plugin rb_vip 2.0, templates rb_vip_page, rb_vip_plan, rb_vip_plan_row)
   misc.php?action=vip. Intro card (lead line, display group note, Monthly / Yearly / Lifetime switch), two plan
   columns side by side (header bar in the group colours with the price box, comparison rows in the same order in both
   columns, footer with Buy now / Gift), the pay box and the FAQ. One column per row on phones.
   Every period is in the markup; data-term on #rb-plans shows one of them ([data-for] elements).
   Rows line up across the columns with CSS subgrid (desktop); without subgrid they keep a common min height.
   Flat, hairlines, 3px corners, bare icons, no glows.
   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-plans{display:flex;flex-direction:column;gap:var(--gap);min-width:0}

/* the chosen period: everything marked with another period is hidden */
.rb-plans[data-term="month"] [data-for]:not([data-for="month"]),
.rb-plans[data-term="year"] [data-for]:not([data-for="year"]),
.rb-plans[data-term="life"] [data-for]:not([data-for="life"]){display:none}

/* ---- intro: lead left, period switch right ---- */
.rb-plans-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:16px}
.rb-plans-lead-wrap{display:flex;flex-direction:column;gap:6px;flex:1 1 320px;min-width:0}
.rb-plans-lead{margin:0;font-size:14px;line-height:1.55;color:var(--fg)}
.rb-plans-hint{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.rb-plans-hint .fa-solid{flex:none;margin-top:3px;font-size:11px;color:var(--faint)}
.rb-plans-hint a{color:var(--link);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.rb-plans-hint a:hover{color:#fff;text-decoration-color:currentColor}

.rb-plans-switch{display:inline-flex;flex:none;min-width:0;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}
.rb-plans-switch .rb-plans-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 16px;color:var(--fg-2);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none}
.rb-plans-switch .rb-plans-tab + .rb-plans-tab{border-left:1px solid var(--line-2)}
.rb-plans-switch .rb-plans-tab:hover{background:var(--surface-3);color:#fff;text-decoration:none}
.rb-plans-switch .rb-plans-tab:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-plans-save{font-size:11px;font-weight:600;color:var(--green-text)}
.rb-plans[data-term="month"] .rb-plans-tab[data-term="month"],
.rb-plans[data-term="year"] .rb-plans-tab[data-term="year"],
.rb-plans[data-term="life"] .rb-plans-tab[data-term="life"]{background:var(--accent);color:#fff}
.rb-plans[data-term="year"] .rb-plans-tab[data-term="year"] .rb-plans-save{color:#d9f2e6}

/* ---- plan picker (phones, with JS): Donator | VIP, one plan at a time ---- */
.rb-plans-pick{display:none}
.rb-plans-pick-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;height:40px;margin:0;padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--fg-2);font:inherit;font-size:13.5px;font-weight:600;line-height:1;cursor:pointer}
.rb-plans-pick-btn + .rb-plans-pick-btn{border-left:1px solid var(--line-2)}
.rb-plans-pick-btn:hover{background:var(--surface-3);color:#fff}
.rb-plans-pick-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-plans-pick-btn[aria-pressed="true"]{background:var(--rb-pick-bg,var(--accent));color:#fff}
.rb-plans-pick-btn.is-donator{--rb-pick-bg:#5e3f96}
.rb-plans-pick-btn.is-vip{--rb-pick-bg:#7d5a12}

/* ---- the plan columns ---- */
.rb-plans-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
/* one plan only: the New Vendor card on its own is kept narrow and centred, not one of two grid columns */
.rb-plans-cols.is-one{grid-template-columns:minmax(0,1fr);width:100%;max-width:440px;margin:0 auto}
@media (max-width:760px){.rb-plans-cols.is-one{max-width:none}}
/* the tier buttons on every screen (owner 2026-10-22): one plan on screen at a time, the buttons switch it. The page
   script toggles .is-picked and aria-pressed; the .rb-plan display rule copies the subgrid box of the single card. */
/* owner 2026-10-28: the plan picker belongs to phones. From 761px the three columns are shown (761 to 1023 has its own
   rule above), so this unscoped rule no longer overrides the hide on desktop; .is-switch keeps its row. */
@media (max-width:760px){.rb-plans.has-pick .rb-plans-pick{display:flex;width:100%;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}}
.rb-plans.is-switch .rb-plans-pick{display:flex;width:100%;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}
.rb-plans.is-switch .rb-plans-pick .rb-plans-pick-btn{min-height:42px}
.rb-plans.is-switch .rb-plans-cols{grid-template-columns:minmax(0,1fr);width:100%;max-width:560px;margin:0 auto}
.rb-plans.is-switch .rb-plans-cols .rb-plan:not(.is-picked){display:none}
@media (max-width:760px){.rb-plans.is-switch .rb-plans-cols{max-width:none}.rb-plans.is-switch .rb-plans-pick .rb-plans-pick-btn{padding:0 6px;font-size:12.5px}}
.rb-plan{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.rb-plan.is-mine{border-color:#3a5a9c}
@supports (grid-template-rows:subgrid){
  @media (min-width:761px){
    /* one shared row track per comparison row, so the rows of both columns have the same height */
    .rb-plans-cols{row-gap:0}
    .rb-plan{display:grid;grid-template-rows:subgrid;grid-row:span var(--rb-plan-rows,24)}
  }
}

/* header bar: the group colours (namestyles .rb-name-donator and .rb-name-vip), darkened for white text */
/* flat, muted tier bars like the other headers (white text above 6:1), the bright tier colour only as a 2px top line */
.rb-plan-head{display:flex;align-items:stretch;justify-content:space-between;min-height:54px;background:var(--rb-plan-bar,var(--accent-deep));border-top:2px solid var(--rb-plan-line,transparent);color:#fff}
.rb-plan.is-donator{--rb-plan-bar:#5e3f96;--rb-plan-line:#b263d6;--rb-plan-box:rgba(16,8,30,.38)}
.rb-plan.is-vip{--rb-plan-bar:#7d5a12;--rb-plan-line:#c9962a;--rb-plan-box:rgba(26,16,0,.4)}
.rb-plans .rb-plan-name{display:flex;align-items:center;min-width:0;margin:0;padding:0 18px;color:#fff;font-size:17px;font-weight:700;line-height:1.2;letter-spacing:.01em}
.rb-plan-price{display:flex;align-items:center;justify-content:center;flex:none;min-width:96px;padding:0 18px;background:var(--rb-plan-box,rgba(0,0,0,.35));color:#fff;font-size:21px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}

/* rows: label left, value right */
.rb-plan-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:9px 18px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.4}
.rb-plan-head + .rb-plan-row{border-top:0}
.rb-plan-label{min-width:0;color:var(--fg-2)}
.rb-plan-val{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 1 auto;max-width:62%;min-width:0;color:var(--fg);font-weight:500;text-align:right}
.rb-plan-txt{overflow-wrap:anywhere}
.rb-plan-note{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.rb-plan-yes{font-size:15px;color:var(--green)}
.rb-plan-no{font-size:15px;color:rgba(240,82,82,.85)}
.rb-plan-term{display:inline-flex;align-items:center;gap:8px}
.rb-plan-save{font-size:11.5px;font-weight:600;color:var(--green-text)}
.rb-plan-rep{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.rb-plan-rep b{font-weight:600}
.rb-plan-rep .is-plus{color:var(--green-text)}
.rb-plan-rep .is-minus{color:#f08a8a}
.rb-plan-rep-sep{color:var(--faint)}
.rb-plan-award{display:inline-flex}
.rb-plan-award img,.rb-plan-award .rb-aw-circle{display:block}

/* the "Perks" sub heading: a small label strip */
.rb-plan-row.is-head{min-height:0;padding:8px 18px;background:var(--surface-2);color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.rb-plan-row.is-head .rb-plan-label{color:var(--muted)}
.rb-plan-row.is-head .rb-plan-val{display:none}

/* group userbar: banner centred, the name colour and the thread prefix under it */
.rb-plan-row.is-bar{flex-direction:column;justify-content:center;gap:10px;padding:14px 18px 16px}
.rb-plan-row.is-bar .rb-plan-label{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-plan-row.is-bar .rb-plan-val{flex-direction:column;justify-content:center;gap:10px;max-width:100%;text-align:center}
.rb-plan-banner{display:block;width:207px;max-width:100%;height:auto}
.rb-plan-look{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;font-size:14px}
.rb-plan-look .rb-prefix{top:0}

/* footer: status line and the buttons */
.rb-plan-foot{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:14px 18px 16px;border-top:1px solid var(--line);background:var(--surface-2)}
.rb-plan-status{display:flex;align-items:center;gap:7px;margin:0;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.rb-plan-status .fa-solid{flex:none;font-size:12px;color:var(--green)}
.rb-plan-status.is-muted{color:var(--muted)}
.rb-plan-status.is-muted .fa-solid{color:var(--faint)}
.rb-plan-actions{display:flex;flex-wrap:wrap;gap:8px}
.rb-plan-actions-t{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.rb-plans .rb-plan-btn{height:38px;padding:0 16px;font-size:13.5px}
.rb-plans .rb-plan-btn .fa-solid,.rb-plans .rb-plan-btn .fa-regular{font-size:12.5px}
.rb-plans .rb-plan-buy{flex:1 1 140px}
.rb-plans a.rb-plan-buy,.rb-plans a.rb-plan-buy:visited{background:var(--accent);border-color:var(--accent);color:#fff}
.rb-plans a.rb-plan-buy:hover{background:#3d75d9;border-color:#3d75d9;color:#fff}
.rb-plans .rb-plan-gift{flex:0 0 auto}
.rb-plans .rb-plan-gift.is-only{flex:1 1 140px}
.rb-plans .rb-plan-soon,.rb-plans .rb-plan-soon:hover{flex:1 1 auto;background:var(--surface-3);border-color:var(--line-2);color:var(--fg-2);cursor:default;opacity:1}

/* ---- pay box ---- */
.rb-plans-pay-body{display:flex;align-items:flex-start;gap:14px;padding:16px}
.rb-plans-pay-icon{flex:none;width:18px;margin-top:2px;font-size:16px;text-align:center;color:var(--accent-2)}
.rb-plans-pay-main{min-width:0}
.rb-plans .rb-plans-pay-title{margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4;color:#fff}
.rb-plans-pay-text,.rb-plans-pay-note{margin:0;font-size:13px;line-height:1.55;color:var(--fg-2)}
.rb-plans .rb-plans-pay-note{margin-top:6px;color:var(--muted)}

/* ---- FAQ: two columns of short answers ---- */
.rb-plans-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.rb-plans-qa{min-width:0;padding:14px 18px;border-top:1px solid var(--line)}
.rb-plans-qa:nth-child(-n+2){border-top:0}
.rb-plans-qa:nth-child(odd){border-right:1px solid var(--line)}
.rb-plans .rb-plans-q{margin:0 0 4px;font-size:13.5px;font-weight:600;line-height:1.4;color:#fff}
.rb-plans-a{margin:0;font-size:13px;line-height:1.55;color:var(--fg-2)}
.rb-plans-a a{color:var(--link);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.rb-plans-a a:hover{color:#fff;text-decoration-color:currentColor}

@media (max-width:760px){
  .rb-plans-cols{grid-template-columns:minmax(0,1fr)}
  .rb-plans.has-pick .rb-plans-pick{display:flex;width:100%;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}
  .rb-plans.has-pick .rb-plan:not(.is-picked){display:none}
  .rb-plans-switch{display:flex;width:100%}
  .rb-plans-switch .rb-plans-tab{flex:1 1 0;min-width:0;padding:0 8px;gap:6px}
  .rb-plans-faq-grid{grid-template-columns:minmax(0,1fr)}
  .rb-plans-qa:nth-child(2){border-top:1px solid var(--line)}
  .rb-plans-qa:nth-child(odd){border-right:0}
}
@media (max-width:600px){
  .rb-plans-top{padding:14px 12px}
  .rb-plans .rb-plan-name{padding:0 14px}
  .rb-plan-price{min-width:84px;padding:0 14px;font-size:19px}
  .rb-plan-row{padding:9px 12px}
  .rb-plan-row.is-head{padding:8px 12px}
  .rb-plan-row.is-bar{padding:12px 12px 14px}
  .rb-plan-foot{padding:12px}
  .rb-plans-pay-body{padding:14px 12px}
  .rb-plans-qa{padding:13px 12px}
}
/* phones (owner 2026-10-21): Yearly and its "Save up to N%" stack in the tab so the badge stays inside it */
@media (max-width:760px){
  .rb-plans-switch .rb-plans-tab{flex-direction:column;justify-content:center;gap:2px;height:auto;min-height:44px;padding:6px 6px;white-space:normal;text-align:center}
  .rb-plans-save{font-size:10.5px;line-height:1.2;white-space:nowrap}
}

/* 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 style perks (plugin rb_vipstyle, 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 visitor list (misc.php?action=profile_visitors); the Donator note under the list.
   5. Coloured user title of VIP members (.rb-utitle-vip, rb_perk_title_html): the VIP gold of .rb-name-vip as a
      calm gradient, no animation and no icon (it sits under the name, which already moves).
   6. Close thread / Reopen thread in the thread toolbar (rb_vipstyle, VIP): like the Bump button of market.css.
   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}
.rb-vs-visits-more{display:flex;align-items:flex-start;gap:9px;padding:11px 16px;border-top:1px solid var(--line);background:var(--surface-2);font-size:13px;line-height:1.45;color:var(--fg-2)}
.rb-vs-visits-more .fa-solid{flex:none;margin-top:2px;font-size:12px;color:var(--muted)}
.rb-vs-visits-more a{color:var(--link);font-weight:500}
.rb-vs-visits-more a:hover{color:#fff;text-decoration:none}

/* ---- 5. coloured user title (VIP) ---- */
.rb-utitle-vip{font-weight:600;color:#f5c542;background-image:linear-gradient(90deg,#e0a526 0%,#ffe08a 50%,#e0a526 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---- 6. close own thread (toolbar, three classes to beat the .button rules of 70-pro.css) ---- */
.rb-topic-actions .rb-closeown-form{display:contents}
.rb-topic-actions .button.rb-closeown-btn{margin:0;color:#fff}
.rb-topic-actions .button.rb-closeown-btn .fa-solid{font-size:12.5px}

@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}
  .rb-vs-visits-more{padding:10px 12px}
}
@media (max-width:760px){
  .rb-topic-actions .button.rb-closeown-btn{padding:0 14px}
}

/* ===== 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 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 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 200px}
  .rb-card.rb-threads .rb-trow:has(> .rb-th-mod){grid-template-columns:56px minmax(0,1fr) 80px 80px 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}}
/* desktop with the section tabs (owner 2026-10-22): one column, the tabs on top and the page under them */
.rb-usercp:has(.rb-ucptabs) > .rb-usercp-main,.rb-usercp:has(.rb-ucptabs) > .rb-pm-main,.rb-usercp:has(.rb-ucptabs) > form.rb-pm-main,
.rb-usercp:has(.rb-ucptabs) > .rb-usercp-nav,.rb-usercp:has(.rb-ucptabs) > .rb-ucptabs,.rb-usercp:has(.rb-ucptabs) > .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,.rb-forum[data-name="Selges" i] .rb-forum-icon::before,.rb-forum[data-name="Säljes" i] .rb-forum-icon::before,.rb-forum[data-name="Sælges" i] .rb-forum-icon::before,.rb-forum[data-fid="67"] .rb-forum-icon::before,.rb-forum[data-fid="69"] .rb-forum-icon::before,.rb-forum[data-fid="71"] .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,.rb-forum[data-name="Kjøpes" i] .rb-forum-icon::before,.rb-forum[data-name="Köpes" i] .rb-forum-icon::before,.rb-forum[data-name="Købes" i] .rb-forum-icon::before,.rb-forum[data-fid="68"] .rb-forum-icon::before,.rb-forum[data-fid="70"] .rb-forum-icon::before,.rb-forum[data-fid="72"] .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,.rb-footer.rb-fv2 h2{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}
/* ===== 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_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}
  /* "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}
  /* owner 2026-10-22: a long "Viewing thread ..." title wrapped to many lines and made the whole name block taller than
     the cover, so the name ran over the top edge. Two lines at most, then an ellipsis, and the cover grows if needed. */
  .rb-pp-st-loc{flex-basis:100%;max-width:100%;white-space:normal;overflow:hidden;text-overflow:ellipsis;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
}

/* ===== 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}
}






/* ===== 90-audit-nav.css ===== */
/* AUDIT-FIX-NAV-20261020: site audit of 2026-10-20, area 1 (header, index, search, member list, Who's Online, help).
   Owner: "fiks alt". Loads last (after 89-m-account.css), so equal specificity wins over the older layers.
   Role and page classes on .rb-shell (rb-is-guest / rb-is-member / rb-is-awaiting, rb-page-<script>, rb-has-plan,
   rb-is-vendor, rb-is-staff) come from inc/plugins/rb_navux.php. */

/* ---- bug 6 / quick win: 16px text in every form field on phones, so iPhone Safari does not zoom in on focus.
   One rule for the whole board (login, register, User CP, PM, search, member list, report and rep pop-ups,
   Scam Register, checkout). Field heights stay as they are. Pinch zoom stays allowed (no maximum-scale). ---- */
@media (max-width:767px){
  input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],input[type=url],input[type=tel],input:not([type]),
  select,textarea,.textbox,
  .select2-container .select2-choice,.select2-container .select2-choices .select2-search-field input,.select2-search input,.select2-drop .select2-input{font-size:16px!important}
}

/* ---- bug 5 / quick win: the logged in header was wider than the window from 1101 to 1280px (iPad landscape).
   Up to 1280px the search box gives way to a search button (the box opens under the topbar, live search included);
   the box keeps its width when focused (it grew by 40px). rb.js 5d adds .is-tight / .is-tighter if a row still
   overflows. ---- */
.rb-topbar-right .rb-qs-toggle{display:none}
.rb-topbar-right .rb-qsearch input[type=text]:focus{width:220px}
@media (max-width:1280px){
  .rb-topbar-right .rb-qsearch{display:none}
  .rb-topbar-right .rb-qs-toggle{display:inline-flex}
}
.rb-topbar.is-tight .rb-topbar-right .rb-qsearch:not(.is-open){display:none}
.rb-topbar.is-tight .rb-topbar-right .rb-qs-toggle{display:inline-flex}
.rb-topbar.is-tighter .rb-nav a > span,.rb-topbar.is-tighter .rb-nav a > .rb-nav-s{display:none}
.rb-topbar-right button.rb-qs-toggle{align-items:center;justify-content:center;margin:0;padding:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--fg-2);cursor:pointer}
.rb-topbar-right button.rb-qs-toggle:hover,.rb-topbar-right button.rb-qs-toggle.is-active{background:var(--surface-3);color:#fff}
.rb-topbar-right button.rb-qs-toggle:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
/* the unread PM count on the header envelope was hidden up to 1100px (a rule for link labels caught it), so tablets
   without the bottom bar never saw it */
@media (max-width:1100px){.rb-topbar-right > a.rb-iconbtn > .rb-count:not(.is-zero){display:block}}
@media (max-width:1280px){
  .rb-topbar-right .rb-qsearch.is-open{display:block;position:fixed;left:0;right:0;top:var(--topbar-h,54px);z-index:70;margin:0;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line-2);box-shadow:0 14px 28px rgba(0,0,0,.45)}
  .rb-topbar-right .rb-qsearch.is-open fieldset{max-width:640px;margin:0 auto}
  .rb-topbar-right .rb-qsearch.is-open input[type=text],
  .rb-topbar-right .rb-qsearch.is-open input[type=text]:focus{width:100%;height:44px;padding-left:38px;font-size:16px}
  .rb-topbar-right .rb-qsearch.is-open .rb-ls{left:0;right:0;width:auto;max-width:none}
}

/* ---- owner 2026-10-21: the group banner on the postbit is a little smaller on phones (same file, no upscaling,
   width kept proportional so nothing is lost) ---- */
@media (max-width:760px){.rb-post.rb-post .rb-post-group .rb-post-groupimg{width:168px}}

/* ---- phones: the account summary card on the User CP home keeps its two buttons off (owner 2026-10-21);
   the same links stay in the User CP menu and in Edit Profile ---- */
@media (max-width:760px){.rb-usercp .rb-account .rb-account-tools{display:none}}

/* ---- UX 2.1: 761 to 1100px (iPad portrait and landscape): a short label under every nav icon ---- */
.rb-nav-s{display:none}
@media (min-width:761px) and (max-width:1100px){
  .rb-topbar .rb-nav a{flex-direction:column;justify-content:center;gap:5px;padding:0 6px;min-width:46px}
  .rb-topbar .rb-nav a .rb-nav-s{display:block;font-size:10.5px;line-height:1;font-weight:500;letter-spacing:.01em;white-space:nowrap}
  .rb-topbar .rb-nav a .fa-solid{font-size:15px}
}

/* ---- UX 3.7: header items by role. Paying members see "My plan" instead of Upgrade, vendors "Vendor guide"
   instead of Vendor Apply, staff neither. Without the role classes everybody keeps Upgrade and Vendor Apply. ---- */
.rb-topbar .rb-nav > li.rb-nav-vguide,.rb-topbar .rb-nav > li.rb-nav-plan{display:none}
.rb-shell.rb-has-plan .rb-topbar .rb-nav > li.rb-nav-upgrade{display:none}
.rb-shell.rb-has-plan .rb-topbar .rb-nav > li.rb-nav-plan{display:flex}
.rb-shell.rb-is-vendor .rb-topbar .rb-nav > li.rb-nav-vendor{display:none}
.rb-shell.rb-is-vendor .rb-topbar .rb-nav > li.rb-nav-vguide{display:flex}
.rb-shell.rb-is-staff .rb-topbar .rb-nav > li.rb-nav-vendor,.rb-shell.rb-is-staff .rb-topbar .rb-nav > li.rb-nav-vguide,
.rb-shell.rb-is-staff .rb-topbar .rb-nav > li.rb-nav-upgrade,.rb-shell.rb-is-staff .rb-topbar .rb-nav > li.rb-nav-plan{display:none}

/* ---- bug 15: phones. The bottom bar already has Alerts, Messages, Login and Register, so the header keeps the menu,
   the search button (members) and the avatar. On pages without the bottom bar (login, register, maintenance) the
   header items stay. ---- */
@media (max-width:760px){
  /* owner 2026-10-21: the bell and the envelope stay in the phone header too */
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.login,
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.register{display:none}

/* owner 2026-10-21: the PM dropdown hangs off the envelope, which is not the last button, so it must not be pushed
   past the right edge of a phone. Positioned from the viewport edge instead of the button on phones. */
@media (max-width:760px){
  .rb-shell .rb-pms-menu,.rb-shell .rb-alerts-menu{right:auto;left:auto;position:fixed;top:58px;left:12px;right:12px;width:auto;max-width:none}
}

/* owner 2026-10-21: one search on phones. The topbar button already opens the search, so the burger menu leaves its
   Search item out (same page, same field); desktop keeps the menu item and hides the topbar button instead. */
/* UX 4.6: the role rules above beat the phone drawer rows, so put them back to block below 761px */
@media (max-width:760px){.rb-shell.rb-has-plan .rb-topbar .rb-nav > li.rb-nav-plan,.rb-shell.rb-is-vendor .rb-topbar .rb-nav > li.rb-nav-vguide{display:block}}
@media (max-width:760px){.rb-shell .rb-nav > li > a.search{display:none}}

/* small phones (under 360px): four header buttons plus the logo need narrower buttons */
@media (max-width:359px){
  .rb-shell .rb-topbar-right > .rb-iconbtn,.rb-shell .rb-topbar-right > .rb-alerts,.rb-shell .rb-topbar-right > .rb-alerts > a,
  .rb-shell .rb-topbar-right > .rb-user,.rb-shell .rb-topbar-right > .rb-user > .rb-user-btn{min-width:36px;width:36px}
}
}

/* ---- UX 1.8 (header and lists): 44px touch targets on touch screens ---- */
@media (hover:none) and (pointer:coarse){
  .rb-topbar-right .rb-iconbtn{width:44px;height:44px}
  .rb-topbar .rb-user-btn{height:44px;min-width:44px;justify-content:center}
  .rb-topbar .rb-burger{min-width:44px}
  .rb-pager a,.rb-pager .pagination_current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .rb-mlv-az a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .rb-mlv-labels .rb-mlv-col a{display:inline-flex;align-items:center;min-height:32px}
  .rb-footer .rb-fv2-col li > a,.rb-footer .rb-fv2-countries a{display:inline-flex;align-items:center;min-height:44px}
}

/* ---- bug 17: the whole forum row and the whole Latest Activity row open their link (touch: only the 19px name did).
   The last post, sub-forum, poster and mark-read links stay their own targets above it. ---- */
.rb-forum{position:relative}
.rb-forum .rb-forum-name::after{content:"";position:absolute;inset:0;z-index:0}
.rb-forum .rb-forum-last a,.rb-forum .rb-subforums a,.rb-forum .rb-forum-desc a,.rb-forum .rb-forum-main .smalltext a,.rb-forum .ajax_mark_read{position:relative;z-index:1}
.rb-latest-item{position:relative}
.rb-latest-item .rb-li-title::after{content:"";position:absolute;inset:0;z-index:0}
.rb-latest-item .rb-li-sub a,.rb-latest-item a.rb-li-meta{position:relative;z-index:1}

/* ---- UX 2.3: last post titles are no longer cut at 25 characters by MyBB; CSS shortens them where needed ---- */
.rb-forum-last .rb-forum-last-subject{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){
  .rb-forum-last .rb-forum-last-subject{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
}

/* ---- UX 1.4: no breadcrumb bar on the index (it only said "Roidboard"). The repeated "Roidboard > Roidboard" goes in
   rb_navux; the thread page crumbs on phones are the 1.2 job's (90-m-postbit.css, live). ---- */
.rb-shell:has(.rb-index) .rb-crumbs-bar,.rb-shell.rb-page-index .rb-crumbs-bar{display:none}

/* ---- UX 1.1: the index on phones. Members lose the big hero (the topbar has the logo); the blocks come in this order:
   notice strip, shoutbox (compact, see the shoutbox job), guest bar, Latest Activity (6 rows), section tabs and forums,
   stats and Who's Online, account card, announcements. Desktop is unchanged. ---- */
@media (max-width:760px){
  /* owner 2026-10-28: the hero image header always shows, also for logged in members on phones */
  .rb-index > .rb-index-main{display:contents}
  .rb-index > *,.rb-index > .rb-index-main > *{order:20;grid-column:1;grid-row:auto}
  .rb-index > .rb-index-main > .rb-notice-strips{order:1}
  .rb-index > .rb-index-main > .rb-shoutbox{order:2}
  .rb-index > .rb-index-main > .rb-guestbar{order:3}
  .rb-index > .rb-activity{order:4}
  .rb-index > .rb-side-welcome.rb-uc{order:11}
  .rb-index > .rb-index-main > .rb-cattabs{order:5}
  .rb-index > .rb-index-main > .rb-cat{order:6}
  .rb-index > .rb-index-main > .rb-index-stats{order:7}
  .rb-index > .rb-index-main > .rb-index-foot{order:8}
  .rb-index > .rb-side-welcome{order:10}
  .rb-index > .rb-side-ann{order:10}
  .rb-index > .rb-activity .rb-latest-item:nth-child(n+7){display:none}
}

/* ---- UX 3.3: the Members tile opens the member list and the Who's Online title opens online.php (members; both
   links are .rb-member-only). The newest member tile opens that profile. ---- */
.rb-stats-row .rb-stat{position:relative}
.rb-stats-row .rb-stat .rb-stat-link{position:absolute;inset:0;z-index:1}
.rb-stats-row .rb-stat-newest .rb-stat-num a::after{content:"";position:absolute;inset:0;z-index:1}
@media (hover:hover){
  .rb-stats-row .rb-stat:has(.rb-stat-link:hover),.rb-stats-row .rb-stat-newest:hover{border-color:var(--line-2);background:var(--surface-2)}
}
.rb-online-block .rb-card-title{position:relative}
.rb-online-block .rb-wol-all{position:absolute;inset:0}
.rb-online-block .rb-card-title:has(.rb-wol-all:hover){color:var(--accent-2)}

/* ---- UX 3.8: footer country chips are links to the index tabs ---- */
.rb-fv2-countries a{padding:3px 9px;border:1px solid var(--line-2);border-radius:3px;color:var(--fg-2);font-size:12px;line-height:1.4;text-decoration:none}
.rb-fv2-countries a:hover{border-color:var(--accent-2);color:#fff}

/* ---- UX 3.2: search results say what was searched, with a box to search again ---- */
.rb-srh{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.rb-srh-count{color:var(--fg-2);font-size:13.5px}
.rb-srh-count .rb-srh-n,.rb-srh-q{color:#fff;font-weight:600}
.rb-srh-form{display:flex;gap:8px;flex:1 1 260px;max-width:460px;margin:0 0 0 auto}
.rb-srh-form input[type=text]{flex:1 1 auto;min-width:0;height:36px}
.rb-srh-form .button{height:36px;padding:0 14px}
.rb-srh-refine{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-size:13px;white-space:nowrap}
.rb-srh-refine:hover{color:#fff}
@media (max-width:760px){
  .rb-srh{padding:12px}
  .rb-srh-form{max-width:none;margin:0;flex-basis:100%}
  .rb-srh-form input[type=text],.rb-srh-form .button{height:42px}
}

/* ---- bug 29: the search button while a search runs ---- */
form .button.is-busy,form input[type=submit].is-busy{opacity:.7;cursor:progress}

/* ---- UX 3.5: the members only page uses the login page fields (icon square on the left) ---- */
.rb-noperm-field > label{color:var(--fg);font-size:13px;font-weight:600}
.rb-noperm-field .rb-input-ic > input{height:42px}

/* ---- UX 6.2: the scammer name colour reaches 4.5:1 on the dark cards (was #ef4444, 4.06:1) ---- */
.rb-name-scammer{color:#f87171;text-decoration-color:rgba(248,113,113,.8)}
.rb-name-scammer::after{color:#f87171}

/* ---- UX 6.2: member, guest and awaiting parts without CSS :has() (older browsers). Same result as the :has() rules
   of 20-layout.css and parts/awaiting.css, from the role class rb_navux prints on .rb-shell. ---- */
.rb-shell.rb-is-guest .rb-member-only,.rb-shell.rb-is-guest .rb-awaiting-only,
.rb-shell.rb-is-member .rb-guest-only,.rb-shell.rb-is-member .rb-awaiting-only,
.rb-shell.rb-is-awaiting .rb-guest-only,.rb-shell.rb-is-awaiting .rb-member-only{display:none!important}

/* ---- Member list is staff only (owner 2026-10-21): the Members tile keeps the count for everyone, only staff get the
   link. canviewmemberlist is 0 for every group except Super Moderators, Administrators and Moderators. ---- */
.rb-shell:not(.rb-is-staff) .rb-staff-only{display:none!important}
/* ===== 90-audit-posting.css ===== */
/* AUDIT-FIXES-20261020, area "posting": forum lists, thread view, editor, quick reply, embeds, moderation.
   Loads last (after 89-m-account.css), so these rules win over the phone files 85-89 without !important where
   possible. Server side parts: inc/plugins/rb_posting.php (sort and filter panel, readable [color], "Read only"),
   rb_guestgate 1.3 (hidden replies count). Templates: codebuttons, editpost, global_moderation_notice, multipage,
   multipage_jump_page, showthread_newreply_closed, warnings_warn_pm, error_nopermission_loggedin. Item numbers = the
   audit report. Left to other blocks: 16px fields (bug 6) and pager tap sizes (UX 1.8) in 90-audit-nav.css. */

/* ---- bug 8: video embeds ([video] MyCode iframes, 560x315 and the like) never wider than the post ---- */
.post_body iframe{max-width:100%;height:auto;aspect-ratio:16 / 9;border:0}

/* ---- bug 12: "your post waits for approval" notice on the posting forms and above quick reply ---- */
.rb-mod-notice{margin:0 0 12px;font-size:13.5px;line-height:1.5}
.rb-mod-notice .rb-alert-body{color:var(--fg)}
.rb-quickreply-form + .rb-mod-notice,#quickreply_spinner + .rb-mod-notice{margin-top:12px}

/* ---- UX 1.5: post icons are off (0 of 66,487 threads ever used one); the picker is never shown ---- */
.rb-posting .rb-compose-icons{display:none}

/* ---- UX 1.3: a closed thread shows a small grey label once ("Read only" in the official boards), not a red
   button that links to an error page ---- */
.rb-topic-actions .rb-closed-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;width:auto;min-width:0;height:30px;margin:0;padding:0 11px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);box-shadow:none;color:var(--muted);font-size:12.5px;font-weight:600;line-height:1;cursor:default;pointer-events:none;text-decoration:none}
.rb-topic-actions .rb-closed-label .fa-solid{font-size:11.5px;color:var(--muted)}
.rb-topic-toolbar.is-bottom .rb-closed-label{display:none}

/* ---- UX 3.1: Sort and filter (only in the 12 sell and buy boards, rb_posting wraps the hidden sort form) ---- */
/* desktop: the chip left of the pager row, in the same line */
.rb-threads-top:has(> .rb-sortfilter){display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px}
.rb-threads-top:has(> .rb-sortfilter) > .rb-threads-top-row{grid-row:1;grid-column:2;min-width:0}
.rb-sortfilter{position:relative;grid-row:1;grid-column:1;justify-self:start}
.rb-sortfilter > summary{list-style:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:13px;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none}
.rb-sortfilter > summary::-webkit-details-marker{display:none}
.rb-sortfilter > summary .fa-solid{font-size:12px;color:var(--muted)}
.rb-sortfilter > summary:hover,.rb-sortfilter[open] > summary{background:var(--surface-3);color:#fff}
.rb-sortfilter > summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
.rb-sortfilter.is-active > summary{border-color:var(--accent);color:#fff}
.rb-sortfilter.is-active > summary .fa-solid{color:var(--accent-2)}
.rb-sortfilter-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2)}
.rb-sortfilter-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:300px;max-width:calc(100vw - 24px);padding:14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface);box-shadow:0 14px 32px rgba(0,0,0,.55)}
.rb-sortfilter-head{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#fff;font-size:14px;font-weight:700}
.rb-sortfilter-head .fa-solid{font-size:12.5px;color:var(--accent-2)}
.rb-sortfilter .rb-threads-sortbar{display:block!important;padding:0;margin:0;border:0;background:transparent}
.rb-sortfilter .rb-threads-sortbar form.rb-sortform{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;margin:0}
.rb-sortfilter .rb-threads-sortbar .rb-sortform > *{width:100%;min-width:0;max-width:none;margin:0}
.rb-sortfilter .rb-threads-sortbar .rb-sortform > select{height:38px;flex:none;font-size:13.5px}
/* the prefix list first: WTS only, hide Sold */
.rb-sortfilter .rb-threads-sortbar .rb-sortform > select[name=prefix]{order:-1}
.rb-sortfilter .rb-threads-sortbar .rb-sortform > input[type=submit]{order:9;height:38px;background:var(--accent);border-color:var(--accent);color:#fff}
.rb-sortfilter .rb-threads-sortbar .rb-sortform > .rb-sortform-ic,.rb-sortfilter .rb-threads-sortbar .rb-sortform > input[type=hidden]{display:none}
.rb-sortfilter-links{display:flex;flex-direction:column;gap:2px;margin:12px -14px -6px;padding:8px 0 0;border-top:1px solid var(--line-2)}
.rb-sortfilter-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;color:var(--fg-2);font-size:13.5px;text-decoration:none}
.rb-sortfilter-link .fa-solid{width:16px;text-align:center;font-size:12.5px;color:var(--muted)}
.rb-sortfilter-link:hover,.rb-sortfilter-link:focus-visible{background:var(--surface-3);color:#fff}

/* ---- UX 2.2: tablets (761 to 1000px) keep the classic post layout with every element, just smaller: 200px author
   column, 110px avatar, the stat rows as 2 x 2 tiles; the post actions use the More menu as on phones
   (parts/postactions.css and rb-ux.js switch at 1000px) ---- */
@media (min-width:761px) and (max-width:1000px){
  .rb-post.is-classic,.rb-post.is-horizontal{grid-template-columns:200px minmax(0,1fr)}
  .rb-post.is-classic .rb-post-author,.rb-post.is-horizontal .rb-post-author{padding:14px 12px}
  .rb-post.is-classic .rb-post-name,.rb-post.is-horizontal .rb-post-name{font-size:16px}
  .rb-post.is-classic .rb-post-avatar,.rb-post.is-horizontal .rb-post-avatar{margin-top:10px}
  .rb-post.is-classic .rb-post-author .rb-avatar,.rb-post.is-horizontal .rb-post-author .rb-avatar{width:110px;height:110px}
  .rb-post.is-classic .rb-post-counters,.rb-post.is-horizontal .rb-post-counters{margin-top:10px}
  .rb-post.is-classic .rb-post-counter b,.rb-post.is-horizontal .rb-post-counter b{font-size:17px}
  .rb-post.is-classic .rb-post-author .rb-post-title,.rb-post.is-horizontal .rb-post-author .rb-post-title{margin:10px -12px 0;min-height:28px}
  .rb-post.is-classic .rb-post-group img,.rb-post.is-horizontal .rb-post-group img{max-width:100%;height:auto}
  .rb-post.is-classic .rb-post-stats,.rb-post.is-horizontal .rb-post-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:10px;text-align:center}
  .rb-post.is-classic .rb-ps,.rb-post.is-horizontal .rb-ps{flex-direction:column;justify-content:center;gap:2px;min-height:40px;padding:4px 6px}
  .rb-post.is-classic .rb-ps dt,.rb-post.is-horizontal .rb-ps dt{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;line-height:1.2;white-space:nowrap}
  .rb-post.is-classic .rb-ps dt .fa-solid,.rb-post.is-horizontal .rb-ps dt .fa-solid{display:none}
  .rb-post.is-classic .rb-ps dd,.rb-post.is-horizontal .rb-ps dd{margin:0;text-align:center;font-size:12.5px;line-height:1.3}
  .rb-post.is-classic .rb-post-main,.rb-post.is-horizontal .rb-post-main{padding:16px 18px;align-content:flex-start}
  /* the stat labels fit the 2 x 2 tiles ("WARNING LEVEL:" for staff) */
  .rb-post.is-classic .rb-ps dt,.rb-post.is-horizontal .rb-ps dt{letter-spacing:.02em}
}

/* ---- UX 1.8 (lists and threads): 44px moderation checkboxes on touch screens (pager sizes: 90-audit-nav.css) ---- */
@media (hover:none){
  .rb-card.rb-threads .rb-trow .rb-th-mod{flex-basis:44px;width:44px;min-height:44px}
  /* the post checkbox (87-m-thread: 36px, margin -6px -10px -6px -4px): 44px to tap, the same footprint */
  .rb-post .rb-inlinemod-hit{width:44px;height:44px;margin:-10px -14px -10px -8px}
}

/* ================= PHONES (up to 760px) ================= */
@media (max-width:760px){
  /* ---- bug 7: the editor's link, image, video and colour windows open as a full width panel right under the
     header (they were 97 to 144px wide and cut at the screen edge). Fixed, because the toolbar is sticky (below) and
     SCEditor places its windows from the button's offset. Under the header, so the keyboard never covers it; the
     sticky Post bar steps aside while one is open, so nothing sits on Insert ---- */
  .rb-shell .sceditor-container div.sceditor-dropdown{position:fixed!important;top:62px!important;left:8px!important;right:8px!important;bottom:auto!important;width:auto!important;max-width:none;max-height:calc(100vh - 140px);overflow:auto;margin:0!important;padding:12px 14px;box-sizing:border-box;box-shadow:0 16px 40px rgba(0,0,0,.7)}
  .rb-shell .sceditor-container div.sceditor-dropdown label{font-size:13.5px}
  .rb-shell .sceditor-container div.sceditor-dropdown :is(input[type=text],input[type=url],input:not([type]),textarea){display:block;width:100%;height:40px;font-size:16px}
  .rb-shell .sceditor-container div.sceditor-dropdown .button{height:40px;min-width:110px;font-size:14px}
  .rb-shell .sceditor-container div.sceditor-dropdown div:has(> .button){display:flex;justify-content:flex-end}
  .rb-compose-form:has(.sceditor-dropdown) .rb-compose-bar,.rb-quickreply-form:has(.sceditor-dropdown) .rb-qr-foot{visibility:hidden}
  /* colour window: the new light palette as 30px swatches */
  .rb-shell .sceditor-container div.sceditor-color-picker > div{display:flex;justify-content:space-between;gap:4px}
  .rb-shell .sceditor-container .sceditor-color-column{float:none;display:flex;flex-direction:column;gap:4px}
  .rb-shell .sceditor-container .sceditor-color-option{width:30px;height:30px;border:1px solid var(--line-2);border-radius:3px}

  /* ---- UX 1.5: writing on a phone. One row bar (Save as Draft small, Post wide; Preview Post is the Preview tab
     of the editor, so the duplicate button goes), the toolbar stays under the header while you scroll and type ---- */
  .rb-compose-form .rb-compose-bar{padding:8px 10px}
  .rb-compose-form .rb-compose-bar .rb-form-actions{flex-wrap:nowrap;gap:8px}
  .rb-compose-form:has(.rb-ed-tabs) .rb-compose-bar input[name=previewpost]{display:none}
  .rb-compose-form .rb-compose-bar .button{height:40px;font-size:13.5px}
  .rb-compose-form .rb-compose-bar input[name=savedraft],.rb-compose-form .rb-compose-bar input[name=previewpost]{flex:0 0 auto;width:auto;min-width:0;padding:0 12px}
  .rb-compose-form .rb-compose-bar :is(input[name=submit],input[name=submitbutton]){flex:1 1 auto;flex-basis:auto;min-width:0;order:9}
  .rb-posting .sceditor-container .sceditor-toolbar{position:sticky;top:54px;z-index:5}
  /* the card clipped its corners with overflow:hidden, which also stops sticky children; clip does not */
  .rb-posting .rb-card.rb-compose{overflow:clip}

  /* ---- bug 16: long threads and boards (more than 6 pages, the jump button shows) read 1 ... current ... last on
     phones; the last page and the page count are visible again ---- */
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_page{display:none}
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .rb-pager-gap{display:none}
  /* PAGER-PHONE-20261028 (owner): page 1, the page before, the current page, the page after and the last page,
     with "..." where pages are skipped. MyBB prints a window of 5 pages around the current one, then "1 ..." and
     "... last" outside it; the outer pages of the window hide, and the window edge shows when it touches 1 or last. */
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_page:has(+ .pagination_current),
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_current + .pagination_page,
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) :is(.pagination_first,.pagination_last),
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_first + .rb-pager-gap:empty + .pagination_page,
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_page:has(+ .rb-pager-gap:empty + .pagination_last),
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_previous + .pagination_page,
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_page:has(+ .pagination_next){display:inline-flex}
  /* on page 1 and on the last page there is only one neighbour, so the next one in shows too */
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pages + .pagination_current + .pagination_page + .pagination_page,
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .pagination_page:has(+ .pagination_page + .pagination_current + :is(.drop_go_page,.go_page)){display:inline-flex}
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) .rb-pager-gap:not(:empty){display:inline-flex;align-items:center;padding:0 2px;color:var(--faint)}
  /* narrower items, so prev, 1, ..., 3 pages, ..., last, next and jump fit one line on a 360px phone */
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page){gap:3px}
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) :is(a,.pagination_current){min-width:33px;padding:0 6px}
  :is(.rb-topic-toolbar,.rb-threads-top,.rb-threads-toolbar) .pagination:has(.go_page) :is(.pagination_previous,.pagination_next,.go_page){width:33px;min-width:33px;padding:0}
  .drop_go_page .rb-jump-of{color:var(--fg-2);font-size:13.5px;white-space:nowrap}

  /* ---- UX 3.1 on phones: the panel is a sheet at the bottom of the screen with a dim backdrop (a tap on it closes
     the panel: the backdrop belongs to the summary) ---- */
  .rb-sortfilter > summary{height:36px}
  .rb-sortfilter[open] > summary::before{content:"";position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.55);cursor:default}
  .rb-sortfilter-panel{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:70;width:auto;max-width:none;max-height:80vh;overflow:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:10px 10px 0 0;box-shadow:0 -12px 32px rgba(0,0,0,.6)}
  .rb-sortfilter .rb-threads-sortbar .rb-sortform > select,.rb-sortfilter .rb-threads-sortbar .rb-sortform > input[type=submit]{height:44px;font-size:16px}
  .rb-sortfilter-links{margin:14px -16px -8px}
  .rb-sortfilter-link{min-height:44px;padding:0 16px;font-size:14.5px}
  /* phones: the chip gets its own line above the pager row */
  .rb-threads-top:has(> .rb-sortfilter){grid-template-columns:minmax(0,1fr)}
  .rb-threads-top:has(> .rb-sortfilter) > .rb-threads-top-row{grid-row:2;grid-column:1}
  .rb-sortfilter{justify-self:center}
}
@media (max-width:480px){
  /* UX 1.5: new thread and edit post get the writing area of new reply (about half the screen; SCEditor takes its
     height from the textarea when it starts) */
  .rb-posting .rb-compose-editor-main > textarea.textarea{height:min(55vh,420px)}
}

/* ===== 91-audit-account.css ===== */
/* Audit fixes 2026-10-20, account area (AUDIT-ACCOUNT-20261020). Loads last (after 90-audit-nav.css when that is in).
   Plugin rb_acctfix pages, rb_turnstile 1.2 message, PM compose and signature editors (rb-acct.js), PM / User CP /
   profile tap targets on touch screens, system PM author. The 16px field rule of audit bug 6 is in 90-audit-nav.css. */

/* ---- rb_acctfix pages: Check your inbox, neutral lost password / resend answers, choose a new password ---- */
.rb-acct-page > .rb-alert,.rb-acct-page > .error{margin:0 0 var(--gap)}
.rb-acct-card .rb-auth-sub b{color:var(--fg);font-weight:600;overflow-wrap:anywhere}
.rb-acct-steps{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;padding:0;list-style:none}
.rb-acct-steps li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-acct-steps li .fa-solid{flex:none;width:16px;margin-top:3px;font-size:13px;text-align:center;color:var(--accent-2)}
.rb-acct-card .rb-form-actions .rb-btn-block{display:flex;align-items:center;justify-content:center;height:40px;font-size:14px;font-weight:600}
.rb-acct-card .rb-acct-resend[disabled]{opacity:.6;cursor:not-allowed}
.rb-acct-alt{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}
/* the username for password managers on the reset form: present, not shown */
.rb-acct-hidden-user{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);opacity:0}

/* ---- rb_turnstile 1.2: the line under the widget when the check does not load ---- */
.rb-turnstile-msg{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--fg-2);text-align:center}
.rb-turnstile.is-failed .rb-turnstile-msg{color:var(--amber)}

/* ---- PM compose (UX 1.6): Save as Draft is a secondary button like Preview ---- */
.rb-pm-compose-foot input[type=submit].button[name=saveasdraft]{background:var(--surface-3);border-color:var(--line-2);color:var(--fg);box-shadow:none}
.rb-pm-compose-foot input[type=submit].button[name=saveasdraft]:hover{background:#33334a;border-color:var(--line-2);color:#fff}

/* ---- editor toolbars (rb-acct.js) ---- */
.sceditor-container .rb-ed-moregrp{display:none}
.sceditor-container .sceditor-toolbar a.sceditor-button.rb-ed-more{width:auto;min-width:0;padding:0 10px;font-size:12px;font-weight:600;line-height:1;color:var(--fg-2);text-decoration:none}
.sceditor-container .sceditor-toolbar a.sceditor-button.rb-ed-more:hover{color:#fff}
@media (max-width:767px){
  /* PM compose on phones: bold, italic, link, image, quote in one row, the rest behind More */
  .sceditor-container.rb-ed-compact .rb-ed-moregrp{display:inline-flex}
  .sceditor-container.rb-ed-compact:not(.rb-ed-open) .sceditor-toolbar .sceditor-button:not(.sceditor-button-bold):not(.sceditor-button-italic):not(.sceditor-button-link):not(.sceditor-button-image):not(.sceditor-button-quote):not(.rb-ed-more){display:none}
  .sceditor-container.rb-ed-compact:not(.rb-ed-open) .sceditor-toolbar .sceditor-group:not(:has(.sceditor-button-bold,.sceditor-button-italic,.sceditor-button-link,.sceditor-button-image,.sceditor-button-quote,.rb-ed-more)){display:none}
}
/* signature (UX 1.7), every width: bold, italic, underline, link, colour, remove format and image (when allowed) */
.sceditor-container.rb-ed-sig .sceditor-toolbar .sceditor-button:not(.sceditor-button-bold):not(.sceditor-button-italic):not(.sceditor-button-underline):not(.sceditor-button-link):not(.sceditor-button-unlink):not(.sceditor-button-color):not(.sceditor-button-removeformat):not(.sceditor-button-image){display:none}
.sceditor-container.rb-ed-sig.rb-ed-noimg .sceditor-toolbar .sceditor-button-image{display:none}
.sceditor-container.rb-ed-sig .sceditor-toolbar .sceditor-group:not(:has(.sceditor-button-bold,.sceditor-button-italic,.sceditor-button-underline,.sceditor-button-link,.sceditor-button-color,.sceditor-button-removeformat,.sceditor-button-image)){display:none}
.sceditor-container.rb-ed-sig.rb-ed-noimg .sceditor-toolbar .sceditor-group:has(.sceditor-button-image):not(:has(.sceditor-button-bold,.sceditor-button-italic,.sceditor-button-underline,.sceditor-button-link,.sceditor-button-color,.sceditor-button-removeformat)){display:none}
.rb-sig-count{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.rb-sig-count.is-near{color:var(--amber)}
.rb-sig-count.is-over{color:#f87171;font-weight:600}

/* ---- system private messages (bug 23) ---- */
.rb-sysname{font-weight:700;color:#fff}
.rb-sys-avatar img{background:var(--surface-3);object-fit:contain}

/* ---- PM list: the select box is a label over its whole cell (UX 1.8) ---- */
label.rb-pm-check{display:flex;align-items:center;justify-content:center;align-self:stretch;cursor:pointer}

/* ---- tap targets on touch screens (UX 1.8, account part: PM list, User CP, profiles; the header is area nav's) ---- */
@media (pointer:coarse){
  label.rb-pm-check{min-width:44px;min-height:44px}
  label.rb-pm-check input[type=checkbox]{width:20px;height:20px}
  .rb-usercp .rb-pm-foot select,.rb-usercp .rb-pm-foot .button,.rb-usercp .rb-pm-track-actions .button,
  .rb-usercp .rb-pm-search-group .textbox,.rb-usercp .rb-pm-search-group .button{height:44px}
  :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:44px}
  .rb-usercp .rb-chip{min-height:40px}
  .rb-pp .rb-pp-ibtn,.rb-pp .rb-pp-row .rb-pp-ibtn{width:44px;height:44px}
  .rb-aw-ptiles{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}
  .rb-aw-ptile,.rb-aw-ptile .rb-aw-img,.rb-aw-ptile .rb-aw-circle{width:44px;height:44px}
}


/* owner 2026-10-22: the board name and description were squeezed (260px on a normal desktop, 90px with the sidebar
   beside it), so every description broke into short lines. The stats and the last post column get what they need,
   the text column takes the rest. The index row is 940px wide whatever the window is, so this covers 1101px and up;
   below that the phone layout (two columns) takes over at 1000px. */
@media (min-width:1001px){
  .rb-forum{grid-template-columns:52px minmax(320px,1fr) 84px 84px minmax(200px,260px)}

  .rb-forum-main{min-width:0}
  .rb-forum-desc{max-width:none}
  .rb-forum-stat b{font-size:15px}
  .rb-forum-stat span{font-size:10.5px;letter-spacing:.05em}
}
@media (min-width:1101px) and (max-width:1340px){
  .rb-forum{grid-template-columns:44px minmax(300px,1fr) 76px 76px minmax(150px,200px);gap:10px;padding:12px 14px}
  .rb-forum-icon{width:44px;height:44px}
  .rb-forum-last{font-size:12.5px}
  .rb-forum-last-subject{overflow-wrap:anywhere}
}



/* ===== Vendor perks and the Vendor Dashboard cards (VENDOR-PERKS-20261023, owner 2026-10-22/23) =====
   rb_vendorperks.php and rb_vendorapp/rb_vp_dash.php. Same look as the other vendor cards: flat dark rows, thin lines,
   3px corners, the calm green, amber and red of the theme. No badge in front of thread titles (owner said no). */

/* My listing: one row per listing, title and state on top, the numbers, then the actions */
.rb-vp-listings{margin:0;padding:0;list-style:none}
.rb-vp-lrow{display:flex;flex-direction:column;gap:10px;padding:16px 20px;border-top:1px solid var(--line)}
.rb-vp-lrow:first-child{border-top:0}
.rb-vp-lhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rb-vp-ltitle{min-width:0;font-size:15px;font-weight:600;line-height:1.35;color:#fff;overflow-wrap:anywhere}
a.rb-vp-ltitle:hover{color:var(--link)}
.rb-vp-lhead .rb-vp-state{flex:none}
.rb-vp-lmeta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12.5px;color:var(--muted)}
.rb-vp-lmeta b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}
.rb-vp-lact{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-vp-lact .rb-btn.is-disabled{opacity:.6;cursor:default;pointer-events:none}

/* small state labels (Open, Closed, Pinned, No open cases) */
.rb-vp-state{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-3);color:var(--fg-2);font-size:11.5px;font-weight:600;line-height:1;white-space:nowrap}
.rb-vp-state .fa-solid{font-size:10.5px}
.rb-vp-state.is-ok{border-color:var(--green-line);background:var(--green-soft);color:var(--green-text)}
.rb-vp-state.is-warn{border-color:rgba(210,153,34,.4);background:var(--amber-soft);color:#e6c271}
.rb-vp-state.is-bad{border-color:rgba(240,82,82,.42);background:var(--red-soft);color:#f2a3a3}
.rb-vp-state.is-pin{border-color:var(--accent-ring);background:var(--accent-soft);color:#a9c4ff}
.rb-vp-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--line-2);border-radius:3px;font-size:12.5px;color:var(--fg-2)}
.rb-vp-chip.is-ok{border-color:var(--green-line);color:var(--green-text)}
.rb-vp-chip.is-info{border-color:var(--accent-ring);color:#a9c4ff}

/* Thread health */
.rb-vp-health-all{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.rb-vp-health-all > li{display:flex;flex-direction:column;gap:8px}
.rb-vp-health-all > li > .rb-vp-ltitle{font-size:13px;color:var(--fg-2)}
.rb-vp-health-all > li:only-child > .rb-vp-ltitle{display:none}
.rb-vp-health{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.rb-vp-health li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-vp-health li .fa-solid{flex:none;margin-top:3px;font-size:12px}
.rb-vp-health li.is-ok .fa-solid{color:var(--green)}
.rb-vp-health li.is-warn .fa-solid{color:var(--amber)}

/* Unanswered questions and the latest feedback: plain lists with a quiet line under each */
.rb-vp-questions,.rb-vp-fb{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.rb-vp-questions li,.rb-vp-fb li{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid var(--line)}
.rb-vp-questions li:first-child,.rb-vp-fb li:first-child{padding-top:0;border-top:0}
.rb-vp-questions li:last-child,.rb-vp-fb li:last-child{padding-bottom:0}
.rb-vp-questions a{font-size:13.5px;line-height:1.5;color:var(--fg)}
.rb-vp-questions a:hover{color:var(--link)}
.rb-vp-questions small,.rb-vp-fb small{font-size:12px;color:var(--muted)}
.rb-vp-fb-user{font-size:13px;font-weight:600;color:#fff}
.rb-vp-fb-text{font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-vp-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:3px;background:var(--amber-soft);color:#e6c271;font-size:12px;font-weight:700}

/* Views and replies, 14 days */
.rb-vp-delta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:13px;color:var(--muted)}
.rb-vp-delta b{font-size:20px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;margin-right:4px}
.rb-vp-delta small{font-size:12px;color:var(--faint)}
.rb-vp-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:6px;height:96px;padding:0 0 2px;border-bottom:1px solid var(--line)}
.rb-vp-bar{display:block;min-height:2px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#5b8def,#2d63c7)}
.rb-vp-bar.is-empty{height:2px!important;background:var(--line-2)}

/* Next tier */
.rb-vp-next{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.rb-vp-next li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-vp-next li .fa-solid{flex:none;margin-top:4px;font-size:11px;color:var(--faint)}
.rb-vp-next li.is-done{color:var(--fg)}
.rb-vp-next li.is-done .fa-solid{color:var(--green)}
.rb-vp-next li.is-muted{font-size:12.5px;color:var(--muted)}

/* a row of buttons inside a card body (the body is a column) */
.rb-vp-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* Scam Register card */
.rb-vp-scam{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}
.rb-vp-scam a{font-size:13px}

/* the Scam Register line on the first post of a vendor listing */
.rb-vp-scamline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:3px;background:var(--surface-2);font-size:12.5px;color:var(--fg-2)}
.rb-vp-scamline .fa-solid{font-size:12px;color:var(--green)}
.rb-vp-scamline.is-bad{border-left-color:#f05252;background:var(--red-soft);color:#f2c3c3}
.rb-vp-scamline.is-bad .fa-solid{color:#f05252}
.rb-vp-scamline a{font-weight:600}

/* the one listing per vendor board notice (newthread.php) */
.rb-vp-gate{font-size:14px;line-height:1.6;color:var(--fg-2)}
.rb-vp-gate b{display:block;margin-bottom:6px;font-size:16px;color:#fff}
.rb-vp-gate p{margin:0}
.rb-vp-gate .rb-vp-gate-act{margin-top:14px}
.rb-vp-gate .rb-btn,.rb-vp-gate .rb-btn:hover{color:#fff;text-decoration:none}

@media (max-width:760px){
  .rb-vp-lrow{padding:14px 16px}
  .rb-vp-lhead{flex-direction:column;gap:8px}
  .rb-vp-lmeta{gap:4px 14px}
  .rb-vp-lact .rb-btn,.rb-vp-lact .rb-vf-inline-form{flex:1 1 calc(50% - 4px)}
  .rb-vp-lact .rb-vf-inline-form .rb-btn{width:100%}
  .rb-vp-lact .rb-btn{justify-content:center}
  .rb-vp-bars{gap:3px;height:80px}
  .rb-vp-delta b{font-size:18px}
}

/* ===== Bug report status (rb_bugstatus 1.0, audit item 19) and the shoutbox online list (rb_shoutbox 1.7, item 20) =====
   The status form sits in the thread toolbar of a bug report for staff only, after New Reply (like the Bump button).
   The online count of the shoutbox is a <details>: the summary keeps the old look, the list drops down under it. */
.rb-topic-actions .rb-bugst-form{display:inline-flex;align-items:center;gap:6px;margin:0}
.rb-topic-actions .rb-bugst-label{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12.5px;color:var(--muted)}
.rb-topic-actions .rb-bugst-label select{height:36px;min-width:140px;padding:0 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg);font-size:13.5px}
.rb-topic-actions .button.rb-bugst-btn{margin:0;color:#fff}
@media (max-width:760px){
  .rb-topic-actions .rb-bugst-form{flex:1 1 100%}
  .rb-topic-actions .rb-bugst-label{flex:1}
  .rb-topic-actions .rb-bugst-label select{flex:1;min-width:0}
}

details.rb-sb-online{position:relative;display:inline-flex}
details.rb-sb-online > summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;padding:3px 6px;border-radius:3px;font-size:12.5px;color:rgba(255,255,255,.85);white-space:nowrap;font-variant-numeric:tabular-nums}
details.rb-sb-online > summary::-webkit-details-marker{display:none}
details.rb-sb-online > summary::marker{content:""}
details.rb-sb-online > summary:hover,details.rb-sb-online[open] > summary{background:rgba(255,255,255,.08)}
details.rb-sb-online > summary::after{content:"";width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.7)}
details.rb-sb-online[open] > summary::after{border-top:0;border-bottom:5px solid rgba(255,255,255,.7)}
.rb-sb-online-list{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:flex;flex-direction:column;gap:2px;width:220px;max-height:300px;overflow:auto;padding:8px;
  border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);box-shadow:0 12px 28px rgba(0,0,0,.45)}
.rb-sb-online-list > span{display:block}
.rb-sb-online-list a{display:block;padding:5px 8px;border-radius:3px;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-sb-online-list a:hover{background:var(--surface-3);text-decoration:none}
.rb-sb-online-list a.is-invisible{opacity:.6}
.rb-sb-online-none{padding:5px 8px;font-size:12.5px;color:var(--muted)}
.rb-sb-online-list .rb-sb-online-all{margin-top:4px;padding-top:8px;border-top:1px solid var(--line);border-radius:0;font-size:12.5px;color:var(--link)}
@media (max-width:760px){
  .rb-sb-online-list{width:200px;right:-40px}
}

/* ===== Balance page, calmer wallet (owner 2026-10-23: "balance siden ser litt amatør ut") =====
   rb_payments_page_balance(): one card with the amount, the facts in one line, quick top up amounts on the right,
   then "Pay with your balance" (plain text tiles, a thin colour line per plan, no icon boxes) and the rules line. */
.rb-wal{display:flex;flex-direction:column}
.rb-wal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:24px;padding:24px 24px 22px;border-bottom:1px solid var(--line)}
.rb-wal-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.rb-wal-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-wal-amount{display:flex;align-items:baseline;gap:8px;font-size:44px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.rb-wal-cur{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.rb-wal-meta{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:10px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);width:max-content;max-width:100%}
.rb-wal-meta > span{display:flex;flex-direction:column;gap:2px;padding:9px 16px;border-left:1px solid var(--line)}
.rb-wal-meta > span:first-child{border-left:0}
.rb-wal-meta small{font-size:11px;color:var(--muted)}
.rb-wal-meta b{font-size:14px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-wal-side{display:flex;flex-direction:column;gap:10px;padding-left:24px;border-left:1px solid var(--line)}
.rb-wal-amts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rb-wal-amt{display:flex;align-items:center;justify-content:center;height:36px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:#fff;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-decoration:none}
.rb-wal-amt:hover{border-color:var(--accent);background:var(--accent-soft);color:#fff;text-decoration:none}
.rb-wal-other{justify-content:center;height:38px}
.rb-wal-hint{font-size:12px;color:var(--muted)}
.rb-wal-uses-wrap{display:flex;flex-direction:column;gap:10px;padding:18px 24px}
.rb-wal-uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.rb-wal-use{display:flex;flex-direction:column;gap:3px;padding:11px 14px;border:1px solid var(--line);border-top:2px solid var(--line-2);border-radius:3px;background:var(--surface-2);text-decoration:none}
.rb-wal-use:hover{background:var(--surface-3);text-decoration:none}
.rb-wal-use b{font-size:14px;font-weight:600;color:#fff}
.rb-wal-use span{font-size:12.5px;color:var(--muted)}
.rb-wal-use.is-vip{border-top-color:#d6aa40}
.rb-wal-use.is-donator{border-top-color:#e2749e}
.rb-wal-use.is-apex{border-top-color:#8f7cf0}
.rb-wal-use.is-vendor{border-top-color:var(--green)}
.rb-wal-use.is-gift{border-top-color:var(--accent)}
.rb-wal-rules{margin:0;padding:12px 24px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--muted)}
.rb-wal-card > .rb-alert{margin:16px 24px 0}
.rb-wal-arempty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:16px 20px;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rb-wal-arempty span{flex:1 1 360px}
.rb-wal-noact{padding:22px 20px;font-size:13.5px;color:var(--muted)}
@media (max-width:860px){
  .rb-wal-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px 16px}
  .rb-wal-side{padding-left:0;padding-top:16px;border-left:0;border-top:1px solid var(--line)}
  .rb-wal-amount{font-size:36px}
  .rb-wal-meta{width:100%}
  .rb-wal-meta > span{flex:1 1 0;padding:8px 10px}
  .rb-wal-uses-wrap{padding:16px}
  .rb-wal-uses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-wal-rules{padding:12px 16px}
  .rb-wal-card > .rb-alert{margin:12px 16px 0}
}

.rb-pay-tier.is-vendor .rb-pay-tier-name{color:#8fd9a8}

/* the board account: one calm blue, no animation, readable in the postbit and on the profile */
.rb-name-root{color:#7fb2f0;font-weight:700;text-shadow:0 0 10px rgba(80,140,230,.35)}
.rb-name-root::before{content:"\f544";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.82em;margin-right:5px;opacity:.85;vertical-align:1px}

/* ---- owner 2026-10-25: Vouches in the top bar, between Staff and Upgrade. The item is printed by rb_vouch.php
   (pre_output_page), so the header template itself is untouched. Same shape as its neighbours; a member only. ---- */
.rb-topbar .rb-nav > li.rb-nav-vouch{display:flex}
.rb-shell .rb-topbar .rb-nav > li.rb-nav-vouch a .fa-solid{color:var(--muted)}
.rb-shell .rb-topbar .rb-nav > li.rb-nav-vouch a:hover .fa-solid,
.rb-shell .rb-topbar .rb-nav > li.rb-nav-vouch a.is-active .fa-solid{color:var(--accent-2)}
@media (max-width:760px){
  .rb-topbar .rb-nav > li.rb-nav-vouch{display:block}
}

/* ---- owner 2026-10-25: the Your account badge sat inside the 3-column shortcut row and pushed "Alerts" out
   ("Al..." at 22 unread). The badge is now a small corner marker on the link, so the label always has its room. ---- */
.rb-uc .rb-uc-acts a{position:relative}
.rb-uc .rb-uc-acts a > .rb-uc-badge{position:absolute;top:-6px;right:-6px;flex:none;min-width:17px;height:17px;line-height:17px;
 font-size:10.5px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;box-shadow:0 0 0 2px var(--surface-2)}
.rb-uc .rb-uc-acts a > span{flex:0 1 auto;min-width:0}

/* ---- owner 2026-10-25: country chip next to the name on a profile ---- */
.rb-pp-country{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 7px;margin-left:10px;vertical-align:4px;
 border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font-size:12px;font-weight:600;letter-spacing:.01em}
.rb-pp-country .rb-flag.is-round{width:14px;height:14px;display:block}
.rb-pp-country:hover{border-color:var(--accent);color:#fff}

/* ---- owner 2026-10-25: the shoutbox "N online" is a plain count again, no dropdown and no chevron ---- */
details.rb-sb-online,details.rb-sb-online > summary,.rb-sb-online-list{display:none!important}
span.rb-sb-online{display:inline-flex;align-items:center;gap:6px;margin-right:8px;padding:0;border:0;background:none;
 font-size:12.5px;color:rgba(255,255,255,.85);white-space:nowrap;font-variant-numeric:tabular-nums;cursor:default}
span.rb-sb-online::after{content:none!important;display:none!important}

/* ===================================================================
   Account page (usercp.php?action=account). Fourth pass, owner 2026-10-25: "feltene er fortsatt usymmetrisk og litt
   rotete". The three earlier passes were still layered on top of each other and the last two disagreed, and the grid
   mixed read only facts with inputs, which left an empty cell in Email, a hole in Password and two different row
   heights. This replaces all of them with one block and one set of column edges:

     - the card is the frame, the sections are the blocks inside it
     - the header is the title over column 1 and the description over columns 2 and 3
     - every field is one cell of a three column grid: label over control, equal width, so a row is always full
     - a current value (email, username, last change) is a fact line above the fields, not a field shaped hole
     - the state box, the name history and the button span or start at the left edge of the card
     - three columns down to 760px, one column on a phone (a two column step left holes)

   The aside and the fields share the same three columns and the same 18px padding, so the description starts exactly
   where the second field starts and no edge on the page is off by a few pixels.
   =================================================================== */
.rb-acc .rb-acc-card{display:flex;flex-direction:column;gap:14px;background:transparent;border:0;box-shadow:none;overflow:visible}
.rb-acc .rb-acc-card > .rb-card-head{display:none}

/* ---- one section = one block ---- */
.rb-acc .rb-acc-sec{display:block;padding:0;border:1px solid var(--line);background:var(--surface);
 border-radius:var(--radius);scroll-margin-top:90px;overflow:hidden}
.rb-acc .rb-acc-card > .rb-acc-sec{border-top:1px solid var(--line)}

/* ---- header: title over the first field column, description over the rest ---- */
.rb-acc .rb-acc-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;align-items:start;
 padding:15px 18px 13px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.rb-acc .rb-acc-title{grid-column:1;margin:0;font-size:14.5px;font-weight:650;line-height:1.35;letter-spacing:.01em;color:#fff}
.rb-acc .rb-acc-title .fa-solid{font-size:12.5px;color:var(--accent-2)}
.rb-acc .rb-acc-desc{grid-column:2 / -1;margin:0;max-width:600px;font-size:12.5px;line-height:1.55;color:var(--fg-2)}

/* ---- the fields: three equal columns, same edges as the header ---- */
.rb-acc .rb-acc-form{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:none;padding:16px 18px 18px}
.rb-acc .rb-acc-form > .error,.rb-acc .rb-acc-form > .rb-alert,.rb-acc .rb-acc-form > .red_alert{margin:0}

.rb-acc .rb-acc-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;align-items:start;min-width:0}
.rb-acc .rb-acc-fields:empty{display:none}

.rb-acc .rb-acc-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:start;min-width:0}
.rb-acc .rb-acc-row > .rb-label{padding-top:0;font-size:12.5px;font-weight:600;line-height:1.3;letter-spacing:.01em;color:var(--fg-2)}
.rb-acc .rb-acc-ctl{display:flex;flex-direction:column;gap:5px;max-width:none;min-width:0}
.rb-acc .rb-acc-ctl .textbox{width:100%;max-width:none;height:38px}
.rb-acc .rb-acc-ctl .rb-help,.rb-acc .rb-acc-ctl .rb-acc-pwhint{font-size:12px;line-height:1.45;color:var(--fg-2)}
.rb-acc .rb-acc-ctl .rb-acc-pwhint.is-short{color:var(--amber)}
.rb-acc .rb-acc-ctl .rb-acc-pwhint.is-good{color:var(--green)}

/* ---- a fact, not a field: "Current email  name@example.com" on one line, with a hairline under it ---- */
.rb-acc .rb-acc-fields > .rb-acc-row:has(> .rb-acc-value){grid-column:1 / -1;display:flex;flex-wrap:wrap;
 align-items:baseline;gap:2px 12px;min-width:0;padding:0 0 15px;border-bottom:1px solid var(--line)}
.rb-acc .rb-acc-fields > .rb-acc-row:has(> .rb-acc-value) > .rb-label{flex:none;font-size:12.5px;font-weight:600;
 letter-spacing:.01em;color:var(--muted)}
.rb-acc .rb-acc-value{min-width:0;padding-top:0;font-size:14px;line-height:1.45;color:#fff;overflow-wrap:anywhere}
.rb-acc .rb-acc-value b,.rb-acc .rb-acc-addr{font-size:14px;font-weight:600;color:#fff}
.rb-acc .rb-acc-pending{display:flex;flex-direction:column;gap:2px;min-width:0}

/* two facts in a row (Current username, Last change) read as one block: one hairline under the last, not one each */
.rb-acc .rb-acc-fields > .rb-acc-row:has(> .rb-acc-value):has(+ .rb-acc-row > .rb-acc-value){padding-bottom:0;border-bottom:0;margin-bottom:-6px}

/* ---- the calm state rows (locked, waiting, blocked) and the history take the whole card ---- */
.rb-acc .rb-acc-state{grid-column:1 / -1;background:var(--surface-2)}
.rb-acc .rb-acc-hist{min-width:0}

/* ---- the button sits at the left edge of the card, under the first field ---- */
.rb-acc .rb-acc-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px 16px;
 max-width:none;margin:0;padding:0;border:0}
.rb-acc .rb-acc-actions input[type=submit]{height:38px;padding:0 20px;font-weight:600}
/* a note that belongs to the button (username) sits above it, so every button on the page starts at the left edge */
.rb-acc .rb-acc-actions .rb-acc-note{flex:1 1 100%;order:-1;font-size:12.5px;line-height:1.5;color:var(--fg-2)}

/* ---- narrow screens: three columns hold down to 760px (no two column step, which left a hole under a section
   with three fields), then one column on a phone ---- */
@media (max-width:760px){
  .rb-acc .rb-acc-aside{grid-template-columns:minmax(0,1fr);gap:4px;padding:13px 14px 11px}
  .rb-acc .rb-acc-desc{grid-column:1 / -1;max-width:none}
  .rb-acc .rb-acc-form{padding:14px}
  .rb-acc .rb-acc-fields{grid-template-columns:minmax(0,1fr);gap:14px}
  .rb-acc .rb-acc-fields > .rb-acc-row:has(> .rb-acc-value){padding:0 0 13px}
  .rb-acc .rb-acc-title{font-size:14px}
  .rb-acc .rb-acc-state .rb-acc-plans{grid-column:2;justify-self:start}
}

/* ===================================================================
   Ready made profile covers (owner 2026-10-26: "gi de et par forslag for vip og apex").
   A row of tiles under the upload field on usercp.php?action=rb_cover: one click gives the member that cover as their
   own. The tile is a submit button for the hidden form rb_vs_preset, so a click works without JavaScript.
   Three tiles on a row on a wide screen, two on a tablet, one on a phone. The picture keeps the 1500x400 shape of a
   real cover, so the tile shows exactly what the cover will look like.
   =================================================================== */
.rb-vs-preset-form{display:contents} /* the form element carries no box: the picker row keeps its place in the card */
.rb-vs-presets{margin:18px 0 4px;padding:16px 0 0;border-top:1px solid var(--line)}
.rb-vs-presets-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 12px}
.rb-vs-presets-head .rb-label{flex:none}
.rb-vs-presets-head .rb-help{font-size:12.5px;line-height:1.5;color:var(--fg-2)}

.rb-vs-presets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}

.rb-vs-preset{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;padding:0;background:var(--surface-2);
 border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font:inherit;text-align:left;cursor:pointer;
 overflow:hidden;transition:border-color .12s,transform .12s}
.rb-vs-preset:hover{border-color:var(--line-2);transform:translateY(-1px)}
.rb-vs-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rb-vs-preset.is-current{border-color:var(--accent)}

.rb-vs-preset-img{position:relative;display:block;aspect-ratio:1500 / 400;overflow:hidden;background:#0b0d12}
.rb-vs-preset-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.rb-vs-preset-txt{display:flex;flex-direction:column;gap:2px;min-width:0;padding:9px 11px 10px}
.rb-vs-preset-name{font-size:13.5px;font-weight:600;line-height:1.3;color:#fff}
.rb-vs-preset-desc{font-size:12px;line-height:1.45;color:var(--fg-2)}

.rb-vs-preset-tag{position:absolute;top:8px;right:8px;z-index:1;padding:2px 7px;background:rgba(10,11,14,.78);
 border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);font-size:11px;font-weight:600;letter-spacing:.02em;color:#fff}

@media (max-width:900px){
  .rb-vs-presets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .rb-vs-presets-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .rb-vs-presets{margin-top:16px;padding-top:14px}
}

/* ===================================================================
   Vendor plans side by side (owner 2026-10-25): a vendor sees their own tier and the one above, and now the two sit
   next to each other so they can be compared line for line, instead of one at a time behind the tier buttons.
   Two plans on a wide screen, one per row below 900px, and the tier buttons go away when nothing is hidden any more.
   =================================================================== */
.rb-vf-plans.is-side .rb-plans-pick{display:none}
.rb-vf-plans.is-side .rb-plans-cols{display:grid;gap:18px;align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr))}
.rb-vf-plans.is-side .rb-plans-cols.is-one{grid-template-columns:minmax(0,1fr);max-width:640px}
.rb-vf-plans.is-side .rb-plan{display:flex;grid-row:auto;min-width:0}
/* the two plans line up row for row: same label column, same value column, so the eye can run straight across */
.rb-vf-plans.is-side .rb-plan-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.rb-vf-plans.is-side .rb-plan-label{min-width:0}
.rb-vf-plans.is-side .rb-plan-val{max-width:none;justify-content:flex-start}
.rb-vf-plans.is-side .rb-plan-row.is-stack{grid-template-columns:minmax(0,1fr)}
.rb-vf-plans.is-side .rb-plan-row.is-head{grid-template-columns:minmax(0,1fr)}
.rb-vf-plans.is-side .rb-plan-banner{max-width:100%;height:auto}
@media (max-width:900px){
  .rb-vf-plans.is-side .rb-plans-cols{grid-template-columns:minmax(0,1fr)}
}

/* ===================================================================
   Profile header and statistics, owner 2026-10-26: "det ser stygt ut hvordan Norge-logoen vises i coveren".
   The country chip used to sit under the name as its own block, so the flex column stretched it across the whole
   cover. It is now a small round flag inside the heading, right after the name, with the country in the tooltip.
   "Posts per day" is gone from Statistics, so the card has three equal columns at every width (no lone tile on a
   phone), and the Visitors card no longer repeats the view count.
   =================================================================== */
.rb-pp .rb-pp-name .rb-pp-flag{display:inline-flex;align-items:center;justify-content:center;flex:none;
 width:26px;height:26px;margin-left:12px;vertical-align:1px;border-radius:50%;
 background:rgba(10,11,14,.55);box-shadow:0 0 0 1px rgba(255,255,255,.2),0 2px 8px rgba(0,0,0,.45);cursor:default}
.rb-pp .rb-pp-name .rb-pp-flag .rb-flag{display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}
@media (max-width:600px){
  .rb-pp .rb-pp-name .rb-pp-flag{width:22px;height:22px;margin-left:9px;vertical-align:1px}
  .rb-pp .rb-pp-name .rb-pp-flag .rb-flag{width:15px;height:15px}
}

.rb-pp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){
  .rb-pp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-pp-stat:nth-child(odd){border-left:1px solid var(--line)}
  .rb-pp-stat:first-child{border-left:0}
  .rb-pp-stat:nth-child(n+3){border-top:0}
  .rb-pp-stat{padding:16px 4px}
}

/* the Visitors card now ends with the link only, for members who may open the full list */
.rb-pv-total.is-link{justify-content:flex-end}

/* ===== PREFIX-V3-20261026 =====
   Owner 2026-10-26: the status-dot direction is the one he liked ("jeg likte status"), and VIP, Donator and Apex
   should have a special effect of their own ("ha spesial effekt og kult"). So:

   - every ordinary prefix is one quiet pill: dark fill, hairline edge, one 6px status dot and the name.
     No per-prefix gradients, no icons in front of every label, nothing that competes with the thread title.
   - the countries (SE / NO / DK) take a round flag where the dot sits, so they read as a place, not a status.
   - VIP, Donator and Apex keep the same pill and get the motion: gold that pours, a rose that breathes, and a
     prism that circles the edge of Apex.
   - everything is drawn from the classes the ACP already prints, so the database is untouched. Motion stops for
     prefers-reduced-motion. */

/* ---- the pill ---- */
:where(.rb-prefix){--rbpx-dot:#8b93a3;--rbpx-f:rgba(255,255,255,.055);--rbpx-b:rgba(255,255,255,.13);--rbpx-t:#aeb6c4}
.rb-prefix.rb-prefix.rb-prefix{
  position:relative;top:-1px;display:inline-flex;align-items:center;flex:none;gap:.4em;height:18px;max-width:100%;
  margin:0;padding:0 .62em .0 .5em;border-radius:999px;background:var(--rbpx-f);color:var(--rbpx-t);
  font-family:var(--font);font-size:10.5px;font-style:normal;font-weight:700;letter-spacing:.055em;line-height:1;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;vertical-align:middle;
  box-shadow:inset 0 0 0 1px var(--rbpx-b)}
.rb-prefix.rb-prefix.rb-prefix::before{content:"";display:block;flex:none;width:.46em;height:.46em;border-radius:50%;
  background:var(--rbpx-dot);box-shadow:0 0 0 .14em color-mix(in srgb,var(--rbpx-dot) 18%,transparent)}
/* the chip carries its own spacing; core and the theme add margins in places */
.rb-trow-prefix .rb-prefix,.rb-trow-title .rb-prefix,.rb-sr-prefix .rb-prefix{margin:0}
/* sizes in the three places a prefix is read at */
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix{height:20px;padding:0 .7em 0 .58em;font-size:11.5px;letter-spacing:.05em}
.rb-crumbs .rb-prefix.rb-prefix.rb-prefix{height:16px;padding:0 .55em 0 .45em;font-size:9.5px}
.rb-li-title .rb-prefix.rb-prefix.rb-prefix{height:16px;padding:0 .55em 0 .45em;font-size:9.5px}
.rb-ucp-tsubject .rb-prefix.rb-prefix.rb-prefix,.rb-similar-main .rb-prefix.rb-prefix.rb-prefix{height:17px;font-size:10px}
@media (max-width:760px){
  .rb-topic-title .rb-prefix.rb-prefix.rb-prefix{height:18px;padding:0 .58em 0 .48em;font-size:10.5px}
}

/* the tone classes the ACP adds to the labels without a colour of their own */
:where(.rb-prefix.is-tone-blue){--rbpx-dot:#7ba5ff;--rbpx-f:rgba(123,165,255,.10);--rbpx-b:rgba(123,165,255,.30);--rbpx-t:#c0d4ff}
:where(.rb-prefix.is-tone-violet){--rbpx-dot:#a294ff;--rbpx-f:rgba(162,148,255,.10);--rbpx-b:rgba(162,148,255,.30);--rbpx-t:#cfc7ff}
:where(.rb-prefix.is-tone-teal){--rbpx-dot:#4ec8c0;--rbpx-f:rgba(78,200,192,.10);--rbpx-b:rgba(78,200,192,.30);--rbpx-t:#a6e6e1}
:where(.rb-prefix.is-tone-green){--rbpx-dot:#35c78d;--rbpx-f:rgba(53,199,141,.10);--rbpx-b:rgba(53,199,141,.30);--rbpx-t:#a4e8ca}
:where(.rb-prefix.is-tone-amber){--rbpx-dot:#e0a92e;--rbpx-f:rgba(224,169,46,.10);--rbpx-b:rgba(224,169,46,.30);--rbpx-t:#eed49a}
:where(.rb-prefix.is-tone-red){--rbpx-dot:#e5615f;--rbpx-f:rgba(229,97,95,.10);--rbpx-b:rgba(229,97,95,.30);--rbpx-t:#f2b3b2}
:where(.rb-prefix.is-tone-pink){--rbpx-dot:#e77aa6;--rbpx-f:rgba(231,122,166,.10);--rbpx-b:rgba(231,122,166,.30);--rbpx-t:#f4bcd3}
:where(.rb-prefix.is-tone-grey){--rbpx-dot:#8b93a3;--rbpx-f:rgba(255,255,255,.055);--rbpx-b:rgba(255,255,255,.14);--rbpx-t:#b3bac7}
/* ---- one tone per status ---- */
:where(.rb-prefix).is-wts{--rbpx-dot:#35c78d;--rbpx-f:rgba(53,199,141,.10);--rbpx-b:rgba(53,199,141,.30);--rbpx-t:#a4e8ca}
:where(.rb-prefix).is-wtb{--rbpx-dot:#6b9dff;--rbpx-f:rgba(107,157,255,.10);--rbpx-b:rgba(107,157,255,.30);--rbpx-t:#b6ccff}
:where(.rb-prefix).is-trade{--rbpx-dot:#e0a92e;--rbpx-f:rgba(224,169,46,.10);--rbpx-b:rgba(224,169,46,.30);--rbpx-t:#eed49a}
:where(.rb-prefix).is-sold{--rbpx-dot:#8b93a3;--rbpx-f:rgba(255,255,255,.055);--rbpx-b:rgba(255,255,255,.14);--rbpx-t:#b3bac7}
:where(.rb-prefix).is-closed{--rbpx-dot:#e5615f;--rbpx-f:rgba(229,97,95,.10);--rbpx-b:rgba(229,97,95,.30);--rbpx-t:#f2b3b2}
:where(.rb-prefix).is-restock{--rbpx-dot:#2fc3b0;--rbpx-f:rgba(47,195,176,.10);--rbpx-b:rgba(47,195,176,.30);--rbpx-t:#9fe4da}
:where(.rb-prefix).is-sale{--rbpx-dot:#e77aa6;--rbpx-f:rgba(231,122,166,.10);--rbpx-b:rgba(231,122,166,.30);--rbpx-t:#f4bcd3}
:where(.rb-prefix).is-group-buy{--rbpx-dot:#9787f5;--rbpx-f:rgba(151,135,245,.10);--rbpx-b:rgba(151,135,245,.30);--rbpx-t:#cfc7ff}
:where(.rb-prefix).is-price-check{--rbpx-dot:#9aa6b8;--rbpx-f:rgba(154,166,184,.08);--rbpx-b:rgba(154,166,184,.24);--rbpx-t:#bfc8d6}
:where(.rb-prefix).is-interest{--rbpx-dot:#a58fff;--rbpx-f:rgba(165,143,255,.10);--rbpx-b:rgba(165,143,255,.30);--rbpx-t:#d3c8ff}
:where(.rb-prefix).is-log{--rbpx-dot:#4ec8c0;--rbpx-f:rgba(78,200,192,.10);--rbpx-b:rgba(78,200,192,.30);--rbpx-t:#a6e6e1}
:where(.rb-prefix).is-question{--rbpx-dot:#a294ff;--rbpx-f:rgba(162,148,255,.10);--rbpx-b:rgba(162,148,255,.30);--rbpx-t:#cfc7ff}
:where(.rb-prefix).is-guide{--rbpx-dot:#7ba5ff;--rbpx-f:rgba(123,165,255,.10);--rbpx-b:rgba(123,165,255,.30);--rbpx-t:#c0d4ff}
:where(.rb-prefix).is-positive{--rbpx-dot:#35c78d;--rbpx-f:rgba(53,199,141,.10);--rbpx-b:rgba(53,199,141,.30);--rbpx-t:#a4e8ca}
:where(.rb-prefix).is-negative{--rbpx-dot:#e5615f;--rbpx-f:rgba(229,97,95,.10);--rbpx-b:rgba(229,97,95,.30);--rbpx-t:#f2b3b2}
:where(.rb-prefix).is-exclusive{--rbpx-dot:#f0c65a;--rbpx-f:rgba(240,198,90,.11);--rbpx-b:rgba(240,198,90,.32);--rbpx-t:#f6dfa2}
:where(.rb-prefix).is-new{--rbpx-dot:#35c78d;--rbpx-f:rgba(53,199,141,.10);--rbpx-b:rgba(53,199,141,.30);--rbpx-t:#a4e8ca}
:where(.rb-prefix).is-fixed{--rbpx-dot:#35c78d;--rbpx-f:rgba(53,199,141,.10);--rbpx-b:rgba(53,199,141,.30);--rbpx-t:#a4e8ca}
:where(.rb-prefix).is-bug{--rbpx-dot:#ef8b8b;--rbpx-f:rgba(239,139,139,.10);--rbpx-b:rgba(239,139,139,.30);--rbpx-t:#f7c0c0}
:where(.rb-prefix).is-important{--rbpx-dot:#ff6b6b;--rbpx-f:rgba(255,107,107,.11);--rbpx-b:rgba(255,107,107,.34);--rbpx-t:#ffc2c2}
:where(.rb-prefix).is-cut{--rbpx-dot:#ef8b8b;--rbpx-f:rgba(239,139,139,.10);--rbpx-b:rgba(239,139,139,.30);--rbpx-t:#f7c0c0}
:where(.rb-prefix).is-advanced{--rbpx-dot:#ef8b8b;--rbpx-f:rgba(239,139,139,.10);--rbpx-b:rgba(239,139,139,.30);--rbpx-t:#f7c0c0}
:where(.rb-prefix).is-bloodwork{--rbpx-dot:#ef8b8b;--rbpx-f:rgba(239,139,139,.10);--rbpx-b:rgba(239,139,139,.30);--rbpx-t:#f7c0c0}

/* a colour of its own beats a tone class printed after it */
:where(.rb-prefix).is-se,.rb-prefix.is-se{--rbpx-dot:#fecc00}
:where(.rb-prefix).is-no,.rb-prefix.is-no{--rbpx-dot:#ba0c2f}
:where(.rb-prefix).is-dk,.rb-prefix.is-dk{--rbpx-dot:#c8102e}

/* the topic bar is blue: the pills get a dark base under their tint there */
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix:not(.rb-badge){background:linear-gradient(var(--rbpx-f),var(--rbpx-f)),rgba(8,10,14,.55)}

/* ---- the three countries: a round flag instead of a dot ---- */
.rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk){gap:.42em;padding-left:.42em}
.rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk)::before{width:1.08em;height:1.08em;border-radius:50%;
  box-shadow:0 0 0 .09em rgba(255,255,255,.42),inset 0 0 0 .09em rgba(0,0,0,.18)}
.rb-prefix.rb-prefix.rb-prefix.is-se::before{background-image:linear-gradient(90deg,transparent 31%,#fecc00 31%,#fecc00 65%,transparent 65%),linear-gradient(0deg,transparent 40%,#fecc00 40%,#fecc00 60%,transparent 60%);background-color:#006aa7}
.rb-prefix.rb-prefix.rb-prefix.is-no::before{background-image:linear-gradient(90deg,transparent 31%,#00205b 31%,#00205b 65%,transparent 65%),linear-gradient(0deg,transparent 40%,#00205b 40%,#00205b 60%,transparent 60%),linear-gradient(90deg,transparent 22%,#fff 22%,#fff 74%,transparent 74%),linear-gradient(0deg,transparent 28%,#fff 28%,#fff 72%,transparent 72%);background-color:#ba0c2f}
.rb-prefix.rb-prefix.rb-prefix.is-dk::before{background-image:linear-gradient(90deg,transparent 31%,#fff 31%,#fff 63%,transparent 63%),linear-gradient(0deg,transparent 40%,#fff 40%,#fff 60%,transparent 60%);background-color:#c8102e}

/* ---- the marketplace filter swatches are 8px dots: no dot inside a dot ---- */
.rb-mkf-chip .rb-prefix.rb-mkf-sw::before,.rb-mkf-chip .rb-prefix.rb-mkf-sw::after{content:none!important}

/* ============================ the three that get more ============================ */

/* ---- VIP: the gold pours through the letters, and a light travels the rim. ---- */
@keyframes rbpx-pour{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes rbpx-rim{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.rb-prefix.rb-badge.rb-prefix-vip,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-vip,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-trow .rb-prefix.rb-badge.rb-prefix-vip{height:18px;padding:0 .74em;border:0;border-radius:999px;gap:0;
  font-weight:800;letter-spacing:.075em;color:#ffe6a1!important;
  background:linear-gradient(180deg,rgba(242,195,65,.20),rgba(242,195,65,.075));
  box-shadow:inset 0 0 0 1px rgba(255,214,120,.55),0 0 9px rgba(242,195,65,.16);
  background-size:100% 100%;animation:none}
/* the light travelling the rim */
.rb-prefix.rb-badge.rb-prefix-vip::after,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-vip::after,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip::after,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip::after,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip::after,.rb-trow .rb-prefix.rb-badge.rb-prefix-vip::after{content:""!important;position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  border:1px solid transparent;
  background:linear-gradient(90deg,transparent 10%,rgba(255,240,200,.85) 45%,rgba(255,250,225,1) 50%,rgba(255,240,200,.85) 55%,transparent 90%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  mask-composite:exclude;background-size:200% 100%;
  animation:rbpx-rim 5.5s linear infinite;box-shadow:none}

/* ---- Donator: the rim breathes like a heartbeat, and the fill drifts beneath it. ---- */
@keyframes rbpx-breathe{0%,100%{box-shadow:inset 0 0 0 1px rgba(255,145,200,.42),0 0 0 0 rgba(255,95,183,0)}
  44%{box-shadow:inset 0 0 0 1px rgba(255,190,225,.88),0 0 13px 1px rgba(255,95,183,.30)}
  58%{box-shadow:inset 0 0 0 1px rgba(255,170,215,.66),0 0 7px 0 rgba(255,95,183,.22)}}
@keyframes rbpx-rose{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.rb-prefix.rb-badge.rb-prefix-donator,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-donator,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-donator,.rb-li-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-trow .rb-prefix.rb-badge.rb-prefix-donator{height:18px;padding:0 .74em;border:0;border-radius:999px;gap:0;
  font-weight:800;letter-spacing:.06em;color:#ffd8ea!important;
  background:linear-gradient(100deg,rgba(255,95,183,.24),rgba(184,107,255,.26),rgba(255,122,198,.22),rgba(255,95,183,.24));
  background-size:200% 100%;animation:rbpx-breathe 2.1s ease-in-out infinite,rbpx-rose 9s linear infinite}

/* ---- Apex: a prism circles the rim, a holographic gem leads it, and a glint crosses the glass. ---- */
@property --rbpx-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes rbpx-prism{to{--rbpx-a:360deg}}
@keyframes rbpx-glint{0%,68%{opacity:0;transform:translateX(-130%) skewX(-18deg)}84%{opacity:.85}
  100%{opacity:0;transform:translateX(240%) skewX(-18deg)}}
.rb-prefix.rb-badge.rb-prefix-apex,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex{height:18px;padding:0 .78em 0 .62em;border:1px solid transparent;border-radius:999px;
  overflow:hidden;font-weight:800;letter-spacing:.075em;color:#f2f5ff!important;
  text-shadow:0 0 6px rgba(160,190,255,.55);
  background:linear-gradient(#0d1119,#0d1119) padding-box,
    conic-gradient(from var(--rbpx-a),#ff7ad9,#9ab4ff,#7dffd6,#fff08a,#ff7ad9) border-box;
  animation:rbpx-prism 7s linear infinite}
.rb-prefix.rb-badge.rb-prefix-apex::before,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex::before{content:""!important;display:block;flex:none;
  width:.44em;height:.44em;border-radius:50%;margin-right:.4em;
  background:conic-gradient(from 210deg,#ff7ad9,#9ab4ff,#7dffd6,#fff08a,#ff7ad9);
  box-shadow:0 0 6px rgba(180,200,255,.75);animation:rbpx-prism 7s linear infinite reverse}
.rb-prefix.rb-badge.rb-prefix-apex::after,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex::after,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex::after,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex::after,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex::after,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex::after{content:""!important;position:absolute;top:-40%;bottom:-40%;left:0;width:45%;
  pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  animation:rbpx-glint 9s ease-in-out infinite}

/* the two pills without a dot keep one padding for the name alone */
/* VIP and Donator lead with a symbol instead of the status dot: a crown that catches the light, a heart that beats */
@keyframes rbpx-crown{0%,78%,100%{filter:drop-shadow(0 0 0 rgba(255,214,120,0))}86%{filter:drop-shadow(0 0 3px rgba(255,230,150,.95))}}
@keyframes rbpx-beat{0%,100%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.18)}56%{transform:scale(1)}}
.rb-prefix.rb-badge.rb-prefix-vip::before,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-vip::before,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip::before,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip::before,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip::before,.rb-trow .rb-prefix.rb-badge.rb-prefix-vip::before{content:"\f521"!important;display:block;flex:none;width:auto;height:auto;margin-right:.42em;border-radius:0;
  background:none;box-shadow:none;font-family:"Font Awesome 6 Free";font-weight:900;font-size:.92em;line-height:1;color:#ffd36b;
  animation:rbpx-crown 5.5s ease-in-out infinite}
.rb-prefix.rb-badge.rb-prefix-donator::before,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-donator::before,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator::before,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-donator::before,.rb-li-title .rb-prefix.rb-badge.rb-prefix-donator::before,.rb-trow .rb-prefix.rb-badge.rb-prefix-donator::before{content:"\f004"!important;display:block;flex:none;width:auto;height:auto;margin-right:.42em;border-radius:0;
  background:none;box-shadow:none;font-family:"Font Awesome 6 Free";font-weight:900;font-size:.9em;line-height:1;color:#ff7cc4;
  transform-origin:50% 55%;animation:rbpx-beat 2.1s ease-in-out infinite}
.rb-prefix.rb-badge.rb-prefix-vip,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-vip,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-trow .rb-prefix.rb-badge.rb-prefix-vip,.rb-prefix.rb-badge.rb-prefix-donator,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-donator,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-donator,.rb-li-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-trow .rb-prefix.rb-badge.rb-prefix-donator{padding-left:.6em}

/* sizes of the three special pills, place by place */
.rb-prefix.rb-badge.rb-prefix-vip,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-vip,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-trow .rb-prefix.rb-badge.rb-prefix-vip,.rb-prefix.rb-badge.rb-prefix-donator,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-donator,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-donator,.rb-li-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-trow .rb-prefix.rb-badge.rb-prefix-donator,.rb-prefix.rb-badge.rb-prefix-apex,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex{position:relative;top:-1px;display:inline-flex;align-items:center;margin:0;font-size:10.5px;line-height:1;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex{top:0;height:20px;font-size:11.5px}
.rb-crumbs .rb-prefix.rb-badge.rb-prefix-vip,.rb-li-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-donator,.rb-li-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex{top:0;height:16px;font-size:9.5px}
@media (max-width:760px){.rb-topic-title .rb-prefix.rb-badge.rb-prefix-vip,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-donator,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex{height:18px;font-size:10.5px}}

@media (prefers-reduced-motion:reduce){
  .rb-prefix.rb-prefix-vip,.rb-prefix.rb-prefix-vip::after,.rb-prefix.rb-prefix-donator,
  .rb-prefix.rb-prefix-apex,.rb-prefix.rb-prefix-apex::before,.rb-prefix.rb-prefix-apex::after,
  .rb-prefix.rb-prefix-vip::before,.rb-prefix.rb-prefix-donator::before{animation:none!important}
}
@media print{
  .rb-prefix{box-shadow:inset 0 0 0 1px currentColor}
  .rb-prefix::before,.rb-prefix::after{content:none!important;animation:none!important}
}

/* ===== MKF-ICONS-20261026 =====
   The filter chips above the buy and sell boards (All / Available / Sold / Closed, All / Looking / Trade / Closed):
   an icon in a small tinted tile in front of every label (owner 2026-10-26: "fikse finere ikon på disse"). The plugin
   prints <span class="rb-mkf-ic is-{key}"><i class="fa-solid ..."></i></span>; the tile takes the colour of the key. */
.rb-mkf-chip .rb-mkf-ic{--ic:#9aa3b3;display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;
  margin-left:-4px;border-radius:5px;background:color-mix(in srgb,var(--ic) 15%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ic) 32%,transparent);color:var(--ic);transition:background .12s,color .12s}
.rb-mkf-chip .rb-mkf-ic .fa-solid{font-size:10.5px;line-height:1}
.rb-mkf-chip .rb-mkf-ic.is-all{--ic:#aab3c3}
.rb-mkf-chip .rb-mkf-ic.is-wts{--ic:#35c78d}
.rb-mkf-chip .rb-mkf-ic.is-wtb{--ic:#6b9dff}
.rb-mkf-chip .rb-mkf-ic.is-trade{--ic:#e0a92e}
.rb-mkf-chip .rb-mkf-ic.is-interest{--ic:#a58fff}
.rb-mkf-chip .rb-mkf-ic.is-sold{--ic:#c3cad6}
.rb-mkf-chip .rb-mkf-ic.is-closed{--ic:#ef6f6d}
.rb-mkf-chip .rb-mkf-ic.is-group-buy{--ic:#9787f5}
.rb-mkf-chip .rb-mkf-ic.is-price-check{--ic:#9aa6b8}
.rb-mkf .rb-chip.rb-mkf-chip:hover .rb-mkf-ic{background:color-mix(in srgb,var(--ic) 24%,transparent)}
.rb-mkf .rb-chip.rb-mkf-chip.is-active .rb-mkf-ic{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:#fff}
.rb-mkf-chip.is-empty:not(.is-active) .rb-mkf-ic{opacity:.55}
@media (max-width:760px){.rb-mkf-chip .rb-mkf-ic{width:22px;height:22px}.rb-mkf-chip .rb-mkf-ic .fa-solid{font-size:11px}}

/* ===== RB-PAY-TIERNAME-20261026 =====
   The plan names on the Membership page (UserCP): an icon tile and a name with the plan's own light
   (owner 2026-10-26: "fikse finere farge på navnene og effects på navnene på alle memberships").
   Apex holographic, VIP gold with a glint, Donator rose to violet with a beating heart, Vendor emerald with a glint.
   An ended plan keeps its colour, dimmed and still. Motion stops for prefers-reduced-motion. */
.rb-pay-tier .rb-pay-tier-name{--t1:#e6e8ee;--t2:#ffffff;--t3:#e6e8ee;--ic:#aab3c3;
  display:inline-flex;align-items:center;gap:9px;flex:none;width:128px;color:var(--t1)}
.rb-pay-tier-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:8px;
  background:color-mix(in srgb,var(--ic) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ic) 38%,transparent),0 0 12px color-mix(in srgb,var(--ic) 18%,transparent);
  color:var(--ic)}
.rb-pay-tier-ic .fa-solid{font-size:12.5px;line-height:1}
.rb-pay-tier-label{font-size:15px;font-weight:800;letter-spacing:.01em;line-height:1.2;
  background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.85) 50%,transparent 62%),linear-gradient(90deg,var(--t1),var(--t2) 50%,var(--t3));
  background-size:250% 100%,200% 100%;background-position:160% 0,0% 50%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--t1)}

@keyframes rbpt-glint{0%,62%{background-position:160% 0,0% 50%}100%{background-position:-60% 0,100% 50%}}
@keyframes rbpt-flow{0%{background-position:160% 0,0% 50%}100%{background-position:160% 0,200% 50%}}
@keyframes rbpt-holo{0%{background-position:160% 0,0% 50%}100%{background-position:160% 0,300% 50%}}
@keyframes rbpt-beat{0%,100%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.14)}56%{transform:scale(1)}}
@keyframes rbpt-crown{0%,80%,100%{filter:none}88%{filter:drop-shadow(0 0 4px rgba(255,220,130,.95))}}

/* Apex: holographic */
.rb-pay-tier.is-apex .rb-pay-tier-name{--t1:#ffa6dc;--t2:#b4c6ff;--t3:#a2ffe4;--ic:#b4c6ff}
.rb-pay-tier.is-apex .rb-pay-tier-label{background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%),
  linear-gradient(90deg,#ffa6dc,#b4c6ff,#a2ffe4,#fff1a6,#ffa6dc);background-size:250% 100%,300% 100%;
  filter:drop-shadow(0 0 6px rgba(180,198,255,.35))}
.rb-pay-tier.is-apex.is-active .rb-pay-tier-label{animation:rbpt-holo 6s linear infinite}
.rb-pay-tier.is-apex .rb-pay-tier-ic{background:linear-gradient(135deg,rgba(255,166,220,.18),rgba(162,255,228,.16));
  box-shadow:inset 0 0 0 1px rgba(180,198,255,.45),0 0 14px rgba(180,198,255,.22)}
.rb-pay-tier.is-apex .rb-pay-tier-ic .fa-solid{background:linear-gradient(135deg,#ffa6dc,#b4c6ff,#a2ffe4);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent}

/* VIP: gold, a glint crosses the name */
.rb-pay-tier.is-vip .rb-pay-tier-name{--t1:#d99a1e;--t2:#fff1a8;--t3:#f5c542;--ic:#f5c542}
.rb-pay-tier.is-vip .rb-pay-tier-label{filter:drop-shadow(0 0 6px rgba(245,197,66,.25))}
.rb-pay-tier.is-vip.is-active .rb-pay-tier-label{animation:rbpt-glint 4.5s ease-in-out infinite}
.rb-pay-tier.is-vip.is-active .rb-pay-tier-ic .fa-solid{animation:rbpt-crown 4.5s ease-in-out infinite}

/* Donator: rose to violet, the heart beats */
.rb-pay-tier.is-donator .rb-pay-tier-name{--t1:#ff6ad5;--t2:#c48bff;--t3:#ff6ad5;--ic:#ff7cc4}
.rb-pay-tier.is-donator .rb-pay-tier-label{filter:drop-shadow(0 0 6px rgba(255,106,213,.25))}
.rb-pay-tier.is-donator.is-active .rb-pay-tier-label{animation:rbpt-flow 5s linear infinite}
.rb-pay-tier.is-donator.is-active .rb-pay-tier-ic .fa-solid{animation:rbpt-beat 2.1s ease-in-out infinite;transform-origin:50% 55%}

/* Vendor: emerald, a glint crosses the name */
.rb-pay-tier.is-vendor .rb-pay-tier-name{--t1:#2fbf87;--t2:#b8ffe0;--t3:#5fe0a8;--ic:#3ed39a}
.rb-pay-tier.is-vendor .rb-pay-tier-label{filter:drop-shadow(0 0 6px rgba(62,211,154,.22))}
.rb-pay-tier.is-vendor.is-active .rb-pay-tier-label{animation:rbpt-glint 5.5s ease-in-out infinite}

/* an ended plan: the colour stays, dimmed and still */
.rb-pay-tier.is-ended .rb-pay-tier-name{opacity:.55;filter:saturate(.55)}
.rb-pay-tier.is-ended .rb-pay-tier-label,.rb-pay-tier.is-ended .rb-pay-tier-ic .fa-solid{animation:none!important}
.rb-pay-tier.is-ended .rb-pay-tier-ic{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ic) 30%,transparent)}

@media (max-width:640px){.rb-pay-tier .rb-pay-tier-name{width:auto;min-width:120px}}
@media (prefers-reduced-motion:reduce){.rb-pay-tier-label,.rb-pay-tier-ic .fa-solid{animation:none!important}}

/* ===== UCP-AWAY-20261026 =====
   UserCP > Edit profile (plugin rb_ucpaway). Owner 2026-10-26: "mye tom rom" after Location / Bio / Gender went,
   "custom user title og alt som er i edit profile øverst", the away box "nederst ... fikse den fint og bra".
   Top to bottom: the Edit Profile card (custom user title), Contact for buyers, Signature, the Away card. */

/* ---- the Edit Profile card: one column; it goes when nothing is left in it (no custom title, no custom fields) ---- */
.rb-ucp-profile .rb-opt-grid{grid-template-columns:minmax(0,1fr)}
.rb-ucp-profile .rb-opt-col:first-child:not(:has(> :not(.rb-req-group):not(.rb-opt-off))):not(:has(> .rb-req-group > .rb-opt-body:not(:empty))){display:none}
.rb-ucp-profile .rb-usercp-main > form#rb-ucp-profile-form:not(:has(.rb-ucp-ct:not(:empty))):not(:has(.rb-opt-col:first-child > :not(.rb-req-group):not(.rb-opt-off))):not(:has(.error,.rb-alert,.red_alert)){display:none}
.rb-ucp-profile .rb-ucp-ct .rb-fieldset{margin:0}
.rb-ucp-profile .rb-ucp-ct .rb-opt-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;align-items:start}
.rb-ucp-profile .rb-ucp-ct .rb-opt-note,.rb-ucp-profile .rb-ucp-ct .rb-opt-body > :last-child:not(.rb-field){grid-column:1 / -1}
@media (max-width:760px){.rb-ucp-profile .rb-ucp-ct .rb-opt-body{grid-template-columns:minmax(0,1fr)}}

/* ---- the Away card at the bottom ---- */
.rb-ucp-away-card{scroll-margin-top:calc(var(--topbar-h,54px) + 16px)}
.rb-ucp-aw-note{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--muted)}
.rb-ucp-aw > .rb-fieldset{margin:0;padding:0;border:0;background:none;box-shadow:none}
.rb-ucp-aw > .rb-fieldset > legend{display:none}
.rb-ucp-aw > .rb-fieldset > .rb-opt-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;padding:0;align-items:start}
.rb-ucp-aw .rb-field:first-child{grid-column:1 / -1}
.rb-ucp-aw .rb-field:first-child > .rb-label{display:none}
.rb-ucp-aw .rb-date-row{display:grid;grid-template-columns:minmax(84px,.8fr) minmax(120px,1.4fr) minmax(84px,.8fr);gap:10px}
.rb-ucp-aw .rb-date-row > *{width:100%;min-width:0;margin:0}

/* the status as two big choices */
.rb-ucp-aw .rb-checks.is-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rb-ucp-aw .rb-check{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;margin:0;padding:14px 16px;
  border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;transition:background .12s,box-shadow .12s}
.rb-ucp-aw .rb-check:hover{background:var(--surface-3)}
.rb-ucp-aw .rb-check input{position:absolute;opacity:0;pointer-events:none}
.rb-ucp-aw .rb-check::before{font-family:"Font Awesome 6 Free";font-weight:900;display:flex;align-items:center;justify-content:center;flex:none;
  width:40px;height:40px;border-radius:50%;font-size:16px;color:var(--ic);
  background:color-mix(in srgb,var(--ic) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ic) 34%,transparent)}
.rb-ucp-aw .rb-check:has(input[value="0"]){--ic:#35c78d;order:-1}
.rb-ucp-aw .rb-check:has(input[value="0"])::before{content:"\f00c"}
.rb-ucp-aw .rb-check:has(input[value="1"]){--ic:#e0a92e}
.rb-ucp-aw .rb-check:has(input[value="1"])::before{content:"\f5b0"}
.rb-ucp-aw .rb-check span{font-size:15px;font-weight:700;color:#fff}
.rb-ucp-aw .rb-check:has(input[value="0"]) span::after{content:"Your profile shows you as active";display:block;margin-top:3px;font-size:12px;font-weight:500;color:var(--muted)}
.rb-ucp-aw .rb-check:has(input[value="1"]) span::after{content:"Members see that you are away";display:block;margin-top:3px;font-size:12px;font-weight:500;color:var(--muted)}
.rb-ucp-aw .rb-check:has(input:checked){background:color-mix(in srgb,var(--ic) 10%,var(--surface-2));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ic) 70%,transparent)}
.rb-ucp-aw .rb-check:has(input:checked)::before{background:var(--ic);color:#0d1016;box-shadow:0 0 14px color-mix(in srgb,var(--ic) 40%,transparent)}
.rb-ucp-aw .rb-check:has(input:focus-visible){outline:2px solid var(--accent-2,#6b9dff);outline-offset:2px}
/* the reason and the return date only matter when away: quiet until then */
.rb-ucp-aw:has(input[name="away"][value="0"]:checked) .rb-field:not(:first-child){opacity:.5}
@media (max-width:760px){
  .rb-ucp-aw > .rb-fieldset > .rb-opt-body,.rb-ucp-aw .rb-checks.is-inline{grid-template-columns:minmax(0,1fr)}
}

/* ===== UCP-AWAY-POSTBIT-20261027 =====
   Posts by an away member (plugin rb_ucpaway 1.2): a small amber label on its own line under the name,
   "Away until 9 Nov" or "Away"; the reason is the tooltip. */
.rb-post-name .rb-post-away{flex-basis:100%;display:flex;justify-content:inherit;margin-top:-2px}
.rb-post-away-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;
  background:rgba(224,169,46,.12);box-shadow:inset 0 0 0 1px rgba(224,169,46,.38);color:#f0cf86;
  font-size:11.5px;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap;cursor:default}
.rb-post-away-chip .fa-solid{font-size:10.5px;color:#e0a92e}

/* ===== PM-RECIP-20261027 =====
   1) the PM recipient field (select2 3.x on private.php?action=send). Owner: "på recipients og skrive en bruker så blir
      feltet hvit mens du skriver". select2.css paints a few states white with !important and more classes than the
      theme's rules (the search box while it loads, "Loading more results", the selection limit, the focused box):
      the same states dark, one class more.
   2) the New PM button in the head of the PM folder card (plugin rb_pmplus). */
html body .select2-container-multi .select2-choices .select2-search-field input.select2-input,
html body .select2-container-multi .select2-choices .select2-search-field input.select2-active,
html body .select2-container-multi.select2-container-active .select2-choices .select2-search-field input{
  background:transparent!important;color:var(--fg)!important;box-shadow:none!important}
/* while it loads: no white box and no light spinner, the dropdown says Searching */
html body .select2-container-multi .select2-choices .select2-search-field input.select2-active,
html body .select2-container .select2-search input.select2-active,html body .select2-drop .select2-search input.select2-active{
  background:transparent!important;background-image:none!important}
html body .select2-container-multi .select2-choices .select2-search-field input.select2-active::placeholder{color:var(--muted)}
html body .select2-container-multi.select2-container-active .select2-choices,
html body .select2-container-multi.select2-container-active.select2-dropdown-open .select2-choices{
  background:#12121a!important;border-color:var(--accent-2,#6b9dff)!important;box-shadow:0 0 0 3px rgba(107,157,255,.18)!important}
html body .select2-container-multi .select2-choices .select2-search-field input:-webkit-autofill{
  -webkit-text-fill-color:var(--fg)!important;-webkit-box-shadow:0 0 0 40px #12121a inset!important}
html body .select2-results .select2-selection-limit,html body .select2-results .select2-more-results,
html body .select2-results .select2-more-results.select2-active,html body .select2-results .select2-searching,
html body .select2-results .select2-no-results,html body .select2-results .select2-ajax-error{
  background:transparent!important;color:var(--muted)!important;padding:10px 12px!important}
html body .select2-results .select2-ajax-error{color:#f2b3b2!important}
html body .select2-drop.select2-drop-active,html body .select2-drop-active.select2-drop-above{
  border-color:#34344a!important;background:#181822!important}
html body .select2-results .select2-result-label{color:var(--fg)}
html body .select2-results .select2-highlighted .select2-result-label{color:#fff}
html body .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close{filter:invert(1);opacity:.7}

/* the New PM button: in front of the search in the card head; on phones the button keeps its own line */
.rb-pm-card .rb-card-tools.rb-pm-search{align-items:center}
.rb-pm-card .rb-pm-new.button{display:inline-flex;align-items:center;gap:7px;height:32px;margin:0;padding:0 14px;
  font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none}
.rb-pm-card .rb-pm-new .fa-solid{font-size:12px}
@media (max-width:760px){
  .rb-pm-card .rb-pm-new.button{height:38px;width:100%;justify-content:center;order:-1}
}


/* ===== PREFIX-FLAGS-A-20261028 =====
   Owner 2026-10-28 chose A: a round flag and the full country name (Sverige, Norge, Danmark) in a quiet pill. The flag
   is an SVG with the real Nordic cross, flush at the start of the pill; the name is in normal case so it reads as a
   place, not a status. Only the three country classes are touched (the names come from the prefix rows 25, 26, 27). */
.rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk){
  --rbpx-t:#e7ebf3;gap:.45em;padding-left:.3em;padding-right:.8em;
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:var(--rbpx-t);
  font-size:11px;font-weight:600;letter-spacing:.01em;text-transform:none}
.rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk)::before{
  /* PREFIX-FLAGS-A2 (owner: the flag ran into the edge of the pill): a smaller disc with air to the pill edge, and
     the light ring drawn inside the disc so nothing reaches past it */
  width:1.12em;height:1.12em;border-radius:50%;overflow:hidden;background:var(--rbpx-flag) center/cover no-repeat;background-color:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.rb-prefix.rb-prefix.rb-prefix.is-se{--rbpx-flag:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Crect width=%2720%27 height=%2720%27 fill=%27%23006aa7%27/%3E%3Crect x=%276%27 width=%273.2%27 height=%2720%27 fill=%27%23fecc00%27/%3E%3Crect y=%278.4%27 width=%2720%27 height=%273.2%27 fill=%27%23fecc00%27/%3E%3C/svg%3E")}
.rb-prefix.rb-prefix.rb-prefix.is-no{--rbpx-flag:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Crect width=%2720%27 height=%2720%27 fill=%27%23ba0c2f%27/%3E%3Crect x=%274.6%27 width=%275.4%27 height=%2720%27 fill=%27%23fff%27/%3E%3Crect y=%277.3%27 width=%2720%27 height=%275.4%27 fill=%27%23fff%27/%3E%3Crect x=%275.95%27 width=%272.7%27 height=%2720%27 fill=%27%2300205b%27/%3E%3Crect y=%278.65%27 width=%2720%27 height=%272.7%27 fill=%27%2300205b%27/%3E%3C/svg%3E")}
.rb-prefix.rb-prefix.rb-prefix.is-dk{--rbpx-flag:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Crect width=%2720%27 height=%2720%27 fill=%27%23c8102e%27/%3E%3Crect x=%276%27 width=%273.2%27 height=%2720%27 fill=%27%23fff%27/%3E%3Crect y=%278.4%27 width=%2720%27 height=%273.2%27 fill=%27%23fff%27/%3E%3C/svg%3E")}
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk){background:rgba(8,10,14,.45);font-size:12px}
.rb-crumbs .rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk),.rb-li-title .rb-prefix.rb-prefix.rb-prefix:is(.is-se,.is-no,.is-dk){font-size:10px}

/* ===== POST-ACTIONS-A-20261028 =====
   The row under a post as the owner approved it (mockups/post-actions-forslag.html, Forslag A), template class .rb-pa2:
     [Like n] [Rate] .................................. [Quote] [Vouch] [Edit] [...]
   Like is never behind More. Quote and Vouch are the actions that take you on, on the right. Edit only when you may
   edit (own posts, staff). More holds PM, website, Report, Report scam and the staff tools at every width. Up to 1000px
   rb-ux.js moves Edit into More; up to 760px Rate, Quote and Vouch show their icon only (the name stays for screen
   readers and in the title). The old .rb-pa rules (parts/postactions.css) still exist for any template without .rb-pa2. */
.rb-post .rb-post-foot.rb-pa2{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 10px;padding-top:14px}
.rb-post .rb-pa2 .rb-pa2-l,.rb-post .rb-pa2 .rb-pa2-r{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0}
.rb-post .rb-pa2 .rb-pa2-r{margin-left:auto}
.rb-post .rb-pa2 .rb-pa2-l:not(:has(a,button)),.rb-post .rb-pa2 .rb-pa2-r:not(:has(a,button)){display:none}
.rb-post .rb-pa2 .rb-pa2-edit{display:contents}
.rb-post .rb-pa2 .rb-pa2-l .rb-react{flex:none;margin:0}
.rb-post .rb-pa2 .rb-pa2-l .rb-react-sum{flex-wrap:nowrap}
/* the IP line for moderators: its own small line under the row */
.rb-post .rb-pa2 .rb-post-ip{order:3;flex:0 0 100%;margin:0;text-align:right;font-size:11.5px;color:var(--muted)}
.rb-post .rb-pa2 .rb-post-ip:not(:has(*)){display:none}

/* one size for every button in the row */
.rb-post .rb-pa2 .rb-pa2-l .rb-btn,.rb-post .rb-pa2 .rb-pa2-r .rb-btn,.rb-post .rb-pa2 .rb-pa-toggle,
.rb-post .rb-pa2 .rb-react.is-like .rb-like-btn{height:32px;margin:0;padding:0 12px;gap:7px;font-size:13px;font-weight:500;border-radius:3px}
/* Like first and outlined in blue, so it is never missed; liked stays the filled blue it was */
.rb-post .rb-pa2 .rb-react.is-like .rb-like-btn{border-color:rgba(91,141,239,.5);color:#dfe8ff}
.rb-post .rb-pa2 .rb-react.is-like button.rb-like-btn:hover{border-color:var(--accent-2);background:rgba(45,99,199,.12);color:#fff}
.rb-post .rb-pa2 .rb-react.is-like .rb-like-btn .fa-thumbs-up{color:#8fb2ff}
.rb-post .rb-pa2 .rb-react.is-like .rb-like-btn.is-mine{background:rgba(45,99,199,.2);border-color:rgba(91,141,239,.7);color:#fff}
/* Vouch in the row: the green of the vouch buttons, quiet */
.rb-post .rb-pa2 .rb-pa2-vouch{border-color:rgba(53,199,141,.4);color:#c6efdc}
.rb-post .rb-pa2 .rb-pa2-vouch .fa-solid{color:#35c78d}
.rb-post .rb-pa2 .rb-pa2-vouch:hover{background:rgba(53,199,141,.12);border-color:#35c78d;color:#fff}

/* More: a menu at every width (rb-ux.js opens and places it; no positioned ancestor, page coordinates) */
.rb-post .rb-pa2 .rb-pa-more{display:block;flex:none}
.rb-post .rb-pa2 .rb-pa-more:not(:has(.rb-pa-menu a)){display:none}
.rb-post .rb-pa2 .rb-pa-toggle{display:inline-flex;align-items:center;font-family:inherit;cursor:pointer}
.rb-post .rb-pa2 .rb-pa-toggle .fa-solid{font-size:14px}
.rb-post .rb-pa2 .rb-pa-more.is-open .rb-pa-toggle{background:var(--surface-4);border-color:var(--line-2);color:#fff}
.rb-post .rb-pa2 .rb-pa-more .rb-pa-menu{display:none;position:absolute;top:0;left:0;z-index:56;min-width:210px;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:4px;box-shadow:0 12px 24px rgba(0,0,0,.5);text-align:left}
.rb-post .rb-pa2 .rb-pa-more.is-open .rb-pa-menu{display:block}
html:not(.rb-pa-ready) .rb-post .rb-pa2 .rb-pa-more{direction:rtl}
html:not(.rb-pa-ready) .rb-post .rb-pa2 .rb-pa-more > *{direction:ltr}
html:not(.rb-pa-ready) .rb-post .rb-pa2 .rb-pa-more .rb-pa-menu{top:auto;left:auto}
html:not(.rb-pa-ready) .rb-post .rb-pa2 .rb-pa-more:hover .rb-pa-menu,html:not(.rb-pa-ready) .rb-post .rb-pa2 .rb-pa-more:focus-within .rb-pa-menu{display:block}
.rb-post .rb-pa2 .rb-pa-menu .rb-post-btns{display:flex;flex-direction:column;align-items:stretch;gap:0;float:none;margin:0}
.rb-post .rb-pa2 .rb-pa-menu .rb-post-btns:not(:has(a)),.rb-post .rb-pa2 .rb-pa2-editslot:not(:has(a)){display:none}
.rb-post .rb-pa2 .rb-pa-menu > :has(a) ~ :has(a){margin-top:4px;padding-top:4px;border-top:1px solid var(--line-2)}
.rb-post .rb-pa2 .rb-pa-menu .rb-post-btns a,.rb-post .rb-pa2 .rb-pa-menu .popup_item{display:flex;align-items:center;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-pa2 .rb-pa-menu .rb-post-btns a:hover,.rb-post .rb-pa2 .rb-pa-menu .popup_item:hover,.rb-post .rb-pa2 .rb-pa-menu a:focus-visible{background:var(--surface-3);color:#fff}
.rb-post .rb-pa2 .rb-pa-menu a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rb-post .rb-pa2 .rb-pa-menu .fa-solid{flex:none;width:16px;text-align:center;font-size:13px;color:var(--muted)}
.rb-post .rb-pa2 .rb-pa-menu a.rb-scam-btn,.rb-post .rb-pa2 .rb-pa-menu a.rb-scam-btn .fa-solid{color:color-mix(in srgb,var(--red) 65%,var(--fg-2))}
.rb-post .rb-pa2 .rb-pa-menu a.rb-scam-btn:hover,.rb-post .rb-pa2 .rb-pa-menu a.rb-scam-btn:hover .fa-solid{color:var(--red)}
/* Edit inside More (up to 1000px): the quick edit popup shows as two rows instead of the Edit button */
.rb-post .rb-pa2 .rb-pa2-editslot a.postbit_edit[id^="edit_post_"]{display:none}
.rb-post .rb-pa2 .rb-pa2-editslot .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-pa2 .rb-pa2-editslot .popup_item_container{margin:0}
.rb-post:not(.deleted_post) .rb-pa2 .rb-pa-more.is-noajax .rb-pa2-editslot a.postbit_edit{display:flex}
.rb-post .rb-pa2 .rb-pa-more.is-noajax .rb-pa2-editslot .rb-pa-editmenu,.post.deleted_post .rb-pa2 .rb-pa2-editslot .rb-pa-editmenu{display:none!important}

/* phones: Like keeps its word and count; Rate, Quote, Vouch and More are icons */
@media (max-width:760px){
  .rb-post .rb-post-foot.rb-pa2{gap:8px}
  .rb-post .rb-pa2 .rb-pa2-l .rb-btn,.rb-post .rb-pa2 .rb-pa2-r .rb-btn,.rb-post .rb-pa2 .rb-pa-toggle,
  .rb-post .rb-pa2 .rb-react.is-like .rb-like-btn{height:36px}
  .rb-post .rb-pa2 .rb-pa2-l > .rb-btn,.rb-post .rb-pa2 .rb-pa2-r > .rb-btn,.rb-post .rb-pa2 .rb-pa2-r > .rb-pa2-edit > .rb-btn,.rb-post .rb-pa2 .rb-pa-toggle{width:38px;padding:0;justify-content:center}
  .rb-post .rb-pa2 .rb-pa2-l > .rb-btn > span,.rb-post .rb-pa2 .rb-pa2-r > .rb-btn > span,.rb-post .rb-pa2 .rb-pa2-edit > .rb-btn > span,.rb-post .rb-pa2 .rb-pa-toggle .rb-pa-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rb-post .rb-pa2 .rb-pa2-l > .rb-btn .fa-solid,.rb-post .rb-pa2 .rb-pa2-r > .rb-btn .fa-solid,.rb-post .rb-pa2 .rb-pa2-edit > .rb-btn .fa-solid{font-size:14px}
}
@media print{.rb-post .rb-pa2 .rb-pa-toggle,.rb-post .rb-pa2 .rb-pa-menu{display:none}}
/* the menu rows set display:flex: MyBB s state rules for deleted and normal posts are repeated after them */
.rb-post:not(.deleted_post) .rb-pa2 .postbit_qrestore,.rb-post.deleted_post .rb-pa2 .postbit_mirage{display:none}
.rb-post:not(.deleted_post) .rb-pa2 .rb-pa-menu .rb-post-btns a.postbit_qrestore,.rb-post.deleted_post .rb-pa2 .rb-pa-menu .rb-post-btns a.postbit_mirage{display:none}
/* owner 2026-10-28: on phones Vouch is only in the thread toolbar at the top, not in the row under the posts; Edit
   stays in the row as an icon (its Quick Edit / Full Edit popup opens from it) */
@media (max-width:760px){
  .rb-post .rb-pa2 .rb-pa2-vouch{display:none}
}
/* owner 2026-10-28: Rate is Rep with a star; the word is short, so it stays next to the star on phones too, like Like */
@media (max-width:760px){
  .rb-post .rb-pa2 .rb-pa2-l > .postbit_reputation_add{width:auto;padding:0 12px}
  .rb-post .rb-pa2 .rb-pa2-l > .postbit_reputation_add > span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}

/* owner 2026-10-28: the handshake is green on the profile, both on Leave a vouch and on the Vouches tile.
   The buttons keep the plain profile look, only the icon is green. */
.rb-pp .rb-pp-actions .rb-pa-btn.is-vouch > .fa-solid{color:var(--green)}
.rb-pp .rb-pp-actions .rb-pa-btn.is-vouch:hover > .fa-solid{color:var(--green-text)}
.rb-pp .rb-pp-tile.is-vouch .rb-pp-ibtn,
.rb-pp .rb-pp-tile.is-vouch:hover .rb-pp-ibtn{color:var(--green)}

/* owner 2026-10-28: Apex gets a real symbol like VIP (crown) and Donator (heart): the gem of the Apex plan, in the
   Apex colours, with a light sweeping through it. Replaces the small prism dot. */
@keyframes rbpx-gem{0%{background-position:0% 50%;filter:drop-shadow(0 0 2px rgba(180,200,255,.45))}
  50%{background-position:100% 50%;filter:drop-shadow(0 0 4px rgba(200,215,255,.9))}
  100%{background-position:0% 50%;filter:drop-shadow(0 0 2px rgba(180,200,255,.45))}}
.rb-prefix.rb-badge.rb-prefix-apex::before,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex::before,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex::before{
  content:"\f3a5"!important;display:block;flex:none;width:auto;height:auto;margin-right:.42em;border-radius:0;box-shadow:none;
  font-family:"Font Awesome 6 Free";font-weight:900;font-size:.92em;line-height:1;text-shadow:none;
  background:linear-gradient(120deg,#ffa6dc,#b4c6ff 30%,#a2ffe4 55%,#fff1a6 75%,#ffa6dc) 0% 50% / 300% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:rbpx-gem 6s ease-in-out infinite}
.rb-prefix.rb-badge.rb-prefix-apex,.rb-card.rb-threads .rb-trow .rb-prefix.rb-badge.rb-prefix-apex,.rb-topic-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-crumbs .rb-prefix.rb-badge.rb-prefix-apex,.rb-li-title .rb-prefix.rb-badge.rb-prefix-apex,.rb-trow .rb-prefix.rb-badge.rb-prefix-apex{padding-left:.6em}

/* owner 2026-10-28: the closed (lock) and link subforum icons on the index (Köpare, Säljare and the NO/DK copies)
   lost to the grey dot rule above and showed a grey box behind the lock. Lock and link icons stay a plain glyph. */
.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;align-items:center}
.rb-forum .rb-subforums .rb-subforum:hover .subforum_minioffclose,.rb-forum .rb-subforums .rb-subforum:hover .subforum_miniofflink{color:var(--fg-2)}


/* owner 2026-10-29: between the phone layout and the desktop sidebar (761 to 1100px) the sidebar cards stack under the
   forum list, and .rb-side-latest{grid-row:3} (the desktop sidebar row) pinned Latest Activity under Your account.
   Latest Activity first, then Your account and the announcements; the forum list stays on top. Phones (760px and
   less) already have their own order. */
@media (min-width:761px) and (max-width:1100px){
  .rb-index > .rb-activity{order:1;grid-row:auto}
  .rb-index > .rb-side-welcome,.rb-index > .rb-side-ann{order:2}
}


/* owner 2026-10-29: Threads and Posts on the profile statistics card open the member's threads and posts */
a.rb-pp-stat.is-link{color:inherit;text-decoration:none;transition:background-color .15s}
a.rb-pp-stat.is-link:hover,a.rb-pp-stat.is-link:focus-visible{background:var(--surface-2)}
a.rb-pp-stat.is-link:hover b,a.rb-pp-stat.is-link:focus-visible b{color:var(--accent-2,#fff)}


/* MODBY-20261029: Moderated by Name, Name (the comma comes from here, so a hidden group moderator never leaves one) */
.rb-forum-modby .rb-modby-name + .rb-modby-name::before{content:", ";color:var(--muted)}
.rb-forum-modby strong{font-weight:600}


/* A11Y-SEO-20261029: Lighthouse. Banned names readable (4.5:1 on the cards), footer h2 as small as the old h4, the
   "last post" date link a 24px tall target with room above it (desktop list, two lines) */
.rb-name-banned{color:#8b919c;opacity:1}
.rb-latest .rb-li-sub a{font-weight:600}
.rb-footer.rb-fv2 h2{line-height:1.25}
@media (min-width:761px){
  .rb-card.rb-threads .rb-trow .lastpost{row-gap:6px}
  .rb-card.rb-threads .rb-trow a.rb-last-date{padding:5px 0;margin:-5px 0}
}


/* ESCROW-NAVCOUNT-20261029: count badges in the User CP tabs and their links (the global .rb-count is absolute) */
.rb-ucptabs .rb-count{position:static;display:inline-block;margin-left:6px;vertical-align:1px}
@media (max-width:760px){
  .rb-ucptabs-bar > a{position:relative}
  .rb-ucptabs-bar > a > .rb-count{position:absolute;top:3px;left:calc(50% + 6px);margin:0}
}


/* UCP-NAVBADGES-20261029: a reminder badge ("!": a plan or the vendor membership ends within 2 days) */
.rb-count.is-warn{background:var(--amber);color:#1a1206}
.rb-subnav-item .rb-count,.rb-subnav a .rb-count{position:static;margin-left:auto}



/* MOBILE-ACTIVITY-20261030 (owner): on phones Latest Activity comes right under Your account (it was under the shoutbox) */
@media (max-width:760px){
  .rb-index > .rb-activity{order:12}
}



/* UPGRADE2-20261030 (owner): upgrade page offer, post background (Apex), saved searches, take a break */
.rb-plans-offer{display:inline-flex;align-items:center;gap:7px;margin-left:10px;padding:5px 10px;border-radius:3px;background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.35);color:#ffd666;font-size:12.5px;font-weight:600;white-space:nowrap}
.rb-plans-switch:empty{display:none}
.rb-plans-switch:has(> .rb-plans-offer:only-child){border:0;background:none;overflow:visible}
.rb-plans-switch > .rb-plans-offer:only-child{margin-left:0}
.rb-plan-was{display:block;font-size:.55em;font-weight:500;color:var(--muted);text-decoration:line-through;line-height:1.1}
.is-promo .rb-plan-per{color:#ffd666}
@media (max-width:760px){.rb-plans-offer{margin:8px 0 0;white-space:normal}}

.rb-post.rb-pbbg .rb-post-author{position:relative;isolation:isolate}
.rb-post.rb-pbbg .rb-post-author::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit}
.rb-pbbg-aurora .rb-post-author::after{background:linear-gradient(160deg,rgba(64,224,208,.20),rgba(124,77,255,.16) 55%,rgba(124,77,255,0))}
.rb-pbbg-ember .rb-post-author::after{background:linear-gradient(160deg,rgba(255,122,47,.24),rgba(255,59,48,.10) 55%,rgba(255,59,48,0))}
.rb-pbbg-ocean .rb-post-author::after{background:linear-gradient(160deg,rgba(41,121,255,.24),rgba(0,188,212,.10) 55%,rgba(0,188,212,0))}
.rb-pbbg-forest .rb-post-author::after{background:linear-gradient(160deg,rgba(76,175,80,.22),rgba(0,150,136,.09) 55%,rgba(0,150,136,0))}
.rb-pbbg-dusk .rb-post-author::after{background:linear-gradient(160deg,rgba(233,30,99,.20),rgba(103,58,183,.14) 55%,rgba(103,58,183,0))}
.rb-pbbg-gold .rb-post-author::after{background:linear-gradient(160deg,rgba(255,193,7,.22),rgba(255,152,0,.08) 55%,rgba(255,152,0,0))}
.rb-pbbg-steel .rb-post-author::after{background:linear-gradient(160deg,rgba(176,190,197,.20),rgba(96,125,139,.08) 55%,rgba(96,125,139,0))}
.rb-pbbg-gem .rb-post-author::after{background:linear-gradient(160deg,rgba(255,166,220,.18),rgba(180,198,255,.16) 35%,rgba(162,255,228,.12) 65%,rgba(162,255,228,0))}

.rb-up2-bgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:0;padding:0;border:0}
.rb-up2-bg{position:relative;display:flex;flex-direction:column;gap:6px;cursor:pointer;font-size:13px;color:var(--fg-2)}
.rb-up2-bg input{position:absolute;opacity:0;pointer-events:none}
.rb-up2-bg-tile{display:block;height:54px;border-radius:3px;border:1px solid var(--line-2);background-color:var(--surface-2)}
.rb-up2-bg input:checked + .rb-up2-bg-tile{outline:2px solid var(--accent,#8ab4ff);outline-offset:2px}
.rb-up2-bg input:focus-visible + .rb-up2-bg-tile{outline:2px solid #fff;outline-offset:2px}

.rb-up2-savebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:13px;color:var(--muted)}
.rb-up2-savebar .rb-up2-title{flex:1 1 220px;min-width:0;max-width:420px}
.rb-up2-savebar-list{margin-left:auto}
.rb-up2-lead{margin:0 0 14px;color:var(--fg-2)}
.rb-up2-empty{margin:0;color:var(--muted)}
.rb-up2-sslist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:3px}
.rb-up2-ss{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}
.rb-up2-ss:first-child{border-top:0}
.rb-up2-ss-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rb-up2-ss-main b{overflow-wrap:anywhere}
.rb-up2-ss-main small{color:var(--muted);overflow-wrap:anywhere}
.rb-up2-ss-acts{display:flex;gap:6px;flex:none}
.rb-up2-ss-acts form{margin:0}
@media (max-width:600px){.rb-up2-ss{flex-direction:column;align-items:stretch}.rb-up2-ss-acts{justify-content:flex-end}}

.rb-up2-days{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;border:0}
.rb-up2-day{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);cursor:pointer;font-size:13.5px}
.rb-up2-day:has(input:checked){border-color:var(--accent,#8ab4ff);background:var(--surface-3)}
.rb-up2-sure{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--fg-2);cursor:pointer}
.rb-up2-sure input{margin-top:3px}


/* CREDITS-20261030 1.1 (owner: "mer moderne og clean UI"): line icons, quiet surfaces, gold only on numbers */
.rb-ci{display:inline-block;flex:none;width:18px;height:18px;vertical-align:-3px}
.rb-cr{--cr-gold:#e5b84b;--cr-ok:#5ac48a;--cr-bad:#ef7b7b;--cr-ico-bg:rgba(255,255,255,.035)}
.rb-cr .rb-cr-card{margin-bottom:16px}
.rb-cr .rb-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rb-cr .rb-card-head .rb-card-title{flex:1 1 auto}
.rb-cr-headnote{font-size:12px;color:rgba(255,255,255,.7)}
.rb-cr-paused{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface-2);color:var(--fg-2);font-size:13.5px}

/* overview */
.rb-cr-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.9fr);gap:0}
.rb-cr-bal{padding:22px 24px;border-right:1px solid var(--line)}
.rb-cr-eyebrow{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-cr-big{margin:4px 0 16px;font-size:36px;line-height:1.05;font-weight:700;letter-spacing:-.02em;color:var(--cr-gold);font-variant-numeric:tabular-nums}
.rb-cr-big span{margin-left:8px;font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}
.rb-cr-level-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font-size:13px}
.rb-cr-level-top span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.rb-cr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.rb-cr-stat{display:flex;align-items:flex-start;gap:12px;padding:22px 20px;border-right:1px solid var(--line)}
.rb-cr-stat:last-child{border-right:0}
.rb-cr-stat b{display:block;font-size:20px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}
.rb-cr-stat span:not(.rb-cr-stat-ico){display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.rb-cr-stat-ico,.rb-cr-q-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--cr-ico-bg);color:var(--fg-2)}
.rb-cr-stat.is-streak .rb-cr-stat-ico{color:#f2994a}
.rb-cr-stat.is-plan .rb-cr-stat-ico{color:#b49cff}
@media (max-width:1000px){.rb-cr-hero{grid-template-columns:1fr}.rb-cr-bal{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:640px){.rb-cr-stats{grid-template-columns:1fr}.rb-cr-stat{border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}.rb-cr-stat:last-child{border-bottom:0}.rb-cr-bal{padding:18px}.rb-cr-big{font-size:32px}}

/* progress bars */
.rb-cr-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.rb-cr-bar > span{display:block;height:100%;border-radius:99px;background:var(--cr-gold)}

/* quests */
.rb-cr-sub{margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rb-cr-sub + .rb-cr-qlist{margin-top:0}
.rb-cr-allbonus + .rb-cr-sub{margin-top:22px}
.rb-cr-qlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px}
.rb-cr-q{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line)}
.rb-cr-q:first-child{border-top:0}
.rb-cr-q-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.rb-cr-q-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rb-cr-q-top b{font-size:14px;font-weight:600}
.rb-cr-q-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rb-cr-q-main small{font-size:12.5px;color:var(--muted);line-height:1.4}
.rb-cr-q-act{flex:none;min-width:84px;display:flex;justify-content:flex-end}
.rb-cr-q.is-ready{background:rgba(229,184,75,.05)}
.rb-cr-q.is-ready .rb-cr-q-ico{color:var(--cr-gold);border-color:rgba(229,184,75,.35)}
.rb-cr-q.is-claimed .rb-cr-q-main b{color:var(--muted)}
.rb-cr-q.is-claimed .rb-cr-bar > span{background:var(--cr-ok)}
.rb-cr-qlist.is-weekly{border-color:var(--line-2)}
.rb-cr-claim{margin:0}
.rb-cr-reward{font-size:13px;font-weight:600;color:var(--cr-gold);font-variant-numeric:tabular-nums}
.rb-cr-done{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--cr-ok)}
.rb-cr-allbonus{display:flex;align-items:center;gap:10px;margin-top:10px;padding:2px 2px;color:var(--muted);font-size:13px}
.rb-cr-allbonus b{color:var(--cr-gold)}
.rb-cr-allbonus.is-claimed{color:var(--cr-ok)}
@media (max-width:560px){.rb-cr-q{flex-wrap:wrap;padding:12px}.rb-cr-q-main{flex-basis:calc(100% - 48px)}.rb-cr-q-act{width:100%;justify-content:stretch}.rb-cr-q-act .rb-cr-claim,.rb-cr-q-act .rb-btn{width:100%;justify-content:center}.rb-cr-q-act .rb-cr-reward,.rb-cr-q-act .rb-cr-done{margin-left:48px}}

/* getting started */
.rb-cr-mlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.rb-cr-m{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px}
.rb-cr-m .rb-cr-q-ico{width:30px;height:30px}
.rb-cr-m-t{flex:1;min-width:0}
.rb-cr-m form{margin:0}
.rb-cr-m.is-ready{border-color:rgba(229,184,75,.4)}

/* how to earn, history */
.rb-cr-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.rb-cr-cols > .rb-card{margin-top:0}
@media (max-width:900px){.rb-cr-cols{grid-template-columns:1fr}}
.rb-cr-earn{list-style:none;margin:0;padding:0}
.rb-cr-earn li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.rb-cr-earn li:first-child{border-top:0;padding-top:0}
.rb-cr-earn .rb-cr-q-ico{width:30px;height:30px}
.rb-cr-earn li > div{flex:1;min-width:0;display:flex;flex-direction:column}
.rb-cr-earn b{font-size:13.5px;font-weight:600}
.rb-cr-earn small{color:var(--muted);font-size:12px}
.rb-cr-amt{flex:none;font-size:13px;font-weight:600;color:var(--cr-gold);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-cr-capline{display:flex;justify-content:space-between;gap:10px;margin:16px 0 7px;font-size:12.5px;color:var(--muted)}
.rb-cr-capline b{color:var(--fg-2);font-variant-numeric:tabular-nums}
.rb-cr-note{margin:14px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}
.rb-cr-empty{margin:0;padding:16px;color:var(--muted)}
.rb-cr-hist{list-style:none;margin:0;padding:0}
.rb-cr-hrow{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line)}
.rb-cr-hrow:first-child{border-top:0}
.rb-cr-hrow .rb-cr-q-ico{width:30px;height:30px}
.rb-cr-hrow > div{flex:1;min-width:0;display:flex;flex-direction:column}
.rb-cr-hrow b{font-size:13.5px;font-weight:600}
.rb-cr-hrow small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.rb-cr-hrow time{flex:none;color:var(--muted);font-size:12px}
.rb-cr-hamt{flex:none;min-width:56px;text-align:right;font-weight:700;color:var(--cr-ok);font-variant-numeric:tabular-nums}
.rb-cr-hrow.is-minus .rb-cr-hamt{color:var(--fg-2)}
@media (max-width:600px){.rb-cr-hrow{flex-wrap:wrap;padding:10px 12px}.rb-cr-hrow time{order:3;width:100%;padding-left:42px}}

/* shop */
.rb-cr-headbal{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:99px;background:rgba(0,0,0,.25);color:var(--cr-gold,#e5b84b);font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}
.rb-cr-shop{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.rb-cr-item{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.rb-cr-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.rb-cr-item-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--cr-ico-bg);color:var(--fg-2)}
.rb-cr-item-ico .rb-ci{width:20px;height:20px}
.rb-cr-item.is-gold .rb-cr-item-ico{color:var(--cr-gold)}
.rb-cr-item.is-diamond .rb-cr-item-ico{color:#b49cff}
.rb-cr-item.is-freeze .rb-cr-item-ico{color:#8fd0ef}
.rb-cr-price{font-size:15px;font-weight:700;color:var(--cr-gold);font-variant-numeric:tabular-nums}
.rb-cr-item-name{font-size:14.5px}
.rb-cr-item-text{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.rb-cr-item-state{font-size:12.5px}
.rb-cr-owned{display:inline-flex;align-items:center;gap:6px;color:var(--cr-ok);font-weight:600}
.rb-cr-buyform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:auto 0 0;padding-top:10px}
.rb-cr-buyform .textbox{flex:1 1 130px;min-width:0}
.rb-cr-buyform .rb-btn[disabled]{opacity:.5;cursor:not-allowed}
.rb-cr-flairs{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0;width:100%}
.rb-cr-flairpick{position:relative;cursor:pointer}
.rb-cr-flairpick input{position:absolute;opacity:0;pointer-events:none}
.rb-cr-flairpick > span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--cr-ico-bg)}
.rb-cr-flairpick input:checked + span{border-color:var(--cr-gold);background:rgba(229,184,75,.08)}
.rb-cr-flairpick input:focus-visible + span{outline:2px solid #fff;outline-offset:2px}

/* leaderboard */
.rb-cr-tabs{display:inline-flex;padding:2px;border-radius:8px;background:rgba(0,0,0,.25)}
.rb-cr-tab{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:6px;color:rgba(255,255,255,.75);font-size:12.5px;text-decoration:none}
.rb-cr-tab:hover{color:#fff;text-decoration:none}
.rb-cr-tab.is-on{background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.rb-cr-prize{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--muted);font-size:13px}
.rb-cr-prize b{color:var(--cr-gold)}
.rb-cr-board{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px}
.rb-cr-board li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line)}
.rb-cr-board li:first-child{border-top:0}
.rb-cr-rank{width:24px;flex:none;text-align:center;color:var(--muted);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}
.rb-cr-board li.is-top .rb-cr-rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:#14161b;font-size:12px}
.rb-cr-board li.is-1 .rb-cr-rank{background:var(--cr-gold)}
.rb-cr-board li.is-2 .rb-cr-rank{background:#c3cad3}
.rb-cr-board li.is-3 .rb-cr-rank{background:#c99a6e}
.rb-cr-lav{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--cr-ico-bg);border:1px solid var(--line);color:var(--muted);overflow:hidden;flex:none}
.rb-cr-lav img{width:100%;height:100%;object-fit:cover}
.rb-cr-lname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.rb-cr-lamt{flex:none;color:var(--cr-gold);font-weight:700;font-variant-numeric:tabular-nums}
.rb-cr-lamt small{color:var(--muted);font-weight:500;font-size:11.5px}
.rb-cr-board li.is-me{background:rgba(138,180,255,.06)}

/* admin */
.rb-cr-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin-bottom:16px}
.rb-cr-admin label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--fg-2)}
.rb-cr-okmsg{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--cr-ok)}
.rb-cr-adminfo{margin:0 0 10px}

/* the check in toast: slides in, no spinning */
.rb-cr-toast{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 36px));padding:12px 14px;border:1px solid var(--line-2,#2b313b);border-radius:10px;background:var(--surface-2,#1b1f27);box-shadow:0 12px 32px rgba(0,0,0,.4);color:var(--fg,#e8ebf1);animation:rbCrToast 7s ease forwards}
.rb-cr-toast-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:8px;background:rgba(242,153,74,.12);color:#f2994a}
.rb-cr-toast-main{display:flex;flex-direction:column;min-width:0}
.rb-cr-toast-main b{color:#e5b84b;font-size:14.5px}
.rb-cr-toast-main span{color:var(--muted,#9aa3b5);font-size:12.5px;line-height:1.35}
.rb-cr-toast-link{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:12.5px;font-weight:600}
.rb-cr-toast-link .rb-ci{width:14px;height:14px;vertical-align:-2px}
@keyframes rbCrToast{0%{opacity:0;transform:translateY(10px)}5%{opacity:1;transform:none}88%{opacity:1;transform:none}100%{opacity:0;visibility:hidden}}
@media (max-width:760px){.rb-cr-toast{right:10px;left:10px;bottom:74px;max-width:none}}
@media (prefers-reduced-motion:reduce){.rb-cr-toast{animation:none}}

/* posts: counter, flair, tips */
.rb-post-counter.is-credits b{color:#e5b84b}
@media (max-width:480px){.rb-post-counter.is-credits{display:none}}
.rb-cr-flair{display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle}
.rb-cr-flair .rb-ci{width:15px;height:15px}
.rb-cr-tipbox{position:relative;display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle}
.rb-cr-tipbox > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rb-cr-tipbox > summary::-webkit-details-marker{display:none}
.rb-cr-tipbox .rb-ci{width:15px;height:15px;color:#e5b84b}
.rb-cr-tipped{display:inline-flex;align-items:center;padding:0 6px;border-radius:99px;background:rgba(229,184,75,.12);color:#e5b84b;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.rb-cr-tipbox.is-static{gap:5px;height:30px;padding:0 6px}
.rb-cr-tipmenu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2);box-shadow:0 10px 26px rgba(0,0,0,.4);white-space:nowrap}
.rb-cr-tipmenu-l{padding:0 4px;font-size:12px;color:var(--muted)}

/* user menu, profile */
.rb-cr-menu a{display:flex;align-items:center}
.rb-cr-menu-bal{margin-left:auto;padding:1px 8px;border-radius:99px;background:rgba(229,184,75,.12);color:#e5b84b;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.rb-pp-row.is-credits dd{color:#e5b84b;font-weight:600;font-variant-numeric:tabular-nums}

/* 1.2: avatar rings, covers, profile status, highlighted threads, Boost menu, limited drops, leaderboards, front page card */
@property --cr-ring{syntax:'<color>';inherits:true;initial-value:#e5b84b}
.rb-cr-ring-gold{--cr-ring:#e5b84b}
.rb-cr-ring-silver{--cr-ring:#c3cad3}
.rb-cr-ring-emerald{--cr-ring:#3fbf7f}
.rb-cr-ring-sapphire{--cr-ring:#4f8ff0}
.rb-cr-ring-ruby{--cr-ring:#e5566d}
.rb-cr-ring-violet{--cr-ring:#9b7bff}
.rb-cr-ring-aurora{--cr-ring:#3fd0c9;animation:rbCrAurora 8s linear infinite}
.rb-cr-ring-ember{--cr-ring:#f28c38;animation:rbCrEmber 6s ease-in-out infinite}
@keyframes rbCrAurora{0%{--cr-ring:#3fd0c9}33%{--cr-ring:#9b7bff}66%{--cr-ring:#ef7d8f}100%{--cr-ring:#3fd0c9}}
@keyframes rbCrEmber{0%,100%{--cr-ring:#f28c38}50%{--cr-ring:#e5566d}}
@media (prefers-reduced-motion:reduce){.rb-cr-ring-aurora,.rb-cr-ring-ember{animation:none}}
/* posts: the avatar link has its own border and no clipping, so the ring is that border plus a soft halo */
.rb-post.rb-cr-ringed .rb-post-author .rb-avatar{border:3px solid var(--cr-ring)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--cr-ring) 22%,transparent)!important}
/* profile: .rb-pp-avatar clips to a circle, so the ring is drawn inside it */
.rb-cr-ringwrap{position:relative;display:block;width:100%;height:100%;border-radius:50%}
.rb-cr-ringwrap::after{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid var(--cr-ring);pointer-events:none}
.rb-pp-avatar:has(.rb-cr-ringwrap){border-color:transparent}
.rb-cr-ringdot{display:block;width:18px;height:18px;border-radius:50%;border:3px solid var(--cr-ring);box-sizing:border-box}

.rb-cr-cover{position:absolute;inset:0;pointer-events:none}
.rb-cr-cover.is-aurora{background:linear-gradient(120deg,#0d3b47 0%,#1d2b64 45%,#3b1d5e 100%)}
.rb-cr-cover.is-ember{background:linear-gradient(120deg,#3a1407 0%,#6b2410 50%,#2a0f1a 100%)}
.rb-cr-cover.is-ocean{background:linear-gradient(120deg,#08243f 0%,#0b4a6b 55%,#06303f 100%)}
.rb-cr-cover.is-forest{background:linear-gradient(120deg,#0b2a1c 0%,#14492f 55%,#0b2620 100%)}
.rb-cr-cover.is-dusk{background:linear-gradient(120deg,#2b1033 0%,#5a1f4a 50%,#1b1640 100%)}
.rb-cr-cover.is-steel{background:linear-gradient(120deg,#1a1f27 0%,#323b47 55%,#1c2129 100%)}
.rb-cr-cover.is-gold{background:linear-gradient(120deg,#2b2108 0%,#5c4612 50%,#2a1f0b 100%)}
.rb-pp-cover .rb-cr-cover + .rb-pp-cover-in,.rb-pp-cover .rb-cr-cover ~ .rb-pp-cover-in{position:relative}
.rb-cr-coverdot{position:static;display:block;width:44px;height:26px;border-radius:5px}

.rb-cr-status{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-style:italic;color:var(--fg-2)}
.rb-cr-status .rb-ci{width:14px;height:14px;color:var(--muted)}

/* a highlighted thread in the list */
.rb-trow:has(.rb-cr-hlmark){position:relative;background:linear-gradient(90deg,rgba(229,184,75,.10),rgba(229,184,75,0) 60%)}
.rb-trow:has(.rb-cr-hlmark)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e5b84b}
.rb-cr-hlmark{display:inline-flex;align-items:center;margin-right:6px;color:#e5b84b;vertical-align:middle}
.rb-cr-hlmark .rb-ci{width:14px;height:14px}

/* pickers in the shop */
.rb-cr-pickico{display:inline-flex}
.rb-cr-flairpick.is-wide > span{width:52px}
.rb-cr-flairpick > span > .rb-cr-coverdot{width:44px}

/* limited drops */
.rb-cr-shop.is-drops{margin-bottom:22px}
.rb-cr-item.is-drop{border-color:rgba(229,184,75,.35);background:linear-gradient(180deg,rgba(229,184,75,.06),rgba(229,184,75,0) 70%),var(--surface-2)}
.rb-cr-item.is-drop .rb-cr-item-ico{color:#e5b84b;border-color:rgba(229,184,75,.35)}
.rb-cr-item-top .rb-cr-limited{margin-left:auto;margin-right:10px;padding:2px 8px;border-radius:99px;background:rgba(229,184,75,.12);color:#e5b84b;font-size:11.5px;font-weight:600}
.rb-cr-soon{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}

/* leaderboard */
.rb-cr-tabs.is-sub{margin:0 0 14px;background:var(--cr-ico-bg,rgba(255,255,255,.035));border:1px solid var(--line)}
.rb-cr-tabs.is-sub .rb-cr-tab{color:var(--fg-2)}
.rb-cr-tabs.is-sub .rb-cr-tab.is-on{background:var(--surface-3);color:#fff}
.rb-cr-mine{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;border:1px dashed var(--line-2);border-radius:8px;color:var(--fg-2);font-size:13px}
.rb-cr-mine > .rb-ci{color:var(--muted)}
.rb-cr-mine b{color:#e5b84b}
.rb-cr-mine a{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-weight:600}
.rb-cr-mine a .rb-ci{width:14px;height:14px}
.rb-cr-hall{list-style:none;margin:0;padding:0}
.rb-cr-hall li{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.rb-cr-hall li:first-child{border-top:0;padding-top:0}
.rb-cr-hall-when{flex:none;width:150px;color:var(--muted);font-size:12.5px}
.rb-cr-hall-names{display:flex;flex-wrap:wrap;gap:8px 18px;min-width:0}
.rb-cr-hall-w{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13.5px}
.rb-cr-hall-w small{color:var(--muted);font-weight:500}
.rb-cr-hall-w .rb-cr-rank{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;color:#14161b;font-size:11px}
.rb-cr-hall-w.is-1 .rb-cr-rank{background:#e5b84b}
.rb-cr-hall-w.is-2 .rb-cr-rank{background:#c3cad3}
.rb-cr-hall-w.is-3 .rb-cr-rank{background:#c99a6e}
.rb-cr-empty.is-tight{padding:0}
@media (max-width:600px){.rb-cr-hall li{flex-direction:column;align-items:flex-start;gap:6px}.rb-cr-hall-when{width:auto}}
.rb-cr .rb-card-head .rb-cr-tabs{flex-wrap:wrap}

/* 1.3: the shop in tabs (threads, look, awards, extras), one row an item, choices open under the row */
.rb-cr-shopcard > .rb-card-body{padding-top:16px}
.rb-cr-shoptabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.rb-cr-shoptabs::-webkit-scrollbar{display:none}
.rb-cr-shoptab{display:inline-flex;align-items:center;gap:8px;flex:none;height:46px;padding:0 14px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.rb-cr-shoptab .rb-ci{width:16px;height:16px}
.rb-cr-shoptab:hover{color:var(--fg,#e8ebf1);text-decoration:none}
.rb-cr-shoptab.is-on{color:var(--fg,#e8ebf1);border-bottom-color:var(--cr-gold)}
.rb-cr-shoptab.is-on .rb-ci{color:var(--cr-gold)}
.rb-cr-shoptab:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:4px}
.rb-cr-intro{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}
.rb-cr-rows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px}
.rb-cr-row{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;padding:14px 16px;border-top:1px solid var(--line)}
.rb-cr-row:first-child{border-top:0}
.rb-cr-row-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--cr-ico-bg);color:var(--fg-2)}
.rb-cr-row-ico .rb-ci{width:20px;height:20px}
.rb-cr-row.is-award .rb-cr-row-ico{border:0;background:none}
.rb-cr-row-ico img{display:block;width:44px;height:44px}
.rb-cr-row.is-limited .rb-cr-row-ico{color:var(--cr-gold);border-color:rgba(229,184,75,.35)}
.rb-cr-row.is-award.is-limited .rb-cr-row-ico{border:0}
.rb-cr-row-main{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:2px}
.rb-cr-row-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.rb-cr-row-top b{font-size:14.5px;font-weight:600}
.rb-cr-row-main small{color:var(--muted);font-size:12.5px;line-height:1.45}
.rb-cr-row-price{flex:none;min-width:72px;line-height:44px;text-align:right;color:var(--cr-gold);font-size:14px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-cr-row-act{flex:none;width:104px;min-height:44px;display:flex;align-items:center;justify-content:flex-end}
.rb-cr-row-act form,.rb-cr-row-more form{margin:0;padding:0}
.rb-cr-row-more{flex-basis:100%;padding-left:58px}
.rb-cr-row.is-wide .rb-cr-row-act{display:none}
.rb-cr-row .rb-btn[disabled]{opacity:.45;cursor:not-allowed}
.rb-cr-tsel{flex:1 1 280px;min-width:0;max-width:100%}
.rb-cr-row-more .rb-cr-buyform select{height:34px}
.rb-cr-row-more .rb-cr-buyform .rb-cr-dsel{flex:0 0 220px}
/* a row whose choices open under it: the button stays where it was, the choices take the full width */
.rb-cr-choose{width:100%}
.rb-cr-choose > summary{position:absolute;top:21px;right:16px;list-style:none;cursor:pointer}
.rb-cr-choose > summary::-webkit-details-marker{display:none}
.rb-cr-choose[open] > summary{border-color:var(--cr-gold)}
.rb-cr-row:has(.rb-cr-choose[open]){background:rgba(255,255,255,.018)}
.rb-cr-row:has(.rb-cr-choose[open]) .rb-cr-row-act{flex-basis:100%;width:auto;min-height:0;padding-left:58px;justify-content:stretch}
.rb-cr-choose-body .rb-cr-buyform{margin:0;padding:4px 0 2px}
.rb-cr-hint{flex-basis:100%;margin:0;color:var(--muted);font-size:12px}
.rb-cr-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:99px;background:rgba(255,255,255,.06);color:var(--fg-2);font-size:11.5px;font-weight:600;white-space:nowrap}
.rb-cr-chip .rb-ci{width:12px;height:12px}
.rb-cr-chip .rb-cr-flair{margin:0}
.rb-cr-chip.is-on{background:rgba(90,196,138,.12);color:var(--cr-ok)}
.rb-cr-chip.is-limited{background:rgba(229,184,75,.12);color:var(--cr-gold)}
.rb-cr-running{margin:0 0 14px;padding:10px 14px;border:1px solid rgba(229,184,75,.3);border-radius:8px;background:rgba(229,184,75,.05);font-size:13px}
.rb-cr-running b{display:block;margin-bottom:4px;color:var(--cr-gold)}
.rb-cr-running ul{list-style:none;margin:0;padding:0}
.rb-cr-running li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:3px 0}
.rb-cr-running li span{color:var(--muted)}
.rb-cr-empty-row{display:flex;align-items:center;gap:10px;padding:18px 16px;color:var(--muted);font-size:13.5px}
@media (max-width:600px){
.rb-cr-shoptabs{padding:0 4px}
.rb-cr-shoptab{flex:1 1 0;justify-content:center;gap:5px;min-width:0;height:44px;padding:0 4px;font-size:12.5px}
.rb-cr-shoptab .rb-ci{width:14px;height:14px}
.rb-cr-row{gap:8px 12px;padding:12px}
.rb-cr-row-ico,.rb-cr-row-ico img{width:40px;height:40px}
.rb-cr-row-main{flex-basis:calc(100% - 52px)}
.rb-cr-row-price{margin-left:52px;min-width:0;line-height:34px;text-align:left}
.rb-cr-row-act{width:auto;min-height:34px;margin-left:auto}
.rb-cr-choose > summary{position:static}
.rb-cr-row:has(.rb-cr-choose[open]) .rb-cr-row-act{padding-left:0;margin-left:0}
.rb-cr-row:has(.rb-cr-choose[open]) .rb-cr-choose > summary{margin:0 0 10px auto;display:table}
.rb-cr-row-more{padding-left:0}
.rb-cr-row-more .rb-cr-buyform > *,.rb-cr-row-more .rb-cr-buyform .rb-cr-dsel{flex:1 1 100%}
.rb-cr-row-more .rb-cr-buyform .rb-btn{justify-content:center}
/* AWARDS-MOBILE-20261031 (owner: the award list looked broken on phones). An award is one tidy card: the picture on
   the left, name, chip and text in the middle, the price with the Buy button under it in a column on the right. */
.rb-cr-row.is-award{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto 1fr;grid-template-areas:"ico main price" "ico main act";gap:6px 12px;align-items:start}
.rb-cr-row.is-award .rb-cr-row-ico,.rb-cr-row.is-award .rb-cr-row-ico img{width:44px;height:44px}
.rb-cr-row.is-award .rb-cr-row-ico{grid-area:ico}
.rb-cr-row.is-award .rb-cr-row-main{grid-area:main;padding-top:0}
.rb-cr-row.is-award .rb-cr-row-top{gap:4px 8px}
.rb-cr-row.is-award .rb-cr-row-price{grid-area:price;margin-left:0;min-width:0;line-height:20px;text-align:right}
.rb-cr-row.is-award .rb-cr-row-act{grid-area:act;width:auto;min-height:0;margin-left:0;justify-content:flex-end}
.rb-cr-row.is-award .rb-cr-row-act .rb-btn{min-width:64px;justify-content:center}
}

/* 1.3: flair right after the name, ring round the avatar, everywhere (posts, profile, Who's Online, shoutbox) */
.rb-post-name .rb-cr-flair{margin:0 4px 0 5px}
.rb-pp-name .rb-cr-flair{margin:0 2px 0 10px;vertical-align:middle}
.rb-pp-name .rb-cr-flair .rb-ci{width:24px;height:24px}
.rb-wol-user .rb-cr-flair,.rb-online-list .rb-cr-flair{margin-left:4px}
.rb-wol-user .rb-cr-flair .rb-ci,.rb-online-list .rb-cr-flair .rb-ci{width:14px;height:14px}
.rb-sb-name .rb-cr-flair,.rb-sb-pinbar-name .rb-cr-flair{margin-left:4px;vertical-align:-1px}
.rb-sb-name .rb-cr-flair .rb-ci,.rb-sb-pinbar-name .rb-cr-flair .rb-ci{width:13px;height:13px}
.rb-sb-msg.rb-cr-ringed .rb-sb-av,.rb-sb-pinitem.rb-cr-ringed .rb-sb-pinbar-av{box-shadow:0 0 0 2px var(--cr-ring),0 0 0 4px color-mix(in srgb,var(--cr-ring) 22%,transparent)}

/* 1.3c: Prism ring, shoutbox colours from the shop, the monthly pass */
.rb-cr-ring-prism{--cr-ring:#ff9ad5;animation:rbCrPrism 6s linear infinite}
@keyframes rbCrPrism{0%{--cr-ring:#ff9ad5}25%{--cr-ring:#9ab8ff}50%{--cr-ring:#8ff0d0}75%{--cr-ring:#fff09a}100%{--cr-ring:#ff9ad5}}
@media (prefers-reduced-motion:reduce){.rb-cr-ring-prism{animation:none}}
.rb-sb-text.is-c-silver,.rb-sb-compose .rb-sb-input.is-c-silver,.rb-sb-tool.is-c-silver{color:#d3dae3}
.rb-sb-text.is-c-mint,.rb-sb-compose .rb-sb-input.is-c-mint,.rb-sb-tool.is-c-mint{color:#7fe3c4}
.rb-sb-swatch.is-c-silver{background:#d3dae3}
.rb-sb-swatch.is-c-mint{background:#7fe3c4}
.rb-cr-chip.is-shout.is-silver{background:rgba(211,218,227,.12);color:#d3dae3}
.rb-cr-chip.is-shout.is-mint{background:rgba(127,227,196,.12);color:#7fe3c4}
.rb-cr-passtier{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border:1px solid rgba(229,184,75,.4);border-radius:12px;background:rgba(229,184,75,.06)}
.rb-cr-passtier b{font-size:22px;line-height:1;color:var(--cr-gold,#e5b84b);font-variant-numeric:tabular-nums}
.rb-cr-passtier small{margin-top:3px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rb-cr-passtier.is-big{width:72px;height:72px}
.rb-cr-passtier.is-big b{font-size:30px}
.rb-cr-passmini{display:flex;align-items:center;gap:16px}
.rb-cr-passmini-main{flex:1;min-width:0}
.rb-cr-passhead{display:flex;align-items:center;gap:18px;margin:0 0 16px}
.rb-cr-passhead-main{flex:1;min-width:0}
.rb-cr-passhead .rb-cr-note{margin-top:10px}
.rb-cr-ptier-n{flex:none;width:22px;text-align:center;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.rb-cr-ptier.is-ready .rb-cr-ptier-n{color:var(--cr-gold)}
.rb-cr-ptier.is-locked .rb-cr-q-ico{opacity:.55}
.rb-cr-ptier.is-top{background:linear-gradient(90deg,rgba(143,216,255,.07),rgba(143,216,255,0) 70%)}
.rb-cr-ptier.is-top .rb-cr-q-ico{color:#8fd8ff;border-color:rgba(143,216,255,.35)}
.rb-cr-reward.is-locked{color:var(--muted);font-weight:600}
@media (max-width:560px){
.rb-cr-passmini{flex-wrap:wrap}
.rb-cr-passmini > .rb-btn{width:100%;justify-content:center}
.rb-cr-passhead{align-items:flex-start;gap:14px}
.rb-cr-passtier.is-big{width:58px;height:58px}
.rb-cr-passtier.is-big b{font-size:24px}
/* PASS-MOBILE-20261031 (owner: the pass looked broken on phones). A tier is one grid row: number, icon, the reward
   (its note under it), the points on the right. A Claim button takes the whole row under it. */
.rb-cr-q.rb-cr-ptier{display:grid;grid-template-columns:18px 30px minmax(0,1fr) auto;column-gap:10px;row-gap:8px;align-items:center;padding:12px}
.rb-cr-ptier .rb-cr-ptier-n{width:auto}
.rb-cr-ptier .rb-cr-q-ico{width:30px;height:30px}
.rb-cr-ptier .rb-cr-q-main{grid-column:3;flex-basis:auto;gap:3px}
.rb-cr-ptier .rb-cr-q-act{grid-column:4;width:auto;min-width:0;justify-content:flex-end}
.rb-cr-ptier .rb-cr-q-act .rb-cr-reward,.rb-cr-ptier .rb-cr-q-act .rb-cr-done{margin-left:0;white-space:nowrap}
.rb-cr-ptier.is-ready .rb-cr-q-act{grid-column:1 / -1}
}

/* SB-MOBILE-20261030 (owner: shoutboksen er for trang på mobil) */
@media (max-width:600px){
.rb-shoutbox.is-open .rb-sb-list{height:260px}
/* show labels on all tabs, not just the active one */
.rb-sb-tabs.is-compact .rb-sb-tab .rb-sb-tab-label{position:static;width:auto;height:auto;margin:0;clip:auto;clip-path:none;white-space:nowrap;overflow:visible}
.rb-sb-tabs.is-compact .rb-sb-tab .rb-sb-tab-ic{width:13px;font-size:12px}
.rb-sb-tab{height:38px;gap:4px;padding:0 7px;font-size:11.5px}
.rb-sb-msg{grid-template-columns:30px minmax(0,1fr);column-gap:8px;padding:6px 11px 3px}
.rb-sb-av{width:30px;height:30px}
.rb-sb-text{font-size:14px;line-height:1.5}
.rb-sb-compose .rb-sb-input{font-size:16px;line-height:22px;height:30px;min-height:30px}
.rb-sb-send{height:30px;width:40px}
.rb-sb-tool{width:30px;height:30px}
.rb-sb-compose{gap:4px;padding:4px 4px 4px 10px}
.rb-sb-foot{padding:8px 10px 10px}
}
@media (max-width:390px){
.rb-sb-tab{padding:0 5px;font-size:11px}
}

/* THREAD-STYLES-20261031 v2 (owner 2026-10-31: "bedre og finere mer moderne"). 18 premade title styles, one class on
   the link: .rb-ts.is-<key>. Basic: one strong colour. Special: animated, each with its own mechanism. No transform and
   no inline-block: a title must still wrap and still be a normal link. */
.rb-ts{font-weight:700}

/* Basic: one strong colour, bold */
.rb-ts.is-bred{color:#ff4d4d}
.rb-ts.is-bgold{color:#ffc21a}
.rb-ts.is-bsky{color:#47b8ff}
.rb-ts.is-bgreen{color:#3ee06a}
.rb-ts.is-bpink{color:#ff5cb0}
.rb-ts.is-bviolet{color:#b07aff}

/* Special: the text clip they share */
.rb-ts.is-goldrush,.rb-ts.is-toxic,.rb-ts.is-sakura,.rb-ts.is-frost,.rb-ts.is-amethyst,.rb-ts.is-lava,.rb-ts.is-prism,.rb-ts.is-galaxy{font-weight:800;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rb-ts.is-neonred,.rb-ts.is-inferno,.rb-ts.is-sparkle,.rb-ts.is-electric{font-weight:800}
/* Gold Rush: gold, cream and emerald stripes slide through the letters */
.rb-ts.is-goldrush{background-image:repeating-linear-gradient(115deg,#ffd447 0 8px,#fff3b8 8px 11px,#18a058 11px 19px);background-size:200% 100%;text-shadow:0 0 10px rgba(255,200,40,.4);animation:rbts-slide 2.6s linear infinite}
/* Neon Red: a white tube with a red glow that flickers */
.rb-ts.is-neonred{color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 0 2px #fff,0 0 7px #ff2b2b,0 0 14px #ff1414,0 0 24px #d40000;animation:rbts-neon 3s steps(1,end) infinite}
/* Toxic: lime, acid green and teal racing across in narrow bands */
.rb-ts.is-toxic{background-image:linear-gradient(90deg,#eaffd6 0%,#7dff3a 35%,#00e0a4 65%,#00a8ff 100%);background-size:24% 1000%;text-shadow:0 0 9px rgba(125,255,58,.4);animation:rbts-sweep 3s cubic-bezier(.4,0,1,1) infinite}
/* Sakura: blush, pink and rose bands drifting */
.rb-ts.is-sakura{background-image:linear-gradient(90deg,#fff0f6 0%,#ff6aa8 40%,#ff2d7a 70%,#ffd1e4 100%);background-size:26% 1000%;text-shadow:0 0 10px rgba(255,64,140,.4);animation:rbts-sweep 5.5s linear infinite}
/* Frost: cyan and white candy stripes sliding */
.rb-ts.is-frost{background-image:repeating-linear-gradient(-45deg,#12d7e4 0 6px,#fff 6px 12px,#9ff4ff 12px 16px);background-size:200% 100%;text-shadow:0 0 9px rgba(18,215,228,.4);animation:rbts-slide 2.8s linear infinite}
/* Amethyst: violet and orchid candy stripes sliding the other way */
.rb-ts.is-amethyst{background-image:repeating-linear-gradient(-45deg,#7c3aed 0 6px,#e040fb 6px 12px,#b388ff 12px 16px);background-size:200% 100%;text-shadow:0 0 9px rgba(170,70,240,.45);animation:rbts-slide 3.4s linear infinite reverse}
/* Inferno: burns from deep orange to amber and back */
.rb-ts.is-inferno{animation:rbts-inferno 4s linear infinite}
/* Lava: a molten orange and yellow flow with a heat glow */
.rb-ts.is-lava{background-image:linear-gradient(100deg,#ff2a00 0%,#ff9500 25%,#ffd60a 40%,#ff5500 60%,#ff2a00 80%,#ffb000 100%);background-size:300% 100%;animation:rbts-lava 5s linear infinite}
/* Sparkle: a white title with glitter twinkling round it */
.rb-ts.is-sparkle{position:relative;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 3px 5px #000,0 0 12px rgba(255,255,255,.45)}
.rb-ts.is-sparkle::after{content:"";position:absolute;inset:-7px -5px;pointer-events:none;background:
 radial-gradient(2px 2px at 6% 30%,#fff,transparent 70%),radial-gradient(1.5px 1.5px at 18% 82%,#ffe7a0,transparent 70%),
 radial-gradient(2.2px 2.2px at 31% 12%,#fff,transparent 70%),radial-gradient(1.5px 1.5px at 44% 74%,#cfe6ff,transparent 70%),
 radial-gradient(2px 2px at 57% 22%,#fff,transparent 70%),radial-gradient(1.5px 1.5px at 70% 88%,#ffe7a0,transparent 70%),
 radial-gradient(2.2px 2.2px at 83% 35%,#fff,transparent 70%),radial-gradient(1.5px 1.5px at 95% 70%,#cfe6ff,transparent 70%);animation:rbts-twinkle 1.2s ease-in-out infinite alternate}
/* Prism: the whole spectrum flows through and turns */
.rb-ts.is-prism{background-image:linear-gradient(110deg,#ff3b3b 0%,#ffb300 16%,#3bff6a 33%,#1ec8ff 50%,#9b4dff 66%,#ff4fd8 83%,#ff3b3b 100%);background-size:300% 100%;font-weight:900;animation:rbts-prism 4s linear infinite}
/* Galaxy: a night of indigo and violet with stars drifting through the letters */
.rb-ts.is-galaxy{background-image:radial-gradient(1.5px 1.5px at 10% 40%,#fff,transparent 60%),radial-gradient(1.2px 1.2px at 44% 72%,#fff,transparent 60%),radial-gradient(1.6px 1.6px at 76% 28%,#fff,transparent 60%),linear-gradient(90deg,#e6ecff 0%,#5b7cff 40%,#8a4dff 70%,#c9d4ff 100%);background-size:2.6em 1.2em,3em 1.3em,2.3em 1.1em,10em 100%;text-shadow:0 0 .3em rgba(200,210,255,.4);animation:rbts-galaxy 2.6s linear infinite}
/* Electric: a cyan title that crackles with flashes */
.rb-ts.is-electric{color:#7ff5ff;-webkit-text-fill-color:#7ff5ff;text-shadow:0 0 5px rgba(0,228,255,.8),0 0 12px rgba(0,228,255,.5);animation:rbts-electric 2.4s linear infinite}

@keyframes rbts-sweep{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes rbts-slide{to{background-position:-200% 0}}
@keyframes rbts-neon{0%,100%{opacity:1}5%{opacity:.7}6%{opacity:1}50%{opacity:1}51%{opacity:.5}53%{opacity:1}}
@keyframes rbts-inferno{0%{color:#ff3d00;text-shadow:0 0 7px #ff3d00}30%{color:#ff9100;text-shadow:0 0 8px #ff6d00}55%{color:#ffc400;text-shadow:0 0 11px #ff9100}80%{color:#ff6d00;text-shadow:0 0 7px #ff3d00}100%{color:#ff3d00;text-shadow:0 0 7px #ff3d00}}
@keyframes rbts-lava{0%{background-position:0% 0;filter:drop-shadow(0 0 4px rgba(255,60,0,.65))}50%{filter:drop-shadow(0 0 8px rgba(255,150,0,.75))}100%{background-position:150% 0;filter:drop-shadow(0 0 4px rgba(255,60,0,.65))}}
@keyframes rbts-twinkle{0%{opacity:.1;transform:translateY(1px)}100%{opacity:1;transform:translateY(-1px)}}
@keyframes rbts-prism{0%{filter:hue-rotate(0deg);background-position:0% 50%}100%{filter:hue-rotate(360deg);background-position:150% 50%}}
@keyframes rbts-galaxy{0%{background-position:0 0,0 0,0 0,-10em 0}100%{background-position:2.6em 0,-3em 0,2.3em 0,10em 0}}
@keyframes rbts-electric{0%,45%,100%{text-shadow:0 0 5px rgba(0,228,255,.8),0 0 12px rgba(0,228,255,.5)}47%{color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 0 7px #fff,0 0 16px #00e4ff,0 0 30px #00e4ff}49%{text-shadow:0 0 5px rgba(0,228,255,.8)}51%{color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 0 9px #fff,0 0 20px #00e4ff,0 0 34px #00a8ff}55%{color:#7ff5ff;-webkit-text-fill-color:#7ff5ff}}

/* the thread header (the blue bar) was in all caps in the theme; the subject is shown as typed */
.rb-topic-title .rb-topic-subject,.rb-topic-subject.rb-ts{text-transform:none;letter-spacing:0}

/* 14. the shop tile: the style name is the preview, so it must not be clipped or dimmed by the row */
.rb-cr-style-name.rb-ts{display:inline-block;max-width:100%}

@media (prefers-reduced-motion:reduce){
.rb-ts,.rb-ts[class],.rb-ts::after{animation:none!important}
.rb-ts.is-goldrush,.rb-ts.is-frost,.rb-ts.is-amethyst{background-position:0 0}
.rb-ts.is-toxic,.rb-ts.is-sakura{background-position:30% 50%}
.rb-ts.is-neonred{opacity:1}
.rb-ts.is-lava,.rb-ts.is-prism{filter:none;background-position:20% 0}
.rb-ts.is-sparkle::after{opacity:.7}
}

/* style picker in the shop: radio tiles (the thread select first, then the tiles, then days and the button) */
.rb-cr-style-row .rb-cr-buyform{align-items:stretch}
.rb-cr-style-row .rb-cr-buyform .rb-cr-tsel{flex:1 1 100%}
.rb-cr-style-grid{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:2px 0 4px;padding:0;border:0}
.rb-cr-style-item{position:relative;display:block;cursor:pointer}
.rb-cr-style-item input{position:absolute;opacity:0;pointer-events:none}
.rb-cr-style-in{display:flex;flex-direction:column;gap:4px;height:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);transition:border-color .12s,background .12s}
.rb-cr-style-item:hover .rb-cr-style-in{border-color:var(--line-2)}
.rb-cr-style-item input:checked + .rb-cr-style-in{border-color:var(--cr-gold);background:rgba(229,184,75,.06);box-shadow:inset 0 0 0 1px var(--cr-gold)}
.rb-cr-style-item input:focus-visible + .rb-cr-style-in{outline:2px solid #fff;outline-offset:2px}
.rb-cr-style-name{display:block;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:2px;min-height:1.3em}
.rb-cr-style-in small{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;display:block;margin-top:5px}
.rb-cr-style-item .rb-cr-style-in{min-height:72px;justify-content:space-between}

/* COVERS-20261031 (owner: "for store covers så hele bildene vises ikke"). The cover box takes the shape of the cover
   files, 1500x270, so the whole picture shows. It still grows when the name block needs more room. The dark overlay
   only sits behind the name now, not over the whole picture. */
.rb-pp-cover{height:auto;min-height:0;aspect-ratio:1500 / 270}
.rb-pp-cover::after{background:linear-gradient(0deg,rgba(14,16,22,.8) 0%,rgba(14,16,22,.38) 36%,rgba(14,16,22,0) 62%),linear-gradient(90deg,rgba(14,16,22,.5) 0%,rgba(14,16,22,0) 42%)}
.rb-pp-cover .rb-pp-id{text-shadow:0 1px 3px rgba(0,0,0,.55)}
/* the colour theme from the credits shop is for members without a cover picture of their own: a picture wins */
.rb-pp-cover-img[src*="/rb_covers/"] ~ .rb-cr-cover{display:none}
/* the preview on usercp.php?action=rb_cover has the same shape (rb-vipstyle.js sets a height inline; this wins) */
.rb-vs-cover-preview{height:auto!important;aspect-ratio:1500 / 270}
.rb-vs-cover-preview .rb-vs-cover-frame{width:100%!important;height:100%!important}
.rb-vs-cover-preview::after{background:linear-gradient(0deg,rgba(14,16,22,.8) 0%,rgba(14,16,22,.38) 36%,rgba(14,16,22,0) 62%),linear-gradient(90deg,rgba(14,16,22,.5) 0%,rgba(14,16,22,0) 42%)}
.rb-vs-preset-img{aspect-ratio:1500 / 270}
.rb-vs-presets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* phones: the picture is a band at the top (3.2 : 1, the middle of the picture), the avatar overlaps its lower edge
   and the name sits under it on the card, so neither covers the picture */
@media (max-width:600px){
.rb-pp-cover{aspect-ratio:auto;padding-top:31.25%}
.rb-pp-cover-img{bottom:auto;height:auto;aspect-ratio:32 / 10}
.rb-pp-cover::after{bottom:auto;height:auto;aspect-ratio:32 / 10;background:linear-gradient(180deg,rgba(14,16,22,0) 50%,rgba(14,16,22,.55) 100%)}
.rb-pp-cover .rb-cr-cover{top:0;bottom:auto;height:auto;aspect-ratio:32 / 10}
.rb-pp-cover-in{flex-direction:column;align-items:flex-start;gap:10px;margin-top:-38px;padding-top:0}
.rb-pp-cover .rb-pp-avatar{border:3px solid var(--surface-2);box-shadow:0 2px 10px rgba(0,0,0,.45)}
.rb-pp-cover .rb-pp-id{text-shadow:none}
.rb-vs-cover-preview{aspect-ratio:32 / 10}
.rb-vs-presets-grid{grid-template-columns:minmax(0,1fr)}
}

/* PROFILE-ACCENT-20261031 (owner: the line round the cover "ser ikke så fint ut"). The cover keeps its normal border;
   the Apex accent is one line under the cover that fades out to the right, with a soft glow. */
.rb-pp.rb-pp-theme .rb-pp-cover{border-color:var(--line)}
.rb-pp.rb-pp-theme .rb-pp-cover::before{height:2px;opacity:1;background:linear-gradient(90deg,var(--rb-pc) 0%,color-mix(in srgb,var(--rb-pc) 70%,transparent) 35%,transparent 85%);box-shadow:0 0 14px 1px color-mix(in srgb,var(--rb-pc) 45%,transparent)}

/* POSTBG-20261031 (owner: "litt amatør", and only behind the top of the author box, ending right above the user
   title, not down over the group banners). One look per key in --rb-pbbg, used by the post and by the tile on the
   colours page. Each look is 320px tall and sits on the bottom edge (the user title), so the glow is always round
   the avatar. */
.rb-pbbg-aurora{--rb-pbbg:radial-gradient(85% 55% at 12% 8%,rgba(56,232,198,.42),transparent 70%),radial-gradient(80% 60% at 100% 92%,rgba(132,92,255,.48),transparent 70%),radial-gradient(60% 40% at 55% 55%,rgba(90,170,255,.16),transparent 70%),linear-gradient(180deg,#12202a,#1b1731);--rb-pbbg-top:#12202a}
.rb-pbbg-ember{--rb-pbbg:radial-gradient(120% 62% at 50% 112%,rgba(255,112,28,.62),transparent 70%),radial-gradient(70% 45% at 90% 4%,rgba(255,64,64,.22),transparent 70%),radial-gradient(3px 3px at 22% 64%,rgba(255,200,120,.9),transparent),radial-gradient(2px 2px at 78% 48%,rgba(255,190,110,.8),transparent),radial-gradient(2px 2px at 63% 74%,rgba(255,210,140,.8),transparent),linear-gradient(180deg,#1b1215,#2b140e);--rb-pbbg-top:#1b1215}
.rb-pbbg-ocean{--rb-pbbg:radial-gradient(110% 60% at 50% -8%,rgba(96,210,255,.48),transparent 72%),repeating-linear-gradient(104deg,rgba(170,235,255,.055) 0 12px,transparent 12px 34px),radial-gradient(80% 50% at 50% 110%,rgba(0,40,90,.6),transparent 70%),linear-gradient(180deg,#10273c,#0a1726);--rb-pbbg-top:#10273c}
.rb-pbbg-forest{--rb-pbbg:radial-gradient(80% 55% at 18% 6%,rgba(150,230,120,.3),transparent 70%),radial-gradient(85% 60% at 100% 100%,rgba(0,170,135,.38),transparent 70%),repeating-linear-gradient(80deg,rgba(200,255,200,.03) 0 2px,transparent 2px 26px),linear-gradient(180deg,#11201a,#0e1c1b);--rb-pbbg-top:#11201a}
.rb-pbbg-dusk{--rb-pbbg:radial-gradient(130% 55% at 50% 108%,rgba(255,96,140,.6),transparent 70%),radial-gradient(70% 40% at 80% 18%,rgba(150,90,255,.28),transparent 70%),radial-gradient(1.5px 1.5px at 20% 18%,#fff,transparent),radial-gradient(1px 1px at 62% 10%,#fff,transparent),radial-gradient(1px 1px at 84% 30%,rgba(255,255,255,.8),transparent),linear-gradient(180deg,#171330,#2b1633 72%,#3a1934);--rb-pbbg-top:#171330}
.rb-pbbg-gold{--rb-pbbg:radial-gradient(70% 50% at 50% 42%,rgba(255,196,72,.32),transparent 72%),linear-gradient(122deg,transparent 34%,rgba(255,232,170,.13) 44%,rgba(255,232,170,.03) 52%,transparent 60%),radial-gradient(90% 40% at 50% 112%,rgba(190,130,20,.4),transparent 70%),linear-gradient(180deg,#211a0d,#16120a);--rb-pbbg-top:#211a0d}
.rb-pbbg-steel{--rb-pbbg:repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),linear-gradient(132deg,transparent 28%,rgba(255,255,255,.1) 48%,transparent 66%),radial-gradient(80% 50% at 50% 45%,rgba(150,190,230,.14),transparent 70%),linear-gradient(180deg,#2a3039,#191d24);--rb-pbbg-top:#2a3039}
.rb-pbbg-gem{--rb-pbbg:radial-gradient(60% 45% at 50% 44%,rgba(255,255,255,.12),transparent 70%),conic-gradient(from 200deg at 50% 44%,rgba(255,166,220,.26),rgba(180,198,255,.26),rgba(162,255,228,.22),rgba(255,230,170,.2),rgba(255,166,220,.26)),linear-gradient(180deg,#1c1a29,#151823);--rb-pbbg-top:#1c1a29}
/* the tile on the colours page shows the whole look */
.rb-up2-bg-tile[class*="rb-pbbg-"]{background:var(--rb-pbbg);background-color:var(--rb-pbbg-top)}
@media (min-width:761px){
/* computer: the look hangs from the top of the user title band up to the top of the author box */
.rb-post.rb-pbbg .rb-post-author{overflow:clip}
.rb-post.rb-pbbg .rb-post-author::after{display:none}
.rb-post.rb-pbbg .rb-post-author .rb-post-title{position:relative}
.rb-post.rb-pbbg .rb-post-author .rb-post-title::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:700px;z-index:-1;pointer-events:none;
	background:var(--rb-pbbg);background-size:100% 320px;background-position:center bottom;background-repeat:no-repeat;background-color:var(--rb-pbbg-top);
	-webkit-mask:linear-gradient(180deg,#000 0,#000 calc(100% - 110px),rgba(0,0,0,.55) calc(100% - 50px),transparent 100%);mask:linear-gradient(180deg,#000 0,#000 calc(100% - 110px),rgba(0,0,0,.55) calc(100% - 50px),transparent 100%)}
}
@media (max-width:760px){
/* phone: only the row with the avatar, the name and the title, fading out above the banners */
.rb-post.rb-pbbg .rb-post-author::after{bottom:auto;height:88px;background:var(--rb-pbbg);background-size:100% 100%;background-position:center;background-repeat:no-repeat;background-color:var(--rb-pbbg-top);
	-webkit-mask:linear-gradient(180deg,#000 62%,transparent);mask:linear-gradient(180deg,#000 70%,transparent)}
}

/* SALESTAG-20261031 (owner: a sales tag next to a marketplace thread title, "sales shape", clean and professional).
   <span class="rbs-w"><span class="rbs shape-X c-Y">icon + text</span></span> after the title link.
   .rbs-w carries the shadow (a filter is drawn before clip-path, so it sits on the parent). .rbs is the edge colour cut
   to the shape; ::before is the fill 1px inside, cut to the same shape (--shape). Elite: black, a metal edge, a slow light. */
.rbs-w{display:inline-flex;margin-left:9px;vertical-align:1px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5)) drop-shadow(0 4px 7px color-mix(in srgb,var(--c,#000) 32%,transparent))}
.rbs{--c:#3b82f6;--shape:inset(0 round 5px);
 position:relative;display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 9px;isolation:isolate;
 font:600 11px/1 var(--font,Inter),-apple-system,"Segoe UI",sans-serif;letter-spacing:.005em;white-space:nowrap;color:#fff;text-transform:none;
 background:color-mix(in srgb,var(--c) 58%,#000);clip-path:var(--shape)}
.rbs::before{content:"";position:absolute;inset:1px;z-index:-1;clip-path:var(--shape);
 background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0) 42%),linear-gradient(180deg,color-mix(in srgb,var(--c) 90%,#fff) 0%,var(--c) 100%)}
.rbs svg{flex:none;width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rbs-tag{--shape:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);padding-left:16px;-webkit-mask:radial-gradient(circle 2.2px at 9px 50%,#0000 95%,#000 100%);mask:radial-gradient(circle 2.2px at 9px 50%,#0000 95%,#000 100%)}
.rbs-arrow{--shape:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);padding-right:15px}
.rbs-ribbon{--shape:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%);padding-right:16px}
.rbs-flag{--shape:polygon(0 0,100% 0,100% 100%,0 100%,7px 50%);padding-left:14px}
.rbs-coupon{--shape:inset(0 round 4px);padding:0 10px;
 -webkit-mask:radial-gradient(circle 4px at 0 50%,#0000 95%,#000) left/51% 100% no-repeat,radial-gradient(circle 4px at 100% 50%,#0000 95%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 4px at 0 50%,#0000 95%,#000) left/51% 100% no-repeat,radial-gradient(circle 4px at 100% 50%,#0000 95%,#000) right/51% 100% no-repeat}
.rbs-coupon .rbs-stub{display:inline-flex;align-items:center;align-self:stretch;padding-right:6px;margin-right:1px;border-right:1px dashed rgba(255,255,255,.5)}
.rbs-seal{--shape:inset(0 round 999px);padding:0 10px 0 3px}
.rbs-seal .rbs-seal-in{position:relative;display:grid;place-items:center;width:17px;height:17px;flex:none}
.rbs-seal .rbs-burst{position:absolute;inset:0;width:17px;height:17px;fill:#fff;stroke:none;opacity:.95}
.rbs-seal .rbs-glyph{position:relative;width:9px;height:9px;stroke:var(--c);stroke-width:2.8}
.rbs-pill{--shape:inset(0 round 999px);padding:0 10px 0 8px}
.rbs.is-elite{color:#f3cf74;background:linear-gradient(135deg,#fae7a8 0%,#b8862b 45%,#f6d27a 70%,#8a6219 100%)}
.rbs.is-elite::before{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 45%),linear-gradient(180deg,#1d1f26,#0e0f13)}
.rbs.is-elite.is-violet{color:#d9c6ff;background:linear-gradient(135deg,#ece2ff 0%,#7c4dff 45%,#cbb3ff 70%,#4d27b8 100%)}
.rbs.is-elite::after{content:"";position:absolute;inset:0;z-index:-1;clip-path:var(--shape);background:linear-gradient(110deg,transparent 38%,rgba(255,236,190,.18) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0;animation:rbs-pass 6s ease-in-out infinite}
.rbs.is-elite.is-violet::after{background-image:linear-gradient(110deg,transparent 38%,rgba(220,200,255,.2) 50%,transparent 62%)}
.rbs-w.is-elite{--c:#d8a542}
.rbs-w.is-violet{--c:#8b5cf6}
@keyframes rbs-pass{0%,72%{background-position:160% 0}100%{background-position:-60% 0}}
.rbs.c-bestprice{--c:#10a36f}.rbs.c-fastship{--c:#2f74e6}.rbs.c-newstock{--c:#0f9b8e}.rbs.c-onsale{--c:#e2364c}
.rbs.c-limited{--c:#e5670f}.rbs.c-discount{--c:#d63384}.rbs.c-express{--c:#0891b2}.rbs.c-bulk{--c:#5b5bd6}
.rbs.c-restocked{--c:#4d8f12}.rbs.c-hot{--c:#e0412b}.rbs.c-quality{--c:#0e8a73}.rbs.c-trending{--c:#7048e8}
.rbs-w:has(.c-bestprice){--c:#10a36f}.rbs-w:has(.c-fastship){--c:#2f74e6}.rbs-w:has(.c-newstock){--c:#0f9b8e}.rbs-w:has(.c-onsale){--c:#e2364c}
.rbs-w:has(.c-limited){--c:#e5670f}.rbs-w:has(.c-discount){--c:#d63384}.rbs-w:has(.c-express){--c:#0891b2}.rbs-w:has(.c-bulk){--c:#5b5bd6}
.rbs-w:has(.c-restocked){--c:#4d8f12}.rbs-w:has(.c-hot){--c:#e0412b}.rbs-w:has(.c-quality){--c:#0e8a73}.rbs-w:has(.c-trending){--c:#7048e8}
/* the shop picker: the tags as radio tiles */
.rb-cr-tag-grid{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:2px 0 4px;padding:0;border:0}
.rb-cr-tag-item{position:relative;display:block;cursor:pointer}
.rb-cr-tag-item input{position:absolute;opacity:0;pointer-events:none}
.rb-cr-tag-in{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}
.rb-cr-tag-in .rbs-w{margin-left:0}
.rb-cr-tag-item:hover .rb-cr-tag-in{border-color:var(--line-2)}
.rb-cr-tag-item input:checked + .rb-cr-tag-in{border-color:var(--cr-gold);background:rgba(229,184,75,.06);box-shadow:inset 0 0 0 1px var(--cr-gold)}
.rb-cr-tag-item input:focus-visible + .rb-cr-tag-in{outline:2px solid #fff;outline-offset:2px}
/* phones: the tag drops under the title when there is no room */
@media (max-width:760px){.rbs-w{margin:3px 0 0 6px}}
@media (prefers-reduced-motion:reduce){.rbs::after{animation:none!important}}

/* CREDITS13K (owner 2026-10-31): Credits is a tile of the profile Statistics card and a row of the post author stats */
.rb-pp-stats:has(.rb-pp-stat.is-credits){grid-template-columns:repeat(4,minmax(0,1fr))}
.rb-pp-stat.is-credits b{color:#e5b84b}
.rb-ps.rb-ps-credits dd{color:#e5b84b}
@media (max-width:600px){
  .rb-pp-stats:has(.rb-pp-stat.is-credits){grid-template-columns:repeat(4,minmax(0,1fr))}
  .rb-pp-stats:has(.rb-pp-stat.is-credits) .rb-pp-stat{border-top:0;border-left:1px solid var(--line);padding:16px 2px}
  .rb-pp-stats:has(.rb-pp-stat.is-credits) .rb-pp-stat:first-child{border-left:0}
}
/* phones: with Credits the author strip has 5 or 6 cells, too many for one row. Three per row; a short last row
   stretches. The 1px gap on the line colour draws the dividers. */
@media (max-width:760px){
  .rb-post.rb-post .rb-post-author .rb-post-stats:has(.rb-ps-credits){display:flex;flex-wrap:wrap;gap:1px;overflow:hidden;background:var(--line)}
  .rb-post.rb-post .rb-post-author .rb-post-stats:has(.rb-ps-credits) .rb-ps{flex:1 1 30%;border:0;background:var(--surface)}
}

/* ===== RB-MOREMENU-20261031: the More dropdown in the header (Vouches, Credits, Onion Mirror, Scam Register) =====
   details/summary, so it opens by click or Enter with no JavaScript. Desktop: a panel under the bar. Phones: the row
   stays in the menu list and the panel opens inline under it, so nothing floats outside the drawer. */
.rb-nav-more{position:relative}
.rb-nav-more > .rb-more{display:flex;align-items:stretch;height:100%}
.rb-more > summary{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;cursor:pointer;list-style:none;position:relative;transition:background .15s,color .15s}
.rb-more > summary::-webkit-details-marker,.rb-more > summary::marker{display:none;content:""}
.rb-more > summary:hover,.rb-more[open] > summary{background:#25252f;color:#fff}
.rb-more > summary .fa-solid{font-size:14px;color:var(--muted);transition:color .15s}
.rb-more > summary:hover .fa-solid,.rb-more[open] > summary .fa-solid{color:var(--accent-2)}
.rb-more > summary .rb-nav-s{display:none}
.rb-more-menu{position:absolute;left:0;top:100%;z-index:70;min-width:266px;margin:0;padding:6px 0;list-style:none;background:#181822;border:1px solid #30303f;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 10px 24px rgba(0,0,0,.5)}
.rb-more-menu > li{display:block}
.rb-more-menu a{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--fg-2);font-size:14px;font-weight:500;white-space:nowrap;transition:background .12s,color .12s}
.rb-more-menu a:hover{background:#25252f;color:#fff}
.rb-more-menu a .fa-solid{width:18px;font-size:14px;text-align:center;color:var(--muted)}
.rb-more-menu a:hover .fa-solid{color:var(--accent-2)}
.rb-more-menu a span{flex:none}
.rb-more-menu a small{margin-left:auto;padding-left:14px;color:var(--faint);font-size:11.5px;font-weight:400}
@media (max-width:760px){
  .rb-topbar .rb-nav > .rb-nav-more{display:block}
  .rb-topbar .rb-nav-more > .rb-more{display:block;height:auto}
  .rb-topbar .rb-more > summary{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;font-size:15px;color:var(--fg);border-top:1px solid var(--line)}
  .rb-topbar .rb-more > summary span{display:inline}
  .rb-topbar .rb-more > summary .fa-solid{width:20px;font-size:15px;text-align:center;color:var(--fg-2)}
  .rb-topbar .rb-more > summary::after{content:"\f078";margin-left:auto;font:900 12px/1 "Font Awesome 6 Free";color:var(--muted);transition:transform .15s}
  .rb-topbar .rb-more[open] > summary::after{transform:rotate(180deg)}
  .rb-topbar .rb-more[open] > summary{background:var(--surface-2)}
  .rb-topbar .rb-more-menu{position:static;min-width:0;padding:0;background:var(--surface-2);border:0;border-radius:0;box-shadow:none}
  .rb-topbar .rb-nav .rb-more-menu a{padding:12px 18px 12px 50px;font-size:14.5px;color:var(--fg-2)}
  .rb-topbar .rb-nav .rb-more-menu a .fa-solid{width:18px;font-size:14px;color:var(--muted)}
  .rb-topbar .rb-more-menu a small{display:none}
}

/* ===== RB-MOBILEAUTH-20261031: Login and Register stay in the phone header =====
   Owner: "på header i mobil er det ingen login / register i headeren??" / "ha den øverst i headeren". Bug 15 hid them
   below 761px because the bottom bar (nav.rb-mnav) also has them; the header is where the owner looks first, so they
   are back, with their labels, in a compact size that fits a 390px bar together with the burger and the logo. */
@media (max-width:760px){
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.login,
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.register{display:inline-flex;align-items:center;height:32px;align-self:center;gap:6px;margin-left:0;padding:0 10px;font-size:13px;border-radius:3px;white-space:nowrap}
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.login{color:var(--fg-2);background:transparent}
  html:not(.rb-mnav-off) .rb-shell .rb-topbar-right > a.register{margin-left:6px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:600}
  .rb-shell .rb-topbar-right > a.login span,
  .rb-shell .rb-topbar-right > a.register span{display:inline}
  .rb-shell .rb-topbar-right > a.login .fa-solid,
  .rb-shell .rb-topbar-right > a.register .fa-solid{width:13px;font-size:13px;color:inherit}
  /* the last button must not touch the screen edge */
  .rb-shell .rb-topbar-right{padding-right:4px}
}
@media (max-width:370px){
  .rb-shell .rb-topbar-right > a.login{padding:0 6px}
  .rb-shell .rb-topbar-right > a.register{padding:0 8px}
  .rb-shell .rb-topbar-right > a.login span{display:none}
}

/* ===== SERVICE-BANNER-20261031: Years of Service, metal laurel (SVC-LAUREL, owner 2026-10-31 picked mockup H).
   A dark pill, two thin laurel branches round the number in the metal of the tier, then the label. Tiers: bronze 1-2
   years, silver 3-4, gold 5-9, platinum 10+. Postbit: under the awards. Profile: above the awards card. */
.rb-svc{--svc-1:#f0b58a;--svc-2:#b06a3b;--svc-3:#7a4223;--svc-glow:rgba(222,140,80,.35);
 display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;width:fit-content;max-width:100%;margin:10px auto 0;
 padding:4px 14px 4px 8px;border-radius:999px;background:#12151b;border:1px solid rgba(255,255,255,.08);cursor:default}
.rb-svc-silver{--svc-1:#f2f5f9;--svc-2:#a9b2be;--svc-3:#6c7684;--svc-glow:rgba(200,210,225,.3)}
.rb-svc-gold{--svc-1:#fff0b3;--svc-2:#e0a92e;--svc-3:#9a6a12;--svc-glow:rgba(240,190,60,.38)}
.rb-svc-platinum{--svc-1:#ffffff;--svc-2:#9fe4ff;--svc-3:#6b8cff;--svc-glow:rgba(130,200,255,.42)}
.rb-svc .rb-svc-ico{position:relative;display:grid;place-items:center;flex:none;width:42px;height:32px;color:var(--svc-2);animation:none}
.rb-svc .rb-svc-ico svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 4px var(--svc-glow))}
.rb-svc .rb-svc-n{position:relative;font-size:12.5px;line-height:1;font-weight:900;color:var(--svc-2);text-shadow:none;
 background:linear-gradient(180deg,var(--svc-1),var(--svc-2) 60%,var(--svc-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rb-svc .rb-svc-t{font-size:11px;line-height:16px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;white-space:nowrap}
/* postbit: the author column is a flex column on phones (the awards have order 5), the banner follows them */
.rb-post-author > .rb-svc{order:6}
/* phones: the author block is a grid; the banner takes a whole row under the post / thread / vouch counts */
@media (max-width:760px){
  .rb-post.rb-post .rb-post-author > .rb-svc{order:4;grid-area:auto;grid-column:1 / -1;justify-self:center;width:fit-content;min-width:0;margin:10px auto 0}
}
.rb-svc.is-profile{width:100%;margin:0;padding:10px 14px;gap:12px;border-radius:3px;background:var(--surface,#161a21);border:1px solid var(--line,rgba(255,255,255,.07))}
.rb-svc.is-profile .rb-svc-ico{width:50px;height:38px}
.rb-svc.is-profile .rb-svc-n{font-size:15px}
.rb-svc.is-profile .rb-svc-t{font-size:12px}

/* ===== PREFIX-B4-20261031: thread prefixes "B4. Slant" (owner 2026-10-31 picked it from the mockups). A coloured icon
   block that ends in a slant, then the name in caps on a dark tint of the same colour. CSS only, the prefix HTML in
   the database is untouched: ::before is the block, ::after the icon (a mask). Replaces the look of PREFIX-V3. */
.rb-prefix{--px-c:#6b7385;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z%22/%3E%3Ccircle cx=%227.5%22 cy=%227.5%22 r=%221.3%22/%3E%3C/svg%3E")}
.rb-prefix.is-tone-blue{--px-c:#2f8be0}
.rb-prefix.is-tone-violet{--px-c:#7a63f0}
.rb-prefix.is-tone-teal{--px-c:#159f95}
.rb-prefix.is-tone-green{--px-c:#1fa45b}
.rb-prefix.is-tone-amber{--px-c:#d98a0b}
.rb-prefix.is-tone-red{--px-c:#e04545}
.rb-prefix.is-tone-pink{--px-c:#d6336c}
.rb-prefix.is-tone-grey{--px-c:#6b7385}
.rb-prefix.is-wts{--px-c:#16a36a;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 6h18l-2 9H6z%22/%3E%3Ccircle cx=%229%22 cy=%2219%22 r=%221.4%22/%3E%3Ccircle cx=%2217%22 cy=%2219%22 r=%221.4%22/%3E%3C/svg%3E")}
.rb-prefix.is-wtb{--px-c:#2f6fe0;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%226%22/%3E%3Cpath d=%22m20 20-4.3-4.3%22/%3E%3C/svg%3E")}
.rb-prefix.is-trade{--px-c:#d98a0b;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 8h13l-3-3M20 16H7l3 3%22/%3E%3C/svg%3E")}
.rb-prefix.is-sold{--px-c:#6b7385;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12 5 5 9-10%22/%3E%3C/svg%3E")}
.rb-prefix.is-closed{--px-c:#d23c3c;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%2211%22 width=%2214%22 height=%229%22 rx=%222%22/%3E%3Cpath d=%22M8 11V8a4 4 0 0 1 8 0v3%22/%3E%3C/svg%3E")}
.rb-prefix.is-interest{--px-c:#7a4fe0;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z%22/%3E%3C/svg%3E")}
.rb-prefix.is-restock{--px-c:#0e9c8c;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 11a8 8 0 0 0-14.8-3M4 13a8 8 0 0 0 14.8 3%22/%3E%3Cpath d=%22M5 3v5h5M19 21v-5h-5%22/%3E%3C/svg%3E")}
.rb-prefix.is-sale{--px-c:#d6336c;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 5 5 19%22/%3E%3Ccircle cx=%227%22 cy=%227%22 r=%222%22/%3E%3Ccircle cx=%2217%22 cy=%2217%22 r=%222%22/%3E%3C/svg%3E")}
.rb-prefix.is-group-buy{--px-c:#6247c7;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223%22/%3E%3Cpath d=%22M3 20a6 6 0 0 1 12 0%22/%3E%3Cpath d=%22M16 5a3 3 0 0 1 0 6M21 20a6 6 0 0 0-4-5.6%22/%3E%3C/svg%3E")}
.rb-prefix.is-price-check{--px-c:#50657a;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z%22/%3E%3Ccircle cx=%227.5%22 cy=%227.5%22 r=%221.3%22/%3E%3C/svg%3E")}
.rb-prefix.is-log{--px-c:#159f95;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h10l4 4v12H5z%22/%3E%3Cpath d=%22M9 12h6M9 16h6%22/%3E%3C/svg%3E")}
.rb-prefix.is-question{--px-c:#7a63f0;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 9a3 3 0 1 1 4 2.8c-.7.3-1 .9-1 1.7V15%22/%3E%3Ccircle cx=%2212%22 cy=%2218.5%22 r=%22.8%22/%3E%3C/svg%3E")}
.rb-prefix.is-guide{--px-c:#2f8be0;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h6a2 2 0 0 1 2 2v12a2 2 0 0 0-2-2H4zM20 5h-6a2 2 0 0 0-2 2v12a2 2 0 0 1 2-2h6z%22/%3E%3C/svg%3E")}
.rb-prefix.is-update{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 11a8 8 0 0 0-14.8-3M4 13a8 8 0 0 0 14.8 3%22/%3E%3Cpath d=%22M5 3v5h5M19 21v-5h-5%22/%3E%3C/svg%3E")}
.rb-prefix.is-event{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M9 3v4M15 3v4%22/%3E%3C/svg%3E")}
.rb-prefix.is-important{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 4v10%22/%3E%3Ccircle cx=%2212%22 cy=%2219%22 r=%22.9%22/%3E%3C/svg%3E")}
.rb-prefix.is-maintenance{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14.5 6.5a4 4 0 0 0 5 5L13 18a2.1 2.1 0 0 1-3-3l6.5-6.5a4 4 0 0 0-2-2z%22/%3E%3Cpath d=%22M5 19l3-3%22/%3E%3C/svg%3E")}
.rb-prefix.is-new{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18%22/%3E%3C/svg%3E")}
.rb-prefix.is-improved{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 19V6M6 12l6-6 6 6%22/%3E%3C/svg%3E")}
.rb-prefix.is-fixed{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12 5 5 9-10%22/%3E%3C/svg%3E")}
.rb-prefix.is-removed{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12h12%22/%3E%3C/svg%3E")}
.rb-prefix.is-bug{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%228%22 y=%227%22 width=%228%22 height=%2212%22 rx=%224%22/%3E%3Cpath d=%22M4 11h4M16 11h4M4 17h4M16 17h4M10 4l1 3M14 4l-1 3%22/%3E%3C/svg%3E")}
.rb-prefix.is-suggestion{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 18h6M10 21h4%22/%3E%3Cpath d=%22M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2.1h5c0-.9.4-1.6 1-2.1A6 6 0 0 0 12 3z%22/%3E%3C/svg%3E")}
.rb-prefix.is-planned{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M9 3v4M15 3v4%22/%3E%3C/svg%3E")}
.rb-prefix.is-declined{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6 6 18%22/%3E%3C/svg%3E")}
.rb-prefix.is-discussion{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v10H9l-5 4z%22/%3E%3C/svg%3E")}
.rb-prefix.is-experience{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.5 6.7 19.4l1.2-6L3.4 9.3l6-.7z%22/%3E%3C/svg%3E")}
.rb-prefix.is-research{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3%22/%3E%3Cpath d=%22M7.5 14h9%22/%3E%3C/svg%3E")}
.rb-prefix.is-news{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 6h13v12H6a2 2 0 0 1-2-2zM17 9h3v7a2 2 0 0 1-2 2%22/%3E%3Cpath d=%22M8 10h5M8 14h5%22/%3E%3C/svg%3E")}
.rb-prefix.is-review{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.5 6.7 19.4l1.2-6L3.4 9.3l6-.7z%22/%3E%3C/svg%3E")}
.rb-prefix.is-lab-test{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3%22/%3E%3Cpath d=%22M7.5 14h9%22/%3E%3C/svg%3E")}
.rb-prefix.is-comparison{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 4v16M5 20h14M5 8h14%22/%3E%3Cpath d=%22M5 8l-3 6a3 3 0 0 0 6 0zM19 8l-3 6a3 3 0 0 0 6 0z%22/%3E%3C/svg%3E")}
.rb-prefix.is-positive{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12 5 5 9-10%22/%3E%3C/svg%3E")}
.rb-prefix.is-negative{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6 6 18%22/%3E%3C/svg%3E")}
.rb-prefix.is-wallet{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%226%22 width=%2218%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M16 12h3%22/%3E%3Cpath d=%22M3 9h15V6%22/%3E%3C/svg%3E")}
.rb-prefix.is-exchange{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 8h13l-3-3M20 16H7l3 3%22/%3E%3C/svg%3E")}
.rb-prefix.is-chat{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v10H9l-5 4z%22/%3E%3C/svg%3E")}
.rb-prefix.is-media{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%229%22 cy=%2210%22 r=%221.6%22/%3E%3Cpath d=%22m21 16-5-5-9 8%22/%3E%3C/svg%3E")}
.rb-prefix.is-gaming{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%2210%22 rx=%224%22/%3E%3Cpath d=%22M8 11v4M6 13h4%22/%3E%3Ccircle cx=%2216%22 cy=%2212%22 r=%22.9%22/%3E%3Ccircle cx=%2218%22 cy=%2214%22 r=%22.9%22/%3E%3C/svg%3E")}
.rb-prefix.is-sports{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 4h8v5a4 4 0 0 1-8 0z%22/%3E%3Cpath d=%22M8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M9 20h6%22/%3E%3C/svg%3E")}
.rb-prefix.is-humor{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228%22/%3E%3Cpath d=%22M8.5 14a4 4 0 0 0 7 0%22/%3E%3Ccircle cx=%229.5%22 cy=%2210%22 r=%22.8%22/%3E%3Ccircle cx=%2214.5%22 cy=%2210%22 r=%22.8%22/%3E%3C/svg%3E")}
.rb-prefix.is-exclusive{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 3h12l3 6-9 12L3 9z%22/%3E%3Cpath d=%22M3 9h18M9 3l3 6 3-6M12 9v12%22/%3E%3C/svg%3E")}
.rb-prefix.is-bulk{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 7v10M3 9v6M18 7v10M21 9v6M6 12h12%22/%3E%3C/svg%3E")}
.rb-prefix.is-cut{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3c3 3.5 6 6.5 6 10.5a6 6 0 0 1-12 0C6 10.6 8 9 8 9s.3 2.4 2 3c0-4 2-9 2-9z%22/%3E%3C/svg%3E")}
.rb-prefix.is-cruise{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 9c2-2 4-2 6 0s4 2 6 0 4-2 6 0M3 15c2-2 4-2 6 0s4 2 6 0 4-2 6 0%22/%3E%3C/svg%3E")}
.rb-prefix.is-blast{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3c3 3.5 6 6.5 6 10.5a6 6 0 0 1-12 0C6 10.6 8 9 8 9s.3 2.4 2 3c0-4 2-9 2-9z%22/%3E%3C/svg%3E")}
.rb-prefix.is-trt{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%228%22 rx=%224%22 transform=%22rotate%28-35 12 12%29%22/%3E%3Cpath d=%22M9.7 8.7l4.6 6.6%22/%3E%3C/svg%3E")}
.rb-prefix.is-pct{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%228%22 rx=%224%22 transform=%22rotate%28-35 12 12%29%22/%3E%3Cpath d=%22M9.7 8.7l4.6 6.6%22/%3E%3C/svg%3E")}
.rb-prefix.is-recomp{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 8h13l-3-3M20 16H7l3 3%22/%3E%3C/svg%3E")}
.rb-prefix.is-first-cycle{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21V4M5 4h11l-2 4 2 4H5%22/%3E%3C/svg%3E")}
.rb-prefix.is-training{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 7v10M3 9v6M18 7v10M21 9v6M6 12h12%22/%3E%3C/svg%3E")}
.rb-prefix.is-diet{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19c0-8 5-13 14-14 0 9-5 14-14 14z%22/%3E%3Cpath d=%22M5 19 13 11%22/%3E%3C/svg%3E")}
.rb-prefix.is-supplements{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%228%22 rx=%224%22 transform=%22rotate%28-35 12 12%29%22/%3E%3Cpath d=%22M9.7 8.7l4.6 6.6%22/%3E%3C/svg%3E")}
.rb-prefix.is-program{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M9 3v4M15 3v4%22/%3E%3C/svg%3E")}
.rb-prefix.is-recipe{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19c0-8 5-13 14-14 0 9-5 14-14 14z%22/%3E%3Cpath d=%22M5 19 13 11%22/%3E%3C/svg%3E")}
.rb-prefix.is-progress{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 19V6M6 12l6-6 6 6%22/%3E%3C/svg%3E")}
.rb-prefix.is-beginner{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21V4M5 4h11l-2 4 2 4H5%22/%3E%3C/svg%3E")}
.rb-prefix.is-advanced{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 7v10M3 9v6M18 7v10M21 9v6M6 12h12%22/%3E%3C/svg%3E")}
.rb-prefix.is-nutrition{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19c0-8 5-13 14-14 0 9-5 14-14 14z%22/%3E%3Cpath d=%22M5 19 13 11%22/%3E%3C/svg%3E")}
.rb-prefix.is-cycles{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%228%22 rx=%224%22 transform=%22rotate%28-35 12 12%29%22/%3E%3Cpath d=%22M9.7 8.7l4.6 6.6%22/%3E%3C/svg%3E")}
.rb-prefix.is-bloodwork{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z%22/%3E%3C/svg%3E")}
.rb-prefix.is-peptides{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3%22/%3E%3Cpath d=%22M7.5 14h9%22/%3E%3C/svg%3E")}
.rb-prefix.is-faq{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 9a3 3 0 1 1 4 2.8c-.7.3-1 .9-1 1.7V15%22/%3E%3Ccircle cx=%2212%22 cy=%2218.5%22 r=%22.8%22/%3E%3C/svg%3E")}
.rb-prefix.is-neutral{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12h12%22/%3E%3C/svg%3E")}
.rb-prefix.is-preview{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222.5%22/%3E%3C/svg%3E")}
.rb-prefix.is-feedback{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v10H9l-5 4z%22/%3E%3C/svg%3E")}
.rb-prefix.is-confirmed{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12 5 5 9-10%22/%3E%3C/svg%3E")}
.rb-prefix.is-needinfo{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 9a3 3 0 1 1 4 2.8c-.7.3-1 .9-1 1.7V15%22/%3E%3Ccircle cx=%2212%22 cy=%2218.5%22 r=%22.8%22/%3E%3C/svg%3E")}
.rb-prefix.is-notabug{--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6 6 18%22/%3E%3C/svg%3E")}
.rb-prefix.is-vip{--px-c:#e0a526;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8l4.5 4L12 5l4.5 7L21 8l-2 10H5z%22/%3E%3C/svg%3E")}
.rb-prefix.is-donator{--px-c:#d65cf0;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z%22/%3E%3C/svg%3E")}
.rb-prefix.is-apex{--px-c:#4dc3ff;--px-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 3h12l3 6-9 12L3 9z%22/%3E%3Cpath d=%22M3 9h18M9 3l3 6 3-6M12 9v12%22/%3E%3C/svg%3E")}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw){position:relative!important;top:0!important;display:inline-flex!important;align-items:center!important;gap:0!important;height:20px!important;min-height:0!important;padding:0 8px 0 31px!important;border:0!important;border-radius:3px!important;overflow:hidden!important;font-family:var(--font,Inter),-apple-system,"Segoe UI",sans-serif!important;font-size:11px!important;font-style:normal!important;font-weight:800!important;line-height:1!important;letter-spacing:.03em!important;text-transform:uppercase!important;text-shadow:none!important;white-space:nowrap!important;vertical-align:middle;color:color-mix(in srgb,var(--px-c) 25%,#fff)!important;background:color-mix(in srgb,var(--px-c) 16%,#11141a)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--px-c) 38%,transparent)!important;animation:none!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{content:""!important;position:absolute!important;inset:0 auto 0 0!important;display:block!important;width:26px!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;opacity:1!important;transform:none!important;box-shadow:none!important;animation:none!important;background:linear-gradient(135deg,color-mix(in srgb,var(--px-c) 72%,#fff),var(--px-c))!important;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::after{content:""!important;position:absolute!important;inset:50% auto auto 5px!important;display:block!important;width:11px!important;height:11px!important;margin:-5.5px 0 0!important;border:0!important;border-radius:0!important;opacity:1!important;box-shadow:none!important;animation:none!important;pointer-events:none;background:#fff!important;-webkit-mask:var(--px-i) center/contain no-repeat!important;mask:var(--px-i) center/contain no-repeat!important;-webkit-mask-composite:source-over!important;mask-composite:add!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw):is(.is-se,.is-no,.is-dk)::before{background:var(--rbpx-flag) center/cover no-repeat!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw):is(.is-se,.is-no,.is-dk)::after{content:none!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-vip{color:#ffd76a!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-vip::before{background:linear-gradient(90deg,#c98a12,#ffe98a 50%,#c98a12)!important;background-size:200% 100%!important;animation:rbpx4-pour 3s linear infinite!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-vip::after{background:#3a2604!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-donator{color:#f6c8ff!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-donator::before{background:linear-gradient(135deg,#ff6ad5,#a46bff)!important;animation:rbpx4-breathe 2.6s ease-in-out infinite!important}
@property --rbpx4-a{syntax:"<angle>";initial-value:0deg;inherits:false}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-apex{color:#dff4ff!important;border:1.5px solid transparent!important;background:linear-gradient(#12151b,#12151b) padding-box,conic-gradient(from var(--rbpx4-a),#ff4d6d,#ffb84d,#5dff9c,#4dc3ff,#b04dff,#ff4d6d) border-box!important;box-shadow:none!important;animation:rbpx4-spin 4s linear infinite!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-apex::before{inset:-1.5px auto -1.5px -1.5px!important;background:linear-gradient(135deg,#7fd6ff,#7b5cff)!important}
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw).is-apex::after{left:3.5px!important}
@keyframes rbpx4-pour{to{background-position:-200% 0}}
@keyframes rbpx4-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
@keyframes rbpx4-spin{to{--rbpx4-a:360deg}}
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw){height:22px!important;padding-left:34px!important;font-size:11.5px!important}
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{width:28px!important}
.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::after{left:6px!important;width:12px!important;height:12px!important;margin-top:-6px!important}
:is(.rb-crumbs,.rb-li-title) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw){height:16px!important;padding:0 6px 0 24px!important;font-size:9.5px!important}
:is(.rb-crumbs,.rb-li-title) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{width:20px!important;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,0 100%)}
:is(.rb-crumbs,.rb-li-title) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::after{left:4px!important;width:9px!important;height:9px!important;margin-top:-4.5px!important}
:is(.rb-ucp-tsubject,.rb-similar-main) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw){height:18px!important;padding-left:28px!important;font-size:10px!important}
:is(.rb-ucp-tsubject,.rb-similar-main) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{width:23px!important}
:is(.rb-ucp-tsubject,.rb-similar-main) .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::after{width:10px!important;height:10px!important;margin-top:-5px!important}
@media (max-width:760px){.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw){height:20px!important;padding-left:31px!important;font-size:11px!important}.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{width:26px!important}.rb-topic-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::after{left:5px!important;width:11px!important;height:11px!important;margin-top:-5.5px!important}}
@media (prefers-reduced-motion:reduce){.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw),.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:not(.rb-mkf-sw)::before{animation:none!important}}

/* ===== RB-CLOSEDMARK-20261031: a closed thread (owner picked mockup C2). The header chip is a thread prefix
   (rb-prefix is-closed, PREFIX-B4 draws it); this block only spaces it and draws the line under the posts:
   red for staff above the reply box, grey for members where the reply box would be. */
.rb-topic-title .rb-closed-chip{margin-right:2px}
.rb-closed-note{display:flex;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;border-radius:8px;background:var(--surface,#161a21);box-shadow:inset 0 0 0 1px var(--line,rgba(255,255,255,.08))}
.rb-closed-note-i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;color:#c3cad6;background:#2a3140}
.rb-closed-note-i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rb-closed-note b{display:block;font-size:13.5px;font-weight:700;color:#fff}
.rb-closed-note span:not(.rb-closed-note-i){display:block;font-size:12.5px;color:var(--muted,#8b93a3)}
.rb-closed-note.is-staff{background:linear-gradient(90deg,rgba(229,72,77,.12),rgba(229,72,77,.03));box-shadow:inset 0 0 0 1px rgba(229,72,77,.28)}
.rb-closed-note.is-staff .rb-closed-note-i{color:#fff;background:linear-gradient(180deg,#f06266,#c4363b)}
.rb-closed-note.is-staff span:not(.rb-closed-note-i){color:#d9b8b9}
/* A11Y-BURGER-20261031 (Lighthouse "Elements must only use permitted ARIA attributes": aria-label on the burger label
   is not allowed, the label has no role). The name is now a .rb-sr span inside the label. The checkbox is focusable
   only where the burger shows (phones), so a keyboard user can open the menu with Space, and it gets a visible ring. */
@media (max-width:760px){
  .rb-nav-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;clip:rect(0 0 0 0)}
  .rb-nav-toggle:focus-visible ~ .rb-topbar .rb-burger{outline:2px solid var(--accent-2);outline-offset:-3px}
  .rb-burger:focus-within{outline:2px solid var(--accent-2);outline-offset:-3px}
}
/* the burger only exists on phones: no invisible focus stop on a wide screen */
@media (min-width:761px){.rb-nav-toggle{display:none}}
/* DOCTYPE-HTML5-20261101 (Lighthouse: the XHTML 1.0 doctype put the page in limited-quirks mode; the doctype is now
   <!DOCTYPE html>). In standards mode an inline box whose font differs from its block's gets the block's strut
   too, so the forum rows on the index grew 3px and the thread titles 4px. The forum name is its own block line and
   the thread subject sits on its title's own line (in the old mode the title was cut to 18px and lost its
   bottom 2px). */
.rb-forum-main > .rb-forum-name{display:block}
.rb-card.rb-threads .rb-trow .rb-trow-title > .rb-trow-subject{line-height:inherit;vertical-align:top}
/* RENAME-DASHBOARD-20261031: "Dashboard" is longer than "User CP" was. The three account buttons get at least the
   width of their label, and share what is left, so none is cut ("Dashbo..."). */
.rb-uc .rb-uc-acts{grid-template-columns:repeat(3,minmax(max-content,1fr))}
/* TOUCH-LASTPOST-20261101 (Lighthouse "touch targets do not have sufficient size or spacing"): on phones the last post
   subject and the author link under it sat 18px apart (18px and 15px tall). Both get a 24px tap area; the text
   size stays the same. */
@media (max-width:760px){
  .rb-forum .rb-forum-last .rb-forum-last-subject{min-height:24px;line-height:24px}
  .rb-forum .rb-forum-last .rb-forum-last-info{align-items:center}
  .rb-forum .rb-forum-last .rb-forum-last-by a{display:inline-flex;align-items:center;min-height:24px;padding:0 2px}
}
/* POLLTAG-20261101 (owner: "fikse Poll prefixen finere og bedre"): the Poll mark in thread lists, search results and
   the poll box looks like the B4 Slant prefixes: a cyan block with a bar chart icon, then POLL in caps on a dark
   tint. The language strings print <span class="rb-poll-tag">Poll</span> (global poll_prefix, showthread poll). */
.rb-poll-tag{--pt-c:#0ea5c6;position:relative;display:inline-flex;align-items:center;height:20px;padding:0 8px 0 31px;border-radius:3px;overflow:hidden;
  font-family:var(--font,Inter),-apple-system,"Segoe UI",sans-serif;font-size:11px;font-style:normal;font-weight:800;line-height:1;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;
  color:color-mix(in srgb,var(--pt-c) 25%,#fff);background:color-mix(in srgb,var(--pt-c) 16%,#11141a);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pt-c) 38%,transparent)}
.rb-poll-tag::before{content:"";position:absolute;inset:0 auto 0 0;width:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--pt-c) 72%,#fff),var(--pt-c));
  -webkit-clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.rb-poll-tag::after{content:"";position:absolute;top:50%;left:5px;width:11px;height:11px;margin-top:-5.5px;background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 20v-8M12 20V5M19 20v-5%22/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 20v-8M12 20V5M19 20v-5%22/%3E%3C/svg%3E") center/contain no-repeat}
/* the old grey box around "Poll:" in the thread lists goes; the tag carries the look now */
.rb-card.rb-threads .rb-trow-poll,.rb-card.rb-threads .rb-trow .rb-trow-poll{height:auto;padding:0;border-radius:0;box-shadow:none;background:none;top:0;font-size:inherit}
.rb-trow-poll .rb-poll-tag{margin-right:0}
/* in the poll box of a thread: the tag in front of the question, the old icon goes */
.rb-poll .rb-card-title .rb-poll-tag{margin-right:10px;top:-1px}
.rb-poll .rb-card-title:has(.rb-poll-tag) > .fa-square-poll-horizontal{display:none}
@media (max-width:760px){.rb-poll-tag{height:19px;font-size:10.5px;padding-left:29px}.rb-poll-tag::before{width:24px}}

/* ===== CREDITS-MEDALS-20261101 (owner: "fikse finere første, andre tredje plass ikon på leaderboard på credits"):
   the top 3 on the credits leaderboard get a medal instead of a flat square: a round metal disc (gold, silver,
   bronze) with a shine and an inner ring, the place number in the middle and a notched ribbon under it. The row
   gets a soft glow in the same metal and the avatar a thin ring. CSS only: ::before is the disc, ::after the ribbon,
   both behind the number (the rank span is its own stacking context). The Hall of fame winners get the disc only. */
.rb-cr-board .rb-cr-rank{width:30px}
.rb-cr-board li.is-top{--md-hi:#fff6c9;--md-mid:#f2c14e;--md-lo:#a86f08;--md-edge:#7a4f00;--md-r1:#e5484d;--md-r2:#a3262b;--md-glow:rgba(242,193,78,.45);
  background:linear-gradient(90deg,color-mix(in srgb,var(--md-mid) 11%,transparent),transparent 60%);box-shadow:inset 3px 0 0 var(--md-mid)}
.rb-cr-board li.is-2{--md-hi:#ffffff;--md-mid:#c9d1dc;--md-lo:#7f8a99;--md-edge:#555f6d;--md-r1:#3b82f6;--md-r2:#1f4fa8;--md-glow:rgba(201,209,220,.38)}
.rb-cr-board li.is-3{--md-hi:#ffd9b8;--md-mid:#d08a4f;--md-lo:#8a4b1c;--md-edge:#5e300e;--md-r1:#22a06b;--md-r2:#13663f;--md-glow:rgba(208,138,79,.4)}
.rb-cr-board li.is-top .rb-cr-rank,.rb-cr-hall-w .rb-cr-rank{position:relative;z-index:0;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:none!important;color:#1a1306;font-size:13px;font-weight:800;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.rb-cr-board li.is-top .rb-cr-rank::before,.rb-cr-hall-w .rb-cr-rank::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,var(--md-hi) 0 14%,transparent 42%),linear-gradient(145deg,var(--md-hi) 0%,var(--md-mid) 38%,var(--md-lo) 100%);
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--md-edge) 70%,transparent),inset 0 0 0 4px color-mix(in srgb,var(--md-hi) 45%,transparent),0 2px 6px rgba(0,0,0,.45),0 0 12px var(--md-glow)}
.rb-cr-board li.is-top .rb-cr-rank::after{content:"";position:absolute;left:50%;top:21px;z-index:-2;width:18px;height:15px;margin-left:-9px;
  background:linear-gradient(90deg,var(--md-r1) 0 33%,var(--md-r2) 33% 67%,var(--md-r1) 67%);
  -webkit-clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%)}
.rb-cr-board li.is-2 .rb-cr-rank,.rb-cr-hall-w.is-2 .rb-cr-rank{color:#20262e}
.rb-cr-board li.is-3 .rb-cr-rank,.rb-cr-hall-w.is-3 .rb-cr-rank{color:#2a1505;text-shadow:0 1px 0 rgba(255,225,195,.5)}
.rb-cr-board li.is-top .rb-cr-lav{border-color:transparent;box-shadow:0 0 0 2px var(--md-mid),0 0 8px var(--md-glow)}
/* Hall of fame: the same discs, smaller, no ribbon */
.rb-cr-hall-w{--md-hi:#fff6c9;--md-mid:#f2c14e;--md-lo:#a86f08;--md-edge:#7a4f00;--md-glow:rgba(242,193,78,.4)}
.rb-cr-hall-w.is-2{--md-hi:#ffffff;--md-mid:#c9d1dc;--md-lo:#7f8a99;--md-edge:#555f6d;--md-glow:rgba(201,209,220,.32)}
.rb-cr-hall-w.is-3{--md-hi:#ffd9b8;--md-mid:#d08a4f;--md-lo:#8a4b1c;--md-edge:#5e300e;--md-glow:rgba(208,138,79,.34)}
.rb-cr-hall-w .rb-cr-rank{width:22px;height:22px;font-size:11px}
.rb-cr-hall-w .rb-cr-rank::before{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--md-edge) 70%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--md-hi) 40%,transparent),0 1px 4px rgba(0,0,0,.4),0 0 8px var(--md-glow)}

/* ===== HDRFIT-20261101 (owner: "fikse headeren på alle width, blir litt ødelagt rundt 1000 til 1100 width"):
   from 761px up the header picks its layout by fit instead of a fixed 1100px breakpoint. rb.js (fitHeader) tries
   .is-full (icon and label in one line), then .is-compact (the short label under the icon), then .is-tighter (icons
   only). Before the script runs the old breakpoints still apply. More (a details/summary, not a link) follows the
   links in every mode and gets the same type size and spacing as them. */
@media (min-width:761px){
  .rb-topbar .rb-nav .rb-more > summary{gap:8px;padding:0 12px;font-size:13.5px}
  .rb-topbar .rb-nav .rb-more > summary .fa-solid{font-size:13px;width:14px;text-align:center}
  /* full: one line per item, whatever the width */
  .rb-topbar.is-full .rb-nav a,.rb-topbar.is-full .rb-nav .rb-more > summary{flex-direction:row;justify-content:flex-start;gap:8px;padding:0 12px;min-width:0}
  .rb-topbar.is-full .rb-nav a > span,.rb-topbar.is-full .rb-nav .rb-more > summary > span{display:inline}
  .rb-topbar.is-full .rb-nav a > .rb-nav-s,.rb-topbar.is-full .rb-nav .rb-more > summary > .rb-nav-s{display:none}
  .rb-topbar.is-full .rb-nav a .fa-solid,.rb-topbar.is-full .rb-nav .rb-more > summary .fa-solid{font-size:13px}
  .rb-topbar.is-full .rb-topbar-right > a span{display:inline}
  /* compact: the short label under the icon, More included */
  .rb-topbar.is-compact .rb-nav a,.rb-topbar.is-compact .rb-nav .rb-more > summary{flex-direction:column;justify-content:center;gap:5px;padding:0 6px;min-width:46px}
  .rb-topbar.is-compact .rb-nav a > span,.rb-topbar.is-compact .rb-nav .rb-more > summary > span{display:none}
  .rb-topbar.is-compact .rb-nav a > .rb-nav-s,.rb-topbar.is-compact .rb-nav .rb-more > summary > .rb-nav-s{display:block;font-size:10.5px;line-height:1;font-weight:500;letter-spacing:.01em;white-space:nowrap}
  .rb-topbar.is-compact .rb-nav a .fa-solid,.rb-topbar.is-compact .rb-nav .rb-more > summary .fa-solid{font-size:15px}
  .rb-topbar.is-compact .rb-nav a.is-active::after{left:6px;right:6px}
  /* icons only */
  .rb-topbar.is-tighter .rb-nav .rb-more > summary > span,.rb-topbar.is-tighter .rb-nav .rb-more > summary > .rb-nav-s{display:none}
}
/* before the script has run, 761 to 1100px: More looks like the stacked links next to it */
@media (min-width:761px) and (max-width:1100px){
  .rb-topbar:not(.is-full):not(.is-compact) .rb-nav .rb-more > summary{flex-direction:column;justify-content:center;gap:5px;padding:0 6px;min-width:46px}
  .rb-topbar:not(.is-full):not(.is-compact) .rb-nav .rb-more > summary > span{display:none}
  .rb-topbar:not(.is-full):not(.is-compact) .rb-nav .rb-more > summary > .rb-nav-s{display:block;font-size:10.5px;line-height:1;font-weight:500;letter-spacing:.01em;white-space:nowrap}
  .rb-topbar:not(.is-full):not(.is-compact) .rb-nav .rb-more > summary .fa-solid{font-size:15px}
}

/* ===== CREDITS-SEND-20261101: the Send tab of the Credits page (the Tip button on posts is gone) ===== */
.rb-cr-herocard .rb-card-head .rb-cr-sendbtn{margin-left:auto;display:inline-flex;align-items:center;gap:7px}
.rb-cr-sendbtn svg,.rb-cr-sendfoot .rb-btn svg{width:14px;height:14px}
.rb-cr-sendform{display:flex;flex-direction:column;gap:14px;max-width:560px}
.rb-cr-sendfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rb-cr-sendfacts > div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2,#171a21)}
.rb-cr-sendfacts span{font-size:12px;color:var(--muted)}
.rb-cr-sendfacts b{font-size:18px;font-weight:700;color:var(--cr-gold,#e5b84b);font-variant-numeric:tabular-nums}
.rb-cr-sendfacts b small{font-size:12px;font-weight:500;color:var(--muted)}
.rb-cr-amountrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rb-cr-amountrow .rb-input{width:140px;flex:none}
.rb-cr-chips{display:flex;flex-wrap:wrap;gap:6px}
.rb-cr-chip{min-width:44px;justify-content:center}
.rb-cr-hint{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.rb-label small{font-weight:400;color:var(--muted)}
.rb-cr-sendfoot{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.rb-cr-sendfoot .rb-btn{display:inline-flex;align-items:center;gap:8px}
.rb-cr-sendfoot .rb-cr-note{margin:0}
.rb-cr-senderr{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid rgba(224,69,69,.45);border-radius:3px;background:rgba(224,69,69,.08);color:#ffd0d0}
.rb-cr-senderr svg{width:16px;height:16px;flex:none}
.rb-cr-sendcard .rb-cr-empty{margin-top:12px}
@media (max-width:760px){.rb-cr-sendform{max-width:none}.rb-cr-amountrow .rb-input{width:110px}}

/* ===== MOREMENU-ROOM-20261101 (owner: "...more menyen på desktop er litt for trangt"; "trenger ikke noe beskrivelse, kan
   bare ha navnet på selve kategorien"): on the computer the More menu shows the icon and the name only, with air per
   row. Cause of the squeeze: the header modes of HDRFIT-20261101 (.is-full / .is-compact / .is-tighter .rb-nav a) also
   hit the links inside the More menu (padding 0 6px, a column in the compact header, the label hidden with icons
   only). The menu rows are shielded from them here. Phones keep the drawer as it is. */
@media (min-width:761px){
  .rb-more-menu{min-width:220px;padding:6px 0}
  .rb-topbar .rb-nav .rb-more-menu a{flex-direction:row!important;justify-content:flex-start!important;align-items:center;gap:12px!important;min-width:0!important;padding:11px 18px!important;font-size:14px;line-height:1.25}
  .rb-topbar .rb-nav .rb-more-menu a > span{display:inline!important;flex:1 1 auto}
  .rb-topbar .rb-nav .rb-more-menu a .fa-solid{font-size:14px!important;width:18px}
  .rb-topbar .rb-nav .rb-more-menu a :is(small,.rb-nav-s){display:none!important}
  .rb-topbar .rb-nav .rb-more-menu a .rb-more-n{margin-left:10px}
}

/* ===== DASHSPLIT-20261101: the Dashboard overview (usercp.php?action=dashboard): four cards, escrow, credits, the
   member's plan and vendor. Two columns on the computer, one on phones. */
.rb-dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rb-dash-grid > .rb-dash-card{display:flex;flex-direction:column;margin:0!important}
.rb-dash-card .rb-card-title i{margin-right:8px}
.rb-dash-card .rb-card-body{flex:1 1 auto;padding:16px 18px 12px}
.rb-dash-big{font-size:26px;font-weight:700;line-height:1.15;color:var(--fg,#eef1f6);font-variant-numeric:tabular-nums}
.rb-dash-big span{font-size:14px;font-weight:500;color:var(--muted)}
.rb-dash-card.is-credits .rb-dash-big{color:var(--cr-gold,#e5b84b)}
.rb-dash-small{margin:6px 0 0;font-size:13px;color:var(--muted)}
.rb-dash-warn{color:var(--amber,#f0b84b);font-weight:600}
.rb-dash-foot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line)}
@media (max-width:760px){
  .rb-dash-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .rb-dash-big{font-size:22px}
}
/* the Your account box has four buttons now (Inbox, Alerts, User CP, Dashboard): two by two */
.rb-uc .rb-uc-acts{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Your progress on top of the Dashboard overview */
.rb-dash > .rb-dash-progress{margin:0 0 16px!important}
/* the card had a side column for plan and vendor; on the Dashboard it is rank and awards only, full width */
.rb-dash-progress .rb-ucpp-overview{display:block!important}
.rb-dash-progress .rb-ucpp-ov-main{max-width:none!important;width:auto!important}

/* ===== ESCTABS-MATCH-20261101 (owner: "fikse i escrow fanen de Overview, Buying, Selling, Payouts, How it works samme
   stil fane som de andre"): the escrow links look like the links under every other Dashboard tab (.rb-ucptabs-links):
   plain grey text, white with a blue underline on the active one, 20px apart, no box, no blue link colour. The New
   escrow button stays on the right. */
.rb-esc-bar{align-items:center;margin:0;border-bottom:1px solid #2a2f3b}
.rb-esc-bar .rb-esc-tabs{gap:2px 20px!important;padding:0 4px}
.rb-esc-bar .rb-esc-tabs a{min-height:40px;padding:10px 0 9px!important;margin-bottom:-1px;background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;box-shadow:none!important;color:#98a2b6!important;font-size:13.5px!important;font-weight:500!important;text-decoration:none!important}
.rb-esc-bar .rb-esc-tabs a:hover{color:#fff!important}
.rb-esc-bar .rb-esc-tabs a.is-active{color:#fff!important;border-bottom-color:#4d7cff!important;font-weight:600!important}
.rb-esc-bar .rb-esc-barnew{margin:0 0 4px}
@media (max-width:640px){
  .rb-esc-bar{align-items:stretch}
  .rb-esc-bar .rb-esc-tabs{gap:2px 16px!important}
  .rb-esc-bar .rb-esc-tabs a{padding:10px 0 9px!important;font-size:13.5px!important}
}

/* ===== BBTABLE-20261101: [table] [tr] [th] [td] in posts (rb_bbtable). A plain table with thin lines, a darker head
   row, zebra rows; the wrapper scrolls sideways when the table is wider than the post. */
.rb-bbtable-wrap{max-width:100%;margin:10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.rb-bbtable{border-collapse:collapse;min-width:50%;font-size:14px;line-height:1.45}
.rb-bbtable th,.rb-bbtable td{padding:8px 12px;border:1px solid var(--line,#2a2f3b);text-align:left;vertical-align:top}
.rb-bbtable th{background:var(--surface-2,#1b1f27);color:#fff;font-weight:700;white-space:nowrap}
.rb-bbtable tr:nth-child(even) td{background:rgba(255,255,255,.025)}
@media (max-width:760px){.rb-bbtable{font-size:13.5px}.rb-bbtable th,.rb-bbtable td{padding:7px 10px}}

/* ===== VPANEL2-20261102: Vendor Panel, the shop week, messages waiting, next tier gains, vendor breaks ===== */
/* the break tag: thread list (after the title), Vendor Panel, first post line */
.rb-vp-break{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:1px 7px;border:1px solid rgba(210,153,34,.4);border-radius:3px;background:var(--amber-soft);color:#e6c271;font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
.rb-vp-break .fa-solid{font-size:10px}
.rb-vp-break.is-pre{margin:0 8px 0 0}
.rb-vp-state.is-break{border-color:rgba(210,153,34,.4);background:var(--amber-soft);color:#e6c271;white-space:nowrap}
.rb-vp-breakline{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:11px 14px;border:1px solid rgba(210,153,34,.35);border-left:3px solid var(--amber);border-radius:3px;background:var(--amber-soft);font-size:13.5px;line-height:1.5;color:#efd9a6}
.rb-vp-breakline .fa-solid{flex:none;margin-top:3px;color:var(--amber)}
.rb-vp-breakline b{color:#fff}
.rb-vp-break-now{margin:0 0 10px}
.rb-vp-breakform{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px}
.rb-vp-breakdate{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}
.rb-vp-breakdate input{height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:13.5px;font-weight:500;color-scheme:dark}
.rb-vp-breakdate input:focus{outline:none;border-color:var(--accent-ring)}
/* your shop this week */
.rb-vp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.rb-vp-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--fg-2);text-decoration:none}
a.rb-vp-tile:hover{border-color:var(--line-2);text-decoration:none}
.rb-vp-tile-l{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--muted)}
.rb-vp-tile-l .fa-solid{font-size:11px;color:var(--faint)}
.rb-vp-tile b{font-size:22px;font-weight:700;line-height:1.2;color:#fff;font-variant-numeric:tabular-nums}
.rb-vp-tile b.is-none{font-size:15px;color:var(--muted)}
.rb-vp-tile small{font-size:12px;color:var(--faint)}
.rb-vp-tile .is-up{color:var(--green-text);font-weight:600}
.rb-vp-tile .is-down{color:#f2a3a3;font-weight:600}
.rb-vp-vlink{border-top:1px solid var(--line)}
.rb-vp-vlink .rb-vf-sub{margin-top:0}
.rb-vp-vlink-row{display:flex;gap:8px;margin-bottom:10px}
.rb-vp-vlink-row input{flex:1 1 auto;min-width:0;height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--fg-2);font:inherit;font-size:13px}
.rb-vp-unread{color:#a9c4ff;font-weight:600}
/* VENDOR-BILLING-20261102: Renew and Invoices under the status of the Vendor Panel, one row on the left */
.rb-vf-body.rb-va-renewrow{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;padding:0 20px 18px}
.rb-va-renewrow .rb-btn{flex:0 0 auto}
/* what the next tier gives */
.rb-vf-gain{margin:4px 0 6px;padding:12px 20px 14px;border-top:1px solid var(--line)}
.rb-vf-gain .rb-vf-sub{margin:0 0 8px}
.rb-vf-gain ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px 18px;margin:0;padding:0;list-style:none}
.rb-vf-gain li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;color:var(--fg-2)}
.rb-vf-gain li .fa-solid{flex:none;margin-top:4px;font-size:10px;color:var(--green)}
.rb-vf-gain li b{color:#fff;font-weight:600}
.rb-vf-gain li small{display:block;font-size:11.5px;color:var(--faint)}
@media (max-width:640px){
  .rb-vp-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rb-vp-tile{padding:10px 12px}
  .rb-vp-tile b{font-size:19px}
  .rb-vf-gain{padding:12px 16px}
  .rb-vp-breakform .rb-btn{flex:1 1 auto;justify-content:center}
  .rb-vf-body.rb-va-renewrow{padding:0 16px 16px}
  .rb-va-renewrow .rb-btn{flex:1 1 0;justify-content:center}
  .rb-vp-break{margin-left:6px}
}
