MediaWiki:Common.css

From EQOA Sandstorm Wiki
Revision as of 16:13, 14 May 2026 by RenodorDev (talk | contribs)
Jump to navigationJump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800&display=swap');


/* =========================================================
   COLOR SCHEME ONLY ΓÇö DOES NOT TOUCH LAYOUT
   ========================================================= */

/* BODY & MAIN CONTENT COLORS */
body, #content, #mw-content-text, #column-content {
    background-color: #242428 !important; /* Dark stone */
    color: #D6D6C9 !important;           /* Pale sand */
}

/* LINKS */
a, .mw-body a, .quest-template a, .npc-template a, table a, .wikitable a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}
a:hover, .mw-body a:hover, .quest-template a:hover, .npc-template a:hover, table a:hover, .wikitable a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}

/* Global style for all wiki headers */
h1, h2, h3, h4, h5, h6 {
    color: white !important;       /* Text color */
    font-family: 'Arial', sans-serif; /* Font style */
    font-weight: bold;             /* Bold text */
    text-shadow: 1px 1px 2px #000; /* Optional: subtle shadow for readability */
}

/* Optional: specific size adjustments for nested headers */
h1 { font-size: 2em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1em; }
h6 { font-size: 0.9em; }

/* =========================================================
SideBAR
========================================================= */

/* Force sidebar search field to match theme (MonoBook) */
#p-search,                 /* portlet wrapper */
#p-search .pBody,
#p-search .pBody form,
#p-search .pBody input,
#p-search input#searchInput,
#searchInput,
#searchInput[type="search"],
#searchInput[type="text"],
.portlet#p-search input,
.portlet#p-search input[type="text"] {
    background-color: #242428 !important;   /* your theme bg ΓÇö change if needed */
    color: #D6D6C9 !important;              /* label/text color */
    border: 1px solid #3C3C3C !important;   /* subtle border to match theme */
    box-shadow: none !important;
    -webkit-appearance: none !important;

    appearance: none !important;
    background-image: none !important;      /* remove gradients */
}

/* Ensure the input field itself is styled (some skins wrap it) */
#p-search input#searchInput,
#p-search input,
input#searchInput,
.portlet#p-search input[type="text"],
#searchInput[type="search"] {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    border: 1px solid #3C3C3C !important;
    padding: 4px 6px !important;
    margin: 2px 0 !important;
    outline: none !important;
}

/* Placeholder text color */
#searchInput::placeholder,
#searchInput::-webkit-input-placeholder,
#searchInput:-ms-input-placeholder {
    color: #9F9F8F !important;  /* muted placeholder color that matches theme */
}

/* Search buttons */
#searchGoButton,
#mw-searchButton,
#p-search .searchButton,
#p-search input[type="submit"] {
    background-color: #3C3C3C !important;
    color: #E6C98B !important;
    border: 1px solid #2B2B2B !important;
    box-shadow: none !important;
}

/* Button hover */
#searchGoButton:hover,
#mw-searchButton:hover,
#p-search .searchButton:hover,
#p-search input[type="submit"]:hover {
    background-color: #2E2E31 !important;
}

/* If the input is inside a <label> or <div> that sets white bg, neutralize it */
#p-search label,
#p-search div,
#p-search .pBody,
#p-search .pBody * {
    background: transparent !important;
}


/* SIDEBAR HEADERS */
#column-one h3[id^="p-"], .portlet h5 {
    background-color: #2B2B2B !important;
    color: #CCCCCC !important;
    font-size: 1em !important;   /* Increase header size */
    line-height: 1.1em !important;
    text-transform: uppercase !important;
    display: block !important;              /* Make header full width */
    width: 100% !important;                 /* Span entire sidebar */
    text-transform: uppercase !important;   /* All caps */
    border-bottom: 2px solid #7A3B12 !important; /* Match your gold/brown tone */
    padding-bottom: 1px !important;         /* Space above border */
    margin-bottom: 2px !important;          /* Space below border */
}

/* MonoBook Sidebar Logo Resize */
#p-logo {
    width: 160px !important;    /* adjust size here */
    height: 160px!important;
    margin: 0 auto !important;     /* <-- centers it horizontally */
}

#p-logo a {
    display: block !important;
    width: 160px !important;    /* same size as above */
    height: 160px !important;
    background-size: contain !important;  /* <-- makes it scale correctly */
    background-repeat: no-repeat !important;
    background-position: center !important;
    margin: 0 auto !important;     /* ensure anchor is centered */
}

/* MonoBook ΓÇö Tools portlet container */
#p-tb,
#p-tb .pBody {
    background-color: #242428 !important;   /* your dark bg */
    border: 1px solid #3C3C3C !important;
    color: #D6D6C9 !important;
    padding: 4px 6px !important;
}

/* Tools header ("Tools") */
#p-tb h3 {
    color: #E6C98B !important;              /* same gold header color you use */
    background: transparent !important;
    border: none !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
}

/* Individual tool links */
#p-tb ul li a {
    display: block;
    background: transparent !important;
    color: #D6D6C9 !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: none !important;
    font-size: 1.1em !important;   /* Increase link size */
    line-height: 1.25em !important;
}

/* Hover state */
#p-tb ul li a:hover {
    background-color: #2E2E31 !important;
    color: #E6C98B !important;              /* gold-ish hover color */
    text-decoration: none !important;
}

/* Remove leftover white from nested elements */
#p-tb *,
#p-tb .pBody * {
    background: transparent !important;
}

/* =========================================================
Footer
========================================================= */



/* =========================================================
NPC Page
========================================================= */

/* NPC TEMPLATE & QUEST */
.npc-template, .quest-right, .exp-camp-wrapper {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
}
.npc-left, .npc-right {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    border-color: #3C3C3C !important;
}
.npc-header, .zones-header {
    background-color: #3C3C3C !important;
    color: #E6C98B !important;
    border-bottom: 2px solid #D6B25E !important;
}
.npc-box, .eqoa-image-box {
    border: 1px solid #3C3C3C !important;
    background-color: #242428 !important;
}
.npc-image { text-align: center; }

