MediaWiki:Common.css

From EQOA Sandstorm Wiki
Revision as of 08:32, 30 May 2026 by DevRenodor (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');



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


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


/* ============================================================
   SPELL LIST — Final Clean Version (Latest Style Preserved)
   ============================================================ */

/* MAIN CONTAINER */
.spell-list {
  background: #1d1916 !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: #1d1916 !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; }
}


/* ============================================================
   ZONE DATA TABLES
   Used by ZoneQuestTable, NPCsFoundHere, and zone monster tables
   ============================================================ */

.zone-data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 20px !important;
    font-size: 14px !important;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
}

.zone-data-table th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 8px !important;
}

.zone-data-table td {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border-soft) !important;
    padding: 6px !important;
}

.zone-data-table tr:nth-child(even) td {
    background: var(--wiki-panel-2) !important;
}

.zone-data-table a {
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zone-data-table a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

.zone-quest-name,
.zone-npc-name,
.zone-monster-name {
    width: 40% !important;
}

.zone-quest-type,
.zone-quest-starter,
.zone-quest-location,
.zone-monster-level,
.zone-monster-drops,
.zone-monster-family,
.zone-monster-notes {
    width: 20% !important;
}

.zone-npc-type,
.zone-npc-location {
    width: 30% !important;
}

/* ============================================================
   ZONE PAGE BOXES
   Used by zone page wrappers and generic zone sections
   ============================================================ */

.zones-box {
    background: var(--wiki-panel) !important;
    border: 1px solid var(--wiki-border) !important;
    color: var(--wiki-text) !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
}

.zones-header {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border-bottom: 1px solid var(--wiki-border) !important;
    padding: 6px 8px !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
    margin: 0 !important;
    text-shadow: none !important;
}

.zones-content {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    padding: 8px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.zones-content a {
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zones-content a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

.zones-content pre {
    font-size: 0 !important;
    line-height: 1.4 !important;
    background: transparent !important;
    border: none !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    white-space: normal !important;
}

/* Restore readable links while hiding raw * bullets/text nodes */
.zones-content pre a {
    font-size: 14px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zones-content pre a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

/* Zone box font sizing */
.zones-header,
.zone-details-header {
    font-size: 1.25em !important;
}

.zones-content,
.zone-details-content,
.zones-content pre a,
.zone-details-text {
    font-size: 16px !important;
}




/* ============================================================
   ZONE DETAILS
   Used by Template:ZoneDetails
   ============================================================ */

.zone-details-box {
    width: 100% !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
}

.zone-details-header {
    background-color: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border-bottom: 1px solid var(--wiki-border) !important;
    padding: 6px 8px !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background-image: none !important;
}

.zone-details-content {
    background-color: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    padding: 8px !important;
    margin: 0 !important;
    border: none !important;
}

.zone-details-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 8px 6px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--wiki-border-soft) !important;
    background-color: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    box-sizing: border-box !important;
}

.zone-details-row:nth-child(even) {
    background-color: var(--wiki-panel-2) !important;
}

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

.zone-details-label {
    display: block !important;
    width: auto !important;
    margin-bottom: 6px !important;
    color: var(--wiki-link) !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;
    line-height: 1.1 !important;
    background: transparent !important;
    text-shadow: none !important;
}

.zone-details-label b {
    color: inherit !important;
}

.zone-details-text {
    display: block !important;
    width: auto !important;
    color: var(--wiki-text) !important;
    background: transparent !important;
    line-height: 1.35 !important;
    font-size: 0.95rem !important;
    white-space: normal !important;
    text-shadow: none !important;
}

.zone-details-row a,
.zone-details-content a {
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.zone-details-row a:hover,
.zone-details-content a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}


body {
    overflow-x: hidden !important;
}

/* =========================================================
   EXP CAMP TABLE
   Used by EXP camp table templates
   ========================================================= */

.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: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
}

.exp-camp-table caption {
    caption-side: top !important;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-heading) !important;
    font-size: 1.1em !important;
    font-weight: bold !important;
    padding: 8px 10px !important;
    border: 1px solid var(--wiki-border) !important;
    border-bottom: none !important;
    text-align: center !important;
}

.exp-camp-table th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 8px 10px !important;
    text-align: center !important;
    font-weight: bold !important;
    vertical-align: middle !important;
}

.exp-camp-table td {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border-soft) !important;
    padding: 8px 10px !important;
    vertical-align: top !important;
}

.exp-camp-table tr:nth-child(even) td {
    background: var(--wiki-panel-2) !important;
}

.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;
    line-height: 1.45 !important;
}

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

.exp-camp-table a,
.exp-camp-table .mw-collapsible-toggle,
.exp-camp-table .mw-collapsible-toggle a {
    color: var(--wiki-link) !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.exp-camp-table a:hover,
.exp-camp-table .mw-collapsible-toggle a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

.exp-camp-table th.headerSort,
.exp-camp-table th.headerSortUp,
.exp-camp-table th.headerSortDown {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
}

/* EXP Camp table header/caption */
.exp-camp-table caption {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.exp-camp-table th {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

/* EXP Camp row cells: Level, Zone, Camp, Notes */
.exp-camp-table .exp-camp-row td:nth-child(1),
.exp-camp-table .exp-camp-row td:nth-child(2),
.exp-camp-table .exp-camp-row td:nth-child(4),
.exp-camp-table .exp-camp-row td:nth-child(3),
.exp-camp-table .exp-camp-row td:nth-child(5) {
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

/* EXP Camp Notes */
.exp-camp-notes .eqoa-header {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.exp-camp-notes .eqoa-body {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}

/* =========================================================
   ITEMS FILTER BOX
   ========================================================= */

.items-filter-box {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 10px !important;
    margin: 15px 0 10px 0 !important;
    box-sizing: border-box !important;
}

.items-filter-box input {
    width: 90px !important;
    margin: 4px !important;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 3px !important;
}

.items-filter-box button {
    margin-left: 8px !important;
    background: var(--wiki-button-bg) !important;
    color: var(--wiki-button-text) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 4px 8px !important;
    cursor: pointer !important;
}

/* =========================================================
   Character Builder - EQOA.live Inspired Theme
   ========================================================= */

.character-builder-box {
    --cb-bg: #080807;
    --cb-panel: #1d1916;
    --cb-panel-2: #141210;
    --cb-panel-3: #1b1814;
    --cb-border: #3a3129;
    --cb-border-soft: rgba(240, 180, 0, 0.22);
    --cb-gold: #f0b400;
    --cb-gold-soft: #d4a137;
    --cb-gold-hover: #ffd45a;
    --cb-text: #e6e1d8;
    --cb-muted: #aaa197;
    --cb-danger: #ff9b8f;
    --cb-danger-bg: rgba(130, 38, 28, 0.22);
    --cb-good: #9eff9e;
    --cb-blue: #8fd9ff;

    background: var(--cb-bg);
    color: var(--cb-text);
    border: 1px solid var(--cb-border);
    border-radius: 4px;
    padding: 16px;
    margin: 15px 0;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.45;
}

/* Title */

.character-builder-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--cb-border);
    padding-bottom: 8px;
    margin-bottom: 14px;
}

.character-builder-title {
    flex: 1;
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    text-shadow: 1px 1px 2px #000;
    margin: 0;
    border: 0;
    padding: 0;
}

/* Tabs */

.cb-builder-tabs {
    display: flex;
    gap: 8px;
    margin: 12px 0 14px;
    border-bottom: 1px solid var(--cb-border);
    padding-bottom: 8px;
}

.cb-tab-button {
    background: var(--cb-panel-3);
    border: 1px solid var(--cb-border);
    border-radius: 3px;
    color: var(--cb-gold);
    cursor: pointer;
    padding: 7px 14px;
    font-weight: 700;
}

.cb-tab-button:hover {
    background: var(--cb-panel-2);
    color: var(--cb-gold-hover);
    border-color: var(--cb-gold-soft);
}

.cb-tab-active {
    background: var(--cb-gold);
    color: #080807;
    border-color: var(--cb-gold);
}

.cb-tab-panel {
    display: none;
}

.cb-tab-panel-active {
    display: block;
}

/* Section Titles */

.character-builder-section-title {
    color: var(--cb-gold);
    font-size: 17px;
    font-weight: 700;
    border-bottom: 1px solid var(--cb-border);
    padding-bottom: 5px;
    margin-bottom: 10px;
}

/* Controls */

.character-builder-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    background: var(--cb-panel);
    border: 1px solid var(--cb-border);
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 15px;
}

.character-builder-controls label {
    color: var(--cb-gold);
    font-weight: 700;
}

.character-builder-controls select,
.character-builder-controls input,
.character-builder-controls textarea,
.cb-slot-search,
.cb-slot-filter,
.cb-slot-sort {
    background: var(--cb-bg);
    color: var(--cb-text);
    border: 1px solid var(--cb-border);
    border-radius: 3px;
    padding: 6px 8px;
}

.character-builder-controls textarea {
    resize: vertical;
}

.character-builder-controls select:focus,
.character-builder-controls input:focus,
.character-builder-controls textarea:focus,
.cb-slot-search:focus,
.cb-slot-filter:focus,
.cb-slot-sort:focus {
    outline: none;
    border-color: var(--cb-gold);
    box-shadow: 0 0 0 2px rgba(240, 180, 0, 0.18);
}

.character-builder-controls button,
#cb-refresh-items,
#cb-generate-share-url,
#cb-copy-share-url,
#cb-reset-build,
#cb-export-card,
#cb-show-bis,
#cb-compare-builds {
    background: var(--cb-panel-3);
    border: 1px solid var(--cb-border);
    border-radius: 3px;
    color: var(--cb-gold);
    cursor: pointer;
    padding: 7px 12px;
    font-weight: 700;
}

.character-builder-controls button:hover,
#cb-refresh-items:hover,
#cb-generate-share-url:hover,
#cb-copy-share-url:hover,
#cb-reset-build:hover,
#cb-export-card:hover,
#cb-show-bis:hover,
#cb-compare-builds:hover {
    background: var(--cb-panel-2);
    color: var(--cb-gold-hover);
    border-color: var(--cb-gold-soft);
}

/* Tables */

.character-builder-stat-table,
.character-builder-equipped-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--cb-panel);
    border: 1px solid var(--cb-border);
}

.character-builder-stat-table th {
    background: var(--cb-panel-3);
    color: var(--cb-gold);
    border: 1px solid var(--cb-border);
    padding: 8px;
    text-align: center;
}

.character-builder-stat-table td,
.character-builder-equipped-table td {
    background: var(--cb-panel-2);
    color: var(--cb-text);
    border: 1px solid var(--cb-border);
    padding: 7px;
}

.character-builder-stat-table td {
    text-align: center;
    font-weight: 700;
}

.character-builder-equipped-table td:first-child {
    color: var(--cb-gold);
    width: 35%;
    font-weight: 700;
}

/* Equipment Layout */

.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 {
    order: 1;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    margin-top: 36px !important;
    background: var(--cb-panel);
    border: 1px solid var(--cb-border);
    border-radius: 4px;
    padding: 10px;
    position: sticky;
    top: 10px;
}

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

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

/* Gear Slot Cards */

.character-builder-slot {
    background: var(--cb-panel);
    border: 1px solid var(--cb-border);
    border-left: 3px solid var(--cb-gold);
    border-radius: 4px;
    padding: 8px;
    display: flex;
    flex-direction: column;
}

.character-builder-slot label {
    display: block;
    color: var(--cb-gold);
    font-weight: 700;
    margin-bottom: 4px;
}

.cb-picker-tools {
    display: flex;
    gap: 5px;
    align-items: center;
    margin: 4px 0;
}

.cb-upgrade-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--cb-muted);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.cb-upgrade-toggle input {
    accent-color: var(--cb-gold);
}

.cb-item-picker-list {
    max-height: 120px;
    overflow-y: auto;
    border: 1px solid var(--cb-border);
    background: var(--cb-bg);
    border-radius: 3px;
}

.cb-picker-item {
    color: var(--cb-text);
    padding: 4px 6px;
    border-bottom: 1px solid rgba(240, 180, 0, 0.08);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.cb-picker-item:hover {
    background: var(--cb-panel-3);
    color: var(--cb-gold-hover);
}

.cb-picker-selected {
    background: var(--cb-panel-3);
    color: var(--cb-gold-hover);
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--cb-gold);
}

.cb-picker-none {
    color: var(--cb-muted);
}

.cb-picker-disabled,
.cb-slot-disabled-note {
    color: var(--cb-danger);
    padding: 4px;
    font-size: 12px;
}

/* Warnings / Results */

.character-builder-warning-box {
    background: var(--cb-danger-bg);
    border: 1px solid rgba(220, 90, 70, 0.35);
    border-radius: 3px;
    color: #ffb0a0;
    padding: 8px;
    margin: 10px 0;
    font-size: 13px;
}

/* Tooltips */

.character-builder-tooltip {
    position: absolute;
    z-index: 99999;
    background: var(--cb-bg);
    color: var(--cb-text);
    border: 1px solid var(--cb-gold-soft);
    border-radius: 4px;
    padding: 10px;
    min-width: 220px;
    max-width: 340px;
    font-size: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.65);
    pointer-events: none;
    animation: cbTooltipFade 0.12s ease-out;
}

.cb-tooltip-title {
    color: var(--cb-gold-hover);
    font-weight: 700;
    font-size: 14px;
    border-bottom: 1px solid var(--cb-border);
    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: var(--cb-gold);
    font-weight: 700;
}

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

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

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

/* Item Names / Links */

.cb-equipped-item-name {
    color: var(--cb-gold-hover);
    cursor: pointer;
    transition: filter 0.14s ease, text-shadow 0.14s ease;
}

.cb-equipped-item-name:hover {
    filter: brightness(1.12);
    text-decoration: underline;
}

.cb-item-page-link {
    margin-left: 6px;
    font-weight: 700;
    cursor: pointer;
    opacity: 0.75;
    color: var(--cb-gold);
}

.cb-item-page-link:hover {
    opacity: 1;
    color: var(--cb-gold-hover);
}

/* Stat States */

.cb-overcap {
    color: var(--cb-good);
    font-weight: 700;
}

.cb-compare-positive {
    color: var(--cb-good);
    animation: cbStatGainPulse 0.45s ease-out;
}

.cb-compare-negative {
    color: var(--cb-danger);
    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);
    }

    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);
    }

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

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









/* Rarity Colors */

.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-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;
}

.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 cbLegendaryTextPulse {
    0%, 100% {
        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);
    }
}

@keyframes cbRelicTextShimmer {
    0%, 100% {
        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);
    }
}

.cb-tooltip-rarity-common {
    border-color: #666;
}

.cb-tooltip-rarity-uncommon {
    border-color: #5fd35f;
}

.cb-tooltip-rarity-rare {
    border-color: #63a9ff;
}

.cb-tooltip-rarity-ultra-rare {
    border-color: #b46cff;
}

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

.cb-tooltip-rarity-relic {
    border-color: #d4af37;
    box-shadow: 0 0 12px rgba(212,175,55,0.55), 0 0 24px rgba(255,215,100,0.28);
}



/* Mobile */

@media screen and (max-width: 768px) {
    .character-builder-box {
        padding: 10px;
        overflow-x: hidden;
    }

    .character-builder-title-row {
        display: block;
        text-align: center;
    }

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

    .character-builder-controls select,
    .character-builder-controls input,
    .character-builder-controls textarea,
    .character-builder-controls button {
        width: 100% !important;
        box-sizing: border-box;
    }

    .cb-builder-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cb-tab-button {
        width: 100%;
    }

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

    .character-builder-equipped-summary {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 0 15px !important;
        box-sizing: border-box;
    }

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

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

    .cb-picker-tools {
        flex-direction: column;
        align-items: stretch;
    }

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

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

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

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

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


/* =========================================================
Export Card ^^^^
========================================================= */
/* =========================================================
   CM UI - EQOA.live Inspired Theme
   ========================================================= */

.cm-calculator-box {
    --cm-bg: #080807;
    --cm-panel: #1d1916;
    --cm-panel-2: #141210;
    --cm-panel-3: #1b1814;
    --cm-border: #3a3129;
    --cm-border-soft: rgba(240, 180, 0, 0.22);
    --cm-gold: #f0b400;
    --cm-gold-soft: #d4a137;
    --cm-gold-hover: #ffd45a;
    --cm-text: #e6e1d8;
    --cm-muted: #aaa197;
    --cm-danger: #ff9b8f;
    --cm-danger-bg: rgba(130, 38, 28, 0.22);
    --cm-good: #9eff9e;
    --cm-blue: #8fd9ff;

    background: var(--cm-bg);
    color: var(--cm-text);
    border: 1px solid var(--cm-border);
    border-radius: 4px;
    padding: 16px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.45;
}

/* Titles */

.cm-calculator-box .character-builder-title {
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    border-bottom: 1px solid var(--cm-border);
    padding-bottom: 8px;
    margin-bottom: 14px;
    text-shadow: 1px 1px 2px #000;
}

.cm-calculator-box .character-builder-section-title {
    color: var(--cm-gold);
    font-size: 17px;
    font-weight: 700;
    border-bottom: 1px solid var(--cm-border);
    padding-bottom: 5px;
}

/* Controls */

.cm-calculator-box .character-builder-controls,
.cm-search-tools,
.cm-purchased-panel,
.cm-master-class-panel,
.cm-unlocked-box {
    background: var(--cm-panel);
    border: 1px solid var(--cm-border);
    border-radius: 4px;
    padding: 10px;
}

.cm-calculator-box .character-builder-controls {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, max-content));
    gap: 8px 12px;
    align-items: center;
    margin-bottom: 15px;
}

.cm-calculator-box label {
    color: var(--cm-gold);
    font-weight: 700;
}

.cm-calculator-box select,
.cm-calculator-box input,
.cm-search-input {
    background: var(--cm-bg);
    color: var(--cm-text);
    border: 1px solid var(--cm-border);
    border-radius: 3px;
    padding: 6px 8px;
}

.cm-calculator-box select:focus,
.cm-calculator-box input:focus,
.cm-search-input:focus {
    outline: none;
    border-color: var(--cm-gold);
    box-shadow: 0 0 0 2px rgba(240, 180, 0, 0.18);
}

/* Buttons */

.cm-tab-button,
.cm-view-button,
.cm-action-button,
.cm-reset-button,
.cm-clear-search-button,
.cm-mini-remove-button {
    background: var(--cm-panel-3);
    border: 1px solid var(--cm-border);
    border-radius: 3px;
    color: var(--cm-gold);
    cursor: pointer;
    padding: 7px 12px;
    font-weight: 700;
}

.cm-tab-button:hover,
.cm-view-button:hover,
.cm-action-button:hover,
.cm-reset-button:hover,
.cm-clear-search-button:hover,
.cm-mini-remove-button:hover {
    background: var(--cm-panel-2);
    color: var(--cm-gold-hover);
    border-color: var(--cm-gold-soft);
}

.cm-tab-active,
.cm-view-active {
    background: var(--cm-gold);
    color: #080807;
    border-color: var(--cm-gold);
}

/* Tables */

.cm-calculator-box .character-builder-stat-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--cm-panel);
    border: 1px solid var(--cm-border);
}

.cm-calculator-box .character-builder-stat-table th {
    background: var(--cm-panel-3);
    color: var(--cm-gold);
    border: 1px solid var(--cm-border);
    padding: 8px;
}

