MediaWiki:Common.css: Difference between revisions

From MB Wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
mNo edit summary
 
(256 intermediate revisions by 2 users not shown)
Line 1: Line 1:
.class { }/* needed for some reason for the @imports to work */
/*************************************🎮**************************************
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&display=swap');
                                                                              *
      ╔═══════════════════════════════════════════════════════════════════╗ 
                                                        COMMON.CSS (vA0.1)                                                       
                                                                ✦ M*n* B**** ✦                                                             
      ╚═══════════════════════════════════════════════════════════════════╝ 
                                                                              *
*******************************************************************************/


/* Imports caching */
/*
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Colors.css&action=raw&ctype=text/css");
*This page contains the entire stylesheet for the MB Wiki.
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Module:Documentation.css&action=raw&ctype=text/css");
*We urge you "not to edit" this page "directly".
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Documentation.css&action=raw&ctype=text/css");
*Some of the code inherited from coralisland.wiki.
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Infobox.css&action=raw&ctype=text/css");
*Any functional issue please report to our wiki-team at the official discord channel
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Tables.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:MessageBox.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:CustomTabs.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Navbox.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Icons.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Dialogue.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Cards.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Tabbers.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Mobile.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Recipe.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:Modal.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:AceEditor.css&action=raw&ctype=text/css");
@import url("https://coralwiki.stairwaygames.com/w/index.php?title=MediaWiki:CodeMirror.css&action=raw&ctype=text/css");


body.skin-vector-dark {
*Imports will be starting below this very line;
background: url("https://coralwiki.stairwaygames.com/w/images/9/9a/Site-background-dark.png") no-repeat fixed center center / cover !important;
*/
}
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&display=swap');


.mobileHide, .mobile-only, .no-desktop {
display: none!important;
}


/* || FIXES */
.wikiEditor-ui-text > .ui-resizable {
width: 100% !important;
max-width: 100%;
}
ul {
list-style: disc;
}


/* ============================================
  ALL @IMPORTS MUST BE AT THE VERY TOP
  ============================================ */


h2 .mw-headline,
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Colors.css&action=raw&ctype=text/css");
h3 .mw-headline,
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Module:Documentation.css&action=raw&ctype=text/css");
h4 .mw-headline {
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Documentation.css&action=raw&ctype=text/css");
font-weight: 500;
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Infobox.css&action=raw&ctype=text/css");
}
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Tables.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:MessageBox.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:CustomTabs.css&action=raw&ctype=text/css"); 
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Navbox.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Icons.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Dialogue.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Cards.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Tabbers.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Mobile.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Recipe.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Modal.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:AceEditor.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:CodeMirror.css&action=raw&ctype=text/css");


.vector-body h3 , .vector-body h4 , .vector-body h5 , .vector-body h6 {
/* ============================================
margin-bottom: 4px;
  TOKEN ROOT ARCHITECTURE
}
  ============================================ */


a, a:visited, a:active,
/* ✦ THEME MANA (LIGHT) - DEFAULT ✦ */
.mw-parser-output a:is(.external, .external:visited, .external:active) {
:root {
color: var(--theme-link-color);
    /* 1. Core Color Palette */
}
    --color-primary: #88eee0;
#mw-head .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
    --color-secondary: #d9ffe9;
color: var(--theme-page-text-color);
    --color-accent: #87b4b7;
}
   
#mw-panel .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
    /* 2. Semantic Backgrounds */
color: var(--theme-link-color);
    --theme-body-bg: var(--color-secondary);
    --theme-card-bg: rgba(255, 255, 255, 0.85);
    --theme-card-bg-hover: #ffffff;
   
    /* 3. Semantic Text Colors */
    --theme-text-primary: #1a2b3c;
    --theme-text-muted: #4a5b6c;
    --theme-heading-color: #0d1b2a;
   
    /* 4. Borders & Interactive Elements */
    --theme-border-color: var(--color-accent);
    --theme-border-color-rgb: 135, 180, 183;
    --theme-link-color: #006b75;
    --theme-link-hover: #004a52;
   
    /* 5. Structures */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --shadow-soft: 0 4px 6px rgba(0, 0, 0, 0.05);
   
    /* Main Page Layout Layout */
    --main-page-layout--desktop: 'banner banner banner' 'about about updates' 'starts starts starts' 'items items items' 'characters characters characters' 'enemies enemies enemies' 'area area area';
    --main-page-layout--tablet: 'banner banner' 'about updates' 'starts starts' 'items items' 'characters characters' 'enemies enemies' 'area area';
    --main-page-layout--mobile: 'banner' 'about' 'updates' 'starts' 'items' 'characters' 'enemies' 'area';
}
}


.mw-parser-output a.external {
/* ✦ THEME BREAK (DARK) - TOGGLE ✦ */
padding-right: 0;
html.theme-break {
font-size: inherit;
    /* 1. Core Color Palette */
    --color-primary: #12435e;
    --color-secondary: #0e344d;
    --color-accent: #7ff6e3;
   
    /* 2. Semantic Backgrounds */
    --theme-body-bg: var(--color-secondary);
    --theme-card-bg: var(--color-primary);
    --theme-card-bg-hover: #164f6f;
   
    /* 3. Semantic Text Colors */
    --theme-text-primary: #eaeef2;
    --theme-text-muted: #87b4b7;
    --theme-heading-color: #ffffff;
   
    /* 4. Borders & Interactive Elements */
    --theme-border-color: var(--color-accent);
    --theme-border-color-rgb: 127, 246, 227;
    --theme-link-color: var(--color-accent);
    --theme-link-hover: #aafff0;
   
    /* 5. Structures */
    --shadow-soft: 0 4px 6px rgba(0, 0, 0, 0.3);
}
}
/* ============================================
  BASE LAYOUT & STRUCTURAL RESET
  ============================================ */


.catlinks {
/* 1. Universal Box Sizing */
border-color: var(--theme-border-color);
*, *::before, *::after {
border-radius: 6px;
    box-sizing: border-box;
background-color: var(--gray-050);
}
}


.CodeMirror-lines span {
/* 2. MediaWiki Body & Container Reset */
font: 14px Consolas,Eupheima UCAS,Monaco,Menlo,monospace /* Source Editor */
body {
    background-color: var(--theme-body-bg) !important;
    color: var(--theme-text-primary);
    font-family: 'Fredoka', sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}
}


.wikiEditor-ui .ace_editor * {
/* Stripping native MediaWiki container styles  */
font-size: 13px;
.mw-body, #content {
font-family: monospace, monospace; /* Module */
    background: transparent !important;
    border: none !important;
    color: var(--theme-text-primary);
}
}


.mw-input .mw-abusefilter-editor * {
/* 3. Typography Normalization */
font-size: 13px;
h1, h2, h3, h4, h5, h6 {
font-family: monospace, monospace;
    color: var(--theme-heading-color);
    margin-top: 0;
    font-weight: 600;
}
}


/* Hide default TOOLBOX nav section on sidebar */
/* Remove MediaWiki's harsh default underline on H1/H2 */
#mw-navigation > #mw-panel > #p-tb {
.mw-body h1, .mw-body h2 {
display: none;
    border-bottom: 2px solid var(--theme-border-color);
    padding-bottom: 0.25em;
}
}


/* Column template fix */
/* 4. Hyperlink Standardization */
.columntemplate ul,
a {
.columntemplate ol {
    color: var(--theme-link-color);
margin-top: 0;
    text-decoration: none;
    transition: color 0.2s ease;
}
}


/* RC */
a:hover, a:focus {
.mw-changeslist table {
    color: var(--theme-link-hover);
width: unset;
    text-decoration: underline;
}
}


.gift-table .icon-list-container {
a:visited {
width: auto;
    color: var(--theme-link-color);  
}
}


/* Quote template */
/* 5. Responsive Media & Selection */
.quotetable {
img, video {
width: auto;
    max-width: 100%;
    height: auto;
}
}


.Bug6200 {
::selection {
margin-bottom: 0.75em;
    background: var(--color-primary);
    color: #000;  
}
}
 
::-moz-selection {
/* Code block */
    background: var(--color-primary);
code, pre {
    color: #000;
background-color: var(--theme-page-background-color--secondary);
color: var(--theme-page-text-color);
border: 1px solid var(--theme-border-color);
border-radius: 2px;
padding: 1px 4px;
font-family: Consolas,Eupheima UCAS,Monaco,Menlo,monospace;
}
}


code.code-block-table {
/* ============================================
display: table;
  BASE LAYOUT (MAPPED TO TOKENS)
line-height: 21px;
  ============================================ */
padding:8px;
html, body {
    background-color: var(--theme-body-bg) !important;
    background-image: none !important;  
    color: var(--theme-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;  
}
}


.code-block-table * {
.mw-body {
font: 14px Consolas,Eupheima UCAS,Monaco,Menlo,monospace;
    margin-top: -1px;
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-sm);
    background-color: transparent;
}
}


.code-block {
/* Hide default elements */
display: inline-block;
.mobileHide, .mobile-only, .no-desktop {
line-height: 21px;
    display: none !important;
}
}


/* || MAIN PAGE */
/* Fix for hidden H1 on main page */
body.page-Main_Page.action-view h1.firstHeading, body.page-Main_Page.action-submit h1.firstHeading { display: none; }
body.page-Main_Page.action-view h1.firstHeading,
body.page-Main_Page.action-view .main-page-top {
body.page-Main_Page.action-submit h1.firstHeading {
background-image: #5ec9ff;
    display: none;
background-repeat: repeat;
background-size: cover;
width: 100%;
display: flex;
flex-direction: column;
gap: 5px;
color: rgb(94, 201, 255); /*fixed color due to bg image*/
text-align: center;
align-items: center;
}
}


 
/* ============================================
/* ||TABLE OF CONTENTS */
  MAIN PAGE GRID LAYOUT
.toc {
  ============================================ */
padding: 8px 12px;
#mp-container {
border-radius: 10px;
    display: grid;
background-color: var(--theme-page-background-color--secondary);
    gap: 2rem;
border: 1px solid var(--theme-border-color);
    padding: 1rem;
margin-top: 16px;
    max-width: 1400px;
}
    margin: 0 auto;