/* TABLES */
.npc-table, table.info-table, table.npc-zone-table, .exp-camp-table {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
}
table.info-table tr td:first-child {
    background-color: #3C3C3C !important;
    color: #E6C98B !important;
    font-weight: bold;
}
table.info-table tr:nth-child(odd) td:last-child { background-color: #242428 !important; }
table.info-table tr:nth-child(even) td:last-child { background-color: #2E2E31 !important; }
table.npc-zone-table tr:nth-child(odd):not(:first-child) { background-color: #242428 !important; }
table.npc-zone-table tr:nth-child(even):not(:first-child) { background-color: #2E2E31 !important; }

/* NPC NAME & INFOBOX */
.infobox { border: 4px solid #555 !important; border-radius: 6px; }
.npcname-header, .infobox .npcname-row td {
    background-color: #2B2B2B !important;
    color: #E6C98B !important;
    border: 2px solid #D6B25E !important;
}

.npcname-header {
    font-size: 30px !important;
    text-align: center !important;
    font-family: 'Nunito', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px;
}


/* =========================
   MAIN PAGE BOXES ΓÇö LIGHTER BG
   ========================= */
/* =========================
   MAIN PAGE BANNERS
   ========================= */
.mp-banner {
    border: 2px solid #ffffff;
    padding: 2px;
    margin-bottom: 10px;
    max-width: 100%;
}

.mp-banner-inner {
    background-color: #405b74;
    padding: 12px;
    text-align: center;
}

.mp-banner-title {
    font-weight: bold;
    color: #ffffff;
    font-size: 18px;
}

.mp-banner-subtitle {
    color: #ffffff;
    font-style: italic;
    font-size: 14px;
}

/* =========================
   MAIN PAGE BOXES
   ========================= */
/* =========================
   MAIN PAGE BOXES
   ========================= */
/* FLEX COLUMNS */ 
.mp-flex-columns { 
display: flex;
gap: 10px; flex-wrap: nowrap; /* ensures World | Character stay side by side */ 
} 

/* COLUMNS */
.mp-column {
 flex: 1;
 min-width: 300px;
 } 
/* BOTTOM SECTIONS (full width) */
.mp-bottom { 
width: 100%; 
clear: both; /* make sure it stays below flex columns */
 } 
/* MAIN PAGE BOXES */ 
.mp-box { 
background-color: #2a2a2f; /* lighter #242428 */ color: #d6d6c9; border: 2px solid #444; border-radius: 4px; padding: 10px; margin-bottom: 10px; box-sizing: border-box; } /* BANNER */ .mp-banner { background-color: #405b74; text-align: center; padding: 12px; color: #ffffff; } .mp-banner-title { font-weight: bold; font-size: 1.5em; } .mp-banner-subtitle { font-style: italic; font-size: 1em; } 

/* BOX CONTENT */
.mp-box ul,
.mp-box li {
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.mp-box li { 
margin-bottom: 5px;
 font-size: 0.95em;
 } 
.mp-box a { 
color: #E6C98B; 
font-weight: bold; 
text-decoration: none; 
} 
.mp-box a:hover { 
color: #F0D9A0; 
text-decoration: underline; 
}

/* Override Vector skin blue bullet icons */
.mw-body-content ul li {
    list-style: none !important;
    background-image: none !important;
    background: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}




/* =========================
JOB PAGE LAYOUT
========================= */

/* ===== Job Page Layout ===== */
.job-layout {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* top alignment */
    gap: 150px;              /* final spacing you set */
    width: 100%;
    margin: 0 auto;
}

/* Left + Right sections */
.job-left,
.job-right {
    max-width: 350px;
    margin-top: 0;
    padding-top: 0;
}

/* Right artwork */
.job-right {
    text-align: center;
}

/* Artwork image */
.job-artwork,
.job-right img {
    width: 90%;
    max-width: 450px;
    margin: 0 auto;
    padding: 0;
    display: block;
}

/* ===== Infobox ===== */
.job-infobox-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-top: 0;
    padding-top: 0;
}

.job-infobox-header th {
    background: #3c4a55;
    color: white;
    padding: 8px;
    text-align: center;
}

.job-infobox-label td:first-child {
    background: #d3dce4;
    width: 40%;
    padding: 6px;
}

.job-infobox-label td:last-child {
    background: #e9eff4;
    padding: 6px;
}

/* ===== Center Boxes Under Infobox ===== */
.job-center-boxes {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
}

.job-center-box {
    background: #e2e9ef;
    width: 48%;
    text-align: center;
    padding: 6px;
    border-radius: 6px;
    font-weight: bold;
}

.job-center-box a {
    color: #003366;
    text-decoration: none;
}

/* ===== Page Contents Box ===== */
.job-contents-box {
    background: #d7dee6;
    margin-top: 15px;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
}

.job-contents-title {
    font-weight: bold;
    margin-bottom: 8px;
}

/* ===== Remove borders from detail tables ===== */
.eqoa-detail-table,
.eqoa-detail-table td {
    border: none !important;
    background: transparent !important;
}

/* ===== Class Mastery Table ===== */
.class-mastery-table {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
}

.class-mastery-table th {
    background: var(--eqoa-header-bg, #2c2c2c);
    color: var(--eqoa-header-text, #e6e6e6);
    padding: 6px 10px;
    text-align: left;
    font-weight: bold;
    border-bottom: 1px solid #444;
}

.class-mastery-table td {
    padding: 6px 10px;
    border-bottom: 1px solid #333;
}

.class-mastery-table,
.class-mastery-table tr,
.class-mastery-table td {
    border: none;
}

/* Optional manual tweak */
.job-right {
    margin-top: -90px; /* preserved exactly as your final adjustment */
}


/* ============================================================
   SPELL LIST ΓÇö Final Clean Version (Latest Style Preserved)
   ============================================================ */

/* MAIN CONTAINER */
.spell-list {
  background: #0A1420 !important;
  border: 1px solid #E3B44A !important;
  color: #B9C4D1 !important;
  padding: 6px !important;
  margin-bottom: 12px !important;
}

/* GRID COLUMNS */
.spell-list__cols {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 6px !important;
  align-items: start !important;
}

/* COLUMN BOX */
.spell-col {
  background: #1C2B44 !important;
  border: 1px solid #E3B44A !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  color: #B9C4D1 !important;
}

/* ----------------------------------------------
   ROW LAYOUT (compact, aligned, tight)
   ---------------------------------------------- */
.spell-row {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(227,180,74,0.06) !important;
}

/* LEVEL BOX ΓÇö big/gold */
.spell-lvl {
  width: 26px !important;
  min-width: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 1px 0 0 !important;
  color: #E3B44A !important;
  font-size: 16px !important;
  font-weight: bold !important;
  line-height: 1 !important;
}

/* MAIN SPELL DATA (icon + name + extra icon) */
.spell-data {
  display: flex !important;
  align-items: center !important;
  gap: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  height: auto !important;
  color: #B9C4D1 !important;
}

/* SPELL NAME */
.spell-name {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* ICONS (final version: 20px tight alignment) */
.spell-icon img,
.spell-icon-wrap img,
.spell-row img {
  width: 20px !important;
  height: 20px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* VERTICAL DIVIDER (gold, full height) */
.spell-divider {
  display: inline-block !important;
  align-self: stretch !important;
  width: 1px !important;
  min-width: 1px !important;
  background: #F2D07A !important;
  margin: 0 3px !important;
  box-sizing: border-box !important;
}

/* If something inside divider resets background */
.spell-divider * {
  background: #F2D07A !important;
}

/* Alternate divider using right border */
.spell-lvl.divider-right {
  border-right: 1px solid #F2D07A !important;
  padding-right: 4px !important;
  margin-right: 3px !important;
}

/* ----------------------------------------------
   LEGACY SUPPORT (SpellList + SpellRow)
   ---------------------------------------------- */
.SpellList {
  background: #0A1420 !important;
  border: 1px solid #E3B44A !important;
  padding: 6px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  color: #B9C4D1 !important;
}

.SpellRow {
  width: calc(50% - 20px) !important;
  background: #1C2B44 !important;
  border: 1px solid #E3B44A !important;
  padding: 6px 8px !important;
  box-sizing: border-box !important;
  color: #B9C4D1 !important;
}

/* ----------------------------------------------
   TABLE RESET (avoid MW interference)
   ---------------------------------------------- */
.spell-list table,
.spell-list tr,
.spell-list td,
.spell-list th,
.spell-col table,
.spell-col tr,
.spell-col td,
.spell-col th {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* ----------------------------------------------
   BLOCK OVERRIDE PROTECTION
   ---------------------------------------------- */
.spell-list .box,
.spell-list .mp-inner,
.spell-list .mainpage-box,
.spell-list .portal,
.spell-list .infobox,
.spell-col .infobox {
  background: transparent !important;
  border: none !important;
  color: inherit !important;
}

/* ----------------------------------------------
   RESPONSIVE
   ---------------------------------------------- */
@media (max-width: 520px) {
  .spell-list__cols { grid-template-columns: 1fr !important; }
  .SpellRow { width: 100% !important; }
}



/* ----------------------------------------------
   Item Page
   ---------------------------------------------- */

/* ------------------------------
   ITEM BOX STYLES (CLEAN + FIXED)
--------------------------------*/

.item-box {
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 12px;
  border: 1px solid #fff;
  width: 600px;
  font-family: 'Courier New', monospace;
  position: relative;
  overflow: hidden;   /* FIX: prevents white box behind image */
}

.item-header {
  font-weight: bold;
  font-size: 2.5em;
  margin-bottom: 5px;
}

.item-stats div {
  margin: 2px 0;
  background: transparent !important; /* ensures no white behind image */
  font-size: 1.5em;
}

.item-attributes {
  margin-top: 5px;
  font-size: 1.5em;
}

.item-attr-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.item-attr-table th, .item-attr-table td {
  border-bottom: 1px dotted #fff;
  padding: 2px 5px;
}
.item-container {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
}

/* LEFT SIDE */
.item-left {
  flex: 1;
}

/* RIGHT SIDE */
.item-right {
  width: 250px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.item-image-block {
  text-align: center;
  border: 1px solid #aaa;
  background: #f8f8f8;
  padding: 10px;
  border-radius: 6px;
}

.item-image-label {
  font-weight: bold;
  margin-bottom: 5px;
}

.item-image {
  max-width: 100%;
  height: auto;
}


/* ----------------------------------------------
Zone Row Color
---------------------------------------------- */
/* Shared row striping for all zone data tables */
.zone-data-table tr:nth-child(odd):not(:first-child) {
    background-color: #242428 !important;   /* dark row */
}

.zone-data-table tr:nth-child(even):not(:first-child) {
    background-color: #2E2E31 !important;   /* lighter row */
}

/* Shared cell border + padding */
.zone-data-table td {
    border: 1px solid #3C3C3C !important;
    padding: 6px !important;
}

/* Shared link styling */
.zone-data-table a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}
.zone-data-table a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}
/* ============================================================
   ZONE PAGE STYLE (matching NPC/Quest color scheme)
   ============================================================ */

/* Main container */
.zone-left {
    width: 100%;
}

/* Generic box (same as .npc-box) */
.zones-box {
    background-color: #242428 !important;
    border: 1px solid #3C3C3C !important;
    color: #D6D6C9 !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
}

/* Section header (matches .npc-header / .zones-header that you already have) */
.zones-header {
    background-color: #3C3C3C !important;
    color: #E6C98B !important;
    border-bottom: 2px solid #D6B25E !important;
    padding: 6px 8px !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
    margin: 0 !important;
}

/* Content area */
.zones-content {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    padding: 8px !important;
    margin: 0 !important;
}

/* TOC row wrapper ΓÇö no layout interference */
.zones-toc-row {
    margin-top: 10px !important;
}

/* Ensure inner TOC box matches outer box style */
.zones-toc-row .zones-box {
    background-color: #242428 !important;
    border: 0px solid #3C3C3C !important;
}

/* Ensure TOC links use your global link color */
.zones-content a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}
.zones-content a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}
.zones-content *,
.zones-toc-row .zones-content * {
    background: transparent !important;
}
.zones-content {
    background-color: #242428 !important;
    border: none; 
}
.zones-content,
.zones-content *,
.zones-toc-row .zones-content,
.zones-toc-row .zones-content * {
    border: none !important;
}
/* Hide literal '*' bullets inside pre while keeping links visible */
.zones-content pre {
  font-size: 0 !important;           /* make the raw text nodes invisible */
  line-height: 1.4 !important;
  background: transparent !important;
  padding: 6px 8px !important;
}

/* Restore readable font size for links inside the pre */
.zones-content pre a {
  font-size: 14px !important;        /* pick your preferred size */
  display: block !important;         /* place each link on its own line */
  margin: 0 !important;
  padding: 0 !important;
  color: #E6C98B !important;
  font-weight: bold !important;
  text-decoration: none !important;
}

/* Hover state */
.zones-content pre a:hover {
  color: #F0D9A0 !important;
  text-decoration: underline !important;
}

/* Zone Details Row Layout */
.zone-details-row {
    display: block;                    /* stack child elements vertically */
    padding: 6px 4px !important;
    border-bottom: 1px solid #3C3C3C !important;
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    margin-bottom: 6px;
}

.zone-details-row:last-child {
    border-bottom: none !important;
}

.zone-details-text {
    display: block;                    /* ensure text is block-level */
    width: auto;                       /* remove fixed column width */
    color: #D6D6C9 !important;
    background: transparent !important;
    line-height: 1.3;
}

/* ============================================================
   ZONE PAGE COLUMN LAYOUT ΓÇö 55% LEFT / 45% RIGHT
   ============================================================ */

.zone-left, .zone-right {
    box-sizing: border-box !important;
}

.zone-left {
    width: 55% !important;
    float: left !important;
    margin-right: 10px !important; /* small gap */
}

.zone-right {
    width: 45% !important;
    float: right !important;
}

/* ============================================================
   ZoneDetails & ZoneDetailsRow ΓÇö Label-as-Header (stacked)
   Replaces previous ZoneDetails rules ΓÇö paste entire block
   ============================================================ */

/* Wrapper inherits .zones-box styling, but we add a unique hook */
.zone-details-box {
    width: 100%;
    margin-bottom: 12px !important;
}

/* Header uses your existing style, nothing extra needed */
.zone-details-header {
    /* inherits .zones-header */
}

/* Content area inherits exact zones-content style */
.zone-details-content {
    /* inherits .zones-content */
}

/* Row layout: keep flex but stack children vertically so label appears above text */
.zone-details-row {
    display: flex !important;
    flex-direction: column !important; /* <-- stack label above text */
    align-items: stretch !important;
    padding: 8px 6px !important;
    border-bottom: 1px solid #3C3C3C !important;
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    margin-bottom: 6px !important;
}

/* Last row: remove border */
.zone-details-row:last-child {
    border-bottom: none !important;
}

/* Label: styled and placed above the text (acts like a header) */
.zone-details-label {
    display: block !important;
    width: auto !important;
    margin-bottom: 6px !important;    /* distance between label and text */
    color: #E6C98B !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;     /* slightly larger than body text */
    line-height: 1.1 !important;
    letter-spacing: 0.2px !important;
    background: transparent !important;
}

/* Text: sits below the label */
.zone-details-text {
    display: block !important;
    width: auto !important;
    color: #D6D6C9 !important;
    background: transparent !important;
    line-height: 1.35 !important;
    font-size: 0.95rem !important;
    white-space: normal !important;    /* allow wrapping */
}

/* Links keep same style */
.zone-details-row a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zone-details-row a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}

/* ============================================================
   ZoneDetails ΓÇö Full styling (header matches main .zones-header)
   Replace any previous ZoneDetails / zone-details rules with this
   ============================================================ */

/* Wrapper inherits .zones-box styling, but we add a unique hook */
.zone-details-box {
    width: 100%;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
}

/* Header: MATCH .zones-header style (dark grey bg, gold text, gold bottom border) */
.zone-details-header {
    background-color: #3C3C3C !important;   /* same as .zones-header */
    color: #E6C98B !important;              /* gold header text */
    border-bottom: 2px solid #D6B25E !important; /* gold bottom border */
    padding: 6px 8px !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    box-shadow: none !important;            /* ensure no white shadow */
    background-image: none !important;
}

/* Remove any inner background, pseudo-elements, or inline-block boxes inside the header */
.zone-details-box .zone-details-header,
.zone-details-box .zone-details-header * ,
.zone-details-box .zone-details-header h1,
.zone-details-box .zone-details-header h2,
.zone-details-box .zone-details-header h3,
.zone-details-box .zone-details-header h4,
.zone-details-box .zone-details-header h5,
.zone-details-box .zone-details-header h6,
.zone-details-box .zone-details-header .mw-headline,
.zone-details-box .zone-details-header .plainlinks,
.zone-details-box .zone-details-header span {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    outline: none !important;
}

/* Remove pseudo element content that may generate small white boxes */
.zone-details-box .zone-details-header::before,
.zone-details-box .zone-details-header::after,
.zone-details-box .zone-details-header *::before,
.zone-details-box .zone-details-header *::after {
    content: none !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* If header contains inline children, ensure they are full-width and transparent */
.zone-details-box .zone-details-header > * {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Content area inherits zones-content styling (keeps consistent look) */
.zone-details-content {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    padding: 8px !important;
    margin: 0 !important;
    border: none !important;
}

/* ZoneDetails rows:
   Label acts as a header above the text (stacked) and keeps the color scheme */
.zone-details-row {
    display: flex !important;
    flex-direction: column !important; /* label above text */
    align-items: stretch !important;
    padding: 8px 6px !important;
    border-bottom: 1px solid #3C3C3C !important;
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    margin-bottom: 6px !important;
    box-sizing: border-box !important;
}

.zone-details-row:last-child {
    border-bottom: none !important;
}

/* Label: styled to look like a small header (gold) */
.zone-details-label {
    display: block !important;
    width: auto !important;
    margin-bottom: 6px !important;    /* spacing between label and text */
    color: #E6C98B !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;
    line-height: 1.1 !important;
    letter-spacing: 0.2px !important;
    background: transparent !important;
}

/* Text: sits below the label (pale sand color) */
.zone-details-text {

    display: block !important;
    width: auto !important;
    color: #D6D6C9 !important;
    background: transparent !important;
    line-height: 1.35 !important;
    font-size: 0.95rem !important;
    white-space: normal !important;
}

/* Link rules inside ZoneDetails keep global link colors */
.zone-details-row a,
.zone-details-content a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zone-details-row a:hover,
.zone-details-content a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}

/* Optional responsive behavior: restore side-by-side label/text on very wide screens
   Uncomment if you want column layout on desktops: */

/*
@media (min-width: 1100px) {
  .zone-details-row {
    flex-direction: row !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }
  .zone-details-label { width: 30% !important; margin-bottom: 0 !important; }
  .zone-details-text  { width: 70% !important; }
}
*/


/* ============================================================
   CLASS INFO TABLE ΓÇö Matches EQOA global style
   ============================================================ */

.class-info-table {
    background-color: #242428 !important;   /* same as npc-box / zones-box */
    border: 1px solid #3C3C3C !important;
    color: #D6D6C9 !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Header (matches .zones-header / .npc-header) */
.class-info-header {
    background-color: #3C3C3C !important;
    color: #E6C98B !important;
    border-bottom: 2px solid #D6B25E !important;
    padding: 6px 8px !important;
    font-weight: bold !important;
    font-size: 1.15em !important;
}

/* Inner table structure */
.class-info-table-inner {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

/* Column headers (Pros / Cons) */
.class-info-col-header {
    background-color: #2B2B2B !important;
    color: #E6C98B !important;
    text-align: center !important;
    padding: 6px !important;
    font-weight: bold !important;
    border-bottom: 1px solid #3C3C3C !important;
    border-right: 1px solid #D6B25E !important; /* ← Added vertical line */
}

/* Ensure last header (Con) has no extra border */
.class-info-col-header:last-child {
    border-right: none !important;
}

/* Rows striping ΓÇö matches all your other tables */
.class-info-row:nth-child(odd) td {
    background-color: #242428 !important;
}

.class-info-row:nth-child(even) td {
    background-color: #2E2E31 !important;
}

/* Cell formatting */
.class-info-row td {
    padding: 6px 10px !important;
    border-bottom: 1px solid #3C3C3C !important;
    color: #D6D6C9 !important;
    vertical-align: top !important;
}

/* NEW: Vertical divider between Pro and Con cells */
.class-info-row td:first-child {
    border-right: 1px solid #D6B25E !important; /* ← New visible divider */
}

/* Links inside cells follow global rules */
.class-info-row a {
    color: #E6C98B !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.class-info-row a:hover {
    color: #F0D9A0 !important;
    text-decoration: underline !important;
}


/******************************
  RAID ENCOUNTER TABLE STYLE
*******************************/
.raid-encounter-table {
    margin: 10px 0;
}

/* Table frame (same as exp-camp tables) */
.raid-encounter-table .exp-camp-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #242428 !important; /* dark stone */
    color: #D6D6C9 !important;            /* pale sand text */
    border: 1px solid #3C3C3C !important; /* dark border */
}

/* Headers ΓÇö match .npc-header / .zones-header */
.raid-encounter-table th {
    background-color: #3C3C3C !important; /* header gray */
    color: #E6C98B !important;            /* gold */
    font-size: 18px;
    font-weight: bold;
    padding: 6px 10px;
    border-bottom: 2px solid #D6B25E !important; /* gold underline */
    vertical-align: top !important; /* NEW */
}

/* Base row styling ΓÇö same as zone-data-table */
.raid-encounter-table .exp-camp-row td {
    background-color: #242428 !important; 
    color: #D6D6C9 !important;
    border: 1px solid #3C3C3C !important;
    padding: 6px 10px;

    /* ✅ FIX: force text to top */
    vertical-align: top !important;
}

/* Alternating shading ΓÇö match .npc-table / .zone-data-table */
.raid-encounter-table .exp-camp-row:nth-child(even) td {
    background-color: #2E2E31 !important;
}

/* Increase size of <b> headers inside Raid Encounter Table */
.raid-encounter-table td b {
    font-size: 1.75em !important;  /* adjust 1.15 → 1.2 / 1.3 etc */
    color: #CCCCCC!important;     /* optional gold color like your headers */
    font-weight: bold !important;
    display: block !important;     /* makes it behave like a title */
    margin-bottom: 4px !important; /* spacing below the header */
}

/* Style ONLY wiki links ([[ ]]) inside the Raid Encounter table */
.raid-encounter-table td a {
    font-size: 1.2em !important;     /* bigger */
    color: #E6C98B !important;        /* gold */
}

/* Base row styling ΓÇö remove background color here */
.raid-encounter-table .exp-camp-row td {
    color: #D6D6C9 !important;
    border: 1px solid #3C3C3C !important;
    padding: 6px 10px;
    vertical-align: top !important;
}

/* Remove base background color from all cells */
.raid-encounter-table .exp-camp-row td {
    color: #D6D6C9 !important;
    border: 1px solid #3C3C3C !important;
    padding: 6px 10px;
    vertical-align: top !important;
    background-color: unset !important; /* ensure no inherited color */
}

/* Two-column alternating colors */
.raid-encounter-table .exp-camp-row td:nth-child(odd) {
    background-color: #242428 !important; /* Color 1: dark stone */
}

.raid-encounter-table .exp-camp-row td:nth-child(even) {
    background-color: #2E2E31 !important; /* Color 2: slightly lighter */
}

/* Target only the headers in the Raid Encounter Table */
.raid-encounter-table th {
    font-size: 25px !important;  /* adjust size as needed */
    font-weight: bold !important;
    color: #E6C98B !important;   /* optional: gold color */
    padding: 8px 12px !important; /* optional: more spacing */
    background-color: #3C3C3C !important; /* keep header background */
    border-bottom: 2px solid #D6B25E !important; /* gold underline */
}

/* UNIVERSAL SUPER-TIGHT RAID SPACING */

/* shrink checkbox */
.raid-checkboxify input[type="checkbox"] {
    transform: scale(0.75);
    margin: 0 4px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle;
}

/* tighten link spacing */
.raid-checkboxify a {
    display: inline-block;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.0 !important;
}

/* force each checkbox/link pair onto its own line with tiny spacing */
.raid-checkboxify br {
    line-height: 0.03;
}

/* collapse any default spacing around list items */
.raid-checkboxify * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.raid-checkboxify p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0.7 !important;
}


body {
    overflow-x: hidden !important;
}


/* ============================================
   DARK THEME WIKITABLE STYLE (matches your wiki)
   ============================================ */

.wikitable {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    border: 1px solid #7A3E00 !important;
    border-collapse: collapse !important;
    width: 100%;
}

/* Table headers */
.wikitable > tr > th,
.wikitable > * > tr > th {
    background-color: #1A1A1D !important;
    color: #E3B44A !important;
    border: 1px solid #7A3E00 !important;
    padding: 8px 6px !important;
    text-align: left;
}

/* Table cells */
.wikitable > tr > td,
.wikitable > * > tr > td {
    background-color: #242428 !important;
    color: #D6D6C9 !important;
    border: 1px solid #3A2E2A !important;
    padding: 6px 6px !important;
}

/* Zebra striping */
.wikitable > tr:nth-child(even) > td,
.wikitable > * > tr:nth-child(even) > td {
    background-color: #1E1E22 !important;
}

/* Sortable table indicators */
table.sortable thead th {
    cursor: pointer;
}

table.sortable thead th:hover {
    background-color: #302F33 !important;
    color: #E3B44A !important;
}


/* Force gold border below each data row */
.class-mastery-table tr:not(.mastery-header-row) {
    border: 1px solid #cccccc!important;
}






























































































































/* =========================================================
   EQOA.LIVE COLOR MATCH OVERRIDE ΓÇö COLORS ONLY
   ========================================================= */

:root {
    --eqoa-bg: #0D0C0A;              /* main black background */
    --eqoa-bg-soft: #17130F;         /* warm dark brown-black */
    --eqoa-panel: #1D1813;           /* panel boxes */
    --eqoa-panel-2: #2A241E;         /* lighter inner boxes */
    --eqoa-border: #332A22;          /* subtle brown border */
    --eqoa-border-light: #4A4035;    /* lighter divider */
    --eqoa-gold: #F2B705;            /* Sandstorm gold */
    --eqoa-gold-soft: #D8A83A;       /* muted gold */
    --eqoa-gold-hover: #FFD45A;      /* hover gold */
    --eqoa-text: #E8E2D6;            /* warm white */
    --eqoa-muted: #AFA79B;           /* muted gray-beige */
    --eqoa-white: #FFFFFF;
}

/* Main page/background */
body,
#content,
#mw-content-text,
#column-content,
.npc-template,
.quest-right,
.exp-camp-wrapper,
.npc-left,
.npc-right,
.npc-box,
.eqoa-image-box,
.zones-box,
.zones-content,
.zone-details-content,
.class-info-table,
.wikitable,
table.info-table,
table.npc-zone-table,
.exp-camp-table,
.zone-data-table {
    background-color: var(--eqoa-bg) !important;
    color: var(--eqoa-text) !important;
}

/* Main page boxes/panels */
.mp-box,
.spell-list,
.SpellList,
.spell-col,
.SpellRow,
.item-box,
#p-tb,
#p-tb .pBody,
#p-search,
#p-search .pBody {
    background-color: var(--eqoa-panel) !important;
    color: var(--eqoa-text) !important;
    border-color: var(--eqoa-border-light) !important;
}

/* Alternate rows */
table.info-table tr:nth-child(even) td:last-child,
table.npc-zone-table tr:nth-child(even):not(:first-child),
.zone-data-table tr:nth-child(even):not(:first-child),
.class-info-row:nth-child(even) td,
.wikitable > tr:nth-child(even) > td,
.wikitable > * > tr:nth-child(even) > td,
.raid-encounter-table .exp-camp-row td:nth-child(even) {
    background-color: var(--eqoa-bg-soft) !important;
}

/* Headers ΓÇö remove blue look */
.npc-header,
.zones-header,
.zone-details-header,
.class-info-header,
.raid-encounter-table th,
.wikitable > tr > th,
.wikitable > * > tr > th,
.job-infobox-header th,
.npcname-header,
.infobox .npcname-row td,
.class-info-col-header,
#column-one h3[id^="p-"],
.portlet h5 {
    background-color: var(--eqoa-bg-soft) !important;
    color: var(--eqoa-gold) !important;
    border-color: var(--eqoa-border-light) !important;
}

/* Main page banner ΓÇö EQOA.live does not use blue */
.mp-banner,
.mp-banner-inner {
    background-color: var(--eqoa-panel) !important;
    color: var(--eqoa-white) !important;
    border-color: var(--eqoa-border-light) !important;
}

/* Links */
a,
.mw-body a,
.quest-template a,
.npc-template a,
table a,
.wikitable a,
.mp-box a,
.zones-content a,
.zone-details-row a,
.zone-details-content a,
.class-info-row a,
.zone-data-table a,
.raid-encounter-table td a {
    color: var(--eqoa-gold) !important;
}

a:hover,
.mw-body a:hover,
.quest-template a:hover,
.npc-template a:hover,
table a:hover,
.wikitable a:hover,
.mp-box a:hover,
.zones-content a:hover,
.zone-details-row a:hover,
.zone-details-content a:hover,
.class-info-row a:hover,
.zone-data-table a:hover {
    color: var(--eqoa-gold-hover) !important;
}

/* Text */
h1, h2, h3, h4, h5, h6 {
    color: var(--eqoa-white) !important;
    text-shadow: 1px 1px 2px #000 !important;
}

.zone-details-label,
.spell-lvl,
#p-tb h3 {
    color: var(--eqoa-gold) !important;
}

.zone-details-text,
.spell-data,
.spell-name,
.class-info-row td,
.wikitable td {
    color: var(--eqoa-text) !important;
}


/* Borders */
.npc-left,
.npc-right,
.npc-box,
.eqoa-image-box,
.zones-box,
.zone-details-row,
.class-info-table,
.class-info-row td,
.zone-data-table td,
.wikitable,
.wikitable > tr > th,
.wikitable > * > tr > th,
.wikitable > tr > td,
.wikitable > * > tr > td,
.raid-encounter-table .exp-camp-table,
.raid-encounter-table .exp-camp-row td,
.spell-list,
.SpellList,
.spell-col,
.SpellRow,
.mp-box {
    border-color: var(--eqoa-border-light) !important;
}

/* Sidebar */
#column-one,
#column-one .portlet,
#column-one .pBody {
    background-color: var(--eqoa-bg) !important;
    color: var(--eqoa-text) !important;
}

/* Search box */
#searchInput,
#searchInput[type="search"],
#searchInput[type="text"],
#p-search input,
.portlet#p-search input[type="text"] {
    background-color: var(--eqoa-bg-soft) !important;
    color: var(--eqoa-text) !important;
    border-color: var(--eqoa-border-light) !important;
}

#searchInput::placeholder {
    color: var(--eqoa-muted) !important;
}

#searchGoButton,
#mw-searchButton,
#p-search .searchButton,
#p-search input[type="submit"] {
    background-color: var(--eqoa-panel-2) !important;
    color: var(--eqoa-gold) !important;
    border-color: var(--eqoa-border-light) !important;
}

#searchGoButton:hover,
#mw-searchButton:hover,
#p-search .searchButton:hover,
#p-search input[type="submit"]:hover {
    background-color: var(--eqoa-bg-soft) !important;
    color: var(--eqoa-gold-hover) !important;
}

/* Job page light boxes converted */
.job-infobox-label td:first-child,
.job-infobox-label td:last-child,
.job-center-box,
.job-contents-box {
    background-color: var(--eqoa-panel) !important;
    color: var(--eqoa-text) !important;
}


.job-center-box a {
    color: var(--eqoa-gold) !important;
}

/* Item image block */
.item-image-block {
    background-color: var(--eqoa-panel) !important;
    border-color: var(--eqoa-border-light) !important;
    color: var(--eqoa-text) !important;
}




/* =========================================================
   EQOA.LIVE FINAL TUNING ΓÇö LESS BROWN, MORE BLACK/CHARCOAL
   ========================================================= */

:root {
    --eqoa-bg: #080807;
    --eqoa-bg-soft: #11100E;
    --eqoa-panel: #141210;
    --eqoa-panel-2: #1B1814;
    --eqoa-border: #2F2A24;
    --eqoa-border-light: #4A4035;
    --eqoa-gold: #F0B400;
    --eqoa-gold-soft: #D4A137;
    --eqoa-gold-hover: #FFD45A;
    --eqoa-text: #E6E1D8;
    --eqoa-muted: #9E978C;
}

/* Make main body closer to eqoa.live */
body,
#content,
#mw-content-text,
#column-content {
    background-color: #080807 !important;
}

