/* LibraIRC theme for MyBB 1.8 — loaded after global.css and css3.css */
@font-face {
 font-family: "Geist"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/assets/fonts/geist-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
 font-family: "Geist"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/assets/fonts/geist-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --lx-orange: #f05a00;
  --lx-orange-dark: #c2410c;
  --lx-orange-soft: #fff1e6;
  --lx-bg: #fafafa;
  --lx-card: #ffffff;
  --lx-fg: #18181b;
  --lx-muted: #f4f4f5;
  --lx-muted-fg: #5b5b66;
  --lx-border: rgba(0, 0, 0, .09);
  --lx-radius: 10px;
  --lx-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Base ---------- */
body {
 background: var(--lx-bg) !important; color: var(--lx-fg); font-family: var(--lx-sans) !important;
  font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased;
}

body, table, td, th, input, select, textarea, button, .smalltext, .largetext {
 font-family: var(--lx-sans) !important;
}

a:link, a:visited {
 color: var(--lx-orange-dark); text-decoration: none;
}

a:hover, a:active {
 color: var(--lx-fg); text-decoration: underline;
}

#container {
	background: transparent;
	color: var(--lx-fg);
}

#container, body, #header, #logo, #content, #footer {
 min-width: 0 !important;
}

.wrapper {
 width: auto !important; max-width: 1200px; min-width: 0 !important; margin: 0 auto; padding: 0 16px; box-sizing: border-box;
}

/* ---------- Header: logo bar ---------- */
#logo {
 background: rgba(255, 255, 255, .92) !important; border-bottom: 1px solid var(--lx-border) !important;
  padding: 0 !important; position: sticky; top: 0; z-index: 50;
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}

#logo .wrapper {
 display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; flex-wrap: wrap;
}

#logo .wrapper > a:first-child {
 display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 17px;
  color: var(--lx-fg) !important; text-decoration: none !important; padding-left: 28px; line-height: 56px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f05a00' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M4 9h16M4 15h16M10 3 8 21M16 3l-2 18'/%3E%3C/svg%3E") no-repeat left center / 20px 20px;
}

#logo .wrapper > a:first-child img {
 display: none;
}

#logo .wrapper > a:first-child::before {
 content: "Libra";
}

#logo .wrapper > a:first-child::after {
 content: "IRC"; color: var(--lx-orange); margin-left: -8px;
}

ul.menu.top_links {
 position: static !important; display: flex; flex-wrap: wrap; gap: 2px; margin: 0 !important; padding: 0 !important; float: none !important;
}

ul.menu.top_links li {
 margin: 0 !important; padding: 0 !important;
}

ul.menu.top_links a {
 display: inline-block; padding: 6px 12px !important; border-radius: 8px; font-size: 14px;
  color: var(--lx-muted-fg) !important; background-image: none !important; font-weight: 500;
}

ul.menu.top_links a:hover {
 background-color: var(--lx-muted) !important; color: var(--lx-fg) !important; text-decoration: none;
}

/* ---------- Header: user panel ---------- */
#panel .upper {
 background: var(--lx-muted) !important; border-top: 0 !important; border-bottom: 1px solid var(--lx-border) !important;
  color: var(--lx-muted-fg) !important; padding: 8px 0 !important;
}

#panel .upper a:link, #panel .upper a:visited {
 color: var(--lx-orange-dark) !important; font-weight: 600;
}

#panel .upper .welcome {
 line-height: 34px;
}

#panel .lower {
 background: #fff !important; border-top: 0 !important; border-bottom: 1px solid var(--lx-border) !important; color: var(--lx-muted-fg);
}

#panel .lower a:link, #panel .lower a:visited {
 color: var(--lx-muted-fg) !important;
}

#search {
 border: 0 !important; padding: 0 !important; margin: 0 !important;
}

#search input.textbox {
 border: 1px solid rgba(0, 0, 0, .14) !important; border-radius: 8px !important; height: 34px; padding: 0 12px !important; width: 220px; background: #fff !important; box-sizing: border-box;
}

#search input.button {
 height: 34px;
}

#search {
 display: flex; gap: 6px; align-items: center;
}

#search input.textbox {
 flex: 1 1 auto;
}

#panel .upper a.login, #panel .upper a.register, #panel .upper a.logout, #panel .upper a.usercp, #panel .upper a.modcp, #panel .upper a.admincp, #panel .upper a.search, #panel .lower a {
 background-image: none !important; padding-left: 0 !important;
}