.toctogglelabel {
color: var(--theme-link-color);
}
.tocnumber {
color: var(--theme-page-text-color);
}
}


.vector-body .toc h2 {
/* Desktop Layout */
font-family: Fredoka, sans-serif;
@media (min-width: 1024px) {
    #mp-container {
        grid-template-areas: var(--main-page-layout--desktop);
        grid-template-columns: repeat(3, 1fr);
    }
}
}


/* TOC hide headings */
/* Tablet Layout */
.toclimit-2 .toclevel-1 ul,
@media (min-width: 768px) and (max-width: 1023px) {
.toclimit-3 .toclevel-2 ul,
    #mp-container {
.toclimit-4 .toclevel-3 ul,
        grid-template-areas: var(--main-page-layout--tablet);
.toclimit-5 .toclevel-4 ul,
        grid-template-columns: repeat(2, 1fr);
.toclimit-6 .toclevel-5 ul,
    }
.toclimit-7 .toclevel-6 ul {
display: none;
}
}


/* For Template:Changelist */
/* Mobile Layout */
.changelist-header {
@media (max-width: 767px) {
display: flex;
    #mp-container {
justify-content: space-between;
        grid-template-areas: var(--main-page-layout--mobile);
align-items: center;
        grid-template-columns: 1fr;
font-size: 88%;
        gap: 1rem;
margin: 0.3em 0;
    }
}
}


.changelist-content {
/* MP Box styling */
overflow: auto;
.mp-box {
max-height: 384px;
    animation: fadeInUp 0.5s ease forwards;
padding: 1em;
    opacity: 0;
box-sizing: border-box;
-moz-box-sizing: border-box;
-moz-border-radius-topleft: 0.5em;
background: transparent;
border-radius: 6px;
}
}


.changelist-border {
/* Staggered animations */
border: 1px solid var(--theme-border-color);
.mp-box:nth-child(1) { animation-delay: 0.05s; }
border-left: 6px solid var(--accent);
.mp-box:nth-child(2) { animation-delay: 0.1s; }
}
.mp-box:nth-child(3) { animation-delay: 0.15s; }
.mp-box:nth-child(4) { animation-delay: 0.2s; }
.mp-box:nth-child(5) { animation-delay: 0.25s; }
.mp-box:nth-child(6) { animation-delay: 0.3s; }
.mp-box:nth-child(7) { animation-delay: 0.35s; }
.mp-box:nth-child(8) { animation-delay: 0.4s; }


 
@keyframes fadeInUp {
/* For Template:Chat */
    from {
.chat-wrapper {
        opacity: 0;
display: flex;
        transform: translateY(20px);
flex-direction: column;
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
}


.chat-player,
/* ============================================
.chat-npc {
  MAIN PAGE CARDS & GRIDS
display: flex;
  ============================================ */
flex-direction: row;
gap: 0.5em;
}


.chat-player-speaker {
/* Main Grid Wrapper  */
white-space: nowrap;
.main-page-card-grid {
min-width: 70px;
    display: grid;
color: rgb(105, 172, 82);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 1rem;
}
}


.chat-npc-speaker {
/* 1. Game Intro Cards */
white-space: nowrap;
.game-intro-card {
min-width: 70px;
    background-color: var(--theme-card-bg);
color: rgb(237, 123, 103);
    border-radius: var(--radius-lg); /* From Step 1 */
    padding: 1.25rem;
    border: 1px solid var(--theme-border-color);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.3s ease;
}
}


/* Hatnote */
.game-intro-card:hover {
.hatnote {
    background-color: var(--theme-card-bg-hover);
display: flex;
    transform: translateY(-4px);  
align-items: center;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
padding: 10px 15px;
    border-color: var(--color-primary);  
margin-top: 0.6rem;
margin-bottom: 0.8rem;
background-color: var( --color-surface-2 );
border: 1px solid var( --border-color-base--darker );
border-radius: var( --border-radius-base );
color: var( --color-base--emphasized );
font-size: 0.875rem;
line-height: 1.4;
}
}


.hatnote-icon img {
/* 2. Header Elements */
width: 14px;
.game-header {
height: auto;
    margin-bottom: 1rem;
margin-right: 10px;
    position: relative;
opacity: var( --opacity-icon-base );
}
}


.hatnote.hatnote-high {
.mana-text {
background-color: var( --background-color-destructive-subtle );
     font-family: 'Fredoka', sans-serif;
border-color: var( --color-destructive );
     font-size: 1.5rem;
}
     font-weight: 600;
 
     margin: 0;
.hatnote.hatnote-medium {
      
background-color: var( --background-color-warning-subtle );
     /* Gradient */
border-color: var( --color-warning );
     background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
}
     -webkit-background-clip: text;
 
     background-clip: text;
.hatnote.hatnote-low {
    color: transparent;
background-color: var( --color-surface-2 );
   
}
    /* Flexbox aligning the icon perfectly */
 
     display: flex;
 
/* Dark mode */
html.skin-citizen-dark .hatnote-icon img {
filter: invert( 1 );
}
 
 
/* For [[Module:Formatting]] */
code.code-block {
display: inline-block;
line-height: 21px;
}
code.code-block-table {
display: table;
line-height: 21px;
}
span.variable {
opacity: 0.65;
}
span.variable::after {
opacity: 0.65;
content: ">";
}
span.variable::before {
opacity: 0.65;
content: "<";
}
 
/* Quote */
 
.pull-quote {
font-style: italic;
margin: 0;
padding: 0 30px 8px !important
}
 
.pull-quote::before {
color: var(--accent);
content: "“";
display: block;
font-size: 96px;
font-style: normal;
line-height: 72px;
margin: 4px 0 -45px -5px;;
}
 
.pull-quote__source::before {
content: "— ";
margin-bottom:8px;
}
 
.pull-quote__text {
margin-bottom:4px;
}
 
/* Gallery */
.gallerytext {
text-align: center;
font-size:100%;
}
 
/* Fix to Template Data */
.mw-templatedata-doc-params > * > tr > th {
width: 150px;
}
 
.mw-templatedata-doc-params {
width: auto;
max-width: 100%;
}
 
/* Space sidebar arrows properly */
#mw-panel.collapsible-nav .portal:is(.collapsed, .expanded) .vector-menu-heading {
background-position: 95% center;
}
 
/* Theme toggle */
.wds-icon {
align-self: center;
margin: 0 6px;
pointer-events: none;
fill: currentColor;
}
.wds-icon-small {
height: 18px;
min-width: 18px;
width: 18px;
}
#p-personal .vector-menu-content-list,
#p-personal .mw-list-item > a {
display: flex;
align-items: center;
}
.cols {
background-color: var(--theme-page-background-color--secondary);
}
#pagehistory li.selected {
  background-color: var(--theme-page-background-color--secondary);
  color: var(--theme-page-text-color);
  outline: 1px dashed var(--theme-border-color);
}
 
/* hebrew */
@font-face {
  font-family: 'Times New Roman';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWs89XyHw.woff2) format('woff2');
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWg89XyHw.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWu89U.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* hebrew */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWs89XyHw.woff2) format('woff2');
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWg89XyHw.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWu89U.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Rubik_300";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFHU6f4L1kA.woff2)
    format("ttf");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
     U+FE2E-FE2F;
}
 
@font-face {
  font-family: "Fredoka";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../Fredoka-Regular.ttf')
    format("ttf");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Rubik";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFHUzf4L1kA.woff2)
     format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* hebrew */
@font-face {
  font-family: "Rubik";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFHU1f4L1kA.woff2)
    format("woff2");
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: "Rubik";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFHU5f4L1kA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
     U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Rubik";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8uDFHU3f4I.woff2)
     format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-FWkU1Z4Y.woff2)
     format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
     U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-FU0U1Z4Y.woff2)
     format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* hebrew */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-FVUU1Z4Y.woff2)
    format("woff2");
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* latin-ext */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-FWUU1Z4Y.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rubik/v21/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-2Y-FV0U1.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
     U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
// FIXME: Is specific `.mw-body` even needed? Does `.mw-indicators` exist outside?
*,
body {
  font-family: Fredoka, sans-serif ;
}
.mw-headline{
  font-family: Fredoka,Rubik,Helvetica,Arial,sans-serif;
}
 
.hidden {
  display: none;
}
body {
  //  background-color: @background-color-secondary;
  background: ##5ec9ff;
     no-repeat fixed center center / cover !important;
  background-color: rgba(29, 52, 168, 0.71) !important;
  overflow-y: scroll;
}
.mw-body, .parsoid-body{
  background-color: rgba(29, 52, 168, 0.98) !important;
}
// ul{
//  list-style: none;
// }
 
.wikitable,  .scheduletable {
  table-layout: auto;
  width: 100%;
 
}
 
.scheduletable {
  table-layout: auto;
  width: 30%;
 
}
 
.fishtable {
table-layout: auto;
width: 100%;
 
}
.artisan-table{
  table-layout: auto;
  width: 60%;
  border-spacing: 0;
  max-width: 100%;
  margin: 15px 0
  // border: 1px solid gray;
}
 
.artisan-table > tr > th, .artisan-table > * > tr > th{
  background-color: #e7c361 !important;
  max-width: fit-content;
}
.artisan-table > tr > th, .artisan-table > tr > td, .artisan-table > * > tr > th, .artisan-table > * > tr > td{
  border: 1px solid #a2a9b1;
     padding: 0.2em 0.4em;
}
.quotetable{
  border-spacing: 0;
  width: 100%;
  max-width: 100%;
}
.quotetable > caption {
  text-align: left;
}
.heart{
  margin-left: -7px;
  margin-bottom: 5px;
}
.quotetable > tbody > tr > td {
  padding: 0;
}
blockquote {
  margin: 0 10px;
}
.detail-list ul {
  list-style: none;
}
caption .mw-collapsible-toggle, .mw-content-ltr caption .mw-collapsible-toggle, .mw-content-rtl caption .mw-collapsible-toggle, .mw-content-rtl .mw-content-ltr caption .mw-collapsible-toggle, .mw-content-ltr .mw-content-rtl caption .mw-collapsible-toggle {
  float: right;
}
body.page-Main_Page.action-view h1.firstHeading, body.page-Main_Page.action-submit h1.firstHeading { display: none; }
.ci-letter-wrapper{
  border-radius: 20px;
    padding: 20px;
    max-width: 35em;
    font-weight: 700;
    background: #39aae3;
}
.ci-letter-header{
  padding-bottom: 28px;
}
.ci-letter-content{
  font-weight: 400;
}
.ci-letter-footer{
  display: flex;
    padding-top: 28px;
    justify-content: space-between;
    font-weight: 700;
     align-items: center;
     align-items: center;
}
     gap: 8px;  