/* Darken all major content boxes */
.mp-box,
.mp-banner,
.mp-banner-inner,
.npc-box,
.zones-box,
.zone-details-content,
.class-info-table,
.wikitable,
.exp-camp-table,
.raid-encounter-table .exp-camp-table {
    background-color: #141210 !important;
}

/* New? Start Here box / main page sections */
.mp-box,
.npc-template,
.quest-right,
.exp-camp-wrapper {
    background-color: #141210 !important;
    border-color: #3A3129 !important;
}

/* Make headers less panel-blue/brown and more eqoa.live black */
.npc-header,
.zones-header,
.zone-details-header,

.class-info-header,
.raid-encounter-table th,
.wikitable > tr > th,
.wikitable > * > tr > th,
#column-one h3[id^="p-"],
.portlet h5 {
    background-color: #11100E !important;
    color: #F0B400 !important;
    border-bottom-color: #3A3129 !important;
}

/* Thin divider lines closer to eqoa.live */
.mp-box,
.mp-banner,
.npc-box,
.zones-box,
.zone-details-row,
.class-info-table,
.wikitable,
.zone-data-table td {
    border-color: #3A3129 !important;
}

/* Sidebar should be almost black */
#column-one,
#column-one .portlet,
#column-one .pBody,
#p-search,
#p-search .pBody,
#p-tb,
#p-tb .pBody {
    background-color: #080807 !important;
    border-color: #2F2A24 !important;
}