#panel .upper .welcome a {
 margin-left: 10px;
}

/* ---------- Content ---------- */
#content {
 background: transparent !important; padding: 24px 0 32px !important;
}

.navigation {
 color: var(--lx-muted-fg); font-size: 13px; margin-bottom: 12px;
}

.navigation .active {
 color: var(--lx-fg); font-size: 15px; font-weight: 700;
}

.tborder {
 background: var(--lx-card) !important; border: 1px solid var(--lx-border) !important; border-radius: var(--lx-radius) !important;
  padding: 0 !important; overflow: hidden; border-collapse: separate !important; box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
}

.tborder > tbody > tr:first-child > td:first-child, .tborder > thead > tr:first-child > td:first-child {
 border-top-left-radius: var(--lx-radius);
}

.tborder > tbody > tr:first-child > td:last-child, .tborder > thead > tr:first-child > td:last-child {
 border-top-right-radius: var(--lx-radius);
}

.thead {
 background: #fff !important; color: var(--lx-fg) !important; border-bottom: 1px solid var(--lx-border) !important;
  padding: 12px 14px !important; font-size: 15px;
}

.thead a:link, .thead a:visited {
 color: var(--lx-fg) !important;
}

.thead a:hover {
 color: var(--lx-orange-dark) !important;
}

.tcat {
 background: var(--lx-muted) !important; color: var(--lx-muted-fg) !important; border-top: 0 !important; border-bottom: 1px solid var(--lx-border) !important;
  font-size: 12px; text-transform: uppercase; letter-spacing: .04em; padding: 8px 14px !important;
}

.tcat a:link, .tcat a:visited {
 color: var(--lx-muted-fg) !important;
}

.trow1 {
 background: #fff !important;
}

.trow2 {
 background: #fcfcfc !important;
}

.trow1, .trow2, .trow_shaded, .trow_selected {
 border-color: var(--lx-border) !important; border-bottom: 1px solid var(--lx-border) !important; border-top: 0 !important;
}

.trow_shaded {
 background: #fffaf5 !important;
}

.trow_selected, tr.trow_selected td {
 background: var(--lx-orange-soft) !important;
}

.tfoot {
 background: var(--lx-muted) !important; color: var(--lx-muted-fg) !important; border-top: 1px solid var(--lx-border) !important;
}

.tfoot a:link, .tfoot a:visited {
 color: var(--lx-orange-dark) !important;
}

td.trow1, td.trow2 {
 padding: 10px 14px;
}

.subforumicon + a, strong a, .forum_title a {
 font-weight: 600;
}

.smalltext {
 color: var(--lx-muted-fg);
}

.forum_legend {
 color: var(--lx-muted-fg);
}

/* Forum status dots (replace the old sprite icons) */
.forum_status {
 background-image: none !important; border-radius: 50%; width: 14px !important; height: 14px !important; margin: 0 6px; display: inline-block; vertical-align: middle;
}

.forum_status.forum_on {
 background: var(--lx-orange) !important; box-shadow: 0 0 0 4px var(--lx-orange-soft);
}

.forum_status.forum_off {
 background: #d4d4d8 !important; box-shadow: 0 0 0 4px var(--lx-muted);
}

.forum_status.forum_offlock {
 background: #a1a1aa !important; box-shadow: 0 0 0 4px var(--lx-muted); border-radius: 3px;
}

.forum_status.forum_offlink {
 background: transparent !important; border: 2px solid #a1a1aa; box-sizing: border-box;
}

.subforumicon {
 background-image: none !important; width: 6px !important; height: 6px !important; border-radius: 50%; background: #d4d4d8 !important; vertical-align: middle;
}

.subforumicon.subforum_minion {
 background: var(--lx-orange) !important;
}

/* ---------- Forms & buttons ---------- */
input.textbox, textarea, select, input[type="text"], input[type="password"], input[type="email"], input[type="search"] {
  border: 1px solid rgba(0, 0, 0, .14) !important; border-radius: 8px !important; background: #fff; color: var(--lx-fg);
  padding: 6px 10px; box-shadow: none;
}

input.textbox:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus {
  border-color: var(--lx-orange) !important; outline: 2px solid rgba(240, 90, 0, .18); outline-offset: 0;
}

