/* The forum in the website's look. site.css loads first and draws the site's own nav, hero, buttons and footer; this
   restyles MyBB's pages to match the site's light sections: #f5f5f7 behind white cards, the site's type and blue, pill
   buttons, quiet separators. (MyBB's own theme loads in between; everything here wins over it.) */

/* ---------- the page ---------- */
body.bn-forum { background: var(--alt); color: var(--ink); font-size: 15px; line-height: 1.5; letter-spacing: -0.011em; margin: 0; }
body.bn-forum #container { background: transparent; color: var(--ink); font: inherit; min-width: 0; text-align: left; line-height: 1.5; }
body.bn-forum #content img, body.bn-forum .bn-userbar img { display: inline; vertical-align: middle; }
#content a:link, #content a:visited, .bn-userbar a:link, .bn-userbar a:visited, .bn-forumfoot a { color: var(--accent-text); text-decoration: none; }
#content a:hover, .bn-userbar a:hover, .bn-forumfoot a:hover { text-decoration: underline; }
#content .wrapper, .bn-forumfoot .wrapper { width: min(1080px, calc(100% - 32px)); min-width: 0; max-width: none; margin: 0 auto; padding: 0; }
#content { background: transparent; padding: 22px 0 70px; width: auto; }
#content h1 { font-size: clamp(32px, 4vw, 44px); line-height: 1.08; letter-spacing: -0.035em; font-weight: 700; margin: 0 0 10px; color: var(--ink); }

/* ---------- the forum bar under the site's nav (like an Apple product page's local nav) ---------- */
.bn-local { background: var(--alt); color: var(--ink); }
body.bn-forum:not(.bn-has-hero) .bn-local { padding-top: 86px; }
.bn-local-bar, .bn-userbar { width: min(1080px, calc(100% - 32px)); margin: 0 auto; }
.bn-local-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 20px 0 14px; border-bottom: 0.5px solid var(--line); }
.bn-local-title, .bn-local-title:link, .bn-local-title:visited { color: var(--ink); text-decoration: none; font-size: 24px; font-weight: 700; letter-spacing: -0.03em; }
.bn-local-links { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; font-size: 14px; }
.bn-local-links a, .bn-local-links a:link, .bn-local-links a:visited { color: var(--ink); opacity: 0.82; text-decoration: none; }
.bn-local-links a:hover { opacity: 1; }
.bn-local-links a.bn-local-cta { opacity: 1; background: var(--accent); color: #fff; padding: 5px 15px; border-radius: 980px; font-size: 13px; font-weight: 500; }
.bn-local-links a.bn-local-cta:hover { background: var(--accent-hover); }
/* The dashboard, one tap away: a quiet pill beside Post, with the arrow that says it opens the app */
.bn-local-links a.bn-local-app { opacity: 1; display: inline-flex; align-items: center; gap: 4px; background: rgba(0, 0, 0, 0.06); color: var(--ink);
  padding: 5px 11px 5px 14px; border-radius: 980px; font-size: 13px; font-weight: 500; }
.bn-local-links a.bn-local-app:hover { background: rgba(0, 0, 0, 0.1); }
.bn-local-app svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bn-userbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; padding: 11px 0 0; font-size: 13px; color: var(--ink-2); }
.bn-userbar strong { color: var(--ink); font-weight: 600; }
.bn-userlinks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.bn-userlinks li { margin: 0; color: var(--ink-3); }
.bn-userlinks a.bn-pill { background: var(--accent); color: #fff; padding: 4px 13px; border-radius: 980px; font-weight: 500; }
.bn-userlinks a.bn-pill:hover { background: var(--accent-hover); text-decoration: none; }

/* ---------- the front page's hero (the site's page-hero) ---------- */
.bn-hero { padding-bottom: clamp(60px, 7vw, 96px); }
.bn-hero h1 { font-size: clamp(48px, 7.4vw, 104px); }
.bn-hero .cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }
.bn-hero-stats { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 46px; margin: 44px 0 0; }
.bn-hero-stats div { text-align: center; }
.bn-hero-stats dt { font-size: 13px; color: var(--dark-ink-2); }
.bn-hero-stats dd { margin: 2px 0 0; font-size: 34px; font-weight: 700; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }

/* ---------- breadcrumb ---------- */
.navigation { color: var(--ink-3); font-size: 13px; padding: 0 0 18px; }
.navigation a:link, .navigation a:visited { color: var(--ink-2) !important; }
.navigation .active { color: var(--ink); font-size: 13px; font-weight: 600; }
#content > .wrapper > br:first-of-type { display: none; }

/* ---------- tables become the site's white cards ---------- */
#content table { color: var(--ink); font-size: 14.5px; border-collapse: separate; }
.tborder { background: var(--light); border: 0; border-radius: 18px; overflow: hidden; width: 100%; margin: 0 auto; box-shadow: none; }
.thead { background: var(--light) !important; color: var(--ink); border-bottom: 0.5px solid var(--line); padding: 16px 20px !important; font-size: 19px; }
.thead strong { font-weight: 650; letter-spacing: -0.02em; }
.thead a:link, .thead a:visited, .thead a:hover, .thead a:active { color: var(--ink) !important; }
.thead .smalltext, .thead div.expcolimage { color: var(--ink-2); font-size: 13px; }
.tcat { background: var(--light) !important; color: var(--ink-3); border: 0; border-bottom: 0.5px solid var(--line); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.04em; text-transform: uppercase; padding: 9px 20px !important; }
.tcat a:link, .tcat a:visited, .tcat a:hover, .tcat a:active { color: var(--ink-3) !important; }
.trow1, .trow2, .trow_shaded { background: var(--light); border-color: var(--line) !important; border-bottom: 0.5px solid var(--line); border-right: 0; padding: 14px 20px; }
.trow_shaded, .trow_selected, tr.trow_selected td { background: #fafafc; }
.trow_sep { background: #fafafc; color: var(--ink-3); border: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.tfoot { background: #fafafc; border-top: 0; color: var(--ink-2); padding: 12px 20px; }
.smalltext { color: var(--ink-2); font-size: 13px; }
.largetext { font-size: 17px; font-weight: 650; }
.tborder + br, #content table + br { line-height: 10px; }
.float_right .button, .float_left .button { margin-bottom: 14px; }

/* The front page: each category is a card with its sections */
.forum_status { width: 34px; height: 34px; border-radius: 10px; background-size: 34px; }
.forum_on { background-color: var(--accent); }
.trow1 strong a, .trow2 strong a { font-size: 16px; font-weight: 600; color: var(--ink) !important; }
.forum_legend { color: var(--ink-3); }

/* ---------- posts ---------- */
.post { background: var(--light); border-radius: 18px; margin-bottom: 16px; overflow: hidden; }
.post.classic { display: flex; }
.post .post_author { background: var(--light); border: 0; border-bottom: 0.5px solid var(--line); padding: 16px 20px; }
.post .post_author div.author_avatar img { border-radius: 14px; border: 0; padding: 0; background: none; max-width: 64px; max-height: 64px; }
.post .post_author div.author_information .largetext a { color: var(--ink) !important; }
.post .post_author div.author_statistics { color: var(--ink-2); font-size: 13px; border-left: 0.5px solid var(--line); padding-left: 14px; }
.post .post_head { border-bottom: 0; padding: 14px 20px 0; }
.post .post_head span.post_date { color: var(--ink-3); font-size: 13px; }
.post .post_body { padding: 12px 20px 20px; font-size: 15.5px; line-height: 1.6; }
.post .post_controls { background: var(--light); border-top: 0.5px solid var(--line); border-bottom: 0; padding: 10px 16px; }
.post .post_meta { color: var(--ink-3); }
.signature { border-top: 0.5px solid var(--line); color: var(--ink-2); }
.postbit_buttons > a:link, .postbit_buttons > a:hover, .postbit_buttons > a:visited, .postbit_buttons > a:active {
  background: var(--alt) !important; border: 0 !important; border-radius: 980px; color: var(--ink) !important; padding: 5px 12px; font-size: 13px; }
.postbit_buttons > a:hover { background: #e8e8ed !important; text-decoration: none; }
.postbit_buttons > a span { background-image: none !important; padding-left: 0 !important; }
blockquote { background: var(--alt); border: 0; border-left: 3px solid var(--accent); border-radius: 12px; margin: 10px 0; padding: 12px 16px; }
blockquote cite { border-bottom: 0; color: var(--ink-2); font-weight: 600; }
.codeblock { background: var(--alt); border: 0; border-radius: 12px; }
img.attachment { border: 0; border-radius: 12px; }

/* ---------- reputation and vouches ---------- */
.reputation_positive, ._plus, .bn-dev-stats dd.pos { color: #1f9d4c; }
.reputation_negative, ._minus, .bn-dev-stats dd.neg { color: #d93025; }
.reputation_neutral, ._neutral { color: var(--ink-3); }
.trow_reputation_positive { background: rgba(31, 157, 76, 0.06); }
.trow_reputation_negative { background: rgba(217, 48, 37, 0.06); }
.repbox { border-radius: 8px; border: 0; padding: 3px 9px; font-weight: 650; }
.bn-vouchline strong, .bn-vouchcount { color: #1f9d4c; }
.bn-vouches { margin-top: 16px; }
.bn-vouch .bn-vouch-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-bottom: 4px; }
.bn-vouch-text { line-height: 1.55; }
.bn-empty { color: var(--ink-2); text-align: center; padding: 26px 20px !important; }
.bn-inline { display: inline; margin: 0; }
.bn-link { border: 0 !important; background: none !important; padding: 0 !important; min-height: 0 !important; color: #d93025 !important; font: inherit !important; cursor: pointer; }

/* ---------- buttons and fields, as on the site ---------- */
#content button, #content input.button, #content a.button, .modal input.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--accent) !important; color: #fff !important;
  border: 0 !important; border-radius: 980px; padding: 8px 18px; font: 500 14px/1.2 var(--font); letter-spacing: -0.01em; cursor: pointer;
  box-shadow: none; text-shadow: none; text-decoration: none !important; }
#content button:hover, #content input.button:hover, #content a.button:hover { background: var(--accent-hover) !important; }
#content a.button.bn-button-gray { background: #e8e8ed !important; color: var(--ink) !important; }
#content a.button.bn-button-gray:hover { background: #dcdce1 !important; }
#content a.button span { background: none !important; padding: 0 !important; }
input.textbox, textarea, select { background: var(--alt); color: var(--ink); border: 0; border-radius: 12px; padding: 9px 12px; font: 15px/1.4 var(--font);
  outline: none; box-shadow: inset 0 0 0 0.5px var(--line); }
input.textbox:focus, textarea:focus, select:focus { box-shadow: 0 0 0 3px rgba(59, 91, 251, 0.18), inset 0 0 0 1px var(--accent); }
fieldset { border: 0.5px solid var(--line); border-radius: 14px; }
.editor, .sceditor-container { border-radius: 14px !important; border: 0.5px solid var(--line) !important; overflow: hidden; }
.popup_menu { background: var(--light); border: 0; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16); padding: 5px; }
.popup_menu .popup_item { background: transparent; color: var(--ink); border-radius: 9px; }
.popup_menu .popup_item:hover { background: var(--alt); color: var(--ink); }
.pagination { padding: 14px 0; }
.pagination a, .pagination .pagination_current { border-radius: 9px; border: 0; background: var(--light); padding: 5px 10px; }
.pagination .pagination_current { background: var(--accent); color: #fff; }
.modal { background: var(--light) !important; border-radius: 20px !important; box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25) !important; }
.forumdisplay_rules, .rules { border-radius: 18px; }

/* Thread prefixes */
.bn-prefix { display: inline-block; padding: 1px 9px; border-radius: 980px; font-size: 12px; font-weight: 600; vertical-align: 1px;
  background: rgba(59, 91, 251, 0.1); color: var(--accent-text); }
.bn-prefix.hire { background: rgba(31, 157, 76, 0.12); color: #17803c; }
.bn-prefix.closed { background: #e8e8ed; color: var(--ink-3); }
.bn-pro-name { color: var(--accent-text); font-weight: 650; }

/* ---------- the pages the Blox Academy plugins draw ---------- */
.bn-head { margin: 6px 0 22px; }
.bn-head p { color: var(--ink-2); font-size: 17px; max-width: 720px; margin: 8px 0 0; }
.bn-head p a { font-weight: 500; }
.bn-name, .bn-form { max-width: 580px; margin: 10px auto 30px; padding: 32px; background: var(--light); border-radius: 22px; }
.bn-name h1, .bn-form h1 { font-size: 30px !important; }
.bn-name p, .bn-form p { color: var(--ink-2); margin: 0 0 18px; }
.bn-name form { display: flex; gap: 10px; flex-wrap: wrap; }
.bn-name input.textbox { flex: 1; min-width: 200px; font-size: 17px; padding: 11px 14px; }
.bn-form label { display: block; margin: 16px 0 6px; font-weight: 600; font-size: 14px; }
.bn-form textarea, .bn-form input.textbox { width: 100%; box-sizing: border-box; }
.bn-form button { margin-top: 18px; }
.bn-error { color: #c4271c !important; background: rgba(217, 48, 37, 0.08); padding: 10px 13px; border-radius: 12px; }
.bn-note { color: var(--ink-2); text-align: center; margin-top: 20px; }

/* Segmented control and chips, like the site's */
.bn-seg { display: inline-flex; padding: 3px; border-radius: 980px; background: #e8e8ed; margin: 14px 0 4px; }
.bn-seg a, .bn-seg a:link, .bn-seg a:visited { padding: 7px 18px; border-radius: 980px; color: var(--ink-2) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; }
.bn-seg a[aria-current] { background: var(--light); color: var(--ink) !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); }

/* Post: pick the section */
.bn-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bn-choice, .bn-choice:link, .bn-choice:visited { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 22px; background: var(--light);
  color: var(--ink) !important; text-decoration: none !important; transition: transform 0.35s var(--spring), box-shadow 0.35s var(--ease); }
.bn-choice:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08); }
.bn-choice b { font-size: 19px; font-weight: 650; letter-spacing: -0.02em; }
.bn-choice span { color: var(--ink-2); font-size: 14.5px; line-height: 1.45; }
.bn-icon { width: 30px; height: 30px; margin-bottom: 8px; fill: none; stroke: var(--accent-text); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Developers */
.bn-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bn-chiprow, .bn-sorts { display: flex; flex-wrap: wrap; gap: 6px; }
.bn-chiprow a, .bn-sorts a, .bn-toggle { padding: 6px 13px; border-radius: 980px; background: var(--light); color: var(--ink) !important; font-size: 13.5px;
  text-decoration: none !important; }
.bn-chiprow a[aria-current], .bn-sorts a[aria-current] { background: var(--ink); color: #fff !important; }
.bn-filter-end { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bn-toggle { display: inline-flex; align-items: center; gap: 8px; }
.bn-toggle i { width: 30px; height: 18px; border-radius: 9px; background: #d2d2d7; position: relative; transition: background-color 0.2s; }
.bn-toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform 0.25s var(--spring); }
.bn-toggle[aria-pressed="true"] i { background: #30d158; }
.bn-toggle[aria-pressed="true"] i::after { transform: translateX(12px); }
.bn-count { color: var(--ink-3); font-size: 13px; margin: 0 0 14px; }
.bn-devs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bn-dev { display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: 22px; background: var(--light); }
.bn-dev-top, .bn-dev-top:link, .bn-dev-top:visited { display: flex; align-items: center; gap: 12px; color: var(--ink) !important; text-decoration: none !important; }
.bn-dev-top img { width: 52px; height: 52px; border-radius: 14px; object-fit: cover; background: var(--alt); }
.bn-dev-top b { display: block; font-size: 17px; font-weight: 650; letter-spacing: -0.02em; }
.bn-avail { display: inline-block; margin-top: 3px; font-style: normal; font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 980px; background: #e8e8ed; color: var(--ink-3); }
.bn-avail.open { background: rgba(31, 157, 76, 0.12); color: #17803c; }
.bn-avail.wait { background: rgba(255, 159, 10, 0.14); color: #b26a00; }
.bn-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.bn-chip { font-size: 12px; padding: 2px 9px; border-radius: 980px; background: var(--alt); color: var(--ink-2); }
.bn-rates { color: var(--ink-2); font-size: 14px; margin: 0; }
.bn-dev-stats { display: flex; gap: 26px; margin: 0; padding-top: 10px; border-top: 0.5px solid var(--line); }
.bn-dev-stats dt { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-3); }
.bn-dev-stats dd { margin: 2px 0 0; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.bn-dev-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; }
.bn-dev-actions > a:not(.button) { font-size: 14px; margin-left: 4px; }
.bn-empty-card { padding: 50px 24px; text-align: center; border-radius: 22px; background: var(--light); color: var(--ink-2); }
.bn-empty-card b { display: block; color: var(--ink); font-size: 19px; margin-bottom: 6px; }

/* ---------- the forum's own footer row, above the site's footer ---------- */
#footer.bn-forumfoot { background: var(--alt); border: 0; color: var(--ink-3); font-size: 12.5px; padding: 0 0 18px; }
.bn-forumfoot .wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding-top: 16px !important; border-top: 0.5px solid var(--line); }
.bn-footlinks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.bn-forumfoot a:link, .bn-forumfoot a:visited { color: var(--ink-2) !important; }
body.bn-forum .footer { padding-top: 20px; }

/* ---------- phones ---------- */
@media (max-width: 900px) {
  .bn-choices, .bn-devs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  /* The forum bar: the title, then one row of links that scrolls sideways if it must, Post at its end */
  .bn-local-bar { padding-top: 16px; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 10px; }
  .bn-local-links { gap: 16px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .bn-local-links::-webkit-scrollbar { display: none; }
  .bn-local-links a { flex: none; }
  .bn-local-links a.bn-local-cta { margin-left: auto; }
  .bn-userbar { flex-wrap: wrap; row-gap: 8px; }
  .bn-searchpage h1 { font-size: 30px; }
  .bn-search-opts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  /* The section and thread lists: name and author only (the counts and last post need a wider screen) */
  .bn-page-index #content table.tborder, .bn-page-forumdisplay #content table.tborder { display: table; width: 100%; table-layout: auto; }
  .bn-page-index #content tr > td:nth-child(n+3), .bn-page-forumdisplay #content tr > td:nth-child(n+3),
  .bn-page-index #content tr:has(> td.tcat), .bn-page-forumdisplay #content tr:has(> td.tcat) { display: none; }
  .bn-page-index #content tr > td:first-child, .bn-page-forumdisplay #content tr > td:first-child { width: 22px; padding-right: 0; }
  .bn-choices, .bn-devs { grid-template-columns: minmax(0, 1fr); }
  .tborder { display: block; overflow-x: auto; }
  .post .post_author div.author_statistics { display: none; }
  .post .post_author div.author_avatar img { max-width: 48px; max-height: 48px; }
  .bn-name, .bn-form { padding: 22px; }
  .bn-filters { flex-direction: column; align-items: flex-start; }
}

/* ---------- MyBB's theme, overruled where it shows through ---------- */
body.bn-forum, body.bn-forum #container, body.bn-forum table, body.bn-forum td, body.bn-forum th, body.bn-forum input,
body.bn-forum select, body.bn-forum textarea, body.bn-forum button { font-family: var(--font); }
/* The site's nav, buttons and footer keep the site's colors (MyBB's link color would turn them blue) */
body.bn-forum .nav a:link, body.bn-forum .nav a:visited, body.bn-forum .footer a:link, body.bn-forum .footer a:visited { color: inherit; text-decoration: none; }
body.bn-forum .nav .footer a:hover, body.bn-forum .footer .cols a:link, body.bn-forum .footer .legal-links a:link { color: var(--ink-2); }
body.bn-forum .nav { color: var(--dark-ink); }  /* the site's nav: light text on the dark glass, dark on the light glass */
body.bn-forum .nav.on-light { color: var(--ink); }
body.bn-forum .nav-links a, body.bn-forum .nav-signin { white-space: nowrap; }
body.bn-forum a.btn:link, body.bn-forum a.btn:visited { color: #fff; }
body.bn-forum .bn-hero a.btn-gray:link, body.bn-forum .bn-hero a.btn-gray:visited { color: var(--dark-ink); background: rgba(255, 255, 255, 0.12); }
/* The breadcrumb on one line */
.navigation .bn-sep { color: var(--ink-3); margin: 0 3px; }
/* No grid lines between cells, just the row separators */
#content .trow1, #content .trow2, #content .trow_shaded, #content .tcat, #content .thead, #content .tfoot { border: 0 !important; }
#content .trow1, #content .trow2, #content .trow_shaded { border-bottom: 0.5px solid var(--line) !important; }
#content .tcat, #content .thead { border-bottom: 0.5px solid var(--line) !important; }
#content tr:last-child > .trow1, #content tr:last-child > .trow2 { border-bottom: 0 !important; }
/* New posts: a blue dot, like an unread message (instead of MyBB's icons) */
.forum_status, .thread_status { display: inline-block; width: 10px !important; height: 10px !important; margin: 0 4px; border-radius: 50%;
  background: #d2d2d7 !important; background-image: none !important; vertical-align: middle; }
.forum_status.forum_on, .thread_status[class*="new"] { background: var(--accent) !important; }
.forum_status.forum_offlink { background: transparent !important; box-shadow: inset 0 0 0 1.5px #d2d2d7; }
.thread_status[class*="lock"] { background: transparent !important; box-shadow: inset 0 0 0 1.5px #d2d2d7; }
.forum_legend, .thread_legend, dl.thread_legend { display: none !important; }
/* Search: one big box, then four plain filters */
.bn-searchpage { max-width: 820px; margin: 8px auto 40px; }
.bn-searchpage h1 { font-size: 40px; line-height: 1.1; letter-spacing: -0.03em; margin: 0 0 8px; }
.bn-searchpage .bn-sub { color: var(--ink-2); font-size: 17px; margin: 0 0 24px; }
.bn-search-main { display: flex; gap: 10px; }
.bn-search-main input[type="search"] { flex: 1; min-width: 0; font-size: 17px; padding: 14px 18px; border-radius: 14px; }
.bn-search-main .button { padding-left: 24px; padding-right: 24px; }
.bn-search-opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; padding: 18px; background: #fff; border-radius: 18px; }
.bn-search-opts label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bn-search-opts span { font-size: 12px; font-weight: 600; color: var(--ink-2); }
.bn-search-opts select, .bn-search-opts input { width: 100%; box-sizing: border-box; }
/* A member's profile: the header as a card like the rest */
.bn-page-member #content fieldset { background: #fff; border: 0; border-radius: 18px; padding: 22px 24px; margin: 0 0 16px; }
.bn-page-member #content fieldset .largetext { font-size: 26px; letter-spacing: -0.02em; }
/* MyBB's collapse buttons (a stray icon at the corner of every section) */
.expcolimage { display: none !important; }
/* Staff */
.bn-staff { color: var(--ink); font-weight: 650; }
.bn-staff::after { content: "Staff"; display: inline-block; margin-left: 6px; padding: 0 7px; border-radius: 980px; background: var(--ink); color: #fff;
  font-size: 10.5px; font-weight: 600; line-height: 17px; vertical-align: 2px; font-style: normal; letter-spacing: 0; }
.bn-signin-note p + p { margin-top: 12px; }

/* ---------- cards keep their distance (MyBB puts a <br> between tables; spacing comes from margins instead) ---------- */
#content .tborder { margin-bottom: 18px; }
#content .tborder + br { display: none; }

/* ---------- the author bar on every post: who they are on the left, what clients check on the right ---------- */
.post .post_author { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; overflow: visible; }
.post .post_author div.author_avatar { float: none; margin: 0; flex: none; }
.post .post_author div.author_avatar img { width: 64px; height: 64px; object-fit: cover; }
.post .post_author div.author_information { float: none; flex: 1 1 200px; min-width: 0; padding: 0; }
.post .post_author div.author_information .smalltext { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 2px; }
.post .post_author div.author_information .smalltext br { display: none; }
.post .post_author div.author_statistics { float: none; margin: 0 0 0 auto; padding: 0 0 0 16px; font-size: 13px; line-height: 1.3; }
.bn-author-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.bn-group { font-size: 12px; font-weight: 600; padding: 2px 9px; border-radius: 980px; background: var(--alt); color: var(--ink-2); }
.bn-author { display: flex; align-items: center; gap: 18px; }
.bn-trust { display: flex; align-items: stretch; background: var(--alt); border-radius: 14px; }
.bn-trust a, .bn-trust a:link, .bn-trust a:visited { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 68px; padding: 7px 12px;
  color: var(--ink-3) !important; text-decoration: none !important; border-radius: 14px; transition: background-color 0.2s; }
.bn-trust a:hover { background: #e8e8ed; }
.bn-trust a + a { box-shadow: -0.5px 0 0 var(--line); }
.bn-trust b { font-size: 22px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.bn-trust b.pos, .bn-astats .pos { color: #1f9d4c; }
.bn-trust b.neg, .bn-astats .neg, .bn-astats a.neg { color: #d93025 !important; }
.bn-trust span { font-size: 11px; font-weight: 600; letter-spacing: 0.02em; }
.bn-astats { display: grid; grid-template-columns: repeat(2, auto); gap: 3px 14px; margin: 0; }
.bn-astats div { display: flex; justify-content: space-between; gap: 10px; }
.bn-astats dt { color: var(--ink-3); }
.bn-astats dd { margin: 0; color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.bn-service { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 58px; padding: 6px 10px; border-radius: 14px;
  background: rgba(255, 159, 10, 0.12); color: #a15c00; font-size: 10.5px; font-weight: 600; text-align: center; line-height: 1.15; }
.bn-service b { font-size: 20px; line-height: 1.05; font-weight: 700; }

/* ---------- messages and notifications ---------- */
.bn-userend { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
.bn-icons { display: flex; align-items: center; gap: 6px; }
.bn-bell { position: relative; }
#header.bn-local { position: relative; z-index: 40; }  /* the bell's list opens over the page, under the site's nav */
.bn-userbar .bn-ico, #content .bn-ico, .bn-ico { position: relative; display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0 !important;
  border: 0 !important; border-radius: 50%; background: var(--light) !important; color: var(--ink) !important; cursor: pointer; box-shadow: inset 0 0 0 0.5px var(--line);
  transition: background-color 0.2s; }
.bn-ico:hover, .bn-ico[aria-expanded="true"] { background: #e8e8ed !important; text-decoration: none !important; }
.bn-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bn-badge { position: absolute; top: -3px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px;
  background: #ff3b30; color: #fff; font: 600 11px/18px var(--font); font-style: normal; text-align: center; box-shadow: 0 0 0 2px var(--alt); }
.bn-pop { position: absolute; top: calc(100% + 10px); right: -8px; z-index: 60; width: 360px; max-height: min(480px, 70vh); overflow-y: auto;
  border-radius: 20px; background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.08), 0 18px 50px rgba(0, 0, 0, 0.18); padding: 6px; transform-origin: top right;
  animation: bn-pop-in 0.28s var(--spring); }
.bn-pop[hidden] { display: none; }
@keyframes bn-pop-in { from { opacity: 0; transform: scale(0.94) translateY(-4px); } }
.bn-pop-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 8px; }
.bn-pop-head b { font-size: 16px; font-weight: 650; color: var(--ink); }
.bn-pop-head a { font-size: 13px; }
.bn-pop-empty { margin: 0; padding: 18px 14px 22px; color: var(--ink-2); font-size: 14px; line-height: 1.45; }
.bn-notes { list-style: none; margin: 0; padding: 0; }
.bn-note-item a, .bn-note-item a:link, .bn-note-item a:visited { display: flex; align-items: flex-start; gap: 11px; padding: 9px 12px; border-radius: 13px;
  color: var(--ink) !important; text-decoration: none !important; font-size: 14px; line-height: 1.35; }
.bn-note-item a:hover { background: rgba(0, 0, 0, 0.05); }
.bn-note-item img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; background: var(--alt); }
.bn-note-item b { font-weight: 600; }
.bn-note-item small { display: block; margin-top: 2px; color: var(--ink-3); font-size: 12px; }
.bn-note-item .pos { color: #1f9d4c; font-weight: 600; }
.bn-note-item .neg { color: #d93025; font-weight: 600; }
.bn-note-item.unseen a { background: rgba(59, 91, 251, 0.07); }
.bn-note-item.unseen small::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); margin-right: 6px; vertical-align: 1px; }
.bn-notes-page { background: var(--light); border-radius: 22px; padding: 8px; }
.bn-notes-page .bn-note-item a { padding: 12px 14px; font-size: 15px; }
.bn-notes-page .bn-note-item img { width: 42px; height: 42px; }

@media (max-width: 900px) {
  .bn-author { flex-wrap: wrap; gap: 10px 14px; }
}
@media (max-width: 640px) {
  .post .post_author div.author_statistics { display: block; flex-basis: 100%; margin: 0; padding: 0; border-left: 0; }
  .bn-astats, .bn-service { display: none; }
  .bn-trust { flex: 1; }
  .bn-trust a { flex: 1; flex-direction: row; gap: 6px; padding: 7px 10px; }
  .bn-trust b { font-size: 18px; }
  /* The bell's list: a centered pop-out under the forum bar */
  .bn-pop { position: fixed; top: 76px; left: 12px; right: 12px; width: auto; transform-origin: top center; }
}

/* MyBB's yellow "new private message" strip, as a quiet card with the site's blue */
.pm_alert { display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--light); border: 0; border-radius: 14px;
  box-shadow: inset 3px 0 0 var(--accent); color: var(--ink); font-size: 14px; padding: 11px 44px 11px 18px; margin: 0 0 16px; position: relative; text-align: center; }
.pm_alert .float_right { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.pm_alert .float_right img { opacity: 0.5; }