/* Search input/button darker */
#searchInput,
#searchInput[type="search"],
#searchInput[type="text"],
#p-search input {
    background-color: #11100E !important;
    color: #E6E1D8 !important;
    border-color: #3A3129 !important;
}

#searchGoButton,
#mw-searchButton,
#p-search .searchButton,
#p-search input[type="submit"] {
    background-color: #1B1814 !important;
    color: #F0B400 !important;
    border-color: #3A3129 !important;
}

/* Links: stronger Sandstorm yellow */
a,
.mw-body a,
.quest-template a,
.npc-template a,
table a,
.wikitable a,
.mp-box a,
.zones-content a,
.zone-details-row a,
.zone-details-content a,
.class-info-row a,
.zone-data-table a,
.raid-encounter-table td a {
    color: #F0B400 !important;
}

/* White text closer to site */
body,
#content,
#mw-content-text,
#column-content,
.mp-box,
.zones-content,
.zone-details-text,
.class-info-row td,
.wikitable td {
    color: #E6E1D8 !important;
}

/* Muted text */
.mp-banner-subtitle,
small,
.mw-body-content,
.zone-details-text {
    color: #C9C1B5 !important;
}


/* =========================================================
   EXP CAMP TABLE ΓÇö GRID STYLE + COLLAPSIBLE
   ========================================================= */