.ci-letter-attachment{
     letter-spacing: 0.5px;
  max-width: 70%;
}
 
.card-list-container{
  display: flex;
    flex-wrap: wrap;
     gap: 5px;
}
.custom-card{
  display: inline-block;
     position: relative;
    width: fit-content;
    align-self: baseline;
}
.custom-card-body{
  display: inline-block;
    position: relative;
    width: fit-content;
    align-self: baseline;
    background: #f6e6cf;
    border-radius: 12px;
    text-align: center;
    overflow: hidden;
}
.custom-card-image{
  width: 60px;
    height: 60px;
    padding: 4px;
}
.custom-card-amount{
  background: #e9cda2;
    text-align: center;
    border-radius: 0 0 5px 5px;
    padding: 4px 0;
    white-space: nowrap;
    line-height: 1;
    font-size: 12px;
    hyphens: auto;
    overflow-wrap: break-word;
}
.custom-card-caption{
  width: 56px;
    text-align: center;
    line-height: 1;
    font-size: 12px;
    hyphens: auto;
    overflow-wrap: break-word
}
.wikitable{
  background-color: transparent !important;
  // min-width: -webkit-fill-available !important;
  // table-layout: fixed;
 
}
 
.cost-template {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 0.2rem
}
.cost-detail {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem
}
.client-js .sortable:not(.jquery-tablesorter) > * > tr:first-child > th:not(.unsortable), .jquery-tablesorter th.headerSort{
  font-size: 10px;
    white-space: normal;
}
.wikitable > tr > th, .wikitable > * > tr > th{
  background-color: #e7c361 !important;
  max-width: fit-content;
 
 
}
.heart-event-table {
  width: 30%;
}
.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
  // -ms-word-break: break-all;
  // word-break: break-all;
  // -webkit-hyphens: auto;
  // -moz-hyphens: auto;
  // hyphens: auto;
    width: 150px;
    white-space: break-space;
    margin-left: auto;
    margin-right: auto;
}
 
.artisan-table > tr > th, .artisan-table > tr > td, .artisan-table > * > tr > th, .artisan-table > * > tr > td:first-child {
  // -ms-word-break: break-all;
  // word-break: break-all;
  // -webkit-hyphens: auto;
  // -moz-hyphens: auto;
  // hyphens: auto;
  width: 150px;
    white-space: break-space;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
 
.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td:first-child {
  // -ms-word-break: break-all;
  // word-break: break-all;
  // -webkit-hyphens: auto;
  // -moz-hyphens: auto;
  // hyphens: auto;
  width: min-content;
    white-space: break-space;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.scheduletable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
  // -ms-word-break: break-all;
  // word-break: break-all;
 
 
  // -webkit-hyphens: auto;
  // -moz-hyphens: auto;
  // hyphens: auto;
}
 
.quotetable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
//  -ms-word-break: break-all;
//  word-break: break-all;
 
//  -webkit-hyphens: auto;
//  -moz-hyphens: auto;
//  hyphens: auto;
}
}


 
.mana-line {
.vector-menu-content {
  margin-left: 10px;
}
.vector-body p{
  // -ms-word-break: break-all;
  // word-break: break-all;
 
  /* Non standard for WebKit */
 
 
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
.mw-body,
.parsoid-body {
  // General background/foreground color definition as one exception to the rule.
  background-color: rgba(255, 99, 71, 1);
  color: @color-base;
  direction: ltr;
  padding: 1em;
}
/* ===== CHARACTER INFOBOX ===== */
.mb-character-infobox {
    border: 3px solid #2c3e50;
    border-radius: 12px;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    color: #ecf0f1;
    width: 320px;
    float: right;
    margin: 0 0 20px 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
    position: relative;
    overflow: hidden;
}
 
/* Header with gradient */
.mb-character-header {
    background: linear-gradient(90deg, #3498db 0%, #2980b9 100%);
    padding: 18px 20px;
    text-align: center;
    border-radius: 9px 9px 0 0;
    position: relative;
    overflow: hidden;
}
 
.mb-character-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
     height: 3px;
     height: 3px;
     background: linear-gradient(90deg, #e74c3c, #f39c12, #2ecc71);
     background: linear-gradient(90deg, var(--color-accent), transparent);
    margin-top: 0.5rem;
    width: 100%;
    border-radius: 2px;
}
}


.mb-character-title {
/* 3. Card Content & Headings */
     font-size: 26px;
.game-content {
    font-weight: 800;
     color: var(--theme-text-primary);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
     line-height: 1.6;
     margin: 0;
     flex-grow: 1;  
     color: white;
    letter-spacing: 0.5px;
}
}


.mb-character-subtitle {
.heading-char {
     font-size: 15px;
     font-size: 1.1rem;
     opacity: 0.95;
     font-weight: 600;
     margin: 6px 0 0 0;
     margin: 0.5rem 0;
     font-weight: 500;
     padding-bottom: 0.25rem;
}
    border-bottom: 2px solid var(--theme-border-color);
 
/* Role Badge */
.mb-role-badge {
     display: inline-block;
     display: inline-block;
     background: #e74c3c;
     transition: border-color 0.3s ease;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: bold;
    margin-top: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
 
/* Image Container */
.mb-character-image {
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.2);
    position: relative;
}
}


.mb-character-image img {
.heading-char a {
     max-width: 100%;
     color: var(--theme-heading-color);
    height: auto;
     text-decoration: none;
    border-radius: 8px;
     transition: color 0.2s ease;
    border: 2px solid #3498db;
     box-shadow: 0 0 25px rgba(52, 152, 219, 0.4);
     transition: transform 0.3s ease;
}
}


.mb-character-image img:hover {
.heading-char a:hover {
     transform: scale(1.02);
     color: var(--color-accent);
}
}


.mb-image-caption {
/* 4. Auto Grid Lists (The Links) */
    text-align: center;
.auto-grid {
    font-size: 12px;
    color: #bdc3c7;
    margin-top: 8px;
    font-style: italic;
}
 
/* Quick Info Section */
.mb-quick-info {
    padding: 18px;
    background: rgba(30, 40, 60, 0.7);
    margin: 0;
    border-bottom: 1px solid #2c3e50;
}
 
.mb-info-row {
    display: flex;
    margin: 10px 0;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid rgba(52, 73, 94, 0.5);
}
 
.mb-info-row:last-child {
    border-bottom: none;
}
 
.mb-info-label {
    width: 100px;
    font-weight: bold;
    color: #3498db;
    font-size: 14px;
    flex-shrink: 0;
}
 
.mb-info-value {
    flex: 1;
    color: #ecf0f1;
    font-size: 14px;
}
 
/* Stats Grid */
.mb-stats-grid {
     display: grid;
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));  
     gap: 12px;
     gap: 0.5rem;
     padding: 18px;
    list-style: none;
     padding: 0;
    margin: 0.75rem 0 0 0;
}
}


.mb-stat-item {
.auto-grid li {
     background: rgba(30, 40, 60, 0.7);
     padding: 0;
    border-radius: 8px;
    padding: 12px;
    border-left: 4px solid #3498db;
}
}
 
.mb-stat-label {
/* Elevated List Link Styling */
     font-weight: bold;
.auto-grid li a {
     color: #3498db;
     display: block;
     font-size: 13px;
    padding: 0.35rem 0.5rem;
     margin-bottom: 6px;
     color: var(--theme-link-color);
     display: flex;
     text-decoration: none;
     justify-content: space-between;
     border-radius: var(--radius-sm);
     align-items: center;
     background-color: rgba(127, 127, 127, 0.05);  
     border: 1px solid transparent;
     transition: all 0.2s ease;
}
}


.mb-stat-value {
.auto-grid li a:hover {
     font-size: 24px;
     color: var(--theme-link-hover);
     font-weight: bold;
     background-color: var(--theme-body-bg);
     color: #2ecc71;
     border-color: var(--theme-border-color);
    text-align: center;
     transform: translateX(3px);  
     text-shadow: 0 0 10px rgba(46, 204, 113, 0.3);
}
}
/* ============================================
  BANNER, WIKI COMPONENTS & SCROLLBAR
  ============================================ */


.mb-stat-subtext {
/* 1. BANNER SECTION */
     font-size: 11px;
#mp-box-banner .mp-body {
     color: #95a5a6;
     background: linear-gradient(135deg, var(--color-secondary), var(--theme-body-bg));
    border-radius: var(--radius-lg);
     padding: 2rem;
     text-align: center;
     text-align: center;
     margin-top: 4px;
     border: 1px solid var(--theme-border-color);
    box-shadow: var(--shadow-soft);
    transition: background 0.3s ease, border-color 0.3s ease;
}
}


/* Tabs Navigation */
/* Social links */
.mb-tabs-nav {
.social {
     display: flex;
     display: flex;
     background: #2c3e50;
     justify-content: center;
     border-bottom: 2px solid #3498db;
     gap: 1rem;
     flex-wrap: wrap;
     flex-wrap: wrap;
    margin-top: 2rem;
}
}


.mb-tab-btn {
.iconname {
    flex: 1;
    min-width: 80px;
    background: none;
    border: none;
    color: #bdc3c7;
    padding: 12px 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
    text-align: center;
    position: relative;
    overflow: hidden;
}
 
.mb-tab-btn:hover {
    background: rgba(52, 152, 219, 0.2);
    color: white;
}
 
.mb-tab-btn.active {
    background: #3498db;
    color: white;
    border-bottom: 3px solid #e74c3c;
}
 
.mb-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #1a1a2e;
}
 