.cm-calculator-box .character-builder-stat-table td {
    background: var(--cm-panel-2);
    color: var(--cm-text);
    border: 1px solid var(--cm-border);
    text-align: center;
    padding: 8px;
    font-weight: 700;
}

/* Layout */

.cm-tabs,
.cm-view-toggle,
.cm-build-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
}

.cm-main-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) 1fr;
    gap: 14px;
    align-items: start;
}

/* Remove parent box around mastery cards */

#cm-mastery-panel,
#cm-mastery-panel.character-builder-warning-box {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Search */

.cm-search-row {
    display: flex;
    gap: 8px;
}

.cm-search-input {
    flex: 1;
    min-width: 220px;
}

.cm-search-input::placeholder {
    color: var(--cm-muted);
}

.cm-lock-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--cm-muted);
    font-weight: 700;
}

.cm-lock-toggle input {
    accent-color: var(--cm-gold);
}

/* Panels */

.cm-panel-title {
    color: var(--cm-gold);
    font-weight: 700;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--cm-border);
    padding-bottom: 5px;
}

.cm-master-class-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cm-master-class-label {
    color: var(--cm-gold);
    font-weight: 700;
}

#cm-unlocked-summary {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.cm-unlocked-grid {
    display: grid;
    gap: 10px;
}

.cm-unlocked-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Purchased */

.cm-purchased-group-title {
    color: var(--cm-gold);
    font-size: 13px;
    font-weight: 700;
    margin: 8px 0 4px;
}

.cm-purchased-item {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    background: var(--cm-bg);
    border: 1px solid var(--cm-border);
    border-radius: 3px;
    padding: 5px 7px;
    margin-bottom: 5px;
    cursor: pointer;
}

.cm-purchased-item:hover {
    background: var(--cm-panel-3);
    border-color: var(--cm-gold-soft);
}

.cm-purchased-cost {
    color: var(--cm-gold-hover);
    font-weight: 700;
}

/* Cards */

.cm-card {
    position: relative;
    background: var(--cm-panel);
    border: 1px solid var(--cm-border);
    border-left: 3px solid var(--cm-gold);
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 9px;
    color: var(--cm-text);
    transition: background 0.12s ease, border-color 0.12s ease;
}

.cm-card:hover {
    background: var(--cm-panel-2);
    border-color: var(--cm-gold-soft);
}

.cm-purchasable-card {
    cursor: pointer;
}

.cm-card-locked {
    opacity: 0.68;
    background: #0b0a09;
    border-color: rgba(180, 80, 60, 0.35);
    cursor: not-allowed;
}

.cm-card-locked:hover {
    background: #0b0a09;
    border-color: rgba(180, 80, 60, 0.35);
}

.cm-card-title {
    color: var(--cm-gold-hover);
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.cm-card-locked .cm-card-title {
    color: var(--cm-muted);
}

.cm-card-desc {
    color: var(--cm-muted);
    margin: 6px 0;
}

.cm-card-meta,
.cm-card-req,
.cm-chain-preview,
.cm-unlock-hint {
    font-size: 12px;
    line-height: 1.45;
    margin-top: 5px;
}

.cm-card-meta {
    color: var(--cm-gold);
    font-weight: 700;
}

.cm-card-req,
.cm-chain-preview {
    color: var(--cm-muted);
}

.cm-unlock-hint {
    background: var(--cm-danger-bg);
    border: 1px solid rgba(220, 90, 70, 0.35);
    border-radius: 3px;
    color: #ffb0a0;
    padding: 6px 8px;
}

/* Tags */

.cm-card-type-tag {
    display: inline-block;
    background: #080807;
    border: 1px solid var(--cm-border);
    border-radius: 3px;
    color: var(--cm-gold);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    text-transform: uppercase;
}

.cm-type-general {
    border-left-color: var(--cm-gold);
}

.cm-type-racial {
    border-left-color: #7ccf7a;
}

.cm-type-archetype {
    border-left-color: #7ab7ff;
}

.cm-type-class {
    border-left-color: #ff9d66;
}

.cm-type-master {
    border-left-color: #d9a3ff;
}

.cm-type-general .cm-card-type-tag {
    color: var(--cm-gold);
}

.cm-type-racial .cm-card-type-tag {
    color: #7ccf7a;
}

.cm-type-archetype .cm-card-type-tag {
    color: #7ab7ff;
}

.cm-type-class .cm-card-type-tag {
    color: #ff9d66;
}

.cm-type-master .cm-card-type-tag {
    color: #d9a3ff;
}

/* Compact View */

.cm-card-compact {
    padding: 8px 10px;
}

.cm-card-compact-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.cm-card-compact .cm-card-meta {
    margin-top: 0;
    white-space: nowrap;
}

/* Requirements */

.cm-stat-min-req {
    color: #ffcf7a;
    font-weight: 700;
}

.cm-req-owned,
.cm-chain-owned {
    color: var(--cm-good);
}

.cm-req-missing {
    color: var(--cm-danger);
}

.cm-chain-current {
    color: var(--cm-gold-hover);
    font-weight: 700;
}

.cm-chain-step,
.cm-chain-arrow {
    color: var(--cm-muted);
}

/* Tooltip */

.cm-tooltip {
    position: fixed;
    z-index: 999999;
    width: 340px;
    pointer-events: none;
    background: #080807;
    border: 1px solid var(--cm-gold-soft);
    border-radius: 4px;
    color: var(--cm-text);
    padding: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.65);
}

.cm-tooltip-title {
    color: var(--cm-gold-hover);
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
}

.cm-tooltip-desc {
    color: var(--cm-muted);
    margin-bottom: 6px;
}

.cm-tooltip-meta,
.cm-tooltip-req {
    color: var(--cm-gold);
    font-size: 12px;
    margin-top: 5px;
}

.cm-tooltip-stat {
    color: #b8f2b0;
    font-size: 12px;
}

.cm-tooltip-spell-add {
    color: var(--cm-blue);
    font-size: 12px;
}

.cm-tooltip-spell-remove {
    color: var(--cm-danger);
    font-size: 12px;
}

/* Responsive */

@media (max-width: 1000px) {
    .cm-unlocked-grid-three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .cm-main-layout {
        grid-template-columns: 1fr;
    }

    .cm-search-row {
        flex-direction: column;
    }

    .cm-card-compact-row {
        display: block;
    }

    .cm-card-compact .cm-card-meta {
        margin-top: 5px;
        white-space: normal;
    }
}

@media (max-width: 760px) {
    .cm-calculator-box {
        padding: 12px;
    }

    .cm-calculator-box .character-builder-controls {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .cm-calculator-box select,
    .cm-calculator-box input,
    .cm-reset-button {
        width: 100% !important;
        box-sizing: border-box;
    }

    .cm-tabs,
    .cm-view-toggle {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cm-tab-button,
    .cm-view-button {
        width: 100%;
        text-align: center;
    }

    .cm-build-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}




/* =========================================================
   Whole Wiki Theme Toggle
   Locked Dark: EQOA.live Inspired
   Locked White: Sandstorm Control Panel
========================================================= */

:root,
.eqoa-theme-dark {
    --wiki-bg: #100d0a;
    --wiki-panel: #19130f;
    --wiki-panel-2: #241b12;
    --wiki-border: #2c241d;
    --wiki-border-soft: #221b16;
    --wiki-text: #d8d0c4;
    --wiki-muted: #8f867a;
    --wiki-heading: #ffffff;
    --wiki-link: #d89a22;
    --wiki-link-hover: #ffb733;
    --wiki-button-bg: #2b1f14;
    --wiki-button-text: #f2e8d8;
}

.eqoa-theme-light {
    --wiki-bg: #f6f4f1;
    --wiki-panel: #ffffff;
    --wiki-panel-2: #fbfaf8;
    --wiki-border: #d8d1c7;
    --wiki-border-soft: #e6e0d8;
    --wiki-text: #2b211b;
    --wiki-muted: #665a50;
    --wiki-heading: #1f1712;
    --wiki-link: #5a3928;
    --wiki-link-hover: #8a5538;
    --wiki-button-bg: #3b2a20;
    --wiki-button-text: #ffffff;
}

/* Whole wiki surface */
html,
body,
#globalWrapper,
#column-content,
#content,
#bodyContent,
#mw-content-text,
.mw-body,
.mw-parser-output {
    background: var(--wiki-bg) !important;
    color: var(--wiki-text) !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.firstHeading {
    color: var(--wiki-heading) !important;
    text-shadow: none !important;
}

/* Links */
a,
.mw-body a,
.portlet a,
.wikitable a,
.mw-parser-output a {
    color: var(--wiki-link) !important;
    font-weight: 700;
    text-decoration: none;
}

a:hover,
.mw-body a:hover,
.portlet a:hover,
.wikitable a:hover,
.mw-parser-output a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline;
}

/* Tables and common boxes */
.wikitable,
.toc,
.catlinks,
.thumbinner,
.quest-template,
.npc-template {
    background: var(--wiki-panel) !important;
    border-color: var(--wiki-border) !important;
    color: var(--wiki-text) !important;
}

.wikitable th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-heading) !important;
    border-color: var(--wiki-border) !important;
}

.wikitable td {
    border-color: var(--wiki-border-soft) !important;
}

/* Inputs */
input,
select,
textarea {
    background: var(--wiki-panel) !important;
    border: 1px solid var(--wiki-border) !important;
    color: var(--wiki-text) !important;
}

/* Theme icon button */
.eqoa-theme-toggle {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 99999;
    width: 34px;
    height: 34px;
    background: var(--wiki-button-bg);
    border: 1px solid var(--wiki-border);
    border-radius: 6px;
    color: var(--wiki-button-text);
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.eqoa-theme-toggle:hover {
    background: #6b4b38;
    color: #ffffff;
}

/* Builder + CM theme inheritance */
.eqoa-theme-light .character-builder-box,
.eqoa-theme-light .cm-calculator-box {
    color-scheme: light;
}

.eqoa-theme-dark .character-builder-box,
.eqoa-theme-dark .cm-calculator-box {
    color-scheme: dark;
}

/* White theme: Monobook skin */
html.eqoa-theme-light body,
html.eqoa-theme-light #globalWrapper,
html.eqoa-theme-light #column-content,
html.eqoa-theme-light #column-one,
html.eqoa-theme-light #content,
html.eqoa-theme-light #bodyContent,
html.eqoa-theme-light #mw-content-text,
html.eqoa-theme-light .mw-body,
html.eqoa-theme-light .mw-parser-output,
html.eqoa-theme-light #p-personal,
html.eqoa-theme-light #p-cactions,
html.eqoa-theme-light #p-cactions ul,
html.eqoa-theme-light #p-personal ul {
    background: #f6f4f1 !important;
    background-color: #f6f4f1 !important;
    background-image: none !important;
    color: #2b211b !important;
}

/* White theme: sidebar */
html.eqoa-theme-light .portlet,
html.eqoa-theme-light .generated-sidebar,
html.eqoa-theme-light #p-search,
html.eqoa-theme-light #p-tb,
html.eqoa-theme-light #p-navigation,
html.eqoa-theme-light #p-logo {
    background: #f6f4f1 !important;
    border-color: #d8d1c7 !important;
    color: #2b211b !important;
}

html.eqoa-theme-light .portlet h3,
html.eqoa-theme-light .generated-sidebar h3,
html.eqoa-theme-light #p-search h3,
html.eqoa-theme-light #p-tb h3 {
    background: #ece8e1 !important;
    border: 1px solid #d8d1c7 !important;
    color: #4a3427 !important;
}

html.eqoa-theme-light .portlet .pBody,
html.eqoa-theme-light .generated-sidebar .pBody,
html.eqoa-theme-light #p-search .pBody,
html.eqoa-theme-light #p-tb .pBody {
    background: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
}

/* White theme: search */
html.eqoa-theme-light #searchInput,
html.eqoa-theme-light #p-search input#searchInput,
html.eqoa-theme-light #p-search input[name="search"] {
    background: #fbfaf8 !important;
    background-color: #fbfaf8 !important;
    background-image: none !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
    box-shadow: none !important;
}

html.eqoa-theme-light #searchInput:focus {
    background: #ffffff !important;
    border-color: #8a5538 !important;
}

html.eqoa-theme-light #searchGoButton,
html.eqoa-theme-light #mw-searchButton,
html.eqoa-theme-light input[type="submit"],
html.eqoa-theme-light input[type="button"] {
    background: #3b2a20 !important;
    border: 1px solid #4a3427 !important;
    color: #ffffff !important;
}

/* White theme: top tabs */
html.eqoa-theme-light #p-cactions li,
html.eqoa-theme-light #p-personal li {
    background: #f6f4f1 !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light #p-cactions li a,
html.eqoa-theme-light #p-personal li a {
    background: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
}

html.eqoa-theme-light #p-cactions li.selected a {
    background: #ece8e1 !important;
    color: #1f1712 !important;
}

/* White theme: hard-coded main page panels */
html.eqoa-theme-light body .mw-parser-output > div,
html.eqoa-theme-light body .mw-parser-output > div > div,
html.eqoa-theme-light body .mw-parser-output > div > div > div,
html.eqoa-theme-light body .mw-parser-output table,
html.eqoa-theme-light body .mw-parser-output tr,
html.eqoa-theme-light body .mw-parser-output td,
html.eqoa-theme-light body .mw-parser-output th,
html.eqoa-theme-light body .mw-parser-output [style*="background"],
html.eqoa-theme-light body .mw-parser-output [style*="background-color"],
html.eqoa-theme-light body .mw-parser-output [style*="#0"],
html.eqoa-theme-light body .mw-parser-output [style*="#1"],
html.eqoa-theme-light body .mw-parser-output [style*="#2"],
html.eqoa-theme-light body .mw-parser-output [style*="black"],
html.eqoa-theme-light body .mw-parser-output [style*="brown"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

/* White theme: text inside panels */
html.eqoa-theme-light body .mw-parser-output h1,
html.eqoa-theme-light body .mw-parser-output h2,
html.eqoa-theme-light body .mw-parser-output h3,
html.eqoa-theme-light body .mw-parser-output h4,
html.eqoa-theme-light body .mw-parser-output b,
html.eqoa-theme-light body .mw-parser-output strong,
html.eqoa-theme-light body .mw-parser-output span,
html.eqoa-theme-light body .mw-parser-output p,
html.eqoa-theme-light body .mw-parser-output small,
html.eqoa-theme-light body .mw-parser-output li {
    color: #2b211b !important;
}

html.eqoa-theme-light body .mw-parser-output a {
    color: #5a3928 !important;
}

html.eqoa-theme-light body .mw-parser-output a:hover {
    color: #8a5538 !important;
}

html.eqoa-theme-light body .mw-parser-output hr {
    border-color: #d8d1c7 !important;
    background: #d8d1c7 !important;
    color: #d8d1c7 !important;
}

html.eqoa-theme-light .character-builder-box,
html.eqoa-theme-light .cm-calculator-box {
    background: #f6f4f1 !important;
    color: #2b211b !important;
}

html.eqoa-theme-dark .character-builder-box,
html.eqoa-theme-dark .cm-calculator-box {
    background: #080808 !important;
    color: #eeeeee !important;
}


/* =========================================================
   Item Page
   ========================================================= */

.eqoa-item-page {
    max-width: 1100px;
    margin: 20px auto;
    color: var(--wiki-text);
    font-family: Arial, sans-serif;
}

.eqoa-item-left {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.eqoa-section {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
    box-shadow: none !important;
}

.eqoa-section-title {
    padding: 10px 14px;
    font-size: 24px;
    color: var(--wiki-link) !important;
    border-bottom: 1px solid var(--wiki-border) !important;
    background: var(--wiki-panel-2) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: none !important;
}

.eqoa-section-content {
    padding: 14px;
    font-size: 18px;
    line-height: 1.45;
    color: var(--wiki-text) !important;
    background: var(--wiki-panel) !important;
}

.eqoa-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.eqoa-section a {
    color: var(--wiki-link) !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

.eqoa-section a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
    text-shadow: none !important;
}

.eqoa-itembox {
    background: var(--wiki-panel) !important;
    border: 2px solid var(--wiki-border) !important;
    box-shadow: none !important;
    padding: 20px 26px;
    color: var(--wiki-text) !important;
    font-family: monospace;
    font-size: 28px;
    line-height: 1;
    text-shadow: none !important;
}

.eqoa-itembox-name {
    font-size: 34px;
    margin-bottom: 16px;
    color: var(--wiki-heading) !important;
    text-shadow: none !important;
}

.eqoa-itembox-line {
    line-height: 1.05;
}

.eqoa-itembox-flags {
    margin-top: 8px;
    margin-bottom: 8px;
    line-height: 1.05;
}

.eqoa-itembox-stats div {
    line-height: 1.05;
}

.eqoa-itembox-desc {
    margin-top: 12px;
    font-size: 22px;
    color: var(--wiki-muted) !important;
    text-shadow: none !important;
}

@media (max-width: 900px) {
    .eqoa-grid-2 {
        grid-template-columns: 1fr;
    }

    .eqoa-itembox {
        font-size: 22px;
    }

    .eqoa-section-title {
        font-size: 20px;
    }

    .eqoa-section-content {
        font-size: 16px;
    }
}


.eqoa-itembox {
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   ZONE TEMPLATES — LIGHT THEME FIX
   ========================================================= */

.eqoa-related-item-tooltip {
    position: absolute;
    z-index: 999999;
    width: 330px;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 2px solid var(--wiki-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important;
    padding: 12px 14px;
    font-family: monospace;
    font-size: 16px;
    line-height: 1.15;
    text-shadow: none !important;
    pointer-events: none;
}

.eqoa-related-tooltip-title {
    font-size: 20px;
    color: var(--wiki-heading) !important;
    margin-bottom: 8px;
    text-shadow: none !important;
}

.eqoa-related-tooltip-stats {
    margin-top: 8px;
}

.eqoa-related-tooltip-stats div {
    line-height: 1.15;
}

.eqoa-related-tooltip-stats span {
    color: var(--wiki-heading) !important;
    text-shadow: none !important;
}

/* =========================================================
   ITEM PAGE RELATED TOOLTIP — RARITY GLOW
   ========================================================= */

.eqoa-related-item-tooltip .cb-rarity-common {
    color: #d7d7d7 !important;
}

.eqoa-related-item-tooltip .cb-rarity-uncommon {
    color: #6fd96f !important;
}

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

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

.eqoa-related-item-tooltip .cb-rarity-legendary {
    color: #b54848 !important;
    text-shadow:
        0 0 5px rgba(181,72,72,0.55),
        0 0 12px rgba(120,20,20,0.35) !important;
    animation: cbLegendaryTextPulse 2.4s ease-in-out infinite;
}

.eqoa-related-item-tooltip .cb-rarity-relic {
    color: #d4af37 !important;
    text-shadow:
        0 0 6px rgba(212,175,55,0.55),
        0 0 14px rgba(255,220,120,0.35) !important;
    animation: cbRelicTextShimmer 2.6s ease-in-out infinite;
}

/* Tooltip border glow by rarity */
.eqoa-related-item-tooltip.tooltip-rarity-common {
    border-color: #666 !important;
}

.eqoa-related-item-tooltip.tooltip-rarity-uncommon {
    border-color: #5fd35f !important;
}

.eqoa-related-item-tooltip.tooltip-rarity-rare {
    border-color: #63a9ff !important;
    box-shadow:
        0 0 12px rgba(99,169,255,0.35),
        0 0 20px rgba(0,0,0,0.65) !important;
}

.eqoa-related-item-tooltip.tooltip-rarity-ultra-rare {
    border-color: #b46cff !important;
    box-shadow:
        0 0 12px rgba(180,108,255,0.45),
        0 0 20px rgba(210,107,255,0.25),
        0 0 24px rgba(0,0,0,0.65) !important;
}

.eqoa-related-item-tooltip.tooltip-rarity-legendary {
    border-color: #b54848 !important;
    box-shadow:
        0 0 12px rgba(181,72,72,0.45),
        0 0 20px rgba(120,20,20,0.28),
        0 0 24px rgba(0,0,0,0.65) !important;
}

.eqoa-related-item-tooltip.tooltip-rarity-relic {
    border-color: #d4af37 !important;
    box-shadow:
        0 0 12px rgba(212,175,55,0.55),
        0 0 24px rgba(255,215,100,0.28),
        0 0 24px rgba(0,0,0,0.65) !important;
}

/* =========================================================
   NPC PAGE — DARK / LIGHT THEME SAFE
   ========================================================= */

.eqoa-npc-page {
    background: var(--wiki-bg) !important;
    color: var(--wiki-text) !important;
    padding: 0;
    margin: 0;
}

.eqoa-npc-top-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.eqoa-npc-info-box,
.eqoa-npc-zones-box {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 2px solid var(--wiki-border) !important;
    margin: 0 0 12px 0;
}

.eqoa-npc-info-box {
    flex: 1;
    min-width: 340px;
}

.eqoa-npc-image-box {
    flex: 1;
    min-width: 260px;
    background: var(--wiki-panel) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 6px;
    text-align: center;
}

.eqoa-npc-caption {
    font-size: smaller;
    color: var(--wiki-muted) !important;
    margin-top: 4px;
}

.eqoa-npc-zones-box {
    margin-top: 10px;
}

/* Info table */
.eqoa-npc-info-table,
.eqoa-npc-info-table tr,
.eqoa-npc-info-table td {
    width: 100%;
    border-collapse: collapse;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border-color: var(--wiki-border-soft) !important;
}

.eqoa-npc-info-table td {
    padding: 6px 8px !important;
}

.eqoa-npc-info-table td:first-child {
    width: 28%;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    font-weight: bold !important;
}

.eqoa-npc-info-table td:last-child {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
}

/* Zone table */
.eqoa-npc-zone-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    margin: 0;
    border: 1px solid var(--wiki-border) !important;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
}

.eqoa-npc-zone-table th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 8px !important;
}

.eqoa-npc-zone-table td {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border-soft) !important;
    padding: 7px !important;
}

.eqoa-npc-zone-table tr:nth-child(even) td {
    background: var(--wiki-panel-2) !important;
}

/* Legend */
.eqoa-npc-legend {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-text) !important;
}