.exp-camp-wrapper {
    width: 100% !important;
    margin: 18px 0 !important;
    overflow-x: auto !important;
}

.exp-camp-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background-color: #080807 !important;
    color: #E6E1D8 !important;
    border: 1px solid #4A4035 !important;
}

/* Caption/header above table */
.exp-camp-table caption {
    caption-side: top !important;
    background-color: #11100E !important;
    color: #FFFFFF !important;
    font-size: 1.1em !important;
    font-weight: bold !important;
    padding: 8px 10px !important;
    border: 1px solid #4A4035 !important;
    border-bottom: none !important;
    text-align: center !important;
}

/* Header row */
.exp-camp-table th {
    background-color: #1B1814 !important;
    color: #F0B400 !important;
    border: 1px solid #4A4035 !important;
    padding: 8px 10px !important;
    text-align: center !important;
    font-weight: bold !important;
    vertical-align: middle !important;
}

/* Data cells */
.exp-camp-table td {
    background-color: #141210 !important;
    color: #E6E1D8 !important;
    border: 1px solid #4A4035 !important;
    padding: 8px 10px !important;
    vertical-align: top !important;
}

/* Alternating row color */
.exp-camp-table tr:nth-child(even) td {
    background-color: #11100E !important;
}

.exp-camp-table tr:nth-child(odd) td {
    background-color: #141210 !important;
}

/* Column widths */
.exp-camp-table th:nth-child(1),
.exp-camp-table td:nth-child(1) {
    width: 8% !important;
    text-align: center !important;
}

.exp-camp-table th:nth-child(2),
.exp-camp-table td:nth-child(2) {
    width: 15% !important;
}

.exp-camp-table th:nth-child(3),
.exp-camp-table td:nth-child(3) {
    width: 18% !important;
}

.exp-camp-table th:nth-child(4),
.exp-camp-table td:nth-child(4) {
    width: 24% !important;
}

.exp-camp-table th:nth-child(5),
.exp-camp-table td:nth-child(5) {
    width: 35% !important;
}

/* Links inside table */
.exp-camp-table a {
    color: #F0B400 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.exp-camp-table a:hover {
    color: #FFD45A !important;
    text-decoration: underline !important;
}

/* Keep NPC list readable */
.exp-camp-table td:nth-child(4) {
    line-height: 1.45 !important;
}

/* Keep collapse/expand text visible */
.exp-camp-table .mw-collapsible-toggle,
.exp-camp-table .mw-collapsible-toggle a {
    color: #F0B400 !important;
    font-weight: bold !important;
}

/* Sort arrows visible */
.exp-camp-table th.headerSort,
.exp-camp-table th.headerSortUp,
.exp-camp-table th.headerSortDown {
    background-color: #1B1814 !important;
    color: #F0B400 !important;
}


/* =========================================================
   LYCAN GUIDE SECTIONS ΓÇö FULL BOXED STYLE
   ========================================================= */

.lycan-section-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 14px 0 !important;
    clear: both !important;
}

.lycan-section-table {
    display: table !important;
    width: 100% !important;
    min-width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background-color: #141210 !important;
    color: #E6E1D8 !important;
    border: 1px solid #4A4035 !important;
}

/* Header bar */
.lycan-section-table caption {
    display: table-caption !important;
    caption-side: top !important;
    width: auto !important;
    background-color: #11100E !important;
    color: #FFFFFF !important;
    font-size: 1.1em !important;
    font-weight: bold !important;
    padding: 8px 10px !important;
    border: 1px solid #4A4035 !important;
    border-bottom: none !important;
    text-align: center !important;
}

/* Content box */
.lycan-section-table td {
    display: table-cell !important;
    width: 100% !important;
    background-color: #141210 !important;
    color: #E6E1D8 !important;
    border: 1px solid #4A4035 !important;
    padding: 12px !important;
    vertical-align: top !important;
}