button, input.button, input[type="submit"], input[type="button"], a.button:link, a.button:visited {
  background: var(--lx-orange) !important; color: #fff !important; border: 1px solid var(--lx-orange) !important;
  border-radius: 8px !important; padding: 6px 14px; font-weight: 600; cursor: pointer; box-shadow: none !important;
  text-shadow: none !important; background-image: none !important;
}

button:hover, input.button:hover, input[type="submit"]:hover, input[type="button"]:hover, a.button:hover {
  background: var(--lx-orange-dark) !important; border-color: var(--lx-orange-dark) !important; text-decoration: none;
}

a.button:link span, a.button:visited span {
 color: #fff !important;
}

.pagination a, .pagination .pagination_current {
 border-radius: 6px !important;
}

.pagination .pagination_current {
 background: var(--lx-orange) !important; color: #fff !important; border-color: var(--lx-orange) !important;
}

.pagination a:hover {
 background: var(--lx-orange-soft) !important;
}

/* Posts */
.post {
 border-radius: var(--lx-radius); overflow: hidden;
}

.post .post_author {
 background: #fff !important; border-bottom: 1px solid var(--lx-border) !important;
}

.post .post_content {
 background: #fff;
}

.post .post_head {
 border-bottom: 1px solid var(--lx-border) !important;
}

.post_controls {
 background: var(--lx-muted) !important; border-bottom: 1px solid var(--lx-border) !important;
}

blockquote {
 border: 1px solid var(--lx-border) !important; border-left: 3px solid var(--lx-orange) !important;
  background: #fffaf5 !important; border-radius: 8px;
}

blockquote cite {
 border-bottom: 1px solid var(--lx-border) !important;
}

.codeblock {
 background: var(--lx-muted) !important; border: 1px solid var(--lx-border) !important; border-radius: 8px;
}

.codeblock code {
 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

/* Popups, modals, notices */
.popup_menu {
 background: #fff !important; border: 1px solid var(--lx-border) !important; border-radius: 8px; box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .25);
}

.popup_menu .popup_item {
 background: #fff !important; color: var(--lx-fg) !important;
}

.popup_menu .popup_item:hover {
 background: var(--lx-orange-soft) !important;
}

.modal {
 border-radius: var(--lx-radius) !important;
}

.red_alert, .pm_alert {
 background: #fffaf5 !important; border: 1px solid rgba(240, 90, 0, .35) !important; color: var(--lx-fg) !important; border-radius: 8px;
}

.error {
 border-radius: 8px;
}

/* ---------- Footer ---------- */
#footer .upper {
 background: #fff !important; border-top: 1px solid var(--lx-border) !important; border-bottom: 1px solid var(--lx-border) !important;
  color: var(--lx-muted-fg); padding: 10px 0 !important;
}

#footer .upper a:link, #footer .upper a:visited {
 color: var(--lx-muted-fg) !important;
}

#footer .upper a:hover {
 color: var(--lx-fg) !important;
}

#footer .lower {
 background: transparent !important; color: var(--lx-muted-fg) !important; padding: 14px 0 24px !important;
}

#footer .lower a:link, #footer .lower a:visited {
 color: var(--lx-muted-fg) !important;
}

#footer .lower #current_time {
 color: var(--lx-muted-fg);
}

/* ---------- Small screens ---------- */
@media (max-width: 760px) {
  #logo .wrapper {
 justify-content: center; padding-top: 6px; padding-bottom: 6px;
}

#logo .wrapper > a:first-child {
 line-height: 40px;
}

ul.menu.top_links {
 justify-content: center;
}

ul.menu.top_links a {
 padding: 4px 8px !important; font-size: 13px;
}

#panel .upper .wrapper {
 display: flex; flex-direction: column; gap: 6px;
}

#panel .upper form {
 width: 100%;
}

#search {
 float: none !important;
}

#panel .upper .welcome {
 float: none !important; line-height: 1.5;
}

/* wide tables scroll sideways instead of squeezing */
  .tborder {
 display: block !important; overflow-x: auto;
}

.tborder > tbody, .tborder > thead {
 display: table; width: 100%;
}

.tborder:has(.forum_status, .thread_status) > tbody {
 min-width: 680px;
}

tr:has(> td .forum_status) > td:nth-child(2) {
 min-width: 260px;
}


}

.libra-pagetitle {
 font-size: 1.4em; font-weight: 700; color: var(--lx-fg); margin: .2em 0 .8em;
}