.eqoa-npc-legend td {
    padding: 6px 8px !important;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-text) !important;
    border-top: 1px solid var(--wiki-border) !important;
}

.eqoa-npc-section {
    margin-top: 12px !important;
}

/* Light theme final overrides */
html.eqoa-theme-light .eqoa-npc-page,
html.eqoa-theme-light .eqoa-npc-info-box,
html.eqoa-theme-light .eqoa-npc-zones-box,
html.eqoa-theme-light .eqoa-npc-image-box {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border-color: var(--wiki-border) !important;
}

html.eqoa-theme-light .npcname-header,
html.eqoa-theme-light .zones-header {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border-color: var(--wiki-border) !important;
    text-shadow: none !important;
}

html.eqoa-theme-light .eqoa-npc-info-table,
html.eqoa-theme-light .eqoa-npc-info-table tr,
html.eqoa-theme-light .eqoa-npc-info-table td,
html.eqoa-theme-light .eqoa-npc-zone-table,
html.eqoa-theme-light .eqoa-npc-zone-table tr,
html.eqoa-theme-light .eqoa-npc-zone-table td,
html.eqoa-theme-light .eqoa-npc-legend,
html.eqoa-theme-light .eqoa-npc-legend td {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border-color: var(--wiki-border) !important;
}

html.eqoa-theme-light .eqoa-npc-info-table td:first-child,
html.eqoa-theme-light .eqoa-npc-zone-table th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
}

html.eqoa-theme-light .eqoa-npc-zone-table tr:nth-child(even) td,
html.eqoa-theme-light .eqoa-npc-legend td {
    background: var(--wiki-panel-2) !important;
}

html.eqoa-theme-light .eqoa-npc-caption {
    color: var(--wiki-muted) !important;
}

.npcname-header {
    margin: 0 !important;
    padding: 8px 12px !important;
    line-height: 1.1 !important;
}

/* Hide old Character Builder / CM local theme buttons */
#cb-theme-toggle,
#cm-theme-toggle {
    display: none !important;
}


/* =========================================================
   Global White Theme - Character Builder + Class Mastery
   Must stay at very bottom of Common.css
   ========================================================= */

html.eqoa-theme-light #character-builder-app,
html.eqoa-theme-light #cm-calculator-app,
html.eqoa-theme-light #character-builder-app .character-builder-box,
html.eqoa-theme-light #cm-calculator-app .cm-calculator-box {
    background: #f6f4f1 !important;
    background-color: #f6f4f1 !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

/* Tool sections / control bars */
html.eqoa-theme-light #character-builder-app .character-builder-controls,
html.eqoa-theme-light #cm-calculator-app .character-builder-controls,
html.eqoa-theme-light #character-builder-app .cm-search-tools,
html.eqoa-theme-light #cm-calculator-app .cm-search-tools {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
}

/* Labels and section titles */
html.eqoa-theme-light #character-builder-app label,
html.eqoa-theme-light #cm-calculator-app label,
html.eqoa-theme-light #character-builder-app .character-builder-section-title,
html.eqoa-theme-light #cm-calculator-app .character-builder-section-title,
html.eqoa-theme-light #character-builder-app .cm-panel-title,
html.eqoa-theme-light #cm-calculator-app .cm-panel-title {
    color: #5a3928 !important;
    text-shadow: none !important;
}

/* Tables */
html.eqoa-theme-light #character-builder-app table,
html.eqoa-theme-light #cm-calculator-app table,
html.eqoa-theme-light #character-builder-app .character-builder-stat-table,
html.eqoa-theme-light #cm-calculator-app .character-builder-stat-table,
html.eqoa-theme-light #character-builder-app .character-builder-equipped-table {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light #character-builder-app th,
html.eqoa-theme-light #cm-calculator-app th {
    background: #ece8e1 !important;
    background-color: #ece8e1 !important;
    color: #1f1712 !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light #character-builder-app td,
html.eqoa-theme-light #cm-calculator-app td {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2b211b !important;
    border-color: #e6e0d8 !important;
}

/* Inputs */
html.eqoa-theme-light #character-builder-app input,
html.eqoa-theme-light #character-builder-app select,
html.eqoa-theme-light #character-builder-app textarea,
html.eqoa-theme-light #cm-calculator-app input,
html.eqoa-theme-light #cm-calculator-app select,
html.eqoa-theme-light #cm-calculator-app textarea {
    background: #fbfaf8 !important;
    background-color: #fbfaf8 !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
    box-shadow: none !important;
}

html.eqoa-theme-light #character-builder-app input::placeholder,
html.eqoa-theme-light #character-builder-app textarea::placeholder,
html.eqoa-theme-light #cm-calculator-app input::placeholder,
html.eqoa-theme-light #cm-calculator-app textarea::placeholder {
    color: #665a50 !important;
    opacity: 1 !important;
}

/* Buttons */
html.eqoa-theme-light #character-builder-app button,
html.eqoa-theme-light #cm-calculator-app button,
html.eqoa-theme-light #character-builder-app .cm-action-button,
html.eqoa-theme-light #cm-calculator-app .cm-action-button,
html.eqoa-theme-light #cm-calculator-app .cm-tab-button,
html.eqoa-theme-light #cm-calculator-app .cm-view-button,
html.eqoa-theme-light #cm-calculator-app .cm-reset-button,
html.eqoa-theme-light #cm-calculator-app .cm-clear-search-button,
html.eqoa-theme-light #cm-calculator-app .cm-mini-remove-button {
    background: #3b2a20 !important;
    background-color: #3b2a20 !important;
    border: 1px solid #4a3427 !important;
    color: #ffffff !important;
}

html.eqoa-theme-light #character-builder-app button:hover,
html.eqoa-theme-light #cm-calculator-app button:hover {
    background: #6b4b38 !important;
    background-color: #6b4b38 !important;
    color: #ffffff !important;
}

/* Active tab/buttons */
html.eqoa-theme-light #character-builder-app .cb-tab-active,
html.eqoa-theme-light #cm-calculator-app .cm-tab-active,
html.eqoa-theme-light #cm-calculator-app .cm-view-active {
    background: #d8b04c !important;
    background-color: #d8b04c !important;
    border-color: #b68a2c !important;
    color: #1f1712 !important;
}

/* Equipment slots */
html.eqoa-theme-light #character-builder-app .character-builder-slot,
html.eqoa-theme-light #character-builder-app .character-builder-equipped-summary,
html.eqoa-theme-light #character-builder-app .character-builder-gear-column,
html.eqoa-theme-light #cm-calculator-app .cm-purchased-panel,
html.eqoa-theme-light #cm-calculator-app .cm-master-class-panel,
html.eqoa-theme-light #cm-calculator-app .cm-unlocked-box,
html.eqoa-theme-light #cm-calculator-app #cm-mastery-panel {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
}

/* Item picker rows */
html.eqoa-theme-light #character-builder-app .cb-item-picker-list,
html.eqoa-theme-light #character-builder-app .cb-picker-item,
html.eqoa-theme-light #character-builder-app .cb-picker-none {
    background: #fbfaf8 !important;
    background-color: #fbfaf8 !important;
    border-color: #e6e0d8 !important;
    color: #2b211b !important;
}

html.eqoa-theme-light #character-builder-app .cb-picker-item:hover {
    background: #ece8e1 !important;
    background-color: #ece8e1 !important;
}

/* CM cards */
html.eqoa-theme-light #cm-calculator-app .cm-card {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #d8d1c7 !important;
    border-left-color: #b68a2c !important;
    color: #2b211b !important;
}

html.eqoa-theme-light #cm-calculator-app .cm-card-title {
    color: #1f1712 !important;
}

html.eqoa-theme-light #cm-calculator-app .cm-card-desc,
html.eqoa-theme-light #cm-calculator-app .cm-card-req,
html.eqoa-theme-light #cm-calculator-app .cm-chain-preview,
html.eqoa-theme-light #cm-calculator-app .cm-card-meta {
    color: #665a50 !important;
}

html.eqoa-theme-light #cm-calculator-app .cm-card-locked {
    background: #fff4f2 !important;
    background-color: #fff4f2 !important;
    border-color: #e2b8b2 !important;
}

/* Warning/info boxes */
html.eqoa-theme-light #character-builder-app .character-builder-warning-box,
html.eqoa-theme-light #cm-calculator-app .character-builder-warning-box,
html.eqoa-theme-light #cm-calculator-app .cm-unlock-hint {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
}

/* Purchased list */
html.eqoa-theme-light #cm-calculator-app .cm-purchased-item {
    background: #fbfaf8 !important;
    background-color: #fbfaf8 !important;
    border-color: #e6e0d8 !important;
    color: #2b211b !important;
}

html.eqoa-theme-light #cm-calculator-app .cm-purchased-cost {
    color: #5a3928 !important;
}

/* Tooltips */
html.eqoa-theme-light #character-builder-app .character-builder-tooltip,
html.eqoa-theme-light #cm-calculator-app .cm-tooltip {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #d8d1c7 !important;
    color: #2b211b !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.18) !important;
}

html.eqoa-theme-light #cm-calculator-app .cm-tooltip-title,
html.eqoa-theme-light #character-builder-app .cb-tooltip-title {
    color: #1f1712 !important;
}

/* Text cleanup inside both tools */
html.eqoa-theme-light #character-builder-app,
html.eqoa-theme-light #character-builder-app div,
html.eqoa-theme-light #character-builder-app span,
html.eqoa-theme-light #character-builder-app p,
html.eqoa-theme-light #cm-calculator-app,
html.eqoa-theme-light #cm-calculator-app div,
html.eqoa-theme-light #cm-calculator-app span,
html.eqoa-theme-light #cm-calculator-app p {
    text-shadow: none !important;
}
/* =========================================================
   Global White Theme - Character Builder + Class Mastery
   Must stay at very bottom of Common.css
   ========================================================= */

/* =========================================================
   FINAL PAGE TEMPLATE THEME COVERAGE
   Dark + Light support for older/custom page templates
   Keep this at the very bottom of Common.css
   ========================================================= */

/* Shared theme surfaces */
html.eqoa-theme-dark {
    --page-bg: #100d0a;
    --page-panel: #19130f;
    --page-panel-2: #241b12;
    --page-panel-3: #332513;
    --page-border: #2c241d;
    --page-border-soft: #221b16;
    --page-text: #d8d0c4;
    --page-muted: #8f867a;
    --page-heading: #ffffff;
    --page-accent: #d89a22;
    --page-accent-hover: #ffb733;
}

html.eqoa-theme-light {
    --page-bg: #f6f4f1;
    --page-panel: #ffffff;
    --page-panel-2: #fbfaf8;
    --page-panel-3: #ece8e1;
    --page-border: #d8d1c7;
    --page-border-soft: #e6e0d8;
    --page-text: #2b211b;
    --page-muted: #665a50;
    --page-heading: #1f1712;
    --page-accent: #5a3928;
    --page-accent-hover: #8a5538;
}

/* Headers inside custom templates */
/* Headers inside custom templates */
html.eqoa-theme-dark .spell-lvl,
html.eqoa-theme-dark .exp-camp-table caption,
html.eqoa-theme-dark .exp-camp-table th,
html.eqoa-theme-light .spell-lvl,
html.eqoa-theme-light .exp-camp-table caption,
html.eqoa-theme-light .exp-camp-table th {
    background: var(--page-panel-3) !important;
    background-color: var(--page-panel-3) !important;
    color: var(--page-accent) !important;
    border-color: var(--page-border) !important;
    text-shadow: none !important;
}

/* Cells and rows */
html.eqoa-theme-dark .exp-camp-table td,
html.eqoa-theme-light .exp-camp-table td {
    background: var(--page-panel) !important;
    background-color: var(--page-panel) !important;
    color: var(--page-text) !important;
    border-color: var(--page-border) !important;
}

/* Alternating rows */
html.eqoa-theme-dark .exp-camp-table tr:nth-child(even) td,
html.eqoa-theme-light .exp-camp-table tr:nth-child(even) td {
    background: var(--page-panel-2) !important;
    background-color: var(--page-panel-2) !important;
}



/* Spell page */
html.eqoa-theme-light .spell-data,
html.eqoa-theme-light .spell-name,
html.eqoa-theme-light .SpellRow {
    color: var(--page-text) !important;
}

html.eqoa-theme-light .spell-divider,
html.eqoa-theme-light .spell-divider * {
    background: var(--page-border) !important;
    background-color: var(--page-border) !important;
}

/* Raid encounter tables */
html.eqoa-theme-dark .raid-encounter-table .exp-camp-table,
html.eqoa-theme-light .raid-encounter-table .exp-camp-table {
    background: var(--page-panel) !important;
    color: var(--page-text) !important;
    border-color: var(--page-border) !important;
}

html.eqoa-theme-dark .raid-encounter-table th,
html.eqoa-theme-light .raid-encounter-table th {
    background: var(--page-panel-3) !important;
    color: var(--page-accent) !important;
    border-color: var(--page-border) !important;
}

html.eqoa-theme-dark .raid-encounter-table .exp-camp-row td,
html.eqoa-theme-light .raid-encounter-table .exp-camp-row td {
    background: var(--page-panel) !important;
    color: var(--page-text) !important;
    border-color: var(--page-border) !important;
}

html.eqoa-theme-dark .raid-encounter-table .exp-camp-row td:nth-child(even),
html.eqoa-theme-light .raid-encounter-table .exp-camp-row td:nth-child(even) {
    background: var(--page-panel-2) !important;
}

/* =========================================================
   LIGHT THEME - MONOBOOK TOP STRIP HARD FIX
   Must be the last block in Common.css
   ========================================================= */

html.eqoa-theme-light,
html.eqoa-theme-light body,
html.eqoa-theme-light body.skin-monobook,
html.eqoa-theme-light #globalWrapper,
html.eqoa-theme-light #column-content,
html.eqoa-theme-light #content,
html.eqoa-theme-light #column-one,
html.eqoa-theme-light #p-cactions,
html.eqoa-theme-light #p-cactions *,
html.eqoa-theme-light #p-personal,
html.eqoa-theme-light #p-personal *,
html.eqoa-theme-light #head,
html.eqoa-theme-light #mw-head,
html.eqoa-theme-light #left-navigation,
html.eqoa-theme-light #right-navigation,
html.eqoa-theme-light .portlet,
html.eqoa-theme-light .pBody {
    background-color: #f6f4f1 !important;
    background-image: none !important;
}

/* The visible top action tabs */
html.eqoa-theme-light #p-cactions li,
html.eqoa-theme-light #p-cactions li a,
html.eqoa-theme-light #p-personal li,
html.eqoa-theme-light #p-personal li a {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

/* Selected tab */
html.eqoa-theme-light #p-cactions li.selected,
html.eqoa-theme-light #p-cactions li.selected a {
    background-color: #ece8e1 !important;
    color: #1f1712 !important;
}

/* Restore MonoBook logo and keep global theme button visible */
html.eqoa-theme-light #p-logo {
    background-color: #f6f4f1 !important;
}

html.eqoa-theme-light #p-logo a {
    background-color: transparent !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