/* Links */
.lycan-section-table a {
    color: #F0B400 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.lycan-section-table a:hover {
    color: #FFD45A !important;
    text-decoration: underline !important;
}

/* Expand / Collapse */
.lycan-section-table .mw-collapsible-toggle {
    float: right !important;
    margin-right: 8px !important;
}

.lycan-section-table .mw-collapsible-toggle,
.lycan-section-table .mw-collapsible-toggle a {
    color: #F0B400 !important;
    font-weight: bold !important;
}





/* =========================================================
   LYCAN SPAWN TABLE
   ========================================================= */

.lycan-spawn-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background-color: #141210 !important;
    color: #E6E1D8 !important;
}

/* Header */
.lycan-spawn-table th {
    background-color: #1B1814 !important;
    color: #F0B400 !important;
    border: 1px solid #4A4035 !important;
    padding: 10px !important;
    text-align: center !important;
    font-weight: bold !important;
}

/* Cells */
.lycan-spawn-table td {
    background-color: #141210 !important;
    color: #E6E1D8 !important;
    border: 1px solid #4A4035 !important;
    padding: 10px !important;

    vertical-align: top !important;
}

/* Alternate row shading */
.lycan-spawn-table tr:nth-child(even) td {
    background-color: #11100E !important;
}

/* Column sizing */
.lycan-col-name {
    width: 22% !important;
}

.lycan-col-level {
    width: 12% !important;
}

.lycan-col-zone {
    width: 38% !important;
}

.lycan-col-notes {
    width: 28% !important;
}

/* Links */
.lycan-spawn-table a {
    color: #F0B400 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.lycan-spawn-table a:hover {
    color: #FFD45A !important;
    text-decoration: underline !important;
}

/* =========================================================
   LYCAN TABLE HEADER
   ========================================================= */

.lycan-table-header {
    width: 100% !important;
    background-color: #11100E !important;
    color: #FFFFFF !important;
    border: 1px solid #4A4035 !important;
    border-bottom: none !important;
    padding: 10px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    margin-top: 18px !important;
}










.zone-directory-table {
  width: 100%;
  border-collapse: collapse;
  background: #17130f;
  border: 1px solid #5b4a38;
}

.zone-directory-table caption {
  font-size: 28px;
  font-weight: bold;
  color: #f0b400;
  padding: 10px;
  text-align: center;
}

.zone-directory-table th {
  color: #f0b400;
  background: #1f1711;
  border: 1px solid #5b4a38;
  padding: 8px;
  text-align: center;
}

.zone-directory-table td {
  border: 1px solid #5b4a38;
  padding: 10px;
  vertical-align: top;
}

.zone-list-left {
  width: 28%;
}

.zone-map-middle {
  width: 44%;
  text-align: center;
}

.zone-list-right {
  width: 28%;
}

.zone-map-middle img {
  max-width: 100%;
  height: auto;
}


.path-choice-box {
  margin: 18px 0;
  border: 1px solid #5b4a38;
  background: #17130f;
}

.path-choice-title {
  text-align: center;
  font-weight: bold;
  font-size: 22px;
  color: #f0b400;
  padding: 10px;
  border-bottom: 1px solid #5b4a38;
  background: #1f1711;
}

.path-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 12px;
}

.path-choice-panel {
  border: 1px solid #5b4a38;
  background: #0f0d0a;
  padding: 10px;
}

.path-choice-header {
  text-align: center;
  font-weight: bold;
  color: #f0b400;
  margin-bottom: 8px;
  border-bottom: 1px solid #5b4a38;
  padding-bottom: 6px;
}


.items-filter-box {
  background: #242428;
  color: #D6D6C9;
  border: 1px solid #3C3C3C;
  padding: 10px;
  margin-top: 15px;
  margin-bottom: 10px;
}

.items-filter-box input {
  width: 90px;
  margin: 4px;
  background: #1B1B1F;
  color: #D6D6C9;
  border: 1px solid #555;
  padding: 3px;
}

.items-filter-box button {
  margin-left: 8px;
  background: #3C3C3C;
  color: #E6C98B;
  border: 1px solid #D6B25E;
  padding: 4px 8px;
  cursor: pointer;
}


/* =========================================================
   Character Builder 
   ========================================================= */
/* =========================================================
   Character Builder 
   ========================================================= */

.character-builder-box {
  background: #242428;
  color: #D6D6C9;
  border: 1px solid #5A4A2A;
  padding: 14px;
  margin: 15px 0;
}

.character-builder-title {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #E6C98B;
  border-bottom: 1px solid #5A4A2A;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.character-builder-controls {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 15px;
}

.character-builder-controls label,
.character-builder-section-title {
  font-weight: bold;
  color: #E6C98B;
}

.character-builder-controls select,
.character-builder-controls input {
  background: #1B1B1F;
  color: #D6D6C9;
  border: 1px solid #555;
  padding: 4px;
}

.character-builder-stat-table {
  width: 100%;
  border-collapse: collapse;
}

.character-builder-stat-table th {
  background: #3C3C3C;
  color: #E6C98B;
  padding: 6px;
  border: 1px solid #555;
}

.character-builder-stat-table td {
  text-align: center;
  padding: 6px;
  border: 1px solid #555;
}

/* LEFT = Gear Selection / RIGHT = Equipped Items */
.character-builder-equipment-layout {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: 100% !important;
}

.character-builder-equipped-summary {
  width: 340px !important;
  min-width: 340px !important;
  max-width: 340px !important;
  margin-top: 36px !important;

  background: #1B1B1F;
  border: 1px solid #555;
  padding: 8px;

  position: sticky;
  top: 10px;

  order: 1;
}

.character-builder-gear-column {
  flex: 1 1 auto !important;
  min-width: 0 !important;

  order: 2;
}

.character-builder-gear-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 8px !important;
}

.character-builder-gear-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 8px !important;
}

.character-builder-equipped-summary {
  grid-column: 1 !important;
  background: #1B1B1F;
  border: 1px solid #555;
  padding: 8px;
  width: 340px;
  position: sticky;
  top: 10px;
}

.character-builder-equipped-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.character-builder-equipped-table td {
  border: 1px solid #444;
  padding: 4px;
}

.character-builder-equipped-table td:first-child {
  color: #E6C98B;
  width: 35%;
  font-weight: bold;
}

.character-builder-slot {
  background: #1B1B1F;
  border: 1px solid #555;
  padding: 8px;
  display: flex;
  flex-direction: column;
}

.character-builder-slot label {
  display: block;
  color: #E6C98B;
  font-weight: bold;
  margin-bottom: 4px;
}

.character-builder-slot select {
  width: 100%;
  background: #242428;
  color: #D6D6C9;
  border: 1px solid #555;
  padding: 4px;
}

.cb-slot-search {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 3px;
  background: #111;
  color: #D6D6C9;
  border: 1px solid #555;
  padding: 3px;
  font-size: 12px;
}

.character-builder-tooltip {
  position: absolute;
  z-index: 99999;
  background: #111;
  color: #D6D6C9;
  border: 1px solid #D6B25E;
  padding: 8px;
  min-width: 220px;
  max-width: 320px;
  font-size: 12px;
  box-shadow: 0 0 8px #000;
  pointer-events: none;
}

.cb-tooltip-title {
  color: #FFD35A;
  font-weight: bold;
  font-size: 14px;
  border-bottom: 1px solid #5A4A2A;
  margin-bottom: 5px;
  padding-bottom: 3px;
}

.cb-tooltip-line {
  margin: 2px 0;
}

.cb-tooltip-stats {
  margin-top: 5px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
}

.cb-tooltip-stats span {
  color: #E6C98B;
  font-weight: bold;
}

.cb-equipped-item-name {
  color: #FFD35A;
  cursor: help;
}

.character-builder-gear-column {
  grid-column: 2 !important;
  min-width: 0;
}

.character-builder-warning-box {
  background: #2B1F1F;
  border: 1px solid #AA5555;
  color: #FFD0D0;
  padding: 8px;
  margin: 10px 0;
  font-size: 13px;
}

.cb-overcap {
  color: #66FF66;
  font-weight: bold;
}
---






----

.cb-item-picker-list {
  max-height: 120px;
  overflow-y: auto;
  border: 1px solid #444;
  background: #111;
}

.cb-picker-item {
    transition:
        transform 0.14s ease,
        box-shadow 0.14s ease,
        background-color 0.14s ease;
}

.cb-picker-item:hover {
    transform:
        translateY(-2px)
        scale(1.01);

    box-shadow:
        0 4px 10px rgba(0,0,0,0.35),
        0 0 10px rgba(120,120,255,0.12);

    background-color:
        rgba(255,255,255,0.04);
}

.cb-picker-selected {
  background: #3C3C3C;
  color: #FFD35A;
  font-weight: bold;
}

.cb-picker-none {
  color: #AAA;
}

.cb-picker-disabled {
  color: #E6A0A0;
  padding: 4px;
  font-size: 12px;
}

.cb-compare-positive {
  color: #66FF66;
}

.cb-compare-negative {
  color: #FF7777;
}

.cb-compare-tooltip {
  min-width: 260px;
}

.cb-item-page-link {
    margin-left: 6px;
    font-weight: bold;
    cursor: pointer;
    opacity: 0.75;
}

