/* Roidboard theme — css3.css: global overrides that must load after global.css (page-specific rules live in src/css/parts/*.css and global.css) */

/* Credits leaderboard and hall of fame, top 3: outlined rank circle in the metal colour + a clean 2px ring on the
   avatar. No ribbon, gradient or glow (owner 2026-11-01, "B kontur"). */
.rb-cr-board li.is-1,.rb-cr-hall-w.is-1{--rb-md:#e5b84b}
.rb-cr-board li.is-2,.rb-cr-hall-w.is-2{--rb-md:#c3cad3}
.rb-cr-board li.is-3,.rb-cr-hall-w.is-3{--rb-md:#c99a6e}
.rb-cr-board li.is-top .rb-cr-rank::before,.rb-cr-board li.is-top .rb-cr-rank::after,
.rb-cr-hall-w .rb-cr-rank::before,.rb-cr-hall-w .rb-cr-rank::after{display:none!important;content:none!important}
/* the number keeps the metal colour: the filled medal in global.css paints it #14161b, which is invisible once the
   fill is gone, so places 2 and 3 looked like empty rings (owner 2026-11-02: "ødelagt her") */
.rb-cr-board li.is-top .rb-cr-rank,.rb-cr-hall-w .rb-cr-rank{width:26px;height:26px;border-radius:50%;background:transparent!important;border:1.5px solid var(--rb-md);color:var(--rb-md)!important;font-size:12.5px;font-weight:800;line-height:1;text-shadow:none;box-shadow:none}
.rb-cr-hall-w .rb-cr-rank{width:22px;height:22px;font-size:11px}
.rb-cr-board li.is-top .rb-cr-lav{border-color:transparent;box-shadow:0 0 0 2px var(--rb-md)}

/* ===== mobile forum rows (owner 2026-11-01, D2) ===== */
/* Phones: forum rows in the reference style. Icon | name, description, subforums as dots. No count columns. One
   quiet line with the last thread (reply icon, title, date only); white when the forum has unread posts. */
/* Mobile forum rows in the reference style: icon | name, description, subforums as dots. No count columns, no
   last-post block. Phones only. */
@media (max-width:760px){
  .rb-cat-body .rb-forum{display:grid!important;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"icon main";align-items:start;gap:0 14px;padding:16px 14px!important;min-height:0!important}
  .rb-cat-body .rb-forum-icon{grid-area:icon;width:44px;height:44px;margin-top:-2px}
  .rb-cat-body .rb-forum-main{grid-area:main;min-width:0}
  .rb-cat-body .rb-forum-name{display:block;font-size:16px;font-weight:700;line-height:1.25;color:#fff;white-space:normal}
  .rb-cat-body .rb-forum-desc{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--fg-2)}
  .rb-cat-body .rb-forum-stats-wrap{display:none!important}
  .rb-cat-body .rb-forum-last{display:none!important}
  /* subforums: dot + name, inline */
  .rb-cat-body .rb-forum .rb-subforums{grid-column:2;display:flex!important;flex-wrap:wrap;gap:4px 14px;margin:5px 0 0;padding:0}
  .rb-cat-body .rb-forum .rb-subforums .rb-subforum{display:inline-flex!important;align-items:center;gap:7px;width:auto!important;margin:0;padding:0;border:0;background:transparent;font-size:14px;color:#fff}
  .rb-cat-body .rb-forum .rb-subforums .rb-subforum::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-2);flex:none}
}
@media (max-width:760px){
  /* D1: last thread as one quiet line under the description, reply icon in front, time after a middot */
  .rb-cat-body .rb-forum-last{display:flex!important;flex-wrap:nowrap!important;align-items:baseline;gap:6px;grid-column:2;min-width:0;margin:6px 0 0!important;padding:0!important;border:0!important;background:transparent!important;font-size:12.5px;line-height:1.35;text-align:left;white-space:nowrap;overflow:hidden}
  .rb-cat-body .rb-forum-last::before{content:"\f3e5";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:var(--faint);flex:none;transform:scaleX(-1)}
  .rb-cat-body .rb-forum-last .rb-forum-last-subject{display:block!important;flex:0 1 auto;min-width:0;-webkit-line-clamp:unset;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-height:0!important;line-height:1.35!important;font-size:12.5px;color:var(--muted)}
  .rb-cat-body .rb-forum-last .rb-forum-last-info{display:inline-flex;flex:none;font-size:12px;color:var(--faint)}
  /* only the date part of the time (the ", 19:53" after the date span is hidden) */
  .rb-cat-body .rb-forum-last .rb-forum-last-meta,.rb-cat-body .rb-forum-last .rb-forum-last-meta > span{display:inline;font-size:0;line-height:0}
  .rb-cat-body .rb-forum-last .rb-forum-last-meta span[title]{font-size:12px;line-height:1.35}
  /* older posts have no date span (plain text): show the whole date then */
  .rb-cat-body .rb-forum-last .rb-forum-last-meta:not(:has(span[title])),.rb-cat-body .rb-forum-last .rb-forum-last-meta:not(:has(span[title])) > span{font-size:12px;line-height:1.35}
  .rb-cat-body .rb-forum-last .rb-forum-last-meta::before{content:"\00b7";margin:0 6px 0 0;color:var(--faint)}
  .rb-cat-body .rb-forum-last .rb-forum-last-by{display:none!important}
}
@media (max-width:760px){
  /* D2: the line is white when the forum has unread posts, muted when everything is read */
  .rb-cat-body .rb-forum:has(.forum_on) .rb-forum-last .rb-forum-last-subject{color:#fff;font-weight:600}
  .rb-cat-body .rb-forum:has(.forum_on) .rb-forum-last::before{color:var(--accent-2)}
}

/* ===== mobile scale (owner 2026-11-01, index B: slim heads with one-line descriptions) ===== */
/* Phones: category heads are one slim bar: title + a short one-line description (the descriptions were shortened in the DB the same day), forum rows one step smaller
   (name 14.5px, description 12.5px, last-thread line 11.5px, 40px icon). */
/* smaller type for the phone forum rows (on top of the live D2) */
@media (max-width:760px){
  .rb-cat-body .rb-forum{padding:12px 14px!important;gap:0 12px}
  .rb-cat-body .rb-forum-icon{width:40px;height:40px}
  .rb-cat-body .rb-forum-name{font-size:14.5px}
  .rb-cat-body .rb-forum-desc{font-size:12.5px;line-height:1.35;margin-top:2px}
  .rb-cat-body .rb-forum-last{font-size:11.5px;margin-top:5px!important}
  .rb-cat-body .rb-forum-last .rb-forum-last-subject{font-size:11.5px}
  .rb-cat-body .rb-forum-last .rb-forum-last-info,.rb-cat-body .rb-forum-last .rb-forum-last-meta span[title],.rb-cat-body .rb-forum-last .rb-forum-last-meta:not(:has(span[title])),.rb-cat-body .rb-forum-last .rb-forum-last-meta:not(:has(span[title])) > span{font-size:11px}
  .rb-cat-body .rb-forum .rb-subforums .rb-subforum{font-size:12.5px}
}
/* category heads: title + the (short, one-line) description under it */
@media (max-width:760px){
  .rb-cat-head{display:flex;align-items:center;min-height:0!important;padding:8px 14px!important}
  .rb-cat-title{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
  .rb-cat-title a{font-size:14.5px!important;font-weight:700;line-height:1.2}
  .rb-cat-desc{display:block!important;font-size:11.5px!important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.85}
  .rb-cat-head .expcolimage{margin-left:auto}
}

/* HEADER-FULLWIDTH-20261101 (owner: "utnytt hele plassen i headeren", chose P2 of three position variants): on desktop
   the top bar spans the whole window, brand at the far left and the user panel at the far right; the content below keeps
   its 1320px column. Phones (max-width 760px) untouched. Undo: delete this block and push css3.css again. */
@media (min-width:761px){
.rb-topbar .rb-wrap.rb-topbar-in{max-width:none;padding:0 20px}
}

/* GUEST-NAV-20261101 (owner: "gjøm vendor apply til guests"): guests do not see the Vendor Apply item (top bar and phone
   drawer). Staff and Scam Register are top bar items for guests instead of More rows (rb_moremenu.php). */
.rb-shell.rb-is-guest .rb-topbar .rb-nav > li.rb-nav-vendor{display:none}

/* THREADLIST-PHONE-20261102 (owner 2026-11-02: keep the live phone thread list, polish it: full titles, icons in one column
   of identical tiles on the first title line, fixed line rhythm, quiet views and zero counts, grey when read, no "Last reply"
   line and no start date; instead the time of the last reply sits at the right end of the meta line as a link to the last
   post). Chosen out of three reviewed proposals ("rhythm" + fixes). Phones only (max-width 760px). Undo: delete this block
   and push css3.css again. Source and mockups: pending/postbit-mobile/tl/ */
/* Roidboard phone thread list, FINAL (variant "rhythm" + the judges' fixes, 2026-11-02). Phone only, CSS only. */
/* Grid: 12px frame, title lines 20px, meta and last lines 18px, 4px steps. Icon: one 20px tile per row, centred on the first title line. */
@media (max-width:760px){

/* row frame: block flow, 42px content column (12 + 20 tile + 10 gap), hairline between rows */
html .rb-card.rb-threads .rb-trow,
html .rb-card.rb-threads .rb-trow:has(> .rb-th-mod){display:block;position:relative;min-height:0;margin:0;padding:12px 12px 12px 42px;border-top:0;border-bottom:1px solid var(--line);grid-template-areas:none;grid-template-columns:none}
html .rb-card.rb-threads .rb-trow:last-child{border-bottom:0}
html .rb-card.rb-threads .rb-trow .rb-th-main{display:block;min-width:0;margin:0;padding:0}

/* section separators: quiet caps, 32px tall, label on the icon column edge */
html .rb-card.rb-threads .rb-trow-sep{display:flex;align-items:center;gap:0;height:32px;margin:0;padding:0 12px;background:var(--surface-2);border-top:0;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.06em;line-height:1;text-transform:uppercase;color:var(--muted)}

/* icon column: every status in the same 20px box, glyph centred, box top = first title line top.
   Owner 2026-11-02: no grey tile behind the icons, only the glyph. */
html .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;margin:0;padding:0;flex:none}
html .rb-card.rb-threads .rb-trow .rb-th-status .thread_status,
html .rb-card.rb-threads .rb-trow:hover .rb-th-status .thread_status,
html .rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="new"],
html .rb-card.rb-threads .rb-trow:hover .rb-th-status .thread_status[class*="new"]{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:20px;height:20px;margin:0;padding:0;border:0!important;background:none!important;box-shadow:none!important;font-size:0;line-height:0}
html .rb-card.rb-threads .rb-trow .rb-th-status .thread_status::after{display:block;width:auto!important;height:auto!important;margin:0;font-size:14px;line-height:1;-webkit-mask:none!important;mask:none!important;background:none!important}
/* read rows: the page glyph goes quiet, so the blue unread glyph is the brightest icon in the column (hot, closed, new keep the theme colours) */
html .rb-card.rb-threads .rb-trow .rb-th-status .thread_status.folder::after{color:var(--muted)}
html .rb-card.rb-threads .rb-trow .rb-th-status .thread_status[class*="dot_"]::before{display:none}

/* title: full text, 15px on 20px lines, wraps anywhere, no clamp */
html .rb-card.rb-threads .rb-trow .rb-trow-title,
html .rb-card.rb-threads .rb-trow:has(> .rb-th-mod input) .rb-trow-title{display:block;overflow:visible;-webkit-line-clamp:none;line-clamp:none;-webkit-box-orient:initial;max-height:none;min-width:0;margin:0;padding:0;font-size:15px;font-weight:500;line-height:20px}
html .rb-card.rb-threads .rb-trow:has(> .rb-th-mod input) .rb-trow-title{margin-right:30px}
html .rb-card.rb-threads .rb-trow .rb-trow-subject{display:inline;min-width:0;overflow:visible;white-space:normal;overflow-wrap:anywhere}
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-trow-subject a{display:inline;font-size:15px;font-weight:500;line-height:20px;color:var(--fg-2);white-space:normal;overflow-wrap:anywhere}
html .rb-card.rb-threads .rb-trow .rb-trow-subject.subject_new a,
html .rb-card.rb-threads .rb-trow .subject_new .rb-trow-subject a{font-weight:600;color:#fff}
html .rb-card.rb-threads .rb-trow .rb-trow-subject.subject_new::before{content:none;display:none}
html .rb-card.rb-threads .rb-trow .rb-thread-pages{display:none}

/* chips in the title (prefix, poll, solved, pending): all 20px tall and top aligned, so a chip fills the first
   20px line box exactly, its centre sits on the cap centre of the text, and a badge row gets the same line
   height as a plain row. The theme sizes prefix chips with an 8x .rb-prefix selector (0,9,0) and !important on
   height and top, so the prefix selector below repeats the class to out-rank it; vertical-align and margin are
   plain declarations there. The markup already prints spaces after the chip (about 9px), so the chip gets no
   margin. The wrapper span sits on the baseline so its spaces cannot stretch the first line box. */
html .rb-card.rb-threads .rb-trow .rb-trow-prefix{display:inline;margin:0;padding:0;white-space:nowrap;vertical-align:baseline}
html .rb-card.rb-threads .rb-trow .rb-trow-prefix:empty,
html .rb-card.rb-threads .rb-trow .rb-trow-poll:empty{display:none}
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix,
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-badge.rb-badge.rb-badge.rb-badge.rb-badge.rb-badge{position:relative;top:0!important;display:inline-flex;align-items:center;flex:none;height:20px!important;margin:0;line-height:1;vertical-align:top}
html .rb-card.rb-threads .rb-trow .rb-trow-poll,
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-solved-tag,
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-pending-tag{position:relative;top:0;display:inline-flex;align-items:center;flex:none;height:20px;margin:0 8px 0 0;font-size:12px;line-height:1;vertical-align:top}
html .rb-card.rb-threads .rb-trow .rb-trow-title .rb-pending-tag{margin:0 0 0 6px}
html .rb-card.rb-threads .rb-trow .rb-trow-ticon img{width:14px;height:14px;margin:0 6px 0 0;position:relative;top:-1px;vertical-align:middle;object-fit:contain}

/* meta line: 12.5px on 18px lines, 4px under the title, dots never lead a wrapped line */
html .rb-card.rb-threads .rb-trow .rb-trow-meta{display:block;overflow:hidden;min-width:0;margin:4px 0 0!important;padding:0!important;font-size:12.5px;line-height:18px;color:var(--muted);white-space:nowrap}
html .rb-card.rb-threads .rb-trow .rb-trow-meta-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin:0 0 0 -10px;padding:0}
html .rb-card.rb-threads .rb-trow .rb-trow-meta-in > *{flex:none;min-width:0;max-width:100%;margin:0;padding:0;font-size:12.5px;line-height:18px;color:var(--muted)}
html .rb-card.rb-threads .rb-trow .rb-trow-meta-in > *::before{content:"\00b7";display:inline-block;width:10px;margin:0;text-align:center;font-family:var(--font);font-weight:400;color:var(--faint)}
html .rb-card.rb-threads .rb-trow .rb-trow-meta-in > .rb-trow-by{display:none}
html .rb-card.rb-threads .rb-trow .rb-trow-meta .author{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
html .rb-card.rb-threads .rb-trow .rb-trow-meta .author a{font-size:12.5px;font-weight:600;line-height:18px}
html .rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime{display:block;color:var(--muted)}
html .rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime .fa-solid{display:none}
html .rb-card.rb-threads .rb-trow .rb-trow-count{display:block;white-space:nowrap}
html .rb-card.rb-threads .rb-trow .rb-trow-count b{font-weight:600;color:var(--fg-2)}
/* views and a zero reply count are the quietest numbers; a real reply count is the one bold figure of the line */
html .rb-card.rb-threads .rb-trow .rb-trow-count.is-views b,html .rb-card.rb-threads .rb-trow .rb-trow-count.is-replies[data-n="0"] b{font-weight:500;color:var(--muted)}
html .rb-card.rb-threads .rb-trow.is-announcement .rb-trow-ann-date{display:block;margin:0;line-height:18px;white-space:nowrap}

/* owner 2026-11-02: no "Last reply" line and no thread start date on phones; instead the time of the LAST reply sits at
   the right end of the meta line with a small reply arrow. The row is a two-column grid: the title spans both columns,
   the meta line takes the left column, the last-reply time the right column, bottom aligned with the meta line. */
html .rb-card.rb-threads .rb-trow,
html .rb-card.rb-threads .rb-trow:has(> .rb-th-mod){display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;column-gap:10px}
html .rb-card.rb-threads .rb-trow .rb-th-main{display:contents}
html .rb-card.rb-threads .rb-trow .rb-trow-title{order:1;flex:0 0 100%;min-width:0}
html .rb-card.rb-threads .rb-trow .rb-trow-meta{order:3;flex:1 1 auto;min-width:0;margin:0!important;white-space:normal}
html .rb-card.rb-threads .rb-trow .rb-th-stats{display:none!important}
html .rb-card.rb-threads .rb-trow .rb-trow-meta .thread_start_datetime{display:none!important}
html .rb-card.rb-threads .rb-trow .rb-th-last{order:5;flex:0 0 auto;margin:-6px 0 -6px auto;display:flex!important;align-items:center;justify-content:flex-end;gap:5px;padding:6px 0 6px 6px;border:0;overflow:visible;font-size:12.5px;line-height:18px;color:var(--muted);white-space:nowrap}
html .rb-card.rb-threads .rb-trow .rb-th-last::before{content:"\f3e5";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:var(--accent-2)}
html .rb-card.rb-threads .rb-trow .rb-th-last .rb-lp-avatar,html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-by,html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-label{display:none!important}
html .rb-card.rb-threads .rb-trow .rb-th-last .lastpost{display:block;margin:0;padding:0;overflow:visible;min-width:0;max-width:none}
/* the time is the theme's own link to the last post (?action=lastpost): a blue arrow says so, a bigger tap area, brighter on press */
html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-date{display:block;width:auto;max-width:none!important;margin:0;padding:0;overflow:visible!important;text-overflow:clip!important;white-space:nowrap;font-size:12.5px;line-height:18px;color:var(--muted);text-decoration:none}
html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-date:active,html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-date:hover{color:var(--fg)}
html .rb-card.rb-threads .rb-trow .rb-th-last .rb-last-date::before{content:none!important}
html .rb-card.rb-threads .rb-trow.is-announcement .rb-th-last{display:none!important}
/* moderator checkbox stays top right, 44px touch target */
html .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:44px;height:44px;min-height:44px;margin:0;padding:0;opacity:1}

}

/* NAMEFX-PERF-20261102 (owner: "siden er veldig treg ... når du scroller"): the animated member-name styles (rb-name-*,
   global.css) animate filter and background-position, which repaints the area around every styled name on every frame on
   the main thread, even while the page just sits there: measured 386 ms of raster work per 3 s idle on the front page at
   2x (member view, 36 running name animations), which is what starves fast scrolling of paint time on a Retina Mac.
   Giving each styled name its own compositor layer confines the repaint to the name itself: 42 ms. No visual change.
   Undo: delete this block and push css3.css again. */
[class*="rb-name-"]{will-change:filter}

/* NEWLABEL-POS-20261102 (owner: "ha new en annen plass på nye replies"): the "New" mark on unread posts (added by
   rb-ux.js right after the date) moves to the right end of the post head, as a small blue pill right before the post
   number, and the whole unread post gets a thin blue edge on the left so new replies are easy to spot while scrolling.
   Undo: delete this block and push css3.css again. */
.rb-post-head .rb-new-label{order:1;margin-left:auto;padding:4px 8px;border-radius:3px;background:var(--accent-soft);color:var(--accent-2);font-size:10.5px;letter-spacing:.08em}
.rb-post-head > .rb-post-num{order:2}
.rb-post-head:has(> .rb-new-label) > .rb-post-num{margin-left:0} /* the post number's own auto margin would split the free space with the pill */
.rb-post-head .rb-new-label + .rb-grow{flex:0 1 0}
.rb-post.is-unread{box-shadow:inset 3px 0 0 var(--accent-2)}

/* TABLABEL-CLIP-20261102 (owner: "på tabsene home, community, sverige, norge, danmark kutter det ut teksten nederst").
   The label span is 12px text in a 13.2px line box with overflow:hidden, so the tail of a g, j or y is cut off. A
   taller line box fixes it; the labels are far shorter than the tab, so nothing starts wrapping. Phones only, where
   the tabs stack icon over label. Undo: delete this block and push css3.css again. */
@media (max-width:760px){
  .rb-cattabs a > span{line-height:1.42;overflow:visible}
  .rb-cattabs a{padding-bottom:6px}
}

/* NAMEBOX-20261102 (owner: "gra boks rundt alle navnene og usergroup navnene som har farge med effect").
   A name painted with a gradient uses -webkit-background-clip:text. A filter on that same element makes the
   browser rasterise it in its own layer, where the background is drawn before it is clipped to the glyphs, and
   the result is a pale rectangle behind the name. The glow therefore moves to the element's parent, which has
   no text clip and paints no box; the name itself keeps its colours untouched. Undo: delete this block. */
.rb-name-apex{filter:none!important}
*:has(> span.rb-name-apex){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:has(> span.rb-name-apex),a:focus-visible:has(> span.rb-name-apex){filter:brightness(1.12) 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))}
.rb-name-coach{filter:none!important}
*:has(> span.rb-name-coach){filter:drop-shadow(0 0 3px rgba(0,213,255,.5))}
a:hover:has(> span.rb-name-coach),a:focus-visible:has(> span.rb-name-coach){filter:brightness(1.12) drop-shadow(0 0 3px rgba(0,213,255,.5))}
.rb-name-contributor{filter:none!important}
*:has(> span.rb-name-contributor){filter:drop-shadow(0 0 5px rgba(100,80,255,.6))}
a:hover:has(> span.rb-name-contributor),a:focus-visible:has(> span.rb-name-contributor){filter:brightness(1.12) drop-shadow(0 0 5px rgba(100,80,255,.6))}
.rb-name-elitevendor{filter:none!important}
*:has(> span.rb-name-elitevendor){filter:drop-shadow(0 0 5px rgba(150,220,255,.45))}
a:hover:has(> span.rb-name-elitevendor),a:focus-visible:has(> span.rb-name-elitevendor){filter:brightness(1.12) drop-shadow(0 0 5px rgba(150,220,255,.45))}
.rb-name-legend{filter:none!important}
*:has(> span.rb-name-legend){filter:drop-shadow(0 0 5px rgba(170,80,255,.55))}
a:hover:has(> span.rb-name-legend),a:focus-visible:has(> span.rb-name-legend){filter:brightness(1.12) drop-shadow(0 0 5px rgba(170,80,255,.55))}
.rb-name-trustedvendor{filter:none!important}
*:has(> span.rb-name-trustedvendor){filter:drop-shadow(0 0 5px rgba(231,150,140,.42))}
a:hover:has(> span.rb-name-trustedvendor),a:focus-visible:has(> span.rb-name-trustedvendor){filter:brightness(1.12) drop-shadow(0 0 5px rgba(231,150,140,.42))}
.rb-name-verifiedvendor{filter:none!important}
*:has(> span.rb-name-verifiedvendor){filter:drop-shadow(0 0 6px rgba(0,180,255,.5))}
a:hover:has(> span.rb-name-verifiedvendor),a:focus-visible:has(> span.rb-name-verifiedvendor){filter:brightness(1.12) drop-shadow(0 0 6px rgba(0,180,255,.5))}
.rb-name-vip{filter:none!important}
*:has(> span.rb-name-vip){filter:drop-shadow(0 0 6px rgba(245,197,66,.5))}
a:hover:has(> span.rb-name-vip),a:focus-visible:has(> span.rb-name-vip){filter:brightness(1.12) drop-shadow(0 0 6px rgba(245,197,66,.5))}
a:hover > span[class*="rb-name-"],a:focus-visible > span[class*="rb-name-"]{filter:none!important}
a:has(> span[class*="rb-name-"]):hover{filter:brightness(1.12)}

/* SUBFORUMGAP-20261102 (owner: "ha subforumene litt lengre opp mot Arkiv bara läsning"). On a board that has
   subforums the chips sit in a second grid row, and the 14px row gap plus their own 10px margin left a 32px hole
   under the description. The gap goes to zero and the margin to 4px for those rows only, which lifts the chips 20px
   and shortens the row from 137 to 117. Nothing is moved between grid cells, so the row itself cannot break.
   Computer view only, phones already handle this in rb-zoom.css. Undo: delete this block and push css3.css again. */
@media (min-width:761px){
  .rb-cat-body .rb-forum:has(.rb-subforums){row-gap:0}
  .rb-cat-body .rb-forum .rb-subforums{margin-top:4px}
}

/* NAVBADGE-20261103 (owner: "2 tallet ser litt stygt ut, fiks finere pa mobil og desktop"): the unread count on
   Activity. A single digit sits in a true circle, wider numbers in a pill, the digit is centred by flex instead of
   line height, tabular figures, no fat dark ring. Computer: a small badge on the corner of the icon. Phone drawer:
   a badge after the word, centred on the line. */
.rb-nav .rb-new-badge{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #12141a}
@media (min-width:761px){
  .rb-nav .rb-new-badge{position:absolute;top:4px;right:2px;margin:0}
}
@media (max-width:760px){
  .rb-nav .rb-new-badge{position:static;min-width:18px;height:18px;padding:0 5px;margin:0 0 0 8px;font-size:11px;box-shadow:none;align-self:center;vertical-align:middle}
}

/* PMTABS-20261103 (owner: "fjern Manage Folders, Empty Folders og Download Messages, tror ikke folk bruker dem"):
   the three tools leave the message tab row on every screen size. The pages themselves still answer by address.
   The row lives in the private and private_search_results templates, so this is done here rather than in them.
   Undo: delete this block and push css3.css again. */
.rb-pm-tabs a[href*="action=folders"],.rb-pm-tabs a[href*="action=empty"],.rb-pm-tabs a[href*="action=export"]{display:none!important}

/* PMEDITOR-20261103 (owner: "Send PM boksen der vi fyller ut er kuttet i halv"): on a phone the message editor sat
   next to its smilies panel in a flex row. The panel is hidden there, but it still kept its share of the row, so the
   editor was 314px of 478. The two now stack, and the editor takes the whole width. Undo: delete this block. */
@media (max-width:760px){
  html .rb-pm-editor{flex-direction:column!important;align-items:stretch!important}
  html .rb-pm-editor > *{width:100%!important;max-width:none!important;flex:0 0 auto!important;min-width:0}
}

/* PMTOOLBAR-20261103 (owner: "editor linjen fikse dette også på PM på mobil"). The compact PM editor on a phone keeps
   bold, italic, image, link and quote in one row and ends with "More" (rb-acct.js). That group is an inline-flex box
   30px tall on a row of 36px inline-block groups, aligned on the baseline, so "More" sat 21px lower than the icons.
   Now it is as tall as the buttons, aligned to the top of the line, with the word centred. Phone widths only, the
   group is display:none on a computer. */
@media (max-width:767px){
html .sceditor-container.rb-ed-compact .sceditor-toolbar .rb-ed-moregrp{vertical-align:top;height:36px;margin-top:1px;align-items:center}
}

/* POSTOPTS-20261103 (owner: "fjern thread subscription på new reply / quote / post thread, ingen bruker dette, samme med
   post options signature disable smilies"). The Post Options box (signature, disable smilies) and the Thread
   Subscription box leave the reply, quote and new thread pages on every screen size. They are hidden, not removed: the
   fields stay in the form and send their defaults, so a member who has a signature still gets it under the post,
   smilies stay on, and the subscription follows the member's own default from the User CP. Moderator options, the poll
   box and the captcha are boxes of their own and stay. The edit page follows (owner: "fjern det på edit også").
   Undo: delete this block. */
:is(form[action*="newreply.php"],form[action*="newthread.php"],form#editpost) .rb-compose-opts > :is(.rb-popt-post,.rb-popt-subscribe){display:none!important}
:is(form[action*="newreply.php"],form[action*="newthread.php"],form#editpost) .rb-compose-opts:not(:has(> :not(.rb-popt-post):not(.rb-popt-subscribe))){display:none!important}

/* MOBILEBUGS-20261103 (owner: "fikse alt i feil listen", from the phone sweep of 2026-11-03). Undo: delete this block.
   1. Alerts: every alert row that has a target opens it, not only award rows. Each row already carries a.rb-al-open
      with the right target (escrow, credits, vendor, plan); global.css (P4) hides it except on award rows, a rule
      written before the other alert types existed. Name links and the avatar stay on top, except on rows the board
      itself sent, where the logo and the name open the alert instead of the board's own profile. */
.rb-al-list .rb-al-item:has(> a.rb-al-open[href]){position:relative}
.rb-al-list .rb-al-item:has(> a.rb-al-open[href]) > a.rb-al-open{display:block;position:absolute;inset:0;border-radius:0}
.rb-al-list .rb-al-item:has(> a.rb-al-open[href]) > a.rb-al-open:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.rb-al-list .rb-al-item:has(> a.rb-al-open[href]) :is(.rb-al-av,.rb-al-text a){position:relative;z-index:1}
.rb-al-list .rb-al-item:has(.rb-al-actor .rb-name-root) :is(.rb-al-av,.rb-al-actor){pointer-events:none}
/* 2. New Thread on phones: global.css trims the editor toolbar to two rows and gives the option rows 36px, but those
      rules match form[action^="newthread.php"] while MyBB prints the full address (https://roidboard.to/newthread.php),
      so they never applied on New Thread (Edit Post gets them through form#editpost). The same seven rules with a
      match that works: */
@media (max-width:760px){
  .rb-posting form[action*="/newthread.php"] .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 form[action*="/newthread.php"] .sceditor-container .sceditor-toolbar .sceditor-group{display:contents}
  .rb-posting form[action*="/newthread.php"] .sceditor-container .sceditor-toolbar .sceditor-button{margin:0}
  .rb-posting form[action*="/newthread.php"] .sceditor-container .sceditor-toolbar .sceditor-button-unlink{display:none}
  .rb-posting form[action*="/newthread.php"] :is(input.textbox,input[type=text],input[type=number],select,textarea){font-size:16px}
  .rb-posting form[action*="/newthread.php"] .rb-compose-opts .rb-popt .rb-check{min-height:36px;align-items:center}
  .rb-posting form[action*="/newthread.php"] .rb-compose-opts .rb-popt .rb-check input{margin:0}
}
/* 3. A label with its help line under it (Change Avatar "Upload Avatar:" and others): rb-vouch.css sets
      .rb-label{display:block} on every page, which beats global.css's column for .rb-label-stack, so label and help ran
      together ("Upload Avatar:Choose an avatar..."). Two classes put the column back. */
.rb-label.rb-label-stack{display:flex}
/* 4. PM list: MyBB prints a tab in the icon span when a message has no icon, so .rb-pm-icon:empty never hides it and
      the subject sat 8px to the right of the sender. */
.rb-pm-main .rb-pm-icon:not(:has(img)){display:none}

/* UCPNARROW-20261103 (owner: "kan du gjøre boksene smallere? det er for stor width unødvendig, også sentrere", then
   "legg ut ucp det var bedre"). On a computer the User CP and Messages pages are one centred 960px column: the
   notices, the breadcrumb, the User CP tabs and the cards keep their edges in line, the top bar stays full width like
   on every page. From 1100px only; phones and tablets are not touched. Undo: delete this block. */
@media (min-width:1100px){
html :is(.rb-page-usercp,.rb-page-private) #content > .rb-wrap > *{max-width:960px;margin-left:auto;margin-right:auto}
}

/* PREFIXHIDE-20261103 (owner: "skjul wts og wtb merket på alle trådene, trenger ikke, men ha sold closed trade og
   interest"). WTS and WTB stay on the threads, because they are the "available" state that Mark as sold and Mark as
   available switch and the Available / Sold filter reads, but they are no longer shown: the board name already says
   sell or buy. Sold, Closed, Trade, Interest and every other prefix show as before. All screen sizes. A wrapper that only
   held the hidden badge goes too, so no gap is left in front of the title. Undo: delete this block. */
/* nine .rb-prefix to beat global.css .rb-prefix x8:not(.rb-mkf-sw){display:inline-flex!important} */
.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix.rb-prefix:is(.is-wts,.is-wtb){display:none!important}
:is(.rb-trow-prefix,.rb-sr-prefix,.rb-li-prefix,.rb-new-prefix):not(:has(.rb-prefix:not(.is-wts):not(.is-wtb))):has(.rb-prefix){display:none!important}
/* the thread header (2026-11-03, owner: "får mye space på trådhode, fjern det unødvendige mellomrommet"): MyBB prints
   "&nbsp;" after the prefix badge (showthread.php, displayprefix). With the WTS or WTB badge hidden that space stayed a
   flex item of its own, an empty first line over the title on a phone (28px) and a 12px indent on a computer. As a one
   column grid the title takes the first row and the space falls to a second row of no height. */
html .rb-topic-title:has(> .rb-prefix:is(.is-wts,.is-wtb)){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:0;row-gap:0}
html .rb-topic-title:has(> .rb-prefix:is(.is-wts,.is-wtb)) > .rb-topic-subject{grid-area:1 / 1}
/* HDRTABLET-20261103 (owner: "ja fikse toppmenyen på ipad"). From 761 to 879px wide (an iPad in portrait, a narrow
   window) the member top bar did not fit even in its tightest mode (rb.js HDRFIT): the avatar and the user menu were
   pushed past the right edge, 101px at 761 and 28px at 834. There Escrow and Credits leave the bar and are the first
   two rows of More (rb_moremenu.php prints them as li.rb-more-tablet, hidden at every other width); positions only.
   Up to 779px the bar's side padding is 16px instead of 20px, for the last 3px at 761. Undo: delete this block. */
.rb-more-menu > li.rb-more-tablet{display:none}
@media (min-width:761px) and (max-width:879px){
.rb-topbar .rb-nav > li:is(.rb-nav-escrow,.rb-nav-credits){display:none!important}
.rb-more-menu > li.rb-more-tablet{display:block}
}
@media (min-width:761px) and (max-width:779px){
.rb-topbar .rb-wrap.rb-topbar-in{padding-left:16px;padding-right:16px}
}
/* MENUS-20261103 (owner 2026-11-03: "gjør ... more mer ut som en drop meny", picked mockup 27b "B med forklaring", and
   "fikse hamburg menyen den bruker hele skjermen nesten på mobil", mockup 27c "ser bra ut set live").
   1. Computer and tablet, 761px and up: More gets a chevron after its label (under the dots where the bar's tightest
      mode hides the label) that turns up while the menu is open. The panel takes the user menu's look (3px corners,
      its border, ground and shadow), sits 7px under the bar with a small arrow at More, and every row is the icon, the
      name and its one line description under it. Beats global.css .rb-topbar .rb-nav .rb-more-menu a (gap and padding
      with !important) and .rb-topbar .rb-nav .rb-more-menu a :is(small,.rb-nav-s){display:none!important}.
   2. Phones, 760px and down: the menu is a panel under the menu button instead of the whole width, 62% of the screen
      and at most 330px, with tighter rows and the same look; the page behind is dimmed by a wide shadow, and a tap
      outside closes it (rb_moremenu.php, MENUS-20261103). Undo: delete this block. */
@media (min-width:761px){
html .rb-topbar details.rb-more > summary > small.rb-nav-s::after{content:"\f078";display:inline-block;margin-left:4px;font-family:"Font Awesome 6 Free";font-weight:900;font-size:7.5px;line-height:1;vertical-align:1px;transition:transform .15s}
html .rb-topbar details.rb-more[open] > summary > small.rb-nav-s::after{transform:rotate(180deg)}
html .rb-topbar.is-tighter details.rb-more > summary::after{content:"\f078";position:absolute;left:50%;top:50%;width:10px;margin:8px 0 0 -5px;text-align:center;font-family:"Font Awesome 6 Free";font-weight:900;font-size:7.5px;line-height:1;color:var(--muted);transition:transform .15s}
html .rb-topbar.is-tighter details.rb-more[open] > summary::after{transform:rotate(180deg)}
html .rb-topbar .rb-more-menu{top:calc(100% + 7px);min-width:300px;padding:6px;border:1px solid rgb(56,61,73);border-radius:3px;background:rgb(29,32,41);box-shadow:0 14px 32px rgba(0,0,0,.55)}
html .rb-topbar .rb-more-menu::before{content:"";position:absolute;top:-6px;left:18px;width:10px;height:10px;background:rgb(29,32,41);border-left:1px solid rgb(56,61,73);border-top:1px solid rgb(56,61,73);transform:rotate(45deg)}
html .rb-topbar .rb-nav .rb-more-menu a{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 12px!important;align-items:start;padding:9px 14px!important;border-radius:3px;white-space:normal}
html .rb-topbar .rb-more-menu a:hover,html .rb-topbar .rb-more-menu a:focus-visible{background:rgba(255,255,255,.05)}
html .rb-topbar .rb-nav .rb-more-menu a .fa-solid{grid-row:1 / 3;align-self:start;width:20px;height:18px;margin:0;padding:0;background:none;border-radius:0;color:var(--muted);text-align:center;line-height:18px}
html .rb-topbar .rb-nav .rb-more-menu a:hover .fa-solid{color:var(--accent-2)}
html .rb-topbar .rb-nav .rb-more-menu a span{grid-column:2;margin:0;font-size:14px;font-weight:600;line-height:18px;color:var(--fg)}
html .rb-topbar .rb-nav .rb-more-menu a small:not(.rb-nav-s){display:block!important;grid-column:2;margin:1px 0 0;padding:0;font-size:12px;line-height:16px;color:var(--muted)}
}
@media (max-width:760px){
html .rb-topbar .rb-nav{left:10px;right:auto;top:calc(100% + 6px);width:min(62%,330px);max-height:calc(100vh - 80px);overflow:auto;padding:6px 0;border:1px solid rgb(56,61,73);border-radius:3px;background:rgb(29,32,41);box-shadow:0 14px 32px rgba(0,0,0,.55),0 0 0 100vmax rgba(5,7,12,.45)}
html .rb-topbar .rb-nav a,html .rb-topbar .rb-nav details.rb-more > summary{gap:12px;padding:10px 14px;font-size:14.5px;border-top:0}
html .rb-topbar .rb-nav > li + li > a,html .rb-topbar .rb-nav > li + li > details > summary{border-top:0}
html .rb-topbar .rb-nav .rb-more-menu{background:transparent}
html .rb-topbar .rb-nav .rb-more-menu a{padding:9px 14px 9px 44px;font-size:14px}
}