#eqoa-theme-toggle.eqoa-theme-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    right: 18px !important;
    bottom: 18px !important;
    z-index: 2147483647 !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    background: var(--wiki-button-bg, #202020) !important;
    color: var(--wiki-button-text, #ffffff) !important;
    border: 1px solid var(--wiki-border, #343434) !important;
    border-radius: 6px !important;
}

/* Force global theme button visible */
#eqoa-theme-toggle,
#eqoa-theme-toggle.eqoa-theme-toggle,
button#eqoa-theme-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    right: 18px !important;
    bottom: 18px !important;
    z-index: 2147483647 !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: #3b2a20 !important;
    color: #ffffff !important;
    border: 1px solid #4a3427 !important;
    border-radius: 6px !important;
    font-size: 22px !important;
    line-height: 1 !important;
    padding: 0 !important;
}

/* =========================================================
   LIGHT THEME - SIDEBAR READABILITY FIX
   Must stay at very bottom of Common.css
   ========================================================= */

/* Sidebar section headers: Sandstorm Era, World, Character, Navigation */
html.eqoa-theme-light #column-one h3,
html.eqoa-theme-light #column-one h5,
html.eqoa-theme-light .portlet h3,
html.eqoa-theme-light .portlet h5,
html.eqoa-theme-light .generated-sidebar h3,
html.eqoa-theme-light .generated-sidebar h5 {
    color: #4a2f1f !important;
    background: transparent !important;
    font-weight: bold !important;
    border-bottom: 1px solid #d8d1c7 !important;
    text-shadow: none !important;
}

/* Sidebar links */
html.eqoa-theme-light #column-one a,
html.eqoa-theme-light .portlet a,
html.eqoa-theme-light .generated-sidebar a {
    color: #2b211b !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

/* Sidebar links hover */
html.eqoa-theme-light #column-one a:hover,
html.eqoa-theme-light .portlet a:hover,
html.eqoa-theme-light .generated-sidebar a:hover {
    color: #7a4a2f !important;
    text-decoration: underline !important;
}

/* Sidebar bullet squares */
html.eqoa-theme-light #column-one li,
html.eqoa-theme-light .portlet li,
html.eqoa-theme-light .generated-sidebar li {
    color: #5a3928 !important;
}

/* Search label */
html.eqoa-theme-light #p-search h3,
html.eqoa-theme-light #p-search h5 {
    color: #4a2f1f !important;
    background: transparent !important;
}

















/* =========================================================
   MOBILE RESPONSIVE + SIDEBAR DRAWER - CLEAN VERSION
   ========================================================= */

@media screen and (max-width: 700px) {
    html,
    body {
        width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    #globalWrapper,
    #column-content,
    #content,
    #bodyContent,
    #mw-content-text,
    .mw-body,
    .mw-parser-output {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    #content {
        padding: 12px !important;
    }

    /* Hide MonoBook top/page-action UI on mobile */
    #p-cactions,
    #p-views,
    #p-namespaces,
    #left-navigation,
    #right-navigation,
    #head,
    #mw-head,
    .page-actions,
    .portlet-page-actions {
        display: none !important;
    }

    /* Mobile sidebar button */
    #eqoa-mobile-sidebar-toggle {
        display: flex !important;
        position: fixed !important;
        top: 8px !important;
        left: 8px !important;
        z-index: 2147483647 !important;
        width: 38px !important;
        height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        background: #4a3427 !important;
        color: #ffffff !important;
        border: 1px solid #3b2a20 !important;
        font-size: 24px !important;
        font-weight: bold !important;
        cursor: pointer !important;
    }

    /* Sidebar drawer */
    #column-one {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 88vw !important;
        max-width: 360px !important;
        min-width: 0 !important;
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: translateX(-110%) !important;
        transition: transform 0.18s ease !important;
        z-index: 2147483500 !important;
        background: #080807 !important;
        color: #f0b400 !important;
        border-right: 1px solid #4a4035 !important;
        padding: 56px 12px 28px 12px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    html.eqoa-mobile-sidebar-open #column-one {
        transform: translateX(0) !important;
        visibility: visible !important;
    }

    html:not(.eqoa-mobile-sidebar-open) #column-one {
        visibility: hidden !important;
    }

    #column-one,
    #column-one *,
    #column-one .portlet,
    #column-one .generated-sidebar,
    #column-one .pBody {
        box-sizing: border-box !important;
        max-width: 100% !important;
    }

    #column-one .portlet,
    #column-one .generated-sidebar,
    #column-one .pBody {
        position: static !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
    }

    /* Hide leftover icon-only MonoBook controls inside drawer */
    #column-one li[id^="ca-"],
    #column-one li[id^="pt-"],
    #column-one a[id^="ca-"],
    #column-one a[id^="pt-"],
    #column-one input[type="image"],
    #column-one input[type="button"],
    #column-one button:not(#eqoa-mobile-sidebar-toggle),
    #column-one .mw-portlet-toggle,
    #column-one .portlet-toggle,
    #column-one .collapseButton {
        display: none !important;
    }

    /* Logo */
    #p-logo {
        width: 150px !important;
        height: 150px !important;
        margin: 0 auto 12px auto !important;
    }

    #p-logo a {
        width: 150px !important;
        height: 150px !important;
        margin: 0 auto !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    /* Search inside drawer */
    #p-search {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    #p-search h3,
    #p-search h5 {
        display: none !important;
    }

    #p-search .pBody {
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

       #p-search form {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
    }
}

























.rare-encounter-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 18px;
}

.rare-encounter-table th {
    padding: 7px 8px;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    border: 1px solid;
}

.rare-encounter-table td {
    vertical-align: top;
    padding: 0;
    border: 1px solid;
}

.rare-encounter-table .raid-checkboxify b {
    display: block;
    padding: 7px 8px;
    margin: 0;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.rare-encounter-table .raid-checkboxify b:first-child {
    border-top: 0;
}

.rare-encounter-table .raid-checkboxify label {
    display: block;
    padding: 6px 8px;
    margin: 0;
    line-height: 1.25;
    border-bottom: 1px solid;
    font-size: 13px;
}

.rare-encounter-table .raid-checkboxify br {
    display: none;
}

/* Dark theme */
html.eqoa-theme-dark .rare-encounter-table th,
html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify b {
    background: #3a3a3a;
    color: #ffd45a;
    border-color: #1f1f1f;
}

html.eqoa-theme-dark .rare-encounter-table td {
    background: #0d0c0b;
    border-color: #252525;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label {
    color: #ffd45a;
    border-color: #252525;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label:nth-of-type(odd) {
    background: #0d0c0b;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label:nth-of-type(even) {
    background: #242428;
}

/* Light theme */
html.eqoa-theme-light .rare-encounter-table th,
html.eqoa-theme-light .rare-encounter-table .raid-checkboxify b {
    background: #e6e1d8;
    color: #1f140c;
    border-color: #d2c8bb;
}

html.eqoa-theme-light .rare-encounter-table td {
    background: #ffffff;
    border-color: #ddd5ca;
}

html.eqoa-theme-light .rare-encounter-table .raid-checkboxify label {
    color: #1f140c;
    border-color: #e6ded4;
}

html.eqoa-theme-light .rare-encounter-table .raid-checkboxify label:nth-of-type(odd) {
    background: #ffffff;
}

html.eqoa-theme-light .rare-encounter-table .raid-checkboxify label:nth-of-type(even) {
    background: #f7f5f1;
}



@media screen and (max-width: 700px) {
    .rare-encounter-table,
    .rare-encounter-table tbody,
    .rare-encounter-table tr,
    .rare-encounter-table th,
    .rare-encounter-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .rare-encounter-table {
        table-layout: auto !important;
        margin-bottom: 0;
        border-collapse: separate;
        border-spacing: 0;
    }

    .rare-encounter-table tr:first-child {
        display: none !important;
    }

    .rare-encounter-table td {
        margin-bottom: 14px;
        padding: 0 !important;
        overflow: hidden;
    }

    .rare-encounter-base td:nth-child(1)::before {
        content: "Base World 1";
    }

    .rare-encounter-base td:nth-child(2)::before {
        content: "Base World 2";
    }

    .rare-encounter-base td:nth-child(3)::before {
        content: "Base World 3";
    }

    .rare-encounter-base td:nth-child(4)::before {
        content: "Base World 4";
    }

    .rare-encounter-frontiers td:nth-child(1)::before {
        content: "Frontiers 1";
    }

    .rare-encounter-frontiers td:nth-child(2)::before {
        content: "Frontiers 2";
    }

    .rare-encounter-frontiers td:nth-child(3)::before {
        content: "Frontiers 3";
    }

    .rare-encounter-table td::before {
        display: block;
        padding: 8px;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        border-bottom: 1px solid;
    }

    .rare-encounter-table .raid-checkboxify b {
        font-size: 16px;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .rare-encounter-table .raid-checkboxify label {
        font-size: 14px;
        line-height: 1.25;
        padding: 6px 8px;
        overflow-wrap: anywhere;
    }

    .rare-encounter-table .raid-checkboxify input[type="checkbox"] {
        margin-right: 5px;
    }

    html.eqoa-theme-dark .rare-encounter-table td::before {
        background: #3a2418;
        color: #ffd45a;
        border-color: #5a3a25;
    }

    html.eqoa-theme-light .rare-encounter-table td::before {
        background: #d9c7aa;
        color: #2a170d;
        border-color: #b8a17e;
    }
}











/* Rare Encounter table styling - locked desktop layout */
.raid-encounter-table table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.raid-encounter-table th {
    padding: 7px 8px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    border: 1px solid #252525 !important;
}

.raid-encounter-table td {
    vertical-align: top !important;
    padding: 0 !important;
    border: 1px solid #252525 !important;
}

/* Zone names */
.raid-encounter-table .raid-checkboxify > b {
    display: block !important;
    padding: 7px 8px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: bold !important;
    border-top: 1px solid #252525 !important;
    border-bottom: 1px solid #252525 !important;
}

.raid-encounter-table .raid-checkboxify > b:first-child {
    border-top: 0 !important;
}

/* NPC rows */
.raid-encounter-table .raid-checkboxify label {
    display: block !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    font-size: 13px !important;
    border-bottom: 1px solid #252525 !important;
}

.raid-encounter-table .raid-checkboxify br {
    display: none !important;
}

/* Dark theme */
html.eqoa-theme-dark .raid-encounter-table th,
html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify > b {
    background: #3a3a3a !important;
    color: #ffd45a !important;
}

html.eqoa-theme-dark .raid-encounter-table td {
    background: #0d0c0b !important;
}

html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label {
    color: #ffd45a !important;
}

html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label:nth-of-type(odd) {
    background: #0d0c0b !important;
}

html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label:nth-of-type(even) {
    background: #242428 !important;
}

/* Light theme */
html.eqoa-theme-light .raid-encounter-table th,
html.eqoa-theme-light .raid-encounter-table .raid-checkboxify > b {
    background: #e6e1d8 !important;
    color: #1f140c !important;
    border-color: #d2c8bb !important;
}

html.eqoa-theme-light .raid-encounter-table td {
    background: #ffffff !important;
    border-color: #ddd5ca !important;
}

html.eqoa-theme-light .raid-encounter-table .raid-checkboxify label {
    color: #1f140c !important;
    border-color: #e6ded4 !important;
}

html.eqoa-theme-light .raid-encounter-table .raid-checkboxify label:nth-of-type(odd) {
    background: #ffffff !important;
}

html.eqoa-theme-light .raid-encounter-table .raid-checkboxify label:nth-of-type(even) {
    background: #f7f5f1 !important;
}

.rare-encounter-mobile-layout {
    display: none;
}

.rare-mobile-box {
    margin-bottom: 14px;
    border: 1px solid;
}

.rare-mobile-heading {
    padding: 9px 10px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid;
}

.rare-mobile-body {
    padding: 0;
}

html.eqoa-theme-dark .rare-mobile-box {
    background: #0d0c0b;
    border-color: #252525;
}

html.eqoa-theme-dark .rare-mobile-heading {
    background: #3a3a3a;
    color: #ffd45a;
    border-color: #1f1f1f;
}

html.eqoa-theme-light .rare-mobile-box {
    background: #ffffff;
    border-color: #ddd5ca;
}

html.eqoa-theme-light .rare-mobile-heading {
    background: #e6e1d8;
    color: #1f140c;
    border-color: #d2c8bb;
}

@media screen and (max-width: 700px) {
    .rare-encounter-mobile-layout {
        display: block;
    }
}





















/* =========================================================
   LOCKED GLOBAL TEMPLATE SYSTEM
   ========================================================= */

.eqoa-panel {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border) !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.eqoa-header {
    position: relative !important;
    background: var(--wiki-panel) !important;
    color: var(--wiki-heading) !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border: 0 !important;
    text-shadow: none !important;
}

.eqoa-header::after {
    content: "" !important;
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 0 !important;
    height: 1px !important;
    background: var(--wiki-border) !important;
}

.eqoa-body {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    padding: 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.eqoa-row {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    padding: 7px 10px !important;
    border-bottom: 1px solid var(--wiki-border-soft) !important;
}

.eqoa-row:nth-child(even) {
    background: var(--wiki-panel-2) !important;
}

.eqoa-row:last-child {
    border-bottom: 0 !important;
}

.eqoa-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.eqoa-panel ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.eqoa-panel li {
    margin: 0 0 7px 0 !important;
    padding: 0 !important;
}

@media screen and (max-width: 700px) {
    .eqoa-grid-2,
    .eqoa-mobile-stack {
        display: block !important;
    }

    .eqoa-grid-2 > .eqoa-panel,
    .eqoa-mobile-stack > .eqoa-panel {
        width: 100% !important;
        margin-bottom: 12px !important;
    }
}
















/* =========================================================
   GLOBAL EQOA TABLE
   Used by Lycan, JobInfobox, and shared panel tables
   ========================================================= */

.eqoa-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
}

.eqoa-table th {
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 8px 10px !important;
    text-align: center !important;
    font-weight: bold !important;
}

.eqoa-table td {
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border: 1px solid var(--wiki-border-soft) !important;
    padding: 8px 10px !important;
    vertical-align: top !important;
}

.eqoa-table tr:nth-child(even) td {
    background: var(--wiki-panel-2) !important;
}

/* =========================================================
Class Page Fix
   ========================================================= */
/* Fix pre/code spacing inside global panels */
.eqoa-panel pre,
.eqoa-body pre {
    display: block !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--wiki-text) !important;
    border: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-family: inherit !important;
    white-space: pre-wrap !important;

    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

.eqoa-panel code,
.eqoa-body code {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--wiki-text) !important;
    border: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-family: inherit !important;
    padding: 0 !important;
}
/* =========================================================
Class Page Fix
   ========================================================= */


/* =========================================================
   DARK THEME COLOR LOCK - Sandstorm Control Panel Match
   ========================================================= */

html.eqoa-theme-dark,
html.eqoa-theme-dark body,
html.eqoa-theme-dark #globalWrapper,
html.eqoa-theme-dark #column-content,
html.eqoa-theme-dark #content,
html.eqoa-theme-dark #bodyContent,
html.eqoa-theme-dark #mw-content-text,
html.eqoa-theme-dark .mw-body,
html.eqoa-theme-dark .mw-parser-output {
    background: var(--wiki-bg) !important;
    background-color: var(--wiki-bg) !important;
    color: var(--wiki-text) !important;
}

html.eqoa-theme-dark .eqoa-panel,
html.eqoa-theme-dark .eqoa-body,
html.eqoa-theme-dark .zones-box,
html.eqoa-theme-dark .zones-content,
html.eqoa-theme-dark .zone-details-content,
html.eqoa-theme-dark .npc-template,
html.eqoa-theme-dark .quest-template,
html.eqoa-theme-dark .wikitable,
html.eqoa-theme-dark .toc,
html.eqoa-theme-dark .catlinks {
    background: var(--wiki-panel) !important;
    background-color: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
    border-color: var(--wiki-border) !important;
}

html.eqoa-theme-dark .eqoa-header,
html.eqoa-theme-dark .zones-header,
html.eqoa-theme-dark .zone-details-header,
html.eqoa-theme-dark .npc-header,
html.eqoa-theme-dark .wikitable th,
html.eqoa-theme-dark .eqoa-table th {
    background: #332513 !important;
    background-color: #332513 !important;
    color: #d89a22 !important;
    border-color: #4a3518 !important;
    text-shadow: none !important;
}

html.eqoa-theme-dark .eqoa-header *,
html.eqoa-theme-dark .zones-header *,
html.eqoa-theme-dark .zone-details-header *,
html.eqoa-theme-dark .npc-header * {
    color: #d89a22 !important;
    text-shadow: none !important;
}

html.eqoa-theme-dark .eqoa-row:nth-child(even),
html.eqoa-theme-dark .eqoa-table tr:nth-child(even) td,
html.eqoa-theme-dark .wikitable tr:nth-child(even) td {
    background: var(--wiki-panel-2) !important;
    background-color: var(--wiki-panel-2) !important;
}

html.eqoa-theme-dark a,
html.eqoa-theme-dark .mw-body a,
html.eqoa-theme-dark .mw-parser-output a,
html.eqoa-theme-dark table a,
html.eqoa-theme-dark .wikitable a {
    color: var(--wiki-link) !important;
}

html.eqoa-theme-dark a:hover,
html.eqoa-theme-dark .mw-body a:hover,
html.eqoa-theme-dark .mw-parser-output a:hover,
html.eqoa-theme-dark table a:hover,
html.eqoa-theme-dark .wikitable a:hover {
    color: var(--wiki-link-hover) !important;
}

/* =========================================================
   GLOBAL SPELL ROW STRIPING
   SpellList, Class Path Choice, Exemplar Choice
   ========================================================= */

/* Modern SpellList rows */
html.eqoa-theme-dark .spell-col .spell-row:nth-child(odd) {
    background: #21180f !important;
    background-color: #21180f !important;
}

html.eqoa-theme-dark .spell-col .spell-row:nth-child(even) {
    background: #262629 !important;
    background-color: #262629 !important;
}

/* Legacy SpellList rows */
html.eqoa-theme-dark .SpellList .SpellRow:nth-child(odd) {
    background: #21180f !important;
    background-color: #21180f !important;
}

html.eqoa-theme-dark .SpellList .SpellRow:nth-child(even) {
    background: #262629 !important;
    background-color: #262629 !important;
}

/* SpellRows inside global panels: Path Choice / Exemplar Choice */
html.eqoa-theme-dark .eqoa-panel .eqoa-body .spell-row:nth-child(odd),
html.eqoa-theme-dark .eqoa-panel .eqoa-body .SpellRow:nth-child(odd) {
    background: #21180f !important;
    background-color: #21180f !important;
}


html.eqoa-theme-dark .eqoa-panel .eqoa-body .spell-row:nth-child(even),
html.eqoa-theme-dark .eqoa-panel .eqoa-body .SpellRow:nth-child(even) {
    background: #262629 !important;
    background-color: #262629 !important;
}

/* Subtle row dividers */
html.eqoa-theme-dark .spell-row,
html.eqoa-theme-dark .SpellRow {
    border-bottom: 1px solid #3a3027 !important;
}

/* =========================================================
   JOB INFOBOX - Global Template System Safety
   ========================================================= */

.job-infobox,
.job-contents {
    width: 100% !important;
}

.job-infobox .eqoa-table {
    margin: 0 !important;
}

.job-infobox .eqoa-table td:first-child {
    width: 45% !important;
    font-weight: 700 !important;
    color: var(--wiki-link) !important;
}

.job-infobox .eqoa-table td:last-child {
    width: 55% !important;
}

/* =========================================================
   CLASS MASTERY TABLE
   Uses Template:ClassMasteryTable and Template:ClassMastery
   ========================================================= */

.class-mastery-box {
    width: 100% !important;
}

.class-mastery-table {
    margin: 0 !important;
}

.class-mastery-table th,
.class-mastery-table td {
    vertical-align: top !important;
}

.class-mastery-table .mastery-cost,
.class-mastery-table .mastery-level {
    text-align: center !important;
    width: 8% !important;
    white-space: nowrap !important;
}

.class-mastery-table .mastery-name {
    width: 24% !important;
    font-weight: 700 !important;
}

.class-mastery-table .mastery-req,
.class-mastery-table .mastery-unlocks {
    width: 30% !important;
}

/* =========================================================
   Logo Fix
   ========================================================= */

#p-logo {
    width: 160px !important;
    height: 160px!important;
    margin: 0 auto !important;
}

#p-logo a {
    display: block !important;
    width: 160px !important;
    height: 160px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    margin: 0 auto !important;
}

/* =========================================================
   Tooltip LORE Warning
   ========================================================= */