/* Tab Content */
.mb-tab-content {
    display: none;
    padding: 20px;
    animation: fadeIn 0.3s ease;
}
 
.mb-tab-content.active {
    display: block;
}
 
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
 
/* Abilities Section */
.mb-ability-card {
    background: linear-gradient(135deg, rgba(30, 40, 60, 0.8), rgba(44, 62, 80, 0.8));
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
    border-left: 5px solid #9b59b6;
    position: relative;
    overflow: hidden;
}
 
.mb-ability-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #9b59b6, #3498db);
}
 
.mb-ability-header {
     display: flex;
     display: flex;
    justify-content: space-between;
     align-items: center;
     align-items: center;
     margin-bottom: 12px;
     gap: 0.5rem;
    background: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
    transition: all 0.2s ease;
}
}


.mb-ability-name {
.iconname:hover {
     font-size: 18px;
     background: var(--color-primary);
     font-weight: bold;
     border-color: var(--color-accent);
    color: #9b59b6;
     transform: translateY(-2px);
     display: flex;
    align-items: center;
    gap: 8px;
}
}


.mb-ability-icon {
.iconname a {
     width: 32px;
     color: var(--theme-text-primary) !important;
    height: 32px;
     text-decoration: none;
    border-radius: 6px;
     font-weight: 500;
    background: #3498db;
    display: flex;
    align-items: center;
     justify-content: center;
     font-weight: bold;
    color: white;
}
}


.mb-ability-cooldown {
/* 2. WIKI FIXES & IMPROVEMENTS */
     background: #e74c3c;
.wikiEditor-ui-text > .ui-resizable {
    color: white;
     width: 100% !important;
    padding: 4px 10px;
     max-width: 100%;
    border-radius: 20px;
    font-size: 13px;
     font-weight: bold;
}
}


.mb-ability-desc {
ul { list-style: disc; }
    color: #ecf0f1;
    line-height: 1.6;
    margin-bottom: 10px;
    font-size: 14px;
}


.mb-ability-stats {
h2 .mw-headline, h3 .mw-headline, h4 .mw-headline { font-weight: 500; }
    display: grid;
.vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin-bottom: 4px; }
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}


.mb-ability-stat {
/* Categories */
     text-align: center;
.catlinks {
    border-color: var(--theme-border-color);
    border-radius: var(--radius-md);
     background-color: var(--theme-card-bg);
    padding: 10px;
}
}


.mb-ability-stat-label {
/* Code blocks */
     font-size: 12px;
code, pre {
     color: #95a5a6;
    background-color: var(--theme-card-bg);
     margin-bottom: 4px;
    color: var(--theme-text-primary);
    border: 1px solid var(--theme-border-color);
     border-radius: var(--radius-sm);
     padding: 2px 6px;
     font-family: Consolas, Eupheima UCAS, Monaco, Menlo, monospace;
}
}


.mb-ability-stat-value {
code.code-block-table { display: table; line-height: 21px; padding: 8px; }
    font-size: 16px;
.code-block-table * { font: 14px Consolas, Eupheima UCAS, Monaco, Menlo, monospace; }
    font-weight: bold;
.code-block { display: inline-block; line-height: 21px; }
    color: #2ecc71;
}


/* Strategy Tips */
/* Table of Contents */
.mb-tip-box {
.toc {
     background: rgba(241, 196, 15, 0.1);
     padding: 12px 16px;
     border-left: 4px solid #f1c40f;
    border-radius: var(--radius-md);
     padding: 14px;
     background-color: var(--theme-card-bg);
     margin: 12px 0;
     border: 1px solid var(--theme-border-color);
     border-radius: 0 6px 6px 0;
     margin-top: 16px;
     box-shadow: var(--shadow-soft);
}
}


.mb-tip-title {
.toctogglelabel { color: var(--theme-link-color); }
    font-weight: bold;
.tocnumber { color: var(--theme-text-muted); }
    color: #f1c40f;
.vector-body .toc h2 { font-family: 'Fredoka', sans-serif; }
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}


.mb-tip-title::before {
/* Hatnote */
     content: '💡';
.hatnote {
     font-size: 16px;
    border-left: 4px solid var(--color-accent);
    padding: 8px 12px;
    border-radius: var(--radius-sm);
     background-color: var(--theme-card-bg);
     margin: 8px 0;
}
}


.mb-tip-content {
/* Variables styling */
    color: #ecf0f1;
span.variable { opacity: 0.65; }
    font-size: 14px;
span.variable::after { opacity: 0.65; content: ">"; }
    line-height: 1.5;
span.variable::before { opacity: 0.65; content: "<"; }
}


/* Lore Section */
/* Pull quotes */
.mb-lore-box {
.pull-quote { font-style: italic; margin: 0; padding: 0 30px 8px !important; }
    background: rgba(155, 89, 182, 0.1);
.pull-quote::before {
    border: 1px solid rgba(155, 89, 182, 0.3);
     color: var(--color-accent);
    border-radius: 8px;
     content: "“";
    padding: 18px;
    margin: 15px 0;
    position: relative;
}
 
.mb-lore-title {
    color: #9b59b6;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(155, 89, 182, 0.3);
}
 
.mb-lore-content {
    color: #ecf0f1;
    line-height: 1.7;
    font-size: 14.5px;
}
 
/* Appearance Grid */
.mb-appearance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 15px;
    margin-top: 15px;
}
 
.mb-appearance-item {
    background: rgba(30, 40, 60, 0.7);
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    transition: transform 0.3s ease;
}
 
.mb-appearance-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
 
.mb-appearance-label {
    font-weight: bold;
     color: #3498db;
    font-size: 13px;
    margin-bottom: 6px;
}
 
.mb-appearance-value {
    color: #ecf0f1;
    font-size: 14px;
}
 
/* Gallery */
.mb-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
     gap: 10px;
    margin-top: 15px;
}
 
.mb-gallery-item {
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
}
 
.mb-gallery-item:hover {
    border-color: #3498db;
    transform: scale(1.05);
}
 
.mb-gallery-item img {
    width: 100%;
    height: 80px;
    object-fit: cover;
     display: block;
     display: block;
    font-size: 96px;
    font-style: normal;
    line-height: 72px;
    margin: 4px 0 -45px -5px;
}
}
.pull-quote__source::before { content: "— "; margin-bottom: 8px; }
.pull-quote__text { margin-bottom: 4px; }


/* Progress Bars */
/* Gallery & Changelist */
.mb-progress-container {
.gallerytext { text-align: center; font-size: 100%; }
    height: 20px;
.changelist-header { display: flex; justify-content: space-between; align-items: center; font-size: 88%; margin: 0.3em 0; }
    background: #2c3e50;
.changelist-content { overflow: auto; max-height: 384px; padding: 1em; box-sizing: border-box; border-radius: var(--radius-md); }
    border-radius: 10px;
.changelist-border { border: 1px solid var(--theme-border-color); border-left: 6px solid var(--color-accent); }
    overflow: hidden;
    margin: 8px 0;
    position: relative;
}
 
.mb-progress-bar {
    height: 100%;
    border-radius: 10px;
    transition: width 1s ease-in-out;
    position: relative;
    overflow: hidden;
}


.mb-progress-bar::after {
/* Chat wrapper */
    content: '';
.chat-wrapper { display: flex; flex-direction: column; }
    position: absolute;
.chat-player, .chat-npc { display: flex; flex-direction: row; gap: 0.5em; }
    top: 0;
.chat-player-speaker { white-space: nowrap; min-width: 70px; color: #43b581; font-weight: 600; }
    left: 0;
.chat-npc-speaker { white-space: nowrap; min-width: 70px; color: #f04747; font-weight: 600; }
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.2) 50%,
        transparent 100%);
    animation: shimmer 2s infinite;
}


@keyframes shimmer {
/* 3. RESPONSIVE IMPROVEMENTS */
     0% { transform: translateX(-100%); }
@media (max-width: 768px) {
     100% { transform: translateX(100%); }
    .game-intro-card { padding: 1rem; }
     .mana-text { font-size: 1.25rem; }
    .social { gap: 0.5rem; }
    .iconname { padding: 0.35rem 0.75rem; font-size: 0.9rem; }
     #mp-box-banner .mp-body { padding: 1rem; }
}
}


.mb-progress-value {
/* 4. CUSTOM SCROLLBAR */
    position: absolute;
::-webkit-scrollbar { width: 10px; height: 10px; }
    right: 8px;
::-webkit-scrollbar-track {
    top: 50%;
     background: var(--theme-body-bg);
     transform: translateY(-50%);
     border-radius: 0px;  
    color: white;
    font-size: 12px;
    font-weight: bold;
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}
}
 
::-webkit-scrollbar-thumb {
/* Difficulty Stars */
     background: var(--color-accent);
.mb-difficulty-stars {
     border-radius: 5px;
     display: flex;
     gap: 4px;
    margin: 8px 0;
}
}
::-webkit-scrollbar-thumb:hover { background: var(--theme-link-hover); }


.mb-difficulty-star {
/* 5. UTILITY CLASSES */
    color: #f1c40f;
.text-center { text-align: center; }
    font-size: 18px;
.mt-2 { margin-top: 0.5rem; }
}
.mb-2 { margin-bottom: 0.5rem; }
.p-2 { padding: 0.5rem; }
/* ============================================
  WIKI COMPONENTS
  ============================================ */


.mb-difficulty-star.empty {
/* 1. WIKITABLES  */
     color: #7f8c8d;
table.wikitable {
    background-color: var(--theme-card-bg);
     color: var(--theme-text-primary);
    border: 1px solid var(--theme-border-color);
    border-collapse: collapse;
    margin: 1em 0;
    width: 100%; /* Encourages responsive behavior */
    box-shadow: var(--shadow-soft);
}
}