.cb-item-page-link:hover {
    opacity: 1;
    text-decoration: underline;
}


@media screen and (max-width: 768px) {

    .character-builder-box {
        padding: 10px;
        overflow-x: hidden;
    }

    .character-builder-controls {
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: stretch;
    }

    .character-builder-controls label {
        margin-top: 4px;
    }

    .character-builder-controls select,
    .character-builder-controls input,
    .character-builder-controls button {
        width: 100% !important;

        box-sizing: border-box;
    }

    .character-builder-equipment-layout {
        display: block;
    }

    .character-builder-equipped-summary {
        position: static !important;
        width: 100%;
        margin-bottom: 15px;
    }

    .character-builder-gear-column {
        width: 100%;
    }

    .character-builder-gear-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .character-builder-slot {
        width: 100%;
        box-sizing: border-box;
    }

    .cb-picker-tools {
        flex-direction: column;
        gap: 5px;
    }

    .cb-slot-filter,
    .cb-slot-sort {
        width: 100% !important;
    }

    .character-builder-stat-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .character-builder-equipped-table {
        width: 100%;
    }

    .cb-item-picker-list {
        max-height: 260px;
        overflow-y: auto;
    }


    .character-builder-tooltip {
        max-width: 90vw;
        left: 5vw !important;
        right: 5vw;
        font-size: 12px;
    }
}

.cb-upgrade-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    white-space: nowrap;
}


.character-builder-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.cb-theme-dark {
    background: #1b1b1b;
    color: #ddd;
}

.cb-theme-light {
    background: #f4f4f4;
    color: #111;
}

.cb-theme-light .character-builder-slot,
.cb-theme-light .character-builder-warning-box,
.cb-theme-light .character-builder-stat-table,
.cb-theme-light .character-builder-equipped-table,
.cb-theme-light .cb-item-picker-list {
    background: #fff;
    color: #111;
    border-color: #bbb;
}

.cb-theme-light input,
.cb-theme-light select,
.cb-theme-light button {
    background: #fff;
    color: #111;
    border: 1px solid #999;
}

.cb-theme-light .cb-picker-item:hover {
    background: #e9e9e9;
}

.cb-theme-light .cb-picker-selected {
    background: #d7e8ff;
}

.cb-theme-light .cb-picker-item {
    color: #000;
}

.cb-theme-light .cb-equipped-item-name,
.cb-theme-light #cb-equipped-summary-body,
.cb-theme-light #cb-equipped-summary-body td,
.cb-theme-light #cb-weapon-primary-name,
.cb-theme-light #cb-weapon-secondary-name,
.cb-theme-light #cb-weapon-range-name {
    color: #000;
}



.cb-compare-positive {
    animation: cbStatGainPulse 0.45s ease-out;
}

.cb-compare-negative {
    animation: cbStatLossPulse 0.45s ease-out;
}