.cb-tooltip-warning {
    color: #ff4d4d;
    font-weight: bold;
    margin-top: 6px;
}

/* =========================================================
   Zone Infromation, IMG FIX
   ========================================================= */


.zone-right .info-table td {
  vertical-align: top;
}

.zone-right .info-table td:first-child {
  width: 110px;
  font-weight: bold;
}

.zone-map-block {
  margin-top: 10px;
}

.zone-map-title {
  font-weight: bold;
  margin-bottom: 6px;
}

/* ZonePageRight maps */
.zone-map-block {
  margin-top: 10px;
  background: transparent !important;
}

.zone-map-title {
  font-weight: bold;
  margin-bottom: 6px;
}

.zone-map-content {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block;
  max-width: 100%;
  overflow: hidden;
}

.zone-map-content p {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.zone-map-content a,
.zone-map-content a.image,
.zone-map-content .mw-file-description {
  background: transparent !important;
  display: inline-block;
  max-width: 100%;
}

.zone-map-content img,
.zone-map-content .mw-file-element {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
}

.zone-map-content img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
}

/* ZonePageRight map image wrapper */
.zone-right .zone-map-content {
  background: transparent !important;
  padding: 0 !important;
}

.zone-right .zone-map-content .thumb,
.zone-right .zone-map-content .thumbinner,
.zone-right .zone-map-content .tright,
.zone-right .zone-map-content .tleft,
.zone-right .zone-map-content figure,
.zone-right .zone-map-content .mw-default-size,
.zone-right .zone-map-content .mw-halign-none,
.zone-right .zone-map-content .mw-halign-left,
.zone-right .zone-map-content .mw-halign-right,
.zone-right .zone-map-content .mw-halign-center {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.zone-right .zone-map-content img,
.zone-right .zone-map-content .mw-file-element {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  background: transparent !important;
  border: 0 !important;
}

/* ZonePageRight maps - force theme background */
.zone-right .zone-map-block,
.zone-right .zone-map-content,
.zone-right .zone-map-content *,
.zone-right .zone-map-content p,
.zone-right .zone-map-content a,
.zone-right .zone-map-content a.image,
.zone-right .zone-map-content .mw-file-description,
.zone-right .zone-map-content .mw-file-element {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
}

.zone-right .zone-map-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100%;
  overflow: hidden;
}

.zone-right .zone-map-content img,
.zone-right .zone-map-content .mw-file-element {
  display: block;
  max-width: 100% !important;
  height: auto !important;
}


/* =========================================================
   Main Page - Award Banner
   ========================================================= */

.soa-award-banner {
  margin: 12px auto 18px auto;
  padding: 14px 18px;
  max-width: 1100px;
  background: rgba(18, 22, 45, 0.94);
  border: 2px solid #d6b25e;
  border-radius: 10px;
  color: #f2f2f2;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 0 12px rgba(214, 178, 94, 0.45);
}

.soa-award-banner a {
  color: #86b8ff;
  font-weight: 700;
  margin-left: 6px;
  text-decoration: none;
}

.soa-award-banner a:hover {
  color: #b9d6ff;
  text-decoration: underline;
}

.soa-award-icon {
  margin-right: 6px;
}

.soa-welcome-text {
    width: 100%;
    display: block;
    text-align: center;

    font-size: 30px;
    font-weight: 600;
    font-family: "Palatino Linotype", Georgia, serif;
    color: #f2e6c9;

    line-height: 1.45;

    margin: 18px auto 26px auto;

    text-shadow:
        0 0 4px rgba(214,178,94,0.35),
        0 0 10px rgba(214,178,94,0.18);
}














.soa-about-section {
    max-width: 1200px;
    margin: 24px auto;
    padding: 22px 28px;

    background: rgba(18, 18, 24, 0.92);

    border: 2px solid #d6b25e;
    border-radius: 12px;

    box-shadow:
        0 0 12px rgba(214,178,94,0.18);

    color: #e7dcc0;
}

.soa-about-title {
    text-align: center;

    font-size: 34px;
    font-weight: 700;

    font-family: "Palatino Linotype", Georgia, serif;

    color: #ffd66b;

    margin-bottom: 18px;

    text-shadow:
        0 0 6px rgba(214,178,94,0.35);
}

.soa-about-body {
    font-size: 18px;
    line-height: 1.75;

    text-align: center;

    font-family: Georgia, serif;

    color: #f2e6c9;
}

.soa-about-body a {
    color: #7db6ff;
    font-weight: 700;
    text-decoration: none;
}

.soa-about-body a:hover {
    text-decoration: underline;
}

/* =========================================================
   Raid Encounter List
   ========================================================= */

.raid-list {
  margin: 12px 0 18px 0;
  background: #14100d;
  border: 1px solid #3b2a16;
  color: #f2f2f2;
}

.raid-list__title {
  margin: 0;
  padding: 8px 10px;
  background: #1d1916;
  border-bottom: 1px solid #6a4a1f;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
}

.raid-list__cols {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding: 6px;
}

.raid-list__col {
  flex: 0 0 260px;
  min-width: 240px;
  padding: 0;
  border: 1px solid #d49a22;
  background: #1d1916;
  color: #f2f2f2;
  line-height: 1.35;
}

.raid-list .raid-list__col br {
  display: none;
}

.raid-list .raid-list__col b {
  display: block;
  min-height: 28px;
  padding: 0 8px;
  line-height: 28px;
  background: #332513;
  color: #ffffff;
  font-weight: 700;
}

.raid-list .raid-list__col label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-height: 28px;
  padding: 0 8px;
  line-height: 28px;
}

.raid-list .raid-list__col label:nth-of-type(odd) {
  background: #1d1916;
}

.raid-list .raid-list__col label:nth-of-type(even) {
  background: #241a12;
}

.raid-list .raid-list__col input[type="checkbox"] {
  margin: 0;
  flex: 0 0 auto;
}

.raid-list .raid-list__col a {
  color: #ffb000;
  font-weight: 700;
  text-decoration: none;
}

.raid-list .raid-list__col a:hover {
  color: #ffd36a;
  text-decoration: underline;
}

.raid-list__section-title {
  padding: 6px 10px;
  background: #1d1916;
  border-top: 1px solid #6a4a1f;
  border-bottom: 1px solid #6a4a1f;
  color: #ffb000;
  font-weight: 700;
  text-align: center;
}

/* =========================================================
   Character Builder / Class Mastery - Theme Alignment
   ========================================================= */

#character-builder-app,
#character-builder-app .character-builder-box,
#cm-calculator-app,
#cm-calculator-app .cm-box {
  background: #14100d !important;
  color: #f2f2f2 !important;
}

#character-builder-app .character-builder-title,
#character-builder-app .character-builder-section-title,
#cm-calculator-app .cm-title,
#cm-calculator-app .cm-section-title {
  background: #1d1916 !important;
  color: #ffb000 !important;
  border-bottom: 1px solid #6a4a1f !important;
}

#character-builder-app table,
#character-builder-app th,
#character-builder-app td,
#cm-calculator-app table,
#cm-calculator-app th,
#cm-calculator-app td {
  background: #1d1916 !important;
  color: #f2f2f2 !important;
  border-color: #3b2a16 !important;
}

#character-builder-app th,
#cm-calculator-app th {
  background: #241a12 !important;
  color: #ffb000 !important;
}

#character-builder-app input,
#character-builder-app select,
#character-builder-app textarea,
#cm-calculator-app input,
#cm-calculator-app select,
#cm-calculator-app textarea {
  background: #1d1916 !important;
  color: #f2f2f2 !important;
  border: 1px solid #3b2a16 !important;
}

#character-builder-app button,
#cm-calculator-app button {
  background: #1d1916 !important;
  color: #ffb000 !important;
  border: 1px solid #6a4a1f !important;
}

#character-builder-app button:hover,
#cm-calculator-app button:hover {
  background: #4a3214 !important;
  color: #ffd36a !important;
}

#character-builder-app a,
#cm-calculator-app a,
#character-builder-app .cb-equipped-item-name,
#cm-calculator-app .cm-mastery-name {
  color: #ffb000 !important;
}

#character-builder-app .character-builder-slot,
#character-builder-app .character-builder-equipped-summary,
#character-builder-app .character-builder-warning-box,
#character-builder-app .cb-picker-item,
#cm-calculator-app .cm-mastery-card,
#cm-calculator-app .cm-warning-box {
  background: #1d1916 !important;
  color: #f2f2f2 !important;
  border-color: #3b2a16 !important;
}

#character-builder-app .cb-picker-item:nth-child(even),
#cm-calculator-app .cm-mastery-card:nth-child(even) {
  background: #241a12 !important;
}

#character-builder-app .cb-picker-selected,
#cm-calculator-app .cm-selected {
  background: #1d1916 !important;
  color: #ffb000 !important;
}


.cm-card-description-chip {
    flex-basis: 100%;
    background: rgba(242, 171, 49, 0.08);
    border: 1px solid rgba(242, 171, 49, 0.22);
    color: #e6e1d8;
    font-weight: 700;
}

/* =========================================================
Other Misc
   ========================================================= */
#column-one #searchInput {
    width: 125px !important;
}

/* Personal tools: top-right account links */
/* Personal tools: top-right account links */
#p-personal {
    position: fixed !important;
    top: 8px !important;
    right: 18px !important;
    left: auto !important;
    width: auto !important;
    max-width: calc(100vw - 190px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    z-index: 9999 !important;
    background: transparent !important;
}

#p-personal h3 {
    display: none !important;
}

#p-personal .pBody,
#p-personal ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

#p-personal li {
    display: flex !important;
    align-items: center !important;
    float: none !important;
    position: relative !important;
    width: auto !important;
    min-width: max-content !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    list-style: none !important;
    overflow: visible !important;
}

#p-personal a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    height: 24px !important;
    line-height: 22px !important;
    padding: 1px 8px !important;
    margin: 0 !important;
    border: 1px solid #6b5430 !important;
    background: #1d1916 !important;
    color: #ffb000 !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 11px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

#p-personal a:hover {
    background: #3a2418 !important;
    color: #ffd45a !important;
}

/* Echo notification buttons: hide the text labels and keep only the badge/count */
/* Notification tabs: match the rest of the personal tools */
#p-personal #pt-notifications-alert,
#p-personal #pt-notifications-notice {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 24px !important;
    overflow: visible !important;
}

#p-personal #pt-notifications-alert a,
#p-personal #pt-notifications-notice a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 24px !important;
    line-height: 22px !important;
    padding: 1px 8px !important;
    margin: 0 !important;
    border: 1px solid #6b5430 !important;
    background: #1d1916 !important;
    color: #ffb000 !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#p-personal #pt-notifications-alert a:hover,
#p-personal #pt-notifications-notice a:hover {
    background: #3a2418 !important;
    color: #ffd45a !important;
}

/* Give username enough space so it never collides with notification buttons */
#p-personal #pt-userpage,
#p-personal #pt-userpage a {
    min-width: 78px !important;
}







/* Apply EQOA theme styling to account/login special pages */
html.eqoa-theme-dark,
html.eqoa-theme-dark body,
body.eqoa-theme-dark {
    background: #090705 !important;
    color: #f2d28a !important;
}

html.eqoa-theme-dark #globalWrapper,
html.eqoa-theme-dark #content,
html.eqoa-theme-dark #bodyContent,
html.eqoa-theme-dark .mw-body,
html.eqoa-theme-dark .mw-parser-output,
html.eqoa-theme-dark .mw-body-content,
html.eqoa-theme-dark #userloginForm,
html.eqoa-theme-dark #userlogin,
html.eqoa-theme-dark .mw-ui-container,
html.eqoa-theme-dark .mw-htmlform,
html.eqoa-theme-dark .mw-htmlform-ooui-wrapper,
html.eqoa-theme-dark .mw-parser-output,
html.eqoa-theme-dark .mw-specialpage-summary,
html.eqoa-theme-dark .mw-createacct-benefits-container {
    background: #090705 !important;
    color: #f2d28a !important;
}

html.eqoa-theme-dark #content,
html.eqoa-theme-dark .mw-body {
    border-color: #7b4b16 !important;
}

html.eqoa-theme-dark h1,
html.eqoa-theme-dark h2,
html.eqoa-theme-dark h3,
html.eqoa-theme-dark label,
html.eqoa-theme-dark .mw-label,
html.eqoa-theme-dark .mw-ui-vform-field label {
    color: #ffb000 !important;
}

html.eqoa-theme-dark input,
html.eqoa-theme-dark textarea,
html.eqoa-theme-dark select {
    background: #1d1916 !important;
    color: #ffd45a !important;
    border: 1px solid #6b5430 !important;
}

html.eqoa-theme-dark input::placeholder {
    color: #9f8a65 !important;
}

html.eqoa-theme-dark .mw-ui-button,
html.eqoa-theme-dark button,
html.eqoa-theme-dark input[type="submit"] {
    background: #1d1916 !important;
    color: #ffb000 !important;
    border: 1px solid #6b5430 !important;
    font-weight: bold !important;
}

html.eqoa-theme-dark .mw-ui-button:hover,
html.eqoa-theme-dark button:hover,
html.eqoa-theme-dark input[type="submit"]:hover {
    background: #3a2418 !important;
    color: #ffd45a !important;
}

html.eqoa-theme-dark a {
    color: #ffb000 !important;
}

html.eqoa-theme-dark a:hover {
    color: #ffd45a !important;
}

/* Account creation stats/icons area */
html.eqoa-theme-dark .mw-createacct-benefits-list,
html.eqoa-theme-dark .mw-createacct-benefits-list li,
html.eqoa-theme-dark .mw-number-text,
html.eqoa-theme-dark .mw-label-text {
    color: #f2d28a !important;
}











/* Hide FlaggedRevs badge by default; Common.js shows it for DevRenodor */
#mw-fr-revisiontag,
.flaggedrevs_short,
.flaggedrevs_basic,
.flaggedrevs_preview,
.flaggedrevs_notice,
.flaggedrevs_reviewform,
.mw-fr-reviewlink {
    display: none;
}

/* =========================================================
   Character Builder, Equipped Item Color Fix
   ========================================================= */

/* Character Builder rarity colors */
#character-builder-app .cb-rarity-common {
    color: #ffffff !important;
    text-shadow: none !important;
}

#character-builder-app .cb-rarity-uncommon {
    color: #2ee84a !important;
    text-shadow: 0 0 5px rgba(46, 232, 74, 0.55) !important;
}

#character-builder-app .cb-rarity-rare {
    color: #3f8cff !important;
    text-shadow: 0 0 5px rgba(63, 140, 255, 0.6) !important;
}

#character-builder-app .cb-rarity-ultra-rare {
    color: #ff4cff !important;
    text-shadow: 0 0 5px rgba(255, 76, 255, 0.7) !important;
}

#character-builder-app .cb-rarity-heroic {
    color: #b84cff !important;
    text-shadow: 0 0 5px rgba(184, 76, 255, 0.65) !important;
}

#character-builder-app .cb-rarity-legendary {
    color: #E31414 !important;
    text-shadow: 0 0 5px rgba(255, 140, 26, 0.65) !important;
}

#character-builder-app .cb-rarity-epic {
    color: #ff4cff !important;
    text-shadow: 0 0 5px rgba(255, 76, 255, 0.7) !important;
}

#character-builder-app .cb-rarity-artifact {
    color: #ff8c1a !important;
    text-shadow: 0 0 5px rgba(255, 51, 51, 0.7) !important;
}

/* Force equipped names and picker names to use the exact same rarity rendering */
#character-builder-app .cb-equipped-item-name,
#character-builder-app .cb-picker-item span[class*="cb-rarity-"],
#character-builder-app .cb-tooltip-title[class*="cb-rarity-"],
#character-builder-app #cb-export-items span[class*="cb-rarity-"] {
    font-weight: bold !important;
}



/* =========================================================
 Character Builder export card render staging 
   ========================================================= */

#cb-export-card-container {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 1200px !important;
    min-width: 1200px !important;
    height: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -9999 !important;
}

#cb-export-card-inner {
    width: 1200px !important;
    min-width: 1200px !important;
    height: auto !important;
}


#character-builder-app .cb-export-notes-wide {
    width: 100% !important;
}

#character-builder-app .cb-export-bottom-row {
    grid-template-columns: 1fr !important;
}

.cb-export-master-class-row {
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 22px;
}

.cb-export-master-class-box {
    text-align: center;
}

.cb-export-path-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 22px;
}

.cb-export-path-row .cb-export-info-box,
.cb-export-master-class-row .cb-export-info-box {
    min-height: 96px;
}

#cb-export-cm {
    font-size: 18px;
    line-height: 1.35;
}

#cb-export-cm b {
    color: #f4e6c8;
}














#cb-export-card-inner.cb-export-card-dashboard {
    width: 1200px !important;
    min-height: 900px !important;
    padding: 28px !important;
    box-sizing: border-box !important;
    background: #090705 !important;
    color: #f2e6c9 !important;
    border: 2px solid #8a621f !important;
    border-radius: 14px !important;
    font-family: Georgia, "Times New Roman", serif !important;
}

.cb-export-title-main {
    text-align: center !important;
    color: #d89a22 !important;
    font-size: 52px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.cb-export-title-sub {
    text-align: center !important;
    color: #d89a22 !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    margin-top: 8px !important;
}

.cb-export-build-name {
    text-align: center !important;
    color: #f7ead1 !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    margin: 22px 0 !important;
}

.cb-export-panel {
    background: #34302d !important;
    border: 1px solid #6b4a1e !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    padding: 16px !important;
}

.cb-export-top-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
}

.cb-export-identity-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
}

.cb-export-identity-grid > div {
    background: #1d1916 !important;
    border: 1px solid #4f3718 !important;
    border-radius: 5px !important;
    padding: 9px 10px !important;
    min-height: 54px !important;
}

.cb-export-identity-grid b {
    display: block !important;
    color: #d89a22 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
}

.cb-export-identity-grid span {
    display: block !important;
    color: #f2e6c9 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.cb-export-panel-title {
    color: #d89a22 !important;
    text-align: center !important;
    font-size: 27px !important;
    font-weight: 800 !important;
    margin-bottom: 14px !important;
}

.cb-export-vitals-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.cb-export-vitals-grid > div {
    background: #1f1710 !important;
    border: 1px solid #4f3718 !important;
    border-radius: 5px !important;
    padding: 10px !important;
    text-align: center !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

.cb-export-stats-panel {
    margin-bottom: 14px !important;
}

.cb-export-stat-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px !important;
}

.cb-export-small-title {
    color: #d89a22 !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin-bottom: 10px !important;
}

#cb-export-core-stats,
#cb-export-resists {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px 14px !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
}

.cb-export-middle-row {
    display: grid !important;
    grid-template-columns: 1fr 2fr !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
}

#cb-export-items,
#cb-export-cm,
#cb-export-notes {
    font-size: 18px !important;
    line-height: 1.45 !important;
}

#cb-export-items > div,
#cb-export-cm > div {
    padding: 3px 0 !important;
    border-bottom: 1px solid rgba(216, 154, 34, 0.16) !important;
}

.cb-export-notes-panel {
    min-height: 140px !important;
}

.cb-export-footer {
    color: #d89a22 !important;
    text-align: center !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-top: 22px !important;
}