/* Mobile Responsive */
table.wikitable > tr > th,
@media (max-width: 768px) {
table.wikitable > tr > td,
    .mb-character-infobox {
table.wikitable > * > tr > th,
        float: none;
table.wikitable > * > tr > td {
        width: 100%;
    border: 1px solid var(--theme-border-color);
        margin: 20px 0;
    padding: 0.5em 0.75em;
    }
   
    .mb-tabs-nav {
        flex-direction: column;
    }
   
    .mb-stats-grid {
        grid-template-columns: 1fr;
    }
   
    .mb-gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}
.infobox-table {
width: 100%;
}
.infobox-table th {
  text-align: left;
  vertical-align: top;
  width: 120px;
}
.infobox-table td {
  vertical-align: top;
  text-align: right;
  // color: white;
}
.wikitable > caption{
  text-align: left;
}
.Bug6200 {
  font-style: italic;
  font-weight: normal;
  display: flex;
  flex-direction: row;
align-items: center;
white-space: normal;
}
.Bug6200 > img {
  width: 24px;
  height: 24px;
}
}


.scheduletable{
/* Table Headers */
  text-align: center;
table.wikitable > tr > th,
  margin: 10px 0;
table.wikitable > * > tr > th {
  border-collapse: collapse;
    background-color: var(--color-primary);
    color: var(--theme-heading-color);
    font-weight: 600;
    text-align: center;
}
}


.scheduletable > tbody > tr > td{
  border: 1px solid #a2a9b1;
  // text-align: left;
  // padding: 0.2em 0.4em;
}


// .scheduletable > tbody > tr > td:first-child{
table.wikitable > tbody > tr:hover {
//  width: 70px;
    background-color: rgba(127, 127, 127, 0.05);
// }
.navbox-list{
  padding: 0 0 0 2px;
    font-size: 10pt;
}
}
.navbox{
  width: 100%;
    margin-top: 12px;
    border-spacing: 0;
}
.croptable > tbody > tr > td:first-child{
  width: 100px !important;
}
.navbox-title th {
  padding: 6px;
  border-radius: 4px;
  background:  #e7c361;
}
.navbox-group a{
  color:  black;


  }
/* 2. INFOBOXES */
.alt .navbox-list {
.infobox {
  background-color: rgba(231, 195, 97, 0.35);
    float: right;
}
    clear: right;
.navbox-subgroup {
    margin: 0 0 1em 1em;
  margin: 0;
    width: 300px;
  border-spacing: 0;
    background-color: var(--theme-card-bg);
}
     border: 1px solid var(--theme-border-color);
.navbox-subgroup .navbox-group{
     border-radius: var(--radius-md);
  color: black;
     padding: 10px;
     background: rgba(231, 195, 97, 0.10);
    box-shadow: var(--shadow-soft);
     white-space: nowrap;
     font-size: 0.9em;
     text-align: left;
    color: var(--theme-text-primary);
}
    transition: background-color 0.3s ease, border-color 0.3s ease;
th.navbox-group{
  background-color: #e7c361;
  color:  black;
 
     font-size: 10pt;
    padding: 0.25em 1em;
}
.scheduletable > tbody > tr > td:first-child{
  width: 150px !important;
}
// td {
//  width: 100px;
// }
.scheduletable caption{
  background: #e7c361 ;
  border: 1px solid #e7c361;
  text-align: center;
}
.wikitable > caption > span{
  float: right !important;
}
}


.collapsible-header:before{
/* Infobox Headers */
  float: right;
.infobox th {
}
     background-color: var(--color-secondary);
.ci-recipe-wrapper{
    color: var(--theme-heading-color);
  display: flex;
     width: fit-content;
    position: relative;
    gap: 7px
}
.ci-recipe-timed{
  padding-bottom: 25px;
}
.ci-recipe-timed{
  border: 1px solid #e7c361;
  border-radius: 5px;
  position: relative;
  text-align: center;
  font-weight: 500;
  width: 100%;
  padding: 8px;
  max-width: 100px;
  overflow-wrap: break-word;
  hyphens: auto;
}
.ci-recipe-yield{
  border: 1px solid #e7c361;
    border-radius: 3px;
    padding: 8px;
    position: relative;
    width: 100%;
     text-align: center;
     text-align: center;
}
.ci-recipe-yield-amount {
  background: #e7c361;
  width: fit-content;
  border-radius: 3px;
  padding: 0 5px;
  position: absolute;
  bottom: 0;
  right: 0;
}
span.custom-icon {
  display: inline;
}
.ci-recipe-ingredient{
  border: 1px solid #e7c361;
    border-radius: 3px;
     padding: 5px;
     padding: 5px;
     min-height: 100%;
     border-radius: var(--radius-sm);
}
.ci-recipe-medium::after{
  border: 1px solid #e7c361;
  background-color: #e7c361;
  border-radius: 3px;
  width: 5px;
  height: 5px;
  content: "";
  position: absolute;
  top: 50%;
  left: -7px;
}
}


.gifted-item{
.infobox td {
     background-color: rgba(231, 195, 97, 0.2);
     padding: 4px 5px;
}
    border-bottom: 1px solid rgba(127, 127, 127, 0.1);  
.gifted-item > tbody > tr > th{
  background-color: rgba(231, 195, 97, 0.8);
  max-width: 100px;
}
}
.portable-infobox{
  margin: 0 0 15px 15px;
  max-width: 250px;
  width: 100%;
  border: 1px solid #e7c361;
  border-radius: 10px;
}
.portable-infobox .pi-header{
  padding: 0 5px;
  background: rgba(231, 195, 97, 0.2);
}
.portable-infobox .pi-title{
  background: #e7c361;
  padding: 5px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.portable-infobox .pi-data-label, .portable-infobox .pi-data-value {
  padding: 5px;
}
// .bg-trans {
//  background-color: transparent !important;
// }
// .portable-infobox {
//  clear: both !important;
//  float: none !important;
//  border: 5px solid #e7c361;
//  background-color: #e7c361;
//  color: white;
// }
// .portable-infobox .pi-header{
//  font-size: 0.75rem ;
// }


// .portable-infobox .pi-data-label{
//  background-color: #e7c361 ;
//  min-width: 50%;
// }
// .pi-smart-group .pi-smart-data-label{
//  font-size: 0.5rem;
// }
// .portable-infobox .pi-title {
//  text-align: center;
//  font-weight: bold;
// }


.pi-image-thumbnail {
.infobox tr:last-child td {
  max-width: 100%!important;
    border-bottom: none;
}
}


.content-table {
/* 3. NAVBOXES  */
  background: transparent;
.navbox {
  padding: 10px 2%;
    background-color: var(--theme-card-bg);
  width: 100%;
     border: 1px solid var(--theme-border-color);
}
    border-radius: var(--radius-md);
 
    margin: 1.5em 0;
.content-table-basic {
     padding: 2px;
  background: transparent;
     text-align: center;
  width: 100%;
     box-shadow: var(--shadow-soft);
}
 
.content-table-second {
  background: transparent;
  width: 100%;
}
 
.child-content-table {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  margin-left: 4px;
}
#p-personal {
  position: absolute;
  top: @top-personal-tools;
  right: 0.75em;
  z-index: @z-index-personal;
 
  ul {
    padding-left: 10em; /* Keep from overlapping logo */
  }
}
 
.mw-body,
#mw-data-after-content {
  margin-left: 10em;
}
 
.mw-body {
  // Merge the border below with tabs' one (in their background image).
  margin-top: -@border-width-base;
  // Border on top, left, and bottom side.
  //  border: @border-width-base @border-style-base @border-color-content;
  border: 10px solid azure;
  border-radius: 5px;
  //  border-right-width: 0;
 
  .firstHeading {
    /* Change the default from mediawiki.skinning CSS to let indicators float into heading area */
    overflow: visible;
  }
}
 
.mw-indicators {
  z-index: @z-index-indicators;
}
 
.vector-body {
  position: relative;
  z-index: @z-index-base;
}
 
/* Head */
#mw-page-base {
  //  .vertical-gradient( @background-color-base, @background-color-secondary, 50%, 100% );
  background: transparent;
  background-position: bottom left;
  height: 5em;
}
 
#mw-head-base {
  margin-top: -5em;
  margin-left: 10em;
  height: 5em;
  background: #751a14;
}
 
/* Hide, but keep accessible for screen-readers */
#mw-navigation h2 {
  position: absolute;
  top: -9999px;
}
 
#mw-head {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
}
 
/* Navigation Containers */
#left-navigation {
  float: left;
  margin-left: 10em;
  margin-top: 2.5em;
  /* When right nav would overlap left nav, it's placed below it
(normal CSS floats behavior). This rule ensures that no empty space
is shown between them due to right nav's margin-top. Page layout
is still broken, but at least the nav overlaps only the page title
instead of half the content. */
  margin-bottom: -2.5em;
}
 
#right-navigation {
  float: right;
  margin-top: 2.5em;
}
 
/* Search */
.vector-search-box {
  float: left;
  margin-right: 0.5em;
  margin-left: 0.5em;
 
  // FIXME: This selector requires knowledge of the internals of the search component
  // and should not be used here.
  form {
     margin: 0.5em 0 0;
  }
}
 
// Defined as `div`.
// Provide extra element for gadgets due to `form` already carrying an `id`.
// FIXME: This selector requires knowledge of the internals of the search component
.vector-search-box-inner {
  min-width: 5em;
  // Support: IE 8, Firefox 18-, Chrome 19-, Safari 5.1-, Opera 19-, Android 4.4.4-.
  width: 13.2em;
  // Support: Modern browsers, responsive width.
  width: 20vw;
  max-width: 20em;
}
 
/* Sidebar */
#mw-panel {
  position: absolute;
  top: 0;
  width: 10em;
  left: 0;
}
 
// hide the heading of the first menu
#p-logo + .mw-portlet .vector-menu-heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: white;
  color: black;
  font-weight: bold;
  padding: 0 5px;
  height: 20px;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
 
// ul {
//  list-style-type: none !important
// }
 
.vector-body blockquote{
  border: 0;
  padding: 0;
}
 