@keyframes cbStatGainPulse {
    0% {
        transform: scale(1.18);
        opacity: 0.25;
        text-shadow: 0 0 10px rgba(80, 255, 120, 0.9);
    }

    60% {
        transform: scale(1.05);
        opacity: 1;
        text-shadow: 0 0 8px rgba(80, 255, 120, 0.75);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes cbStatLossPulse {

    0% {
        transform: scale(1.18);
        opacity: 0.25;
        text-shadow: 0 0 10px rgba(255, 80, 80, 0.9);
    }

    60% {
        transform: scale(1.05);
        opacity: 1;
        text-shadow: 0 0 8px rgba(255, 80, 80, 0.75);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}


.cb-picker-selected {
    box-shadow:
        0 0 10px rgba(217,166,77,0.45);
}


.cb-picker-item {
    transition:
        transform 0.15s ease,
        background 0.15s ease;
}

.cb-picker-item:hover {
    transform: translateY(-2px);
}


.character-builder-tooltip {
    animation: cbTooltipFade 0.12s ease-out;
}

@keyframes cbTooltipFade {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cb-compare-divider {
    border-top: 1px solid rgba(217,166,77,0.25);
    margin: 8px 0;
}


.cb-tooltip-rarity-common {
    border: 1px solid #666;
}


.cb-tooltip-rarity-uncommon {
    border: 1px solid #5fd35f;
    box-shadow:
        0 0 8px rgba(95,211,95,0.25);
}

.cb-tooltip-rarity-rare {
    border: 1px solid #63a9ff;
    box-shadow:
        0 0 10px rgba(99,169,255,0.35);
}

.cb-tooltip-rarity-ultra-rare {
    border: 1px solid #b46cff;
    box-shadow:
        0 0 8px rgba(180,108,255,0.55),
        0 0 18px rgba(140,70,255,0.35);
}

.cb-tooltip-rarity-relic {
    border: 1px solid #d9a64d;
    box-shadow:
        0 0 14px rgba(217,166,77,0.45);
        0 0 24px rgba(255,120,50,0.25);
}







.cb-tooltip-rarity-legendary {
    border: 1px solid #b54848;

    box-shadow:
        0 0 10px rgba(181,72,72,0.45),
        0 0 20px rgba(120,20,20,0.28);

    animation:
        cbLegendaryPulse 2.2s ease-in-out infinite;
}

@keyframes cbLegendaryPulse {
    0% {
        box-shadow:
            0 0 8px rgba(181,72,72,0.35),
            0 0 16px rgba(120,20,20,0.18);
    }

    50% {
        box-shadow:
            0 0 14px rgba(181,72,72,0.65),
            0 0 28px rgba(120,20,20,0.38);
    }

    100% {
        box-shadow:
            0 0 8px rgba(181,72,72,0.35),
            0 0 16px rgba(120,20,20,0.18);
    }
}

.cb-tooltip-rarity-relic {
    border: 1px solid #d4af37;

    box-shadow:
        0 0 12px rgba(212,175,55,0.55),
        0 0 24px rgba(255,215,100,0.28);

    animation:
        cbRelicAura 2.8s ease-in-out infinite;
}

@keyframes cbRelicAura {
    0% {
        box-shadow:
            0 0 10px rgba(212,175,55,0.45),
            0 0 18px rgba(255,215,100,0.18);
    }

    50% {
        box-shadow:
            0 0 18px rgba(255,220,120,0.85),
            0 0 36px rgba(255,240,180,0.42);
    }

    100% {
        box-shadow:
            0 0 10px rgba(212,175,55,0.45),
            0 0 18px rgba(255,215,100,0.18);
    }
}



.cb-equipped-item-name {
    transition:
        transform 0.14s ease,
        filter 0.14s ease,
        text-shadow 0.14s ease;
}

.cb-equipped-item-name:hover {
    transform: translateX(2px);

    filter: brightness(1.08);
}

.cb-equipped-item-name.cb-rarity-rare:hover {
    text-shadow:
        0 0 8px rgba(90,140,255,0.55);
}

.cb-equipped-item-name.cb-rarity-ultra-rare:hover {
    text-shadow:
        0 0 10px rgba(180,108,255,0.7),
        0 0 18px rgba(120,60,255,0.35);
}

.cb-equipped-item-name.cb-rarity-legendary:hover {
    text-shadow:
        0 0 10px rgba(220,90,90,0.75),
        0 0 18px rgba(160,30,30,0.4);
}

.cb-equipped-item-name.cb-rarity-relic:hover {
    text-shadow:
        0 0 12px rgba(255,230,150,0.9),
        0 0 24px rgba(255,215,120,0.5);
}



.character-builder-stat-table td {
    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.18s ease;
}

.cb-stat-flash {
    animation: cbStatFlash 0.55s ease-out;
}

@keyframes cbStatFlash {
    0% {
        background-color: rgba(80, 255, 120, 0.22);
        box-shadow: 0 0 10px rgba(80, 255, 120, 0.55);
        transform: scale(1.06);
    }

    100% {
        background-color: transparent;
        box-shadow: none;
        transform: scale(1);
    }
}




/* =========================================================
Export Card Below
   ========================================================= */

.cb-export-card {
    width: 1200px;
    background: radial-gradient(circle at top, #111827 0%, #050505 60%);
    border: 3px solid #9b793d;
    border-radius: 20px;
    padding: 30px;
    color: #f4e6c8;
    font-family: Georgia, serif;
    box-sizing: border-box;
}

.cb-export-main-title {
    text-align: center;
    font-size: 60px;
    font-weight: bold;
    color: #d9a64d;
    letter-spacing: 2px;
    line-height: 1;
}

.cb-export-sub-title {
    text-align: center;
    font-size: 42px;
    color: #d9a64d;
    margin-top: 8px;
    margin-bottom: 14px;
}

.cb-export-build-name {
    text-align: center;
    font-size: 34px;
    margin-bottom: 24px;
    color: #f5f5f5;
}

.cb-export-top-info {
    display: flex;
    gap: 20px;
    margin-bottom: 22px;
}

.cb-export-info-box {
    flex: 1;
    border: 2px solid #7b5a28;
    border-radius: 12px;
    padding: 16px 20px;
    background: rgba(0,0,0,0.28);
    font-size: 24px;
}



.cb-export-main-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 25px;
}

.cb-export-panel {
    border: 2px solid #7b5a28;
    border-radius: 16px;
    padding: 20px;
    background: rgba(0,0,0,0.28);
    box-sizing: border-box;
}

.cb-export-panel-title {
    font-size: 32px;
    color: #d9a64d;
    margin-bottom: 14px;
    font-weight: bold;
}

.cb-export-subsection-title {
    font-size: 22px;
    color: #d9a64d;
    margin-bottom: 8px;
    font-weight: bold;
}

.cb-export-divider {
    border-top: 1px solid rgba(155,121,61,0.65);
    margin: 14px 0;
}

.cb-export-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 32px;
    font-size: 23px;
}

#cb-export-vitals {
    grid-template-columns: 1fr;
}

#cb-export-items {
    font-size: 21px;
    line-height: 1.38;
}

.cb-export-bottom-row {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 20px;
    margin-top: 25px;
}

.cb-export-bottom-box {
    min-height: 230px;
}

.cb-export-url-box {
    font-size: 14px;
    line-height: 1.45;
    background: rgba(0,0,0,0.45);
    border: 1px solid #7b5a28;
    padding: 12px;
    border-radius: 10px;
    word-break: break-all;
    color: #f2f2f2;
}

.cb-export-qr-box {
    width: 190px;
    height: 190px;
    background: #fff;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.cb-export-notes-box {
    font-size: 19px;
    line-height: 1.35;
    background: rgba(0,0,0,0.35);
    padding: 12px;
    border-radius: 10px;
    min-height: 135px;
    white-space: pre-wrap;
    color: #f2f2f2;
}

.cb-export-footer {
    text-align: center;
    font-size: 24px;
    color: #d9a64d;
    margin-top: 16px;
}

.cb-export-panel-title,
.cb-export-subsection-title {
    text-align: center;
}

.cb-export-sub-title::after,
.cb-export-panel-title::after {
    content: "";
    display: block;
    width: 85%;
    height: 1px;
    margin: 10px auto 0;
    background: linear-gradient(
        to right,
        transparent,
        #9b793d,
        #d9a64d,
        #9b793d,
        transparent
    );
}



.cb-rarity-common {
    color: #d7d7d7;
}

.cb-rarity-uncommon {
    color: #6fd96f;
}

.cb-rarity-rare {
    color: #63a9ff;
    text-shadow: 0 0 4px rgba(99,169,255,0.45);
}

.cb-rarity-ultra-rare {
    color: #d26bff;
    text-shadow:
        0 0 6px rgba(210,107,255,0.8),
        0 0 12px rgba(255,120,60,0.45);
}

.cb-rarity-relic {
    color: #d4af37;

    text-shadow:
        0 0 6px rgba(212,175,55,0.55),
        0 0 12px rgba(255,220,120,0.35);

    animation:
        cbRelicTextGlow 2.5s ease-in-out infinite;
}

@keyframes cbRelicTextGlow {
    0% {
        text-shadow:
            0 0 4px rgba(212,175,55,0.35),
            0 0 8px rgba(255,220,120,0.18);
    }

    50% {
        text-shadow:
            0 0 8px rgba(255,230,150,0.85),
            0 0 18px rgba(255,240,180,0.45);
    }

    100% {
        text-shadow:
            0 0 4px rgba(212,175,55,0.35),
            0 0 8px rgba(255,220,120,0.18);
    }
}

.cb-rarity-legendary {
    color: #b54848;
    text-shadow:
        0 0 5px rgba(181,72,72,0.55),
        0 0 12px rgba(120,20,20,0.35);

    animation: cbLegendaryTextPulse 2.4s ease-in-out infinite;
}

@keyframes cbLegendaryTextPulse {
    0% {
        text-shadow:
            0 0 4px rgba(181,72,72,0.35),
            0 0 8px rgba(120,20,20,0.18);
    }

    50% {
        text-shadow:
            0 0 8px rgba(220,90,90,0.85),
            0 0 18px rgba(160,30,30,0.45);
    }

    100% {
        text-shadow:
            0 0 4px rgba(181,72,72,0.35),
            0 0 8px rgba(120,20,20,0.18);
    }
}

.cb-rarity-relic {
    color: #d4af37;
    text-shadow:
        0 0 6px rgba(212,175,55,0.55),
        0 0 14px rgba(255,220,120,0.35);

    animation: cbRelicTextShimmer 2.6s ease-in-out infinite;
}

@keyframes cbRelicTextShimmer {
    0% {
        color: #d4af37;
        text-shadow:
            0 0 4px rgba(212,175,55,0.35),
            0 0 8px rgba(255,220,120,0.18);
    }

    50% {
        color: #ffe08a;
        text-shadow:
            0 0 9px rgba(255,230,150,0.9),
            0 0 20px rgba(255,240,180,0.5);
    }

    100% {
        color: #d4af37;
        text-shadow:
            0 0 4px rgba(212,175,55,0.35),
            0 0 8px rgba(255,220,120,0.18);
    }
}

.cb-tooltip-rarity-legendary {
    border: 1px solid #b54848;
    box-shadow:
        0 0 12px rgba(181,72,72,0.45),
        0 0 20px rgba(120,20,20,0.28);
}

/* =========================================================
Export Card ^^^^
========================================================= */
/* =========================================================
Paperdoll 
========================================================= */

.cb-paperdoll {
    position: relative;
    height: 520px;
    max-width: 760px;
    margin: 18px auto;
    border: 2px solid #7b5a28;
    border-radius: 16px;
    background: rgba(0,0,0,0.22);
}

.cb-paperdoll-character {
    position: absolute;
    left: 50%;
    top: 105px;
    transform: translateX(-50%);
    width: 190px;
    height: 310px;
    border: 2px solid rgba(217,166,77,0.45);
    border-radius: 90px 90px 35px 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(217,166,77,0.45);
}

.cb-paperdoll-slot {
    position: absolute;
    width: 115px;
    min-height: 34px;
    padding: 7px;
    border: 1px solid #7b5a28;
    border-radius: 9px;
    background: rgba(0,0,0,0.35);
    color: #f4e6c8;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
}

.cb-paperdoll-slot:hover {
    border-color: #d9a64d;
    box-shadow: 0 0 10px rgba(217,166,77,0.35);
}

/* Slot positions */
.cb-paperdoll-head { left: 50%; top: 18px; transform: translateX(-50%); }
.cb-paperdoll-neck { left: 50%; top: 60px; transform: translateX(-50%); }

.cb-paperdoll-ear1 { left: 165px; top: 58px; }
.cb-paperdoll-ear2 { right: 165px; top: 58px; }

.cb-paperdoll-chest { left: 50%; top: 120px; transform: translateX(-50%); }
.cb-paperdoll-robe { left: 50%; top: 162px; transform: translateX(-50%); }

.cb-paperdoll-hands { left: 95px; top: 150px; }
.cb-paperdoll-forearm { right: 95px; top: 150px; }

.cb-paperdoll-bracelet1 { left: 95px; top: 195px; }
.cb-paperdoll-bracelet2 { right: 95px; top: 195px; }

.cb-paperdoll-waist { left: 50%; top: 245px; transform: translateX(-50%); }

.cb-paperdoll-ring1 { left: 95px; top: 245px; }
.cb-paperdoll-ring2 { right: 95px; top: 245px; }

.cb-paperdoll-primary { left: 95px; top: 320px; }
.cb-paperdoll-secondary { right: 95px; top: 320px; }
.cb-paperdoll-shield { right: 95px; top: 365px; }

.cb-paperdoll-held1 { left: 95px; top: 365px; }
.cb-paperdoll-held2 { left: 95px; top: 410px; }

.cb-paperdoll-legs { left: 50%; top: 355px; transform: translateX(-50%); }
.cb-paperdoll-feet { left: 50%; top: 400px; transform: translateX(-50%); }

.cb-paperdoll-range { right: 95px; top: 410px; }



.cb-equipped-layout {
    display: grid;
    grid-template-columns: 220px minmax(360px, 1fr) 220px;
    gap: 18px;
    align-items: start;
}

.cb-equipped-column {
    border: 1px solid #7b5a28;
    border-radius: 12px;
    padding: 10px;
    background: rgba(0,0,0,0.25);
    min-height: 360px;
}

.cb-paperdoll-center {
    border: 2px solid #7b5a28;
    border-radius: 16px;
    padding: 14px;
    background: rgba(0,0,0,0.22);
}

.cb-paperdoll-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cb-paperdoll-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    align-items: center;
}

.cb-paperdoll-slot,
.cb-paperdoll-spacer {
    min-height: 38px;
}

.cb-paperdoll-slot {
    border: 1px solid #7b5a28;
    border-radius: 9px;
    padding: 7px;
    background: rgba(0,0,0,0.35);
    color: #f4e6c8;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
}

.cb-paperdoll-slot:hover {
    border-color: #d9a64d;
    box-shadow: 0 0 10px rgba(217,166,77,0.35);
}

.cb-paperdoll-character {
    min-height: 120px;
    border: 2px solid rgba(217,166,77,0.45);
    border-radius: 70px 70px 28px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(217,166,77,0.45);
    font-size: 12px;
}


/* =========================================================
Paperdoll ^^^^
========================================================= */