/* Hide staged Character Builder export card from the visible page */
#cb-export-card-container {
    position: fixed !important;
    left: -99999px !important;
    top: 0 !important;
    width: 1200px !important;
    min-width: 1200px !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: -9999 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#cb-export-card-inner {
    width: 1200px !important;
    min-width: 1200px !important;
    height: auto !important;
}

.cm-master-class-heading {
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
}

.cm-master-class-panel {
    max-width: 520px;
    margin: 10px auto 0;
    text-align: center !important;
    padding: 16px 22px;
    text-align: center;
    border: 1px solid rgba(218, 177, 91, 0.75);
    border-radius: 6px;
    background:
        linear-gradient(180deg, rgba(70, 43, 20, 0.95), rgba(22, 14, 9, 0.96)),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 2px, transparent 2px, transparent 7px);
    box-shadow:
        inset 0 0 18px rgba(255, 217, 122, 0.12),
        0 0 14px rgba(0, 0, 0, 0.35);
}

.cm-master-class-text {
    display: block;
    width: 100%;
    color: #f4d37b;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center !important;
}

.cb-export-cm-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 22px;
    margin-top: 6px;
}

.cb-export-cm-row {
    padding: 3px 0;
    border-bottom: 1px solid rgba(199, 143, 38, 0.18);
    white-space: nowrap;
    font-size: 16px;
}

.cb-stat-cap {
    color: #ff3b3b;
    font-weight: 800;
    margin-left: 2px;
}

.cb-ingame-stat-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 14px;
    padding: 14px;
    background:
        linear-gradient(rgba(190, 178, 145, 0.92), rgba(168, 157, 126, 0.92));
    border: 1px solid rgba(40, 32, 20, 0.65);
    color: #050505;
    box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.22);
}

.cb-ingame-stat-column {
    display: grid;
    gap: 0;
    border: 1px solid rgba(40, 32, 20, 0.28);
}

.cb-ingame-row,
.cb-ingame-small-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 64px minmax(90px, auto);
    align-items: center;
    min-height: 36px;
    padding: 3px 8px;
    border-bottom: 1px solid rgba(40, 32, 20, 0.22);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0;
}

.cb-ingame-small-row {
    min-height: 26px;
    font-size: 14px;
    font-weight: 700;
    opacity: 0.85;
}

.cb-ingame-header-row {
    color: #00344f;
}

.cb-ingame-row input {
    width: 54px;
    height: 26px;
    text-align: center;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(40, 32, 20, 0.42);
    color: #00344f;
    font-size: 16px;
    font-weight: 800;
    box-sizing: border-box;
}

.cb-ingame-row span:last-child,
.cb-ingame-small-row span:last-child {
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 800px) {
    .cb-ingame-stat-panel {
        grid-template-columns: 1fr;
    }

    .cb-ingame-row,
    .cb-ingame-small-row {
        grid-template-columns: minmax(120px, 1fr) 58px minmax(78px, auto);
        font-size: 18px;
    }
}

.character-builder-section-title {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 18px 0 10px !important;
    padding: 8px 10px;
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #f2b229;
    background: linear-gradient(180deg, #4a2b0d, #2a1708);
    border-top: 1px solid rgba(242, 178, 41, 0.35);
    border-bottom: 1px solid rgba(242, 178, 41, 0.35);
}

.character-builder-subsection-title {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px !important;
    padding: 8px 10px;
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #f2b229;
    background: linear-gradient(180deg, #4a2b0d, #2a1708);
    border-top: 1px solid rgba(242, 178, 41, 0.35);
    border-bottom: 1px solid rgba(242, 178, 41, 0.35);
}

.cb-slot-section-title {
    margin: 0 0 8px !important;
    padding: 6px 8px;
    font-size: 15px;
}






/* =========================================================
Bottom Banner Theme Fix
   ========================================================= */

/* MediaWiki review / moderation box */
#mw-fr-reviewform,
.flaggedrevs_reviewform,
.flaggedrevs_basic,
.mw-fr-reviewform {
    background: #1d1916 !important;
    color: #f2b229 !important;
    border: 1px solid rgba(160, 101, 28, 0.75) !important;
}

#mw-fr-reviewform textarea,
.flaggedrevs_reviewform textarea,
.mw-fr-reviewform textarea {
    background: #130d09 !important;
    color: #f5d28a !important;
    border: 1px solid rgba(160, 101, 28, 0.75) !important;
}

#mw-fr-reviewform input,
#mw-fr-reviewform button,
.flaggedrevs_reviewform input,
.flaggedrevs_reviewform button,
.mw-fr-reviewform input,
.mw-fr-reviewform button {
    background: #4a2b0d !important;
    color: #f2b229 !important;
    border: 1px solid rgba(242, 178, 41, 0.55) !important;
    font-weight: 700;
}

/* Footer white strip */
#footer,
.mw-footer,
#footer-places,
#footer-info,
#footer-icons {
    background: #1d1916 !important;
    color: #f2b229 !important;
    border-color: rgba(160, 101, 28, 0.75) !important;
}

#footer a,
.mw-footer a {
    color: #f2b229 !important;
}








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

/* Export Build Card */
#cb-export-card-inner.cb-export-card-dashboard {
    width: 1200px;
    min-width: 1200px;
    padding: 22px 24px 26px;
    color: #eee2c8;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 235, 180, 0.08), transparent 20%),
        radial-gradient(circle at 72% 58%, rgba(120, 70, 28, 0.18), transparent 32%),
        linear-gradient(180deg, rgba(48, 42, 35, 0.98), rgba(20, 17, 14, 0.99));
    border: 4px ridge #2a2520;
    box-shadow:
        inset 0 0 0 2px rgba(210, 190, 150, 0.14),
        inset 0 0 70px rgba(0, 0, 0, 0.68),
        0 0 0 2px #0b0907;
    font-family: Georgia, "Times New Roman", serif;
}

#cb-export-card-inner .cb-export-title-main {
    font-size: 42px;
    color: #f0e0bd;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 2px 0 #000, 0 0 8px rgba(240, 224, 189, 0.22);
    border-bottom: 2px groove rgba(210, 190, 150, 0.35);
    padding-bottom: 6px;
}

#cb-export-card-inner .cb-export-title-sub {
    color: #cfa35e;
    font-size: 18px;
    text-align: center;
    text-transform: uppercase;
    margin-top: 2px;
}

#cb-export-card-inner .cb-export-build-name {
    color: #f0e0bd;
    font-size: 28px;
    text-align: center;
    margin: 10px 0 12px;
    text-shadow: 0 2px 0 #000;
}

#cb-export-card-inner .cb-export-character-sheet {
    display: grid;
    grid-template-columns: 285px 1fr 1fr;
    grid-template-areas:
        "level level level"
        "info equipment equipment"
        "info mastery mastery"
        "notes notes notes";
    gap: 18px;
    margin-top: 12px;
}

#cb-export-card-inner .cb-export-level-panel {
    grid-area: level;
}

#cb-export-card-inner .cb-export-left-info-panel {
    grid-area: info;
}

#cb-export-card-inner .cb-export-equipment-panel {
    grid-area: equipment;
}

#cb-export-card-inner .cb-export-cm-panel {
    grid-area: mastery;
}

#cb-export-card-inner .cb-export-notes-panel {
    grid-area: notes;
    margin-top: 0;
}

#cb-export-card-inner .cb-export-left-info-panel {
    grid-area: info;
}

#cb-export-card-inner .cb-export-equipment-panel {
    grid-area: equipment;
}

#cb-export-card-inner .cb-export-cm-panel {
    grid-area: mastery;
}

#cb-export-card-inner .cb-export-notes-panel {
    grid-area: notes;
    margin-top: 0;
}

#cb-export-card-inner .cb-export-left-info-panel,
#cb-export-card-inner .cb-export-equipment-panel,
#cb-export-card-inner .cb-export-cm-panel,
#cb-export-card-inner .cb-export-notes-panel {
    background:
        radial-gradient(circle at top left, rgba(255, 245, 210, 0.07), transparent 28%),
        linear-gradient(180deg, rgba(36, 31, 27, 0.96), rgba(17, 14, 12, 0.97));
    border: 2px groove rgba(185, 150, 95, 0.45);
    box-shadow:
        inset 0 0 28px rgba(0, 0, 0, 0.55),
        inset 0 0 0 1px rgba(255, 240, 190, 0.08);
    padding: 14px;
}

/* Left identity panel */
#cb-export-card-inner .cb-export-identity-stack > div {
    display: block;
    padding: 10px 10px 12px;
    border-bottom: 1px solid rgba(196, 138, 36, 0.28);
}

#cb-export-card-inner .cb-export-identity-stack b {
    display: block;
    color: #d9a321;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 6px;
}

#cb-export-card-inner .cb-export-identity-stack span {
    display: block;
    color: #f3ead5;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.1;
    text-shadow: 0 2px 0 #000;
}

/* HP / POW / AC */
#cb-export-card-inner .cb-export-bars {
    margin-top: 12px;
}

#cb-export-card-inner .cb-export-resource-row {
    display: grid;
    grid-template-columns: 62px 1fr;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

#cb-export-card-inner .cb-export-resource-row b {
    color: #f3ead5;
    font-size: 22px;
    font-weight: 900;
    text-shadow: 0 2px 0 #000;
}

#cb-export-card-inner .cb-export-resource-bar {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    height: 22px;
    overflow: hidden;
    border: 2px solid #050505;
    border-radius: 2px;
    background-color: #111;
    box-shadow:
        inset 0 2px 2px rgba(255,255,255,0.45),
        inset 0 -4px 4px rgba(0,0,0,0.75),
        0 1px 0 rgba(255,255,255,0.18);
}

#cb-export-card-inner .cb-export-resource-bar i {
    display: block;
    border-left: 1px solid rgba(0,0,0,0.55);
    border-right: 1px solid rgba(255,255,255,0.12);
    box-shadow:
        inset 0 7px 4px rgba(255,255,255,0.22),
        inset 0 -7px 5px rgba(0,0,0,0.45);
}

#cb-export-card-inner .cb-export-resource-bar i:first-child {
    border-left: 0;
}

#cb-export-card-inner .cb-export-resource-bar i:last-of-type {
    border-right: 0;
}

#cb-export-card-inner .cb-export-hp-row .cb-export-resource-bar,
#cb-export-card-inner .cb-export-hp-row .cb-export-resource-bar i {
    background-color: #b00000;
}

#cb-export-card-inner .cb-export-pow-row .cb-export-resource-bar,
#cb-export-card-inner .cb-export-pow-row .cb-export-resource-bar i {
    background-color: #0070b8;
}

#cb-export-card-inner .cb-export-resource-bar span {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    line-height: 22px;
    text-align: center;
    text-shadow: 0 2px 0 #000;
    background: transparent;
}

#cb-export-card-inner .cb-export-ac-row {
    width: 96px;
    height: 96px;
    margin: 18px auto 0;
    border: 2px solid rgba(185, 150, 95, 0.5);
    border-radius: 50%;
    background: rgba(15, 12, 9, 0.78);
    color: #f3ead5;
    text-align: center;
    box-shadow: inset 0 0 18px rgba(0,0,0,0.55);
}

#cb-export-card-inner .cb-export-ac-row b {
    display: block;
    color: #d9a321;
    font-size: 17px;
    margin-top: 18px;
}

#cb-export-card-inner .cb-export-ac-row span {
    display: block;
    font-size: 25px;
    font-weight: 900;
}

/* Stats */
#cb-export-card-inner .cb-export-stat-block {
    margin-top: 18px;
}

#cb-export-card-inner .cb-export-small-title,
#cb-export-card-inner .cb-export-panel-title {
    color: #e8a51d;
    text-align: center;
    font-size: 25px;
    font-weight: 900;
    text-transform: uppercase;
    border-top: 1px solid rgba(196, 138, 36, 0.32);
    border-bottom: 1px solid rgba(196, 138, 36, 0.32);
    margin: 14px 0 10px;
    padding: 6px 0;
    text-shadow: 0 2px 0 #000;
}

#cb-export-card-inner .cb-export-resist-title {
    margin-top: 18px;
}

#cb-export-card-inner #cb-export-core-stats,
#cb-export-card-inner #cb-export-resists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
    color: #eadfc8;
    font-size: 18px;
}

#cb-export-card-inner #cb-export-core-stats b,
#cb-export-card-inner #cb-export-resists b {
    color: #f3ead5;
}

/* Equipment / CM */
#cb-export-card-inner #cb-export-items > div,
#cb-export-card-inner .cb-export-cm-row {
    padding: 4px 0;
    border-bottom: 1px solid rgba(158, 105, 28, 0.25);
    font-size: 17px;
}

#cb-export-card-inner .cb-export-cm-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 22px;
}

#cb-export-card-inner .cb-export-notes-panel {
    margin-top: 18px;
}

#cb-export-card-inner .cb-export-notes-box {
    min-height: 70px;
    padding: 12px;
    border: 1px solid rgba(185, 150, 95, 0.35);
    background: rgba(0, 0, 0, 0.35);
    color: #eadfc8;
    font-size: 18px;
}

#cb-export-card-inner .cb-export-equipment-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(158, 105, 28, 0.25);
    font-size: 17px;
}

#cb-export-card-inner .cb-export-slot-label {
    color: #d9a321;
    font-weight: 900;
    margin-right: 6px;
    text-transform: uppercase;
    font-size: 13px;
}

#cb-export-card-inner .cb-export-empty {
    color: #eadfc8;
    font-style: italic;
    opacity: 0.85;
}

#cb-export-card-inner .cb-export-class-path-row {
    display: block;
    font-size: 19px;
    line-height: 1.15;
    margin-top: 3px;
    color: #f3ead5;
}

#cb-export-card-inner .cb-export-class-path-row b {
    display: inline !important;
    color: #d9a321;
    font-size: 16px;
    margin-right: 5px;
}

#cb-export-card-inner .cb-export-level-title {
    color: #f3ead5;
    font-size: 34px;
    font-weight: 900;
    text-align: center;
    text-shadow: 0 2px 0 #000;
}






































































/* =========================================================
Right-side Discord column 
========================================================= */

#eqoa-right-rail {
    position: fixed;
    top: 92px;
    right: 18px;
    z-index: 100;
    width: 300px;
}

#eqoa-right-rail iframe {
    display: block;
    width: 300px;
    height: 500px;
    border: 1px solid #5a3b12;
    border-radius: 4px;
    background: #111;
}

/* Make room for the right Discord column */
#content,
.mw-body {
    margin-right: 340px !important;
}

/* Hide Discord column on smaller screens */
@media screen and (max-width: 1200px) {
    #eqoa-right-rail {
        display: none;
    }

    #content,
    .mw-body {
        margin-right: 0 !important;
    }
}


/* =========================================================
Top Bar / Search Bar / Discord Button
========================================================= */

#eqoa-topbar {
    position: sticky;
    top: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    height: 64px;
    padding: 0 16px;
    background: #111;
    border-bottom: 1px solid #5a3b12;
}

#eqoa-topbar .eqoa-top-title {
    color: #f0b429;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

#eqoa-topbar .eqoa-top-search {
    display: flex;
    align-items: center;
    width: min(52vw, 920px);
    height: 40px;
    margin: 0;
}

#eqoa-topbar .eqoa-top-search input {
    width: 100%;
    height: 40px;
    padding: 0 44px 0 12px;
    background: #1b1006;
    color: #f0b429;
    border: 1px solid #7b5a22;
    border-radius: 0;
    font-size: 14px;
}

#eqoa-topbar .eqoa-top-search button {
    width: 44px;
    height: 40px;
    margin-left: -44px;
    padding: 0;
    background: #1b1006;
    color: #f0b429;
    border: 1px solid #7b5a22;
    border-left: 0;
    border-radius: 0;
    font-size: 0;
    cursor: pointer;
}

#eqoa-topbar .eqoa-top-search button::before {
    content: "🔍";
    font-size: 18px;
}

#eqoa-topbar .eqoa-discord-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 180px;
    padding: 0 14px;
    background: #5865f2;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    white-space: nowrap;
}


/* =========================================================
Disable Sidebar Search
========================================================= */

/* Hide the default MediaWiki sidebar search box */
#p-search,
#searchform,
#simpleSearch {
    display: none !important;
}


/* =========================================================
Mobile Fix Ensure this is always LAST
========================================================= */

@media screen and (max-width: 768px) {
    html {
        overflow-x: auto !important;
    }

    body {
        overflow-x: auto !important;
        min-width: 980px !important;
    }

    #content,
    #bodyContent,
    #mw-content-text,
    .mw-body,
    .mw-parser-output,
    .character-builder-box,
    #character-builder-app {
        overflow-x: visible !important;
        max-width: none !important;
    }

    #character-builder-app,
    .character-builder-box {
        width: 980px !important;
        min-width: 980px !important;
    }
}

@media screen and (max-width: 768px) {
    #mw-panel,
    #p-navigation,
    #p-tb,
    .mw-sidebar,
    .sidebar {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 260px !important;
        max-width: 80vw;
        height: 100vh;
        z-index: 9999;
        overflow-y: auto;
        background: #100a06;
        border-right: 2px solid #70440f;
        box-shadow: 4px 0 18px rgba(0, 0, 0, 0.65);
    }

    .mw-body,
    #content {
        margin-left: 0 !important;
        padding-left: 12px !important;
    }
}



/* =========================================================
   DARK THEME ONLY - RIGHT DISCORD COLUMN
========================================================= */

html.eqoa-theme-dark #eqoa-right-rail {
    position: fixed;
    top: 92px;
    right: 18px;
    z-index: 100;
    width: 300px;
}

html.eqoa-theme-dark #eqoa-right-rail iframe {
    display: block;
    width: 300px;
    height: 500px;
    border: 1px solid #5a3b12;
    border-radius: 4px;
    background: #111;
}

html.eqoa-theme-dark #content,
html.eqoa-theme-dark .mw-body {
    margin-right: 340px !important;
}

@media screen and (max-width: 1200px) {
    html.eqoa-theme-dark #eqoa-right-rail {
        display: none;
    }

    html.eqoa-theme-dark #content,
    html.eqoa-theme-dark .mw-body {
        margin-right: 0 !important;
    }
}


/* =========================================================
   DARK THEME ONLY - TOP BAR / SEARCH / DISCORD BUTTON
========================================================= */

html.eqoa-theme-dark #eqoa-topbar {
    position: sticky;
    top: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    height: 64px;
    padding: 0 16px;
    background: #111;
    border-bottom: 1px solid #5a3b12;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-top-title {
    color: #f0b429;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-top-search {
    display: flex;
    align-items: center;
    width: min(52vw, 920px);
    height: 40px;
    margin: 0;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-top-search input {
    width: 100%;
    height: 40px;
    padding: 0 44px 0 12px;
    background: #1b1006;
    color: #f0b429;
    border: 1px solid #7b5a22;
    border-radius: 0;
    font-size: 14px;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-top-search button {
    width: 44px;
    height: 40px;
    margin-left: -44px;
    padding: 0;
    background: #1b1006;
    color: #f0b429;
    border: 1px solid #7b5a22;
    border-left: 0;
    border-radius: 0;
    font-size: 0;
    cursor: pointer;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-top-search button::before {
    content: "🔍";
    font-size: 18px;
}

html.eqoa-theme-dark #eqoa-topbar .eqoa-discord-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 180px;
    padding: 0 14px;
    background: #5865f2;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    white-space: nowrap;
}


/* =========================================================
   DARK THEME ONLY - HIDE DEFAULT SIDEBAR SEARCH
========================================================= */

html.eqoa-theme-dark #p-search,
html.eqoa-theme-dark #searchform,
html.eqoa-theme-dark #simpleSearch {
    display: none !important;
}