.vector-menu-portal .vector-menu-content li {
  padding: 5px;
}
.vector-menu-portal .vector-menu-content ul {
  background: rgba(255, 255, 255, 0.8);
}
.vector-menu-portal .vector-menu-heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: white;
  color: black;
  font-weight: bold;
  padding: 0 5px;
  height: 20px;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
 
.mw-footer {
  margin-left: 10em;
  margin-top: 1%;
  margin-bottom: 1%;
  padding: 0.75em;
  background: rgb(163,8,8);
  min-height: 120px;
  border-radius: 5px;
}
.social {
  display: flex;
  justify-content: center;
  flex-direction: row;
  width: auto;
  background: #474747;
  padding: 1rem 3rem;
  & .iconname {
    max-width: 20%;
    & .external-text {
      font-size: 12px;
    }
    & .floatleft {
      display: flex;
      justify-content: space-between;
      align-items: center;
      & a {
        font-size: 12px;
      }
      img {
        max-width: 20px;
        max-height: 20px;
      }
    }
  }
}
div.floatleft,
table.floatleft {
  margin: 0;
}
big{
  color: white;
}
 
.jumbotron {
  //background-image: url("https://mbwiki.stairwaygames.work/w/images/1/13/manabreak-hero.png");
 
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}
body.page-Main_Page.action-view .main-page-top{
background-color: #751a14;
  padding: 1rem 0;
  background-image: url("https://mbwiki.stairwaygames.work/w/images/1/13/manabreak-hero.png") !important;
  height: 300px !important;
}
/* Vector screen styles for high definition displays. These rules cross the above components and are
grouped together here only for the sake of the media query common to each. */
.mw-body,
#mw-head-base,
#left-navigation,
#mw-data-after-content,
.mw-footer {
  margin-left: 5em;
}
 
.mw-body {
  padding: 1.25em 1.5em 1.5em 1.5em;
}
 
.mw-footer {
  padding: 1em;
}
 
#mw-panel {
  padding-left: 0.5em;
}
 
.vector-search-box {
  margin-right: 1em;
}
 
#p-personal {
  right: 1em;
}
 
// Directionality styles previously provided by the deprecated `legacy` feature (T287410)
// for HTML elements which do not carry dir HTML attributes.
// These have been copied across to legacy Vector to minimize disruption caused by T287701.
// If you are reading this comment in 2022, please consider checking usage in wikitext and
// removing them both.
.mw-content-ltr {
  /* @noflip */
  direction: ltr;
}
 
.mw-content-rtl {
  /* @noflip */
  direction: rtl;
}
 
.cols {
  text-align: left;
  word-break: break-all;
  // padding: 1em 0;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  font-weight: 600;
  // text-transform: uppercase;
  // letter-spacing: 1px;
}
 
.forest {
  margin-top: -25px;
}
 
.forest2 {
  margin-top: 0;
}
 
/* grid styling */
 
.grid {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr);
  // background: white;
  margin: 10px 0;
}
.specification-table {
  font-size: 10px;
  padding: 0 5%;
}
 
.content {
  padding: 10px;
  font-size: 12px;
}
 
.grid--gap10 {
  grid-gap: 5px;
}
 
.grid__col1 {
  grid-column: span 1;
}
.grid__col2 {
  grid-column: span 2;
}
.grid__col3 {
  grid-column: span 3;
}
.grid__col4 {
  grid-column: span 4;
}
.grid__col5 {
  grid-column: span 5;
}
.grid__col6 {
  grid-column: span 6;
}
.grid__col7 {
  grid-column: span 7;
}
.grid__col8 {
  grid-column: span 8;
}
.grid__col9 {
  grid-column: span 9;
}
.grid__col10 {
  grid-column: span 10;
}
.grid__col11 {
  grid-column: span 11;
}
.grid__col12 {
  grid-column: span 12;
}
.mw-parser-output a.external {
  background-image: none !important;
  font-size: 14px;
  font-weight: 400;
}
 
.wrapper {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}
.auto-grid {
  --auto-grid-min-size: 13rem;
}
 
.auto-grid > * {
  max-width: 160px;
  font-size: 16px;
}
 
.auto-grid > * + * {
  font-size: 16px;
}
 
.heading-char {
  font-style: italic;
  text-decoration: underline;
  font-weight: bold;
  padding: 0.5em;
  font-size: 18px;
  text-align: left;
}
 
@supports (display: grid) {
  .mw-content-ltr ul,
  .mw-content-rtl .mw-content-ltr ul {
    // margin: 0 !important;
  }
  .social .iconname .floatleft {
     display: flex;
     justify-content: center;
    align-items: center;
  }
  .social {
     gap: 30px;
  }
 
  .croptable > tbody > tr >td > a > img{
    max-width: 40px;
    max-height: 40px;
  }
 
  .exceptable > tbody > tr >td > a > img{
    max-width: 70px;
    max-height: 70px;
  }
  .floatleft > a > img {
    // width: 24px;
    // height: 24px;
  }
  .iconname {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    -ms-word-break: break-all;
    word-break: break-all;
 
    /* Non standard for WebKit */
    word-break: break-word;
 
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }
 
  .auto-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 5px;
  }
 
  .auto-grid > * {
    max-width: unset;
    list-style: none;
  }
 
  .auto-grid > * + * {
    margin-top: unset;
  }
  .auto-grid > li > ul {
    margin-left: 10px !important;
  }
  .auto-grid > li > ul > li {
    list-style: none;
    margin: 0;
    padding-left: 15px;
    list-style: none;
    background-image: url("https://www.svgrepo.com/show/165220/diamond.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 10px;
    -ms-word-break: break-all;
    word-break: break-all;
 
    /* Non standard for WebKit */
    word-break: break-word;
 
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }
}
.minus-ten {
margin-top:0;
}
.minus-fifty {
margin-top:-55%;
}
#footer-info li{
  color:black !important
}
@media (max-width: 1024px) {
  .minus-fifty {
margin-top:-5%;
}
.minus-ten {
margin-top:-10%;
}
  .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
  font-size: 0.7em;
  }
  .scheduletable > tbody > tr > td:first-child{
    width: 40px;
  }
  .wikitable, .quotetable, .scheduletable {
    table-layout: fixed;
     width: 100%;
     width: 100%;
 
     clear: both;
  }
  .croptable > tbody > tr >td > a > img{
     max-width: 24px;
    max-height: 24px;
  }
  .infobox{
    float: none;
    margin: 0
  }
  .forest2 {
    margin-top: -5px;
  }
  .content {
    font-size: 10px;
  }
  .social {
    flex-direction: column;
    padding: 1rem;
    & .iconname {
      max-width: 100%;
    }
  }
 
  .mw-parser-output a.external {
    -ms-word-break: break-all;
    word-break: break-all;
 
    /* Non standard for WebKit */
    word-break: break-word;
 
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }
 
  #mw-panel {
    width: -webkit-fill-available;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 100px;
  }
  .vector-search-box {
    min-width: 90vw;
    margin-top: 0px;
  }
  .vector-search-box-input {
    width: 80vw;
  }
  #mw-content-text
    > div.mw-parser-output
    > div
    > div
    > div.content
    > table
    > tbody
    > tr
    > td
    > a {
    font-size: 8px;
  }
  #mw-content-text
    > div.mw-parser-output
    > div
    > div
    > div.content
    > table
    > tbody
    > tr
    > th
    > div
    > div
    > a
    > img {
    width: 16px;
    height: 16px;
  }
  #mw-content-text
    > div.mw-parser-output
    > div
    > div
    > div.content
    > table
    > tbody
    > tr
    > td
    > div
    > div
    > a
    > img {
    width: 16px;
    height: 16px;
  }
  #mw-content-text
    > div.mw-parser-output
    > table.jumbotron
    > tbody
    > tr
    > th
    > a
    > img {
    max-width: 100%;
    object-fit: contain;
  }
  footer,
  .vector-menu-content,
  #p-navigation,
  #p-tb {
    display: none;
  }
  #p-logo {
    display: block;
    justify-content: center;
  }
  #p-logo a {
    width: 5em;
  }
 
  table {
    width: 100%;
  }
  .mw-body,
  #mw-data-after-content {
    margin: 10% 10px;
  }
  .grid__col1 {
    grid-column: span 1;
  }
  .grid__col2 {
    grid-column: span 2;
  }
  .grid__col3 {
    grid-column: span 6;
  }
  .grid__colsm1 {
    grid-column: span 1;
  }
  .grid__colsm2 {
    grid-column: span 2;
  }
  .grid__colsm3 {
    grid-column: span 12;
  }
  .grid__colsm4 {
    grid-column: span 12;
  }
  .grid__colsm5 {
    grid-column: span 5;
  }
  .grid__colsm6 {
    grid-column: span 6;
  }
  .grid__colsm7 {
    grid-column: span 7;
  }
  .grid__colsm8 {
    grid-column: span 12;
  }
  .grid__colsm9 {
    grid-column: span 9;
  }
  .grid__colsm10 {
    grid-column: span 10;
  }
  .grid__colsm11 {
    grid-column: span 11;
  }
  .grid__colsm12 {
    grid-column: span 12;
  }
 
  .content-table-basic > tbody {
    display: grid;
  }
  .content-table-basic > tbody > tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(50px, 1fr));
    width: fit-content;
  }
  .content-table-basic > tbody > tr > th {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45vw;
  }
    .content-table-basic > tbody > tr > th > .iconname > .floatleft > a > img{
width:14px;
height: 14px;
  }
 
  .forest {
    margin-top: 0;
  }
 
  .content-table-second {
    background: transparent;
    width: 100%;
  }
  .auto-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
  .mw-body,
  #mw-data-after-content {
    padding: 0;
  }
}
@media screen and (max-width: 1920px) {
  .mw-parser-output a.external {
    font-size: 14px;
  }
}
}


