/* 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}
.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);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}
}