/* =========================================================
   DARK THEME ONLY - SIDEBAR LAYOUT
========================================================= */

html.eqoa-theme-dark #column-one {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 145px !important;
    margin: 0 !important;
    padding: 160px 0 0 0 !important;
    z-index: 20 !important;
    box-sizing: border-box !important;
    background: #080807 !important;
    border-right: 1px solid #6b4a1e !important;
}

html.eqoa-theme-dark #p-logo {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 145px !important;
    height: 145px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 30 !important;
}

html.eqoa-theme-dark #p-logo a {
    display: block !important;
    width: 145px !important;
    height: 145px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

html.eqoa-theme-dark #column-one h3[id$="-label"],
html.eqoa-theme-dark #column-one h5[id$="-label"],
html.eqoa-theme-dark #column-one .portlet h3,
html.eqoa-theme-dark #column-one .portlet h5,
html.eqoa-theme-dark #column-one .generated-sidebar h3,
html.eqoa-theme-dark #column-one .generated-sidebar h5 {
    display: block !important;

    width: 132px !important;
    height: 22px !important;
    line-height: 22px !important;

    margin: 8px 6px 4px 6px !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;

    background: #332513 !important;
    background-color: #332513 !important;
    background-image: none !important;

    color: #f2ab31 !important;
    border: 1px solid rgba(242,171,49,0.28) !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-family: -apple-system, "Segoe UI", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

html.eqoa-theme-dark #column-one .portlet .pBody,
html.eqoa-theme-dark #column-one .generated-sidebar .pBody,
html.eqoa-theme-dark #column-one div.pBody {
    background: #080807 !important;
    background-color: #080807 !important;
    background-image: none !important;
    border: 0 !important;
    color: #f2ab31 !important;
}

html.eqoa-theme-dark #column-one .pBody a,
html.eqoa-theme-dark #column-one .pBody a:visited {
    color: #f2ab31 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

html.eqoa-theme-dark #column-one .pBody a:hover {
    color: #ffd45a !important;
    text-decoration: underline !important;
}


/* =========================================================
   DARK THEME ONLY - PAGE ACTION TABS
========================================================= */

html.eqoa-theme-dark #p-cactions {
    position: absolute !important;
    top: 10px !important;
    left: 155px !important;
    right: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 50 !important;
    background: transparent !important;
    border: 0 !important;
}

html.eqoa-theme-dark #p-cactions ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

html.eqoa-theme-dark #p-cactions li {
    display: inline-block !important;
    float: none !important;
    margin: 0 2px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    height: auto !important;
    line-height: normal !important;
}

html.eqoa-theme-dark #p-cactions li a {
    display: inline-block !important;
    height: 19px !important;
    line-height: 19px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* =========================================================
   DARK THEME ONLY - PERSONAL LINKS
========================================================= */

html.eqoa-theme-dark #p-personal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 8px !important;
    right: 18px !important;
    left: auto !important;
    z-index: 10000 !important;
    background: transparent !important;
}

html.eqoa-theme-dark #p-personal ul,
html.eqoa-theme-dark #p-personal .pBody {
    display: flex !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    list-style: none !important;
}

html.eqoa-theme-dark #p-personal li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

html.eqoa-theme-dark #p-personal a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 24px !important;
    padding: 1px 8px !important;
    background: #1d1916 !important;
    color: #ffb000 !important;
    border: 1px solid #6b5430 !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

html.eqoa-theme-dark #p-personal a:hover {
    background: #3a2418 !important;
    color: #ffd45a !important;
}



/* =========================================================
   DARK THEME VARIABLES - Sandstorm Gold/Brown
========================================================= */

:root,
html.eqoa-theme-dark,
.eqoa-theme-dark {
    --wiki-bg: #080807;
    --wiki-panel: #1d1916;
    --wiki-panel-2: #11100e;
    --wiki-panel-3: #332513;

    --wiki-border: #3a3129;
    --wiki-border-soft: rgba(242, 171, 49, 0.16);

    --wiki-text: #e6e1d8;
    --wiki-muted: #aaa197;
    --wiki-heading: #ffffff;

    --wiki-link: #f2ab31;
    --wiki-link-hover: #ffd45a;

    --wiki-button-bg: #1d1916;
    --wiki-button-text: #f2ab31;
}

/* =========================================================
   DARK THEME - TOOL + RAID/Rare OVERRIDES
========================================================= */

/* Character Builder + Class Mastery */
html.eqoa-theme-dark #character-builder-app,
html.eqoa-theme-dark #character-builder-app .character-builder-box,
html.eqoa-theme-dark #cm-calculator-app,
html.eqoa-theme-dark #cm-calculator-app .cm-calculator-box,
html.eqoa-theme-dark #cm-calculator-app .cm-box {
    background: #080807 !important;
    color: #e6e1d8 !important;
    border-color: #3a3129 !important;
}

html.eqoa-theme-dark #character-builder-app .character-builder-controls,
html.eqoa-theme-dark #cm-calculator-app .character-builder-controls,
html.eqoa-theme-dark #character-builder-app .cm-search-tools,
html.eqoa-theme-dark #cm-calculator-app .cm-search-tools,
html.eqoa-theme-dark #character-builder-app .character-builder-equipped-summary,
html.eqoa-theme-dark #character-builder-app .character-builder-slot,
html.eqoa-theme-dark #cm-calculator-app .cm-card,
html.eqoa-theme-dark #cm-calculator-app .cm-purchased-panel,
html.eqoa-theme-dark #cm-calculator-app .cm-master-class-panel,
html.eqoa-theme-dark #cm-calculator-app .cm-unlocked-box {
    background: #1d1916 !important;
    color: #e6e1d8 !important;
    border-color: #3a3129 !important;
}

html.eqoa-theme-dark #character-builder-app .character-builder-title,
html.eqoa-theme-dark #character-builder-app .character-builder-section-title,
html.eqoa-theme-dark #character-builder-app .character-builder-subsection-title,
html.eqoa-theme-dark #cm-calculator-app .cm-title,
html.eqoa-theme-dark #cm-calculator-app .cm-section-title,
html.eqoa-theme-dark #cm-calculator-app .cm-panel-title,
html.eqoa-theme-dark #cm-calculator-app .cm-purchased-group-title {
    background: #332513 !important;
    color: #f2ab31 !important;
    border-color: rgba(242, 171, 49, 0.28) !important;
    text-shadow: none !important;
}

html.eqoa-theme-dark #character-builder-app table,
html.eqoa-theme-dark #character-builder-app th,
html.eqoa-theme-dark #character-builder-app td,
html.eqoa-theme-dark #cm-calculator-app table,
html.eqoa-theme-dark #cm-calculator-app th,
html.eqoa-theme-dark #cm-calculator-app td {
    background: #1d1916 !important;
    color: #e6e1d8 !important;
    border-color: #3a3129 !important;
}

html.eqoa-theme-dark #character-builder-app th,
html.eqoa-theme-dark #cm-calculator-app th {
    background: #1d1916 !important;
    color: #f2ab31 !important;
}

html.eqoa-theme-dark #character-builder-app input,
html.eqoa-theme-dark #character-builder-app select,
html.eqoa-theme-dark #character-builder-app textarea,
html.eqoa-theme-dark #cm-calculator-app input,
html.eqoa-theme-dark #cm-calculator-app select,
html.eqoa-theme-dark #cm-calculator-app textarea {
    background: #1d1916 !important;
    color: #e6e1d8 !important;
    border: 1px solid #3a3129 !important;
}

html.eqoa-theme-dark #character-builder-app button,
html.eqoa-theme-dark #cm-calculator-app button {
    background: #1d1916 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.28) !important;
}

html.eqoa-theme-dark #character-builder-app button:hover,
html.eqoa-theme-dark #cm-calculator-app button:hover {
    background: #332513 !important;
    color: #ffd45a !important;
}


.cb-picker-tools {
    display: flex !important;
    gap: 5px !important;
    align-items: center !important;
    margin: 4px 0 !important;
}

.cb-picker-tools .cb-slot-filter,
.cb-picker-tools .cb-slot-sort {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

.cb-upgrade-row {
    display: block !important;
    width: 100% !important;
    margin: 2px 0 5px 0 !important;
    clear: both !important;
}

.cb-upgrade-row .cb-upgrade-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
}
























/* Rare Encounter + Raid Encounter */
html.eqoa-theme-dark .rare-encounter-table,
html.eqoa-theme-dark .raid-encounter-table table,
html.eqoa-theme-dark .rare-mobile-box {
    background: #1d1916 !important;
    color: #e6e1d8 !important;
    border-color: #3a3129 !important;
}

html.eqoa-theme-dark .rare-encounter-table th,
html.eqoa-theme-dark .raid-encounter-table th,
html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify b,
html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify > b,
html.eqoa-theme-dark .rare-mobile-heading {
    background: #332513 !important;
    color: #f2ab31 !important;
    border-color: rgba(242, 171, 49, 0.28) !important;
}

html.eqoa-theme-dark .rare-encounter-table td,
html.eqoa-theme-dark .raid-encounter-table td {
    background: #1d1916 !important;
    color: #e6e1d8 !important;
    border-color: #3a3129 !important;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label,
html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label {
    color: #f2ab31 !important;
    border-color: rgba(242, 171, 49, 0.16) !important;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label:nth-of-type(odd),
html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label:nth-of-type(odd) {
    background: #1d1916 !important;
}

html.eqoa-theme-dark .rare-encounter-table .raid-checkboxify label:nth-of-type(even),
html.eqoa-theme-dark .raid-encounter-table .raid-checkboxify label:nth-of-type(even) {
    background: #1d1916 !important;
}

/* CM card gain/loss preview */
.cm-card-effects {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 7px;
}

.cm-card-effects span {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.cm-card-gain {
    background: rgba(70, 170, 80, 0.16);
    border: 1px solid rgba(120, 220, 130, 0.35);
    color: #9eff9e;
}

.cm-card-loss {
    background: rgba(170, 55, 45, 0.18);
    border: 1px solid rgba(255, 120, 105, 0.35);
    color: #ff9b8f;
}

/* =========================================================
   DARK THEME - MONOBOOK PAGE ACTION TABS
   Main Page / Discussion / Read / Edit / History...
========================================================= */

html.eqoa-theme-dark #p-cactions li,
html.eqoa-theme-dark #p-cactions li.selected {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
}

html.eqoa-theme-dark #p-cactions li a,
html.eqoa-theme-dark #p-cactions li.selected a {
    background: #1d1916 !important;
    background-color: #1d1916 !important;
    background-image: none !important;

    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.28) !important;

    font-weight: 700 !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

html.eqoa-theme-dark #p-cactions li.selected a,
html.eqoa-theme-dark #p-cactions li a:hover {
    background: #332513 !important;
    background-color: #332513 !important;
    color: #ffd45a !important;
    border-color: rgba(242, 171, 49, 0.45) !important;
}






/* =========================================================
   SIDEBAR ACCOUNT BUTTONS - 3 PER ROW
   ========================================================= */

#eqoa-sidebar-account {
    width: 132px !important;
    margin: 8px 6px 10px 6px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#eqoa-sidebar-account .eqoa-sidebar-account-title {
    height: 22px !important;
    line-height: 22px !important;
    padding: 0 6px !important;
    margin: 0 0 4px 0 !important;

    background: #332513 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.28) !important;
border-radius: 0 !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-shadow: none !important;
    box-sizing: border-box !important;
}

#eqoa-sidebar-account .eqoa-sidebar-account-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3px !important;
}

#eqoa-sidebar-account .eqoa-sidebar-account-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 0 !important;
    min-height: 28px !important;
    padding: 4px 3px !important;
    box-sizing: border-box !important;

    background: #1d1916 !important;
    color: #ffb000 !important;
    border: 1px solid #6b5430 !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    text-shadow: none !important;
}

#eqoa-sidebar-account .eqoa-sidebar-account-button:hover {
    background: #3a2418 !important;
    color: #ffd45a !important;
    text-decoration: none !important;
}

/* =========================================================
   SIDEBAR TITLES - TITLE CASE
   ========================================================= */

#column-one h3,
#column-one h5,
#column-one h3[id$="-label"],
#column-one h5[id$="-label"] {
    text-transform: capitalize !important;
}

/* =========================================================
   EQOA Crafts / Hobbies Category Layout
   ========================================================= */

.eqoa-crafts-box {
    width: 100%;
    margin: 16px auto;
    border: 1px solid var(--wiki-border);
    background: var(--wiki-panel);
    color: var(--wiki-text);
    box-sizing: border-box;
}

.eqoa-crafts-header {
    background: var(--wiki-panel-3, #332513);
    color: var(--wiki-link, #f2ab31);
    border-bottom: 1px solid rgba(242, 171, 49, 0.28);
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    padding: 8px 10px;
    box-sizing: border-box;
}

.eqoa-crafts-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 16px 24px;
    background: var(--wiki-panel-2);
    box-sizing: border-box;
}

.eqoa-hobbies-grid {
    grid-template-columns: repeat(4, 1fr);
}

.eqoa-craft-tile {
    text-align: center;
    color: var(--wiki-link);
    font-weight: 700;
    line-height: 1.35;
}

.eqoa-craft-tile a {
    color: var(--wiki-link) !important;
    text-decoration: none !important;
}

.eqoa-craft-tile a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

.eqoa-craft-tile img {
    margin-top: 4px;
    padding: 2px;
    border: 2px solid rgba(242, 171, 49, 0.55);
    background: #e8e1d4;
    image-rendering: auto;
}

/* Light theme override */
html.eqoa-theme-light .eqoa-crafts-box {
    border-color: #d8d1c7;
    background: #ffffff;
}

html.eqoa-theme-light .eqoa-crafts-header {
    background: #ece8e1;
    color: #5a3928;
    border-bottom-color: #d8d1c7;
}

html.eqoa-theme-light .eqoa-crafts-grid {
    background: #fbfaf8;
}

html.eqoa-theme-light .eqoa-craft-tile,
html.eqoa-theme-light .eqoa-craft-tile a {
    color: #5a3928 !important;
}

html.eqoa-theme-light .eqoa-craft-tile a:hover {
    color: #8a5538 !important;
}

html.eqoa-theme-light .eqoa-craft-tile img {
    border-color: #b68a2c;
    background: #ffffff;
}

@media screen and (max-width: 700px) {
    .eqoa-crafts-grid,
    .eqoa-hobbies-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 12px;
    }
}

.eqoa-hobbies-grid {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
}

.eqoa-hobbies-grid .eqoa-craft-tile {
    width: 160px !important;
}









/* =========================================================
 Crafting rank table
 ========================================================= */

.crafting-rank-table {
    max-width: 420px !important;
    margin: 12px auto !important;
}