@media screen and (min-width: 2000px) {
.navbox th {
  .mw-parser-output a.external {
     background-color: var(--color-primary);
     font-size: 20px;
     color: var(--theme-heading-color);
     font-weight: 400;
     border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  }
     padding: 6px;
  .floatleft > a > img {
    font-weight: 600;
     width: 48px;
     height: 48px;
  }
}
.header-column > span > a > img{
width: 14px;
    height: 14px;
}
}


.header-column >  a > img{
/* Group Headers inside Navbox */
width: 14px;
.navbox .navbox-group {
     height: 14px;
    background-color: var(--color-secondary);
    color: var(--theme-text-primary);
    font-weight: 600;
     padding: 4px 8px;
    white-space: nowrap;
    border-right: 2px solid var(--theme-body-bg);  
}
}


.heading-char{
.navbox .navbox-list {
  color:#deb76c !important
    text-align: left;
    padding: 4px 8px;
}
}


#footer {
/* Striping for Navbox lists */
background: #292929;
.navbox .navbox-even {
color: #000;
    background-color: rgba(127, 127, 127, 0.03);
margin-top: 0em;
border-top: 1pt solid #aaa;
padding-top: 1px;
direction: ltr;
}
}
/* Game Info Box Styling */
/* ============================================
.game-info-box {
  THEME TOGGLE BUTTON
     border: 2px solid #ddd;
  ============================================ */
     border-radius: 10px;
.floating-theme-toggle {
     padding: 15px;
     position: fixed;
    margin: 15px 0;
     bottom: 20px;
     background: linear-gradient(to bottom, #f9f9f9, #f0f0f0);
     right: 20px;
    width: 300px;
     z-index: 9999;
     float: right;
     padding: 10px 16px;
     clear: right;
     background-color: var(--theme-card-bg);
    margin-left: 20px;
     color: var(--theme-heading-color);
     font-family: sans-serif;
     border: 2px solid var(--theme-border-color);
}
     border-radius: var(--radius-lg);
 
     font-family: 'Fredoka', sans-serif;
.game-info-header {
     font-size: 0.95rem;
    background-color: #4a6fa5;
     font-weight: 600;
     color: white;
     cursor: pointer;
    padding: 10px;
     box-shadow: var(--shadow-soft);
     border-radius: 5px;
     transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    margin: -15px -15px 15px -15px;
     backdrop-filter: blur(8px);  
     text-align: center;
     font-size: 18px;
     font-weight: bold;
}
 
.game-info-row {
    display: flex;
     margin: 8px 0;
     border-bottom: 1px dotted #ccc;
    padding-bottom: 5px;
}
 
.game-info-label {
    font-weight: bold;
     width: 120px;
    color: #333;
}
 
.game-info-value {
    flex: 1;
     color: #555;
}
}


.game-info-genre {
.floating-theme-toggle:hover {
     display: inline-block;
     background-color: var(--color-primary);
    background: #e0e7ff;
     border-color: var(--color-accent);
    padding: 3px 8px;
     transform: translateY(-4px);
     border-radius: 12px;
     box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    margin: 2px;
    color: #000;  
    font-size: 12px;
}
 
.game-info-rating {
    color: #ff9900;
     font-weight: bold;
}
 
/* For mobile responsiveness */
@media (max-width: 768px) {
     .game-info-box {
        float: none;
        width: 100%;
        margin: 15px 0;
    }
}
}

Latest revision as of 06:46, 19 May 2026

/*************************************🎮**************************************
                                                                               *
       ╔═══════════════════════════════════════════════════════════════════╗   
                                                         COMMON.CSS (vA0.1)                                                         
                                                                 ✦ M*n* B**** ✦                                                              
       ╚═══════════════════════════════════════════════════════════════════╝   
                                                                              *
 *******************************************************************************/

/*
*This page contains the entire stylesheet for the MB Wiki.
*We urge you "not to edit" this page "directly".
*Some of the code inherited from coralisland.wiki.
*Any functional issue please report to our wiki-team at the official discord channel

*Imports will be starting below this very line;
*/
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&display=swap');



/* ============================================
   ALL @IMPORTS MUST BE AT THE VERY TOP
   ============================================ */

@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Colors.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Module:Documentation.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Documentation.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Infobox.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Tables.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:MessageBox.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:CustomTabs.css&action=raw&ctype=text/css");   
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Navbox.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Icons.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Dialogue.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Cards.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Tabbers.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Mobile.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Recipe.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:Modal.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:AceEditor.css&action=raw&ctype=text/css");
@import url("https://mbwiki.stairwaygames.work/w/index.php?title=MediaWiki:CodeMirror.css&action=raw&ctype=text/css");

/* ============================================
  TOKEN ROOT ARCHITECTURE
   ============================================ */

/* ✦ THEME MANA (LIGHT) - DEFAULT ✦ */
:root {
    /* 1. Core Color Palette */
    --color-primary: #88eee0;
    --color-secondary: #d9ffe9;
    --color-accent: #87b4b7;
    
    /* 2. Semantic Backgrounds */
    --theme-body-bg: var(--color-secondary);
    --theme-card-bg: rgba(255, 255, 255, 0.85); 
    --theme-card-bg-hover: #ffffff;
    
    /* 3. Semantic Text Colors */
    --theme-text-primary: #1a2b3c; 
    --theme-text-muted: #4a5b6c;
    --theme-heading-color: #0d1b2a;
    
    /* 4. Borders & Interactive Elements */
    --theme-border-color: var(--color-accent);
    --theme-border-color-rgb: 135, 180, 183;
    --theme-link-color: #006b75;
    --theme-link-hover: #004a52;
    
    /* 5. Structures */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --shadow-soft: 0 4px 6px rgba(0, 0, 0, 0.05);
    
    /* Main Page Layout Layout */
    --main-page-layout--desktop: 'banner banner banner' 'about about updates' 'starts starts starts' 'items items items' 'characters characters characters' 'enemies enemies enemies' 'area area area';
    --main-page-layout--tablet: 'banner banner' 'about updates' 'starts starts' 'items items' 'characters characters' 'enemies enemies' 'area area';
    --main-page-layout--mobile: 'banner' 'about' 'updates' 'starts' 'items' 'characters' 'enemies' 'area';
}

/* ✦ THEME BREAK (DARK) - TOGGLE ✦ */
html.theme-break {
    /* 1. Core Color Palette */
    --color-primary: #12435e;
    --color-secondary: #0e344d;
    --color-accent: #7ff6e3;
    
    /* 2. Semantic Backgrounds */
    --theme-body-bg: var(--color-secondary);
    --theme-card-bg: var(--color-primary);
    --theme-card-bg-hover: #164f6f;
    
    /* 3. Semantic Text Colors */
    --theme-text-primary: #eaeef2;
    --theme-text-muted: #87b4b7;
    --theme-heading-color: #ffffff;
    
    /* 4. Borders & Interactive Elements */
    --theme-border-color: var(--color-accent);
    --theme-border-color-rgb: 127, 246, 227;
    --theme-link-color: var(--color-accent);
    --theme-link-hover: #aafff0;
    
    /* 5. Structures */
    --shadow-soft: 0 4px 6px rgba(0, 0, 0, 0.3);
}
/* ============================================
   BASE LAYOUT & STRUCTURAL RESET
   ============================================ */

/* 1. Universal Box Sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

/* 2. MediaWiki Body & Container Reset */
body {
    background-color: var(--theme-body-bg) !important;
    color: var(--theme-text-primary);
    font-family: 'Fredoka', sans-serif; 
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Stripping native MediaWiki container styles  */
.mw-body, #content {
    background: transparent !important;
    border: none !important;
    color: var(--theme-text-primary);
}

/* 3. Typography Normalization */
h1, h2, h3, h4, h5, h6 {
    color: var(--theme-heading-color);
    margin-top: 0;
    font-weight: 600;
}

/* Remove MediaWiki's harsh default underline on H1/H2 */
.mw-body h1, .mw-body h2 {
    border-bottom: 2px solid var(--theme-border-color); 
    padding-bottom: 0.25em;
}

/* 4. Hyperlink Standardization */
a {
    color: var(--theme-link-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover, a:focus {
    color: var(--theme-link-hover);
    text-decoration: underline;
}

a:visited {
    color: var(--theme-link-color); 
}

/* 5. Responsive Media & Selection */
img, video {
    max-width: 100%;
    height: auto;
}

::selection {
    background: var(--color-primary);
    color: #000; 
}
::-moz-selection {
    background: var(--color-primary);
    color: #000;
}

/* ============================================
   BASE LAYOUT (MAPPED TO TOKENS)
   ============================================ */
html, body {
    background-color: var(--theme-body-bg) !important;
    background-image: none !important; 
    color: var(--theme-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease; 
}

.mw-body {
    margin-top: -1px;
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-sm);
    background-color: transparent;
}

/* Hide default elements */
.mobileHide, .mobile-only, .no-desktop {
    display: none !important;
}

/* Fix for hidden H1 on main page */
body.page-Main_Page.action-view h1.firstHeading,
body.page-Main_Page.action-submit h1.firstHeading {
    display: none;
}

/* ============================================
   MAIN PAGE GRID LAYOUT
   ============================================ */
#mp-container {
    display: grid;
    gap: 2rem;
    padding: 1rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Desktop Layout */
@media (min-width: 1024px) {
    #mp-container {
        grid-template-areas: var(--main-page-layout--desktop);
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Tablet Layout */
@media (min-width: 768px) and (max-width: 1023px) {
    #mp-container {
        grid-template-areas: var(--main-page-layout--tablet);
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile Layout */
@media (max-width: 767px) {
    #mp-container {
        grid-template-areas: var(--main-page-layout--mobile);
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* MP Box styling */
.mp-box {
    animation: fadeInUp 0.5s ease forwards;
    opacity: 0;
}

/* Staggered animations */
.mp-box:nth-child(1) { animation-delay: 0.05s; }
.mp-box:nth-child(2) { animation-delay: 0.1s; }
.mp-box:nth-child(3) { animation-delay: 0.15s; }
.mp-box:nth-child(4) { animation-delay: 0.2s; }
.mp-box:nth-child(5) { animation-delay: 0.25s; }
.mp-box:nth-child(6) { animation-delay: 0.3s; }
.mp-box:nth-child(7) { animation-delay: 0.35s; }
.mp-box:nth-child(8) { animation-delay: 0.4s; }

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================
  MAIN PAGE CARDS & GRIDS
   ============================================ */

/* Main Grid Wrapper  */
.main-page-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 1rem;
}

/* 1. Game Intro Cards */
.game-intro-card {
    background-color: var(--theme-card-bg);
    border-radius: var(--radius-lg); /* From Step 1 */
    padding: 1.25rem;
    border: 1px solid var(--theme-border-color);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.3s ease;
}

.game-intro-card:hover {
    background-color: var(--theme-card-bg-hover);
    transform: translateY(-4px); 
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    border-color: var(--color-primary); 
}

/* 2. Header Elements */
.game-header {
    margin-bottom: 1rem;
    position: relative;
}

.mana-text {
    font-family: 'Fredoka', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
    
    /* Gradient */
    background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    
    /* Flexbox aligning the icon perfectly */
    display: flex;
    align-items: center;
    gap: 8px; 
    letter-spacing: 0.5px;
}

.mana-line {
    height: 3px;
    background: linear-gradient(90deg, var(--color-accent), transparent);
    margin-top: 0.5rem;
    width: 100%;
    border-radius: 2px;
}

/* 3. Card Content & Headings */
.game-content {
    color: var(--theme-text-primary);
    line-height: 1.6;
    flex-grow: 1; 
}

.heading-char {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0.5rem 0;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid var(--theme-border-color);
    display: inline-block;
    transition: border-color 0.3s ease;
}

.heading-char a {
    color: var(--theme-heading-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

.heading-char a:hover {
    color: var(--color-accent);
}

/* 4. Auto Grid Lists (The Links) */
.auto-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); 
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0 0;
}

.auto-grid li {
    padding: 0;
}
 
/* Elevated List Link Styling */
.auto-grid li a {
    display: block; 
    padding: 0.35rem 0.5rem;
    color: var(--theme-link-color);
    text-decoration: none;
    border-radius: var(--radius-sm);
    background-color: rgba(127, 127, 127, 0.05); 
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

.auto-grid li a:hover {
    color: var(--theme-link-hover);
    background-color: var(--theme-body-bg);
    border-color: var(--theme-border-color);
    transform: translateX(3px); 
}
/* ============================================
   BANNER, WIKI COMPONENTS & SCROLLBAR
   ============================================ */

/* 1. BANNER SECTION */
#mp-box-banner .mp-body {
    background: linear-gradient(135deg, var(--color-secondary), var(--theme-body-bg));
    border-radius: var(--radius-lg);
    padding: 2rem;
    text-align: center;
    border: 1px solid var(--theme-border-color);
    box-shadow: var(--shadow-soft);
    transition: background 0.3s ease, border-color 0.3s ease;
}

/* Social links */
.social {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.iconname {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
    transition: all 0.2s ease;
}

.iconname:hover {
    background: var(--color-primary);
    border-color: var(--color-accent);
    transform: translateY(-2px);
}

.iconname a {
    color: var(--theme-text-primary) !important;
    text-decoration: none;
    font-weight: 500;
}

/* 2. WIKI FIXES & IMPROVEMENTS */
.wikiEditor-ui-text > .ui-resizable {
    width: 100% !important;
    max-width: 100%;
}

ul { list-style: disc; }

h2 .mw-headline, h3 .mw-headline, h4 .mw-headline { font-weight: 500; }
.vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin-bottom: 4px; }

/* Categories */
.catlinks {
    border-color: var(--theme-border-color);
    border-radius: var(--radius-md);
    background-color: var(--theme-card-bg);
    padding: 10px;
}

/* Code blocks */
code, pre {
    background-color: var(--theme-card-bg);
    color: var(--theme-text-primary);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-sm);
    padding: 2px 6px;
    font-family: Consolas, Eupheima UCAS, Monaco, Menlo, monospace;
}

code.code-block-table { display: table; line-height: 21px; padding: 8px; }
.code-block-table * { font: 14px Consolas, Eupheima UCAS, Monaco, Menlo, monospace; }
.code-block { display: inline-block; line-height: 21px; }

/* Table of Contents */
.toc {
    padding: 12px 16px;
    border-radius: var(--radius-md);
    background-color: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    margin-top: 16px;
    box-shadow: var(--shadow-soft);
}

.toctogglelabel { color: var(--theme-link-color); }
.tocnumber { color: var(--theme-text-muted); }
.vector-body .toc h2 { font-family: 'Fredoka', sans-serif; }

/* Hatnote */
.hatnote {
    border-left: 4px solid var(--color-accent);
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    background-color: var(--theme-card-bg);
    margin: 8px 0;
}

/* Variables styling */
span.variable { opacity: 0.65; }
span.variable::after { opacity: 0.65; content: ">"; }
span.variable::before { opacity: 0.65; content: "<"; }

/* Pull quotes */
.pull-quote { font-style: italic; margin: 0; padding: 0 30px 8px !important; }
.pull-quote::before {
    color: var(--color-accent);
    content: "“";
    display: block;
    font-size: 96px;
    font-style: normal;
    line-height: 72px;
    margin: 4px 0 -45px -5px;
}
.pull-quote__source::before { content: "— "; margin-bottom: 8px; }
.pull-quote__text { margin-bottom: 4px; }

/* Gallery & Changelist */
.gallerytext { text-align: center; font-size: 100%; }
.changelist-header { display: flex; justify-content: space-between; align-items: center; font-size: 88%; margin: 0.3em 0; }
.changelist-content { overflow: auto; max-height: 384px; padding: 1em; box-sizing: border-box; border-radius: var(--radius-md); }
.changelist-border { border: 1px solid var(--theme-border-color); border-left: 6px solid var(--color-accent); }

/* Chat wrapper */
.chat-wrapper { display: flex; flex-direction: column; }
.chat-player, .chat-npc { display: flex; flex-direction: row; gap: 0.5em; }
.chat-player-speaker { white-space: nowrap; min-width: 70px; color: #43b581; font-weight: 600; } 
.chat-npc-speaker { white-space: nowrap; min-width: 70px; color: #f04747; font-weight: 600; }

/* 3. RESPONSIVE IMPROVEMENTS */
@media (max-width: 768px) {
    .game-intro-card { padding: 1rem; }
    .mana-text { font-size: 1.25rem; }
    .social { gap: 0.5rem; }
    .iconname { padding: 0.35rem 0.75rem; font-size: 0.9rem; }
    #mp-box-banner .mp-body { padding: 1rem; }
}

/* 4. CUSTOM SCROLLBAR */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track {
    background: var(--theme-body-bg);
    border-radius: 0px; 
}
::-webkit-scrollbar-thumb {
    background: var(--color-accent);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover { background: var(--theme-link-hover); }

/* 5. UTILITY CLASSES */
.text-center { text-align: center; }
.mt-2 { margin-top: 0.5rem; }
.mb-2 { margin-bottom: 0.5rem; }
.p-2 { padding: 0.5rem; }
/* ============================================
   WIKI COMPONENTS
   ============================================ */

/* 1. WIKITABLES  */
table.wikitable {
    background-color: var(--theme-card-bg);
    color: var(--theme-text-primary);
    border: 1px solid var(--theme-border-color);
    border-collapse: collapse;
    margin: 1em 0;
    width: 100%; /* Encourages responsive behavior */
    box-shadow: var(--shadow-soft);
}

table.wikitable > tr > th,
table.wikitable > tr > td,
table.wikitable > * > tr > th,
table.wikitable > * > tr > td {
    border: 1px solid var(--theme-border-color);
    padding: 0.5em 0.75em;
}

/* Table Headers */
table.wikitable > tr > th,
table.wikitable > * > tr > th {
    background-color: var(--color-primary);
    color: var(--theme-heading-color);
    font-weight: 600;
    text-align: center;
}


table.wikitable > tbody > tr:hover {
    background-color: rgba(127, 127, 127, 0.05);
}

/* 2. INFOBOXES  */
.infobox {
    float: right;
    clear: right;
    margin: 0 0 1em 1em;
    width: 300px;
    background-color: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-md);
    padding: 10px;
    box-shadow: var(--shadow-soft);
    font-size: 0.9em;
    color: var(--theme-text-primary);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Infobox Headers */
.infobox th {
    background-color: var(--color-secondary);
    color: var(--theme-heading-color);
    text-align: center;
    padding: 5px;
    border-radius: var(--radius-sm);
}

.infobox td {
    padding: 4px 5px;
    border-bottom: 1px solid rgba(127, 127, 127, 0.1); 
}


.infobox tr:last-child td {
    border-bottom: none;
}

/* 3. NAVBOXES  */
.navbox {
    background-color: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--radius-md);
    margin: 1.5em 0;
    padding: 2px;
    text-align: center;
    box-shadow: var(--shadow-soft);
    width: 100%;
    clear: both;
}

.navbox th {
    background-color: var(--color-primary);
    color: var(--theme-heading-color);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    padding: 6px;
    font-weight: 600;
}

/* Group Headers inside Navbox */
.navbox .navbox-group {
    background-color: var(--color-secondary);
    color: var(--theme-text-primary);
    font-weight: 600;
    padding: 4px 8px;
    white-space: nowrap;
    border-right: 2px solid var(--theme-body-bg); 
}

.navbox .navbox-list {
    text-align: left;
    padding: 4px 8px;
}

/* Striping for Navbox lists */
.navbox .navbox-even {
    background-color: rgba(127, 127, 127, 0.03);
}
/* ============================================
   THEME TOGGLE BUTTON
   ============================================ */
.floating-theme-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    padding: 10px 16px;
    background-color: var(--theme-card-bg);
    color: var(--theme-heading-color);
    border: 2px solid var(--theme-border-color);
    border-radius: var(--radius-lg);
    font-family: 'Fredoka', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    backdrop-filter: blur(8px); 
}

.floating-theme-toggle:hover {
    background-color: var(--color-primary);
    border-color: var(--color-accent);
    transform: translateY(-4px); 
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    color: #000; 
}