.crafting-rank-table th,
.crafting-rank-table td {
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.crafting-rank-table th {
    font-size: 19px !important;
    color: var(--wiki-link) !important;
}

.crafting-rank-table td:first-child {
    width: 40% !important;
}

/* =========================================================
   Crafting Ranks Section
   ========================================================= */

.eqoa-crafting-ranks-body {
    font-size: 17px !important;
    line-height: 1.55 !important;
}

.eqoa-crafting-ranks-body p {
    margin: 0 0 12px 0 !important;
    color: var(--wiki-text) !important;
}

.eqoa-crafting-rank-chart {
    float: right !important;
    width: 360px !important;
    max-width: 42% !important;
    margin: 0 0 12px 18px !important;
}

.eqoa-crafting-rank-chart .crafting-rank-table {
    width: 100% !important;
    margin: 0 !important;
}

.crafting-rank-table th,
.crafting-rank-table td {
    text-align: center !important;
    vertical-align: middle !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.crafting-rank-table th {
    font-size: 19px !important;
    color: var(--wiki-link) !important;
}

.eqoa-crafting-ranks-body::after {
    content: "" !important;
    display: block !important;
    clear: both !important;
}

@media screen and (max-width: 700px) {
    .eqoa-crafting-rank-chart {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px 0 !important;
    }
}


.crafting-attribute-table th,
.crafting-attribute-table td {
    text-align: center !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.crafting-attribute-table th {
    font-size: 19px !important;
    color: var(--wiki-link) !important;
}



/* =========================================================
   ZonePageRight - Horizon-style Zone Information box
   ========================================================= */

.zone-info-wrapper {
    background: var(--wiki-panel) !important;
    border: 1px solid var(--wiki-border) !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    color: var(--wiki-text) !important;
}

.zone-info-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    font-size: 0.9rem !important;
    text-align: left !important;
    background: var(--wiki-panel) !important;
    border: 1px solid var(--wiki-border) !important;
    color: var(--wiki-text) !important;
}

.zone-info-table th,
.zone-info-table td {
    border: 1px solid var(--wiki-border) !important;
    padding: 7px !important;
    vertical-align: top !important;
    background: var(--wiki-panel) !important;
    color: var(--wiki-text) !important;
}

.zone-info-table th {
    width: 150px !important;
    background: var(--wiki-panel-2) !important;
    color: var(--wiki-link) !important;
    font-weight: 800 !important;
}

.zone-info-table .zone-info-title {
    width: auto !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    background: var(--wiki-panel-3, var(--wiki-panel-2)) !important;
    color: var(--wiki-link) !important;
}

.zone-info-table a {
    color: var(--wiki-link) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.zone-info-table a:hover {
    color: var(--wiki-link-hover) !important;
    text-decoration: underline !important;
}

/* =========================================================
   ZoneDetails typography - 30% smaller
   ========================================================= */

.zone-details-header {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
}

.zone-details-content {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.zone-details-content a {
    font-weight: 900 !important;
}

/* =========================================================
   ZonePageLeft typography - 30% smaller
   ========================================================= */

.zone-left-parent-box .zones-header {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
}

.zone-left-parent-box .zones-content {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.zone-left-parent-box .zones-content a {
    font-weight: 900 !important;
}

/* =========================================================
   Zone page TOC + ZoneInfo typography - 30% smaller
   ========================================================= */

.zone-toc-box .zones-content,
.zone-toc-box .zones-content a {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.55 !important;
}

.zone-info-table th,
.zone-info-table td {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.zone-info-table .zone-info-title {
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.zone-info-table td a {
    font-weight: 900 !important;
}



/* =========================================================
   ZONE PAGE LAYOUT - FINAL CLEAN VERSION
   ========================================================= */

.zone-page-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 58%) minmax(320px, 42%) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.zone-page-layout .zone-left,
.zone-page-layout .zone-right {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.zone-left-top-layout {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(300px, 42%) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.zone-description-box {
    min-width: 0 !important;
}

.zone-toc-box,
.zone-interactive-map-box {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.zone-interactive-map-content .eqoa-interactive-map {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

@media screen and (max-width: 1200px) {
    .zone-left-top-layout {
        grid-template-columns: 1fr !important;
    }

    .zone-description-box,
    .zone-toc-box,
    .zone-interactive-map-box {
    }

    .zone-interactive-map-content .eqoa-interactive-map {
        width: 100% !important;
        max-width: 650px !important;
    }
}

@media screen and (max-width: 700px) {
    .zone-page-layout,
    .zone-left-top-layout {
        display: block !important;
    }

    .zone-left,
    .zone-right,
    .zone-description-box,
    .zone-toc-box,
    .zone-interactive-map-box {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8px 0 !important;
    }
}

/* =========================================================
   ZONE DESCRIPTION FULL SPAN FIX
   Must stay at very bottom
   ========================================================= */

.zone-left-top-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
        "description description"
        "toc map" !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.zone-description-box {
    grid-area: description !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
}

/* Force everything INSIDE Description to use the full spanned width */
.zone-description-box > *,
.zone-description-box .zones-box,
.zone-description-box .zones-header,
.zone-description-box .zones-content,
.zone-description-box table,
.zone-description-box tbody,
.zone-description-box tr,
.zone-description-box td {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Bottom row */
.zone-toc-box {
    grid-area: toc !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.zone-interactive-map-box {
    grid-area: map !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Map stays inside right column */
.zone-interactive-map-content,
.zone-interactive-map-content .eqoa-interactive-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


/* =========================================================
   INTERACTIVE MAP FINAL - 25% BIGGER, FULL MAP, NO DRAG OUT
   Must stay at very bottom
   ========================================================= */

.zone-interactive-map-box,
.zone-interactive-map-box .zones-box,
.zone-interactive-map-box .zones-content,
.zone-interactive-map-content {
    overflow: visible !important;
}

/* The map box is 25% bigger but keeps the real map image ratio from JS */
.zone-interactive-map-content .eqoa-interactive-map {
    width: 125% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;

    margin-left: -12.5% !important;
    margin-right: -12.5% !important;

    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

/* Keep controls inside the enlarged map */
.eqoa-interactive-map .leaflet-top {
    top: 8px !important;
}

.eqoa-interactive-map .leaflet-left {
    left: 8px !important;
}

.eqoa-interactive-map .leaflet-right {
    right: 8px !important;
}

.eqoa-interactive-map .leaflet-control {
    margin: 0 !important;
    z-index: 9999 !important;
}

/* Prevent Leaflet gray/empty background from showing */
.eqoa-interactive-map,
.eqoa-interactive-map .leaflet-container,
.eqoa-interactive-map .leaflet-pane,
.eqoa-interactive-map .leaflet-map-pane {
    background: transparent !important;
}

/* Interactive Map Filter Panel */

.eqoa-map-filter-panel {
    min-width: 150px;
    max-width: 220px;
    max-height: 320px;
    overflow-y: auto;
    background: #1a120c !important;
    color: #e6e1d8 !important;
    border: 1px solid rgba(242, 171, 49, 0.45) !important;
    padding: 6px !important;
    font-size: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.65) !important;
}

.eqoa-map-filter-header {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 0;
    color: #f2ab31 !important;
    font-weight: 800;
}

.eqoa-map-filter-expand {
    width: 18px;
    height: 18px;
    padding: 0 !important;
    line-height: 16px;
    background: #332513 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.45) !important;
    cursor: pointer;
}

.eqoa-map-filter-list {
    margin-left: 23px;
    padding: 2px 0 5px 0;
}

.eqoa-map-filter-row {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 2px 0;
    color: #e6e1d8 !important;
    cursor: pointer;
}

html.eqoa-theme-light .eqoa-map-filter-panel {
    background: #ffffff !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light .eqoa-map-filter-header {
    color: #5a3928 !important;
}

html.eqoa-theme-light .eqoa-map-filter-expand {
    background: #ece8e1 !important;
    color: #5a3928 !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light .eqoa-map-filter-row {
    color: #2b211b !important;
}

/* =========================================================
   INTERACTIVE MAP FILTER - FINAL ICON + HOVER FIX
   Must stay at very bottom
   ========================================================= */

.eqoa-map-filter-control {
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    overflow: visible !important;
}

.eqoa-map-filter-icon {
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    display: block !important;

    background: #1a120c !important;
    border: 1px solid rgba(242, 171, 49, 0.65) !important;
    border-radius: 4px !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.65) !important;

    font-size: 0 !important;
    color: transparent !important;
    cursor: pointer !important;
    padding: 0 !important;
}

/* Draw stacked layers icon */
.eqoa-map-filter-icon::before,
.eqoa-map-filter-icon::after {
    content: "" !important;
    position: absolute !important;
    left: 9px !important;
    width: 18px !important;
    height: 18px !important;
    transform: rotate(45deg) skew(-12deg, -12deg) !important;
    background: #d8d8d8 !important;
    border: 1px solid #777 !important;
    box-sizing: border-box !important;
}

.eqoa-map-filter-icon::before {
    top: 9px !important;
    box-shadow:
        3px 3px 0 #a8a8a8,
        6px 6px 0 #777 !important;
}

.eqoa-map-filter-icon::after {
    top: 7px !important;
    background: #f2f2f2 !important;
}

/* Hidden by default */
.eqoa-map-filter-control .eqoa-map-filter-panel {
    display: none !important;
    position: absolute !important;

    top: 0 !important;
    right: 36px !important; /* no gap, so hover does not break */

    min-width: 165px !important;
    max-width: 260px !important;
    max-height: 320px !important;
    overflow-y: auto !important;

    background: #1a120c !important;
    color: #e6e1d8 !important;
    border: 1px solid rgba(242, 171, 49, 0.65) !important;
    padding: 6px !important;
    font-size: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.75) !important;
}

/* Keep open while hovering icon OR panel */
.eqoa-map-filter-control:hover .eqoa-map-filter-panel,
.eqoa-map-filter-panel:hover {
    display: block !important;
}

.eqoa-map-filter-header {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 3px 0 !important;
    color: #f2ab31 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.eqoa-map-filter-expand {
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    line-height: 16px !important;
    background: #332513 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.55) !important;
    cursor: pointer !important;
}

.eqoa-map-filter-list {
    margin-left: 23px !important;
    padding: 2px 0 5px 0 !important;
}

.eqoa-map-filter-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 2px 0 !important;
    color: #e6e1d8 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}




























/* =========================================================
/* Job page artwork transparent fix */
   ========================================================= */
.job-right,
.job-right a,
.job-right a.image,
.job-right .mw-file-description,
.job-right img,
.job-artwork {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   INTERACTIVE MAP FILTER - CLICK/HOVER STABLE FINAL
   ========================================================= */

.eqoa-map-filter-control {
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    overflow: visible !important;
}

.eqoa-map-filter-icon {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #1a120c !important;
    border: 1px solid rgba(242, 171, 49, 0.65) !important;
    border-radius: 4px !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.eqoa-map-layer-icon {
    position: relative !important;
    width: 22px !important;
    height: 18px !important;
    display: block !important;
}

.eqoa-map-layer-icon span {
    position: absolute !important;
    left: 2px !important;
    width: 18px !important;
    height: 10px !important;
    background: #d8d8d8 !important;
    border: 1px solid #777 !important;
    transform: rotate(28deg) skew(-28deg) !important;
}

.eqoa-map-layer-icon span:nth-child(1) {
    top: 0 !important;
    background: #f2f2f2 !important;
}

.eqoa-map-layer-icon span:nth-child(2) {
    top: 4px !important;
    background: #c8c8c8 !important;
}

.eqoa-map-layer-icon span:nth-child(3) {
    top: 8px !important;
    background: #999 !important;
}

.eqoa-map-filter-control .eqoa-map-filter-panel {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    transform: translateX(-38px) !important;

    min-width: 165px !important;
    max-width: 260px !important;
    max-height: 320px !important;
    overflow-y: auto !important;

    background: #1a120c !important;
    color: #e6e1d8 !important;
    border: 1px solid rgba(242, 171, 49, 0.65) !important;
    padding: 6px !important;
    font-size: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.75) !important;
    z-index: 10000 !important;
}

.eqoa-map-filter-control.eqoa-map-filter-open .eqoa-map-filter-panel {
    display: block !important;
}

.eqoa-map-filter-header,
.eqoa-map-filter-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
}

.eqoa-map-filter-header {
    color: #f2ab31 !important;
    font-weight: 800 !important;
    padding: 3px 0 !important;
}

.eqoa-map-filter-row {
    color: #e6e1d8 !important;
    padding: 2px 0 !important;
}

.eqoa-map-filter-expand {
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    line-height: 16px !important;
    background: #332513 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.55) !important;
    cursor: pointer !important;
}

/* =========================================================
   INTERACTIVE MAP FINAL LOCK
   Same behavior at every resolution
   ========================================================= */

.zone-interactive-map-box,
.zone-interactive-map-box .zones-box,
.zone-interactive-map-box .zones-content,
.zone-interactive-map-content {
    overflow: hidden !important;
}

/* Map is 25% larger by making its column larger, not by spilling outside */
.zone-left-top-layout {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.25fr) !important;
}

.zone-interactive-map-content .eqoa-interactive-map {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

/* Leaflet controls: dark EQOA buttons, never white */
.eqoa-interactive-map .leaflet-control-zoom a,
.eqoa-interactive-map .leaflet-control-layers-toggle,
.eqoa-interactive-map .leaflet-control-layers {
    background-color: #1d1916 !important;
    color: #f2ab31 !important;
    border-color: rgba(242, 171, 49, 0.45) !important;
    box-shadow: none !important;
}

.eqoa-interactive-map .leaflet-control-zoom a:hover,
.eqoa-interactive-map .leaflet-control-layers-toggle:hover {
    background-color: #332513 !important;
    color: #ffd45a !important;
}

.eqoa-interactive-map .leaflet-control-zoom {
    border: 1px solid rgba(242, 171, 49, 0.45) !important;
}

.eqoa-interactive-map .leaflet-control-zoom-in,
.eqoa-interactive-map .leaflet-control-zoom-out {
    border-bottom-color: rgba(242, 171, 49, 0.3) !important;
}

.eqoa-interactive-map .leaflet-top {
    top: 8px !important;
}

.eqoa-interactive-map .leaflet-left {
    left: 8px !important;
}

.eqoa-interactive-map .leaflet-right {
    right: 8px !important;
}

.eqoa-interactive-map .leaflet-control {
    margin: 0 !important;
    z-index: 9999 !important;
}

/* No gray/white Leaflet background */
.eqoa-interactive-map,
.eqoa-interactive-map .leaflet-container,
.eqoa-interactive-map .leaflet-pane,
.eqoa-interactive-map .leaflet-map-pane {
    background: transparent !important;
}

/* =========================================================
   INTERACTIVE MAP TOOLTIP - THEME AWARE
   ========================================================= */

html.eqoa-theme-dark .eqoa-interactive-map .leaflet-tooltip {
    background: #1d1916 !important;
    background-color: #1d1916 !important;
    color: #e6e1d8 !important;
    border: 1px solid rgba(242, 171, 49, 0.45) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.65) !important;
}

html.eqoa-theme-dark .eqoa-interactive-map .leaflet-tooltip b {
    color: #f2ab31 !important;
}

html.eqoa-theme-dark .eqoa-interactive-map .leaflet-tooltip span {
    color: #ffd45a !important;
}

html.eqoa-theme-light .eqoa-interactive-map .leaflet-tooltip {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2b211b !important;
    border: 1px solid #d8d1c7 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22) !important;
}

html.eqoa-theme-light .eqoa-interactive-map .leaflet-tooltip b {
    color: #5a3928 !important;
}

html.eqoa-theme-light .eqoa-interactive-map .leaflet-tooltip span {
    color: #8a5538 !important;
}

/* Tooltip arrow */
html.eqoa-theme-dark .eqoa-interactive-map .leaflet-tooltip-top::before {
    border-top-color: rgba(242, 171, 49, 0.45) !important;
}

html.eqoa-theme-light .eqoa-interactive-map .leaflet-tooltip-top::before {
    border-top-color: #d8d1c7 !important;
}

/* Interactive Map Multi-NPC Popup */

.eqoa-interactive-map .eqoa-map-popup .leaflet-popup-content-wrapper {
    background: #1a120c !important;
    color: #e6e1d8 !important;
    border: 1px solid rgba(242, 171, 49, 0.55) !important;
    border-radius: 4px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.75) !important;
}

.eqoa-interactive-map .eqoa-map-popup .leaflet-popup-content {
    margin: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.eqoa-interactive-map .eqoa-map-popup a {
    color: #f2ab31 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.eqoa-interactive-map .eqoa-map-popup a:hover {
    color: #ffd45a !important;
    text-decoration: underline !important;
}

.eqoa-interactive-map .eqoa-map-popup .leaflet-popup-tip {
    background: #1a120c !important;
    border: 1px solid rgba(242, 171, 49, 0.55) !important;
}

html.eqoa-theme-light .eqoa-interactive-map .eqoa-map-popup .leaflet-popup-content-wrapper {
    background: #ffffff !important;
    color: #2b211b !important;
    border-color: #d8d1c7 !important;
}

html.eqoa-theme-light .eqoa-interactive-map .eqoa-map-popup a {
    color: #5a3928 !important;
}

html.eqoa-theme-light .eqoa-interactive-map .eqoa-map-popup a:hover {
    color: #8a5538 !important;
}

html.eqoa-theme-light .eqoa-interactive-map .eqoa-map-popup .leaflet-popup-tip {
    background: #ffffff !important;
    border-color: #d8d1c7 !important;
}
/* =========================================================
   CENTER PAGE CONTENT, FULL-WIDTH TOP/BOTTOM BARS
   ========================================================= */

body {
    background: #101214 !important;
}

/* Center the actual wiki page shell */
#globalWrapper {
    max-width: 2500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
}

/* Top bar stays full browser width */
#eqoa-topbar {
    max-width: none !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
}

/* Footer stays full browser width */
#footer,
.mw-footer,
#footer-places,
#footer-info,
#footer-icons {
    max-width: none !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
}

/* Keep Discord rail aligned with centered page */
#eqoa-right-rail {
    right: max(18px, calc((100vw - 2500px) / 2 + 18px)) !important;
}

/* Keep account buttons aligned with centered page */
#p-personal {
    right: max(18px, calc((100vw - 2500px) / 2 + 18px)) !important;
}

/* =========================================================
   GLOBAL BACKGROUND COLOR LOCK
   Must stay at very bottom of Common.css
   ========================================================= */

html,
body,
body.skin-monobook,
#globalWrapper,
#column-content,
#column-one,
#content,
#bodyContent,
#mw-content-text,
.mw-body,
.mw-body-content,
.mw-parser-output {
    background: rgb(20, 18, 15) !important;
    background-color: rgb(20, 18, 15) !important;
    background-image: none !important;
}

html.eqoa-theme-dark,
html.eqoa-theme-dark body,
html.eqoa-theme-dark body.skin-monobook,
html.eqoa-theme-dark #globalWrapper,
html.eqoa-theme-dark #column-content,
html.eqoa-theme-dark #column-one,
html.eqoa-theme-dark #content,
html.eqoa-theme-dark #bodyContent,
html.eqoa-theme-dark #mw-content-text,
html.eqoa-theme-dark .mw-body,
html.eqoa-theme-dark .mw-body-content,
html.eqoa-theme-dark .mw-parser-output {
    background: rgb(20, 18, 15) !important;
    background-color: rgb(20, 18, 15) !important;
    background-image: none !important;
}


/* =========================================================
   FINAL SIDEBAR + PAGE BACKGROUND FIX
   Must stay at very bottom of Common.css
   ========================================================= */

/* Main wiki background */
html,
body,
body.skin-monobook,
#globalWrapper,
#column-content,
#content,
#bodyContent,
#mw-content-text,
.mw-body,
.mw-body-content,
.mw-parser-output {
    background: rgb(52, 48, 45) !important;
    background-color: rgb(52, 48, 45) !important;
    background-image: none !important;
}

/* Main edit/content panel, not pure black */
#content,
.mw-body,
#bodyContent,
#mw-content-text {
    background: rgb(29, 25, 22) !important;
    background-color: rgb(29, 25, 22) !important;
    border-color: rgb(52, 48, 45) !important;
}

/* Edit textarea, summary box */
#wpTextbox1,
#wpSummary {
    background: rgb(29, 25, 22) !important;
    background-color: rgb(29, 25, 22) !important;
    color: #f2ab31 !important;
    border: 1px solid rgb(52, 48, 45) !important;
}

/* Sidebar parent box */
#column-one,
html.eqoa-theme-dark #column-one {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    width: 165px !important;
    padding: 155px 10px 14px 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    background: rgb(29, 25, 22) !important;
    background-color: rgb(29, 25, 22) !important;
    background-image: none !important;

    border: 1px solid rgb(52, 48, 45) !important;
    border-radius: 4px !important;

    overflow: visible !important;
    z-index: 20 !important;
}

/* Logo stays inside sidebar parent */
#p-logo,
html.eqoa-theme-dark #p-logo {
    position: absolute !important;
    top: 8px !important;
    left: 10px !important;
    width: 145px !important;
    height: 145px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove black backgrounds from all normal sidebar menu wrappers */
#column-one .portlet,
#column-one .generated-sidebar,
#column-one .pBody,
#column-one .portlet .pBody,
#column-one .generated-sidebar .pBody,
#column-one div.pBody,
#column-one ul,
#column-one li,
html.eqoa-theme-dark #column-one .portlet,
html.eqoa-theme-dark #column-one .generated-sidebar,
html.eqoa-theme-dark #column-one .pBody,
html.eqoa-theme-dark #column-one .portlet .pBody,
html.eqoa-theme-dark #column-one .generated-sidebar .pBody,
html.eqoa-theme-dark #column-one div.pBody,
html.eqoa-theme-dark #column-one ul,
html.eqoa-theme-dark #column-one li {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Sidebar headers */
#column-one h3,
#column-one h5,
#column-one h3[id$="-label"],
#column-one h5[id$="-label"] {
    width: 132px !important;
    margin: 8px auto 4px auto !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;

    background: #332513 !important;
    color: #f2ab31 !important;
    border: 1px solid rgba(242,171,49,0.35) !important;
    border-radius: 4px !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    text-align: center !important;
    text-shadow: none !important;
}

/* Sidebar list spacing */
#column-one ul {
    margin: 0 0 8px 16px !important;
    padding: 0 !important;
}

#column-one li {
    color: #86b3c4 !important;
}

/* Sidebar links */
#column-one a,
#column-one a:visited {
    color: #f2ab31 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

#column-one a:hover {
    color: #ffd45a !important;
    text-decoration: underline !important;
}

/* Push content and action tabs clear of the sidebar */
#column-content,
#content,
.mw-body {
    margin-left: 180px !important;
}

#p-cactions,
html.eqoa-theme-dark #p-cactions {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: absolute !important;
    top: 10px !important;
    left: 185px !important;
    right: auto !important;

    z-index: 99999 !important;
    background: transparent !important;
    border: 0 !important;
}


/* Sidebar headers - match Account title box */
#column-one h3,
#column-one h5,
#column-one h3[id$="-label"],
#column-one h5[id$="-label"],
#column-one .portlet h3,
#column-one .portlet h5,
#column-one .generated-sidebar h3,
#column-one .generated-sidebar h5 {
    display: block !important;

    width: 132px !important;
    height: 22px !important;
    line-height: 22px !important;

    margin: 8px auto 4px auto !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;

    background: #332513 !important;
    background-color: #332513 !important;
    background-image: none !important;

    color: #f2ab31 !important;
    border: 1px solid rgba(242, 171, 49, 0.28) !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-shadow: none !important;
}