MediaWiki:Common.css: Difference between revisions

From MB Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(115 intermediate revisions by the same user not shown)
Line 1: Line 1:
.class { }/* needed for some reason for the @imports to work */
.class {}
 
/* needed for some reason for the @imports to work */
/* Imports caching */
/* Imports caching */
/*@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Colors.css");*/
/*@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Colors.css");*/
Line 18: Line 20:
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:AceEditor.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:AceEditor.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:CodeMirror.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:CodeMirror.css");
:root { /* Universal Base Styles */
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                  'Helvetica Neue', Arial, sans-serif;
    --font-family-headings: 'Segoe UI', system-ui, -apple-system,
                            'Helvetica Neue', Arial, sans-serif;
    --font-family-mono: 'SFMono-Regular', Consolas, 'Liberation Mono',
                      Menlo, Courier, monospace;
   
    --font-size: 16px; /* Slightly larger base */
    --font-size-small: 14px;
    --font-size-large: 18px;
    --font-size-xlarge: 20px;
    --font-size-h1: 32px;
    --font-size-h2: 26px;
    --font-size-h3: 22px;
    --font-size-h4: 18px;
   
    --line-height: 1.6; /* More breathing room */
    --line-height-headings: 1.3;
    --line-height-tight: 1.25;
   
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
   
    /* ===== SPACING ===== */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
   
    /* ===== SHADOWS & DEPTH ===== */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
    --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);
   
    /* ===== BORDERS & RADIUS ===== */
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 12px;
    --border-radius-full: 9999px;
   
    --border-width: 1px;
    --border-width-thick: 2px;
    --border-width-xthick: 3px;
   
    /* ===== TRANSITIONS ===== */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
   
    /* ===== Z-INDEX LAYERS ===== */
    --z-index-dropdown: 1000;
    --z-index-sticky: 1020;
    --z-index-fixed: 1030;
    --z-index-modal-backdrop: 1040;
    --z-index-modal: 1050;
    --z-index-popover: 1060;
    --z-index-tooltip: 1070;
   
    /* ===== FOCUS STATES ===== */
    --focus-ring-color: rgba(79, 209, 199, 0.6);
    --focus-ring-color-dark: rgba(79, 209, 199, 0.8);
    --focus-ring-width: 3px;
    --focus-ring-offset: 2px;
   
    /* ===== GRAY SCALE (Optimized) ===== */
    --gray-950: #0f1419;
    --gray-900: #1a202c;
    --gray-800: #2d3748;
    --gray-700: #4a5568;
    --gray-600: #718096;
    --gray-500: #a0aec0;
    --gray-400: #cbd5e0;
    --gray-300: #e2e8f0;
    --gray-200: #edf2f7;
    --gray-100: #f7fafc;
    --gray-050: #ffffff;
   
    /* ===== TEAL/BLUE SCALE ===== */
    --teal-900: #1d4044;
    --teal-800: #234e52;
    --teal-700: #285e61;
    --teal-600: #2c7a7b;
    --teal-500: #319795;
    --teal-400: #38b2ac;
    --teal-300: #4fd1c7;
    --teal-200: #81e6d9;
    --teal-100: #b2f5ea;
    --teal-050: #e6fffa;
   
    /* ===== OTHER COLORS ===== */
    --light-blue: #90cdf4;
    --gold: #d69e2e;
    --purple: #9f7aea;
   
    /* ===== ANIMATIONS ===== */
    --animation-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animation-spin: spin 1s linear infinite;
    --animation-bounce: bounce 1s infinite;
   
    /* Universal border */
    --border-color: var(--theme-border-color);
}


/* Light Theme */
:root {
:root body:not(.skin-vector-dark) {
/* Universal Base Styles */
    /* ===== BASE COLORS ===== */
--font-size: 16px;
    --theme-page-text-color: #1a2a2a; /* Darker for 17:1 contrast */
/* Slightly larger base */
    --theme-page-text-color--inverse: #ffffff;
--font-size-small: 14px;
    --theme-page-background-color: #f5fdfb; /* Slightly darker for less glare */
--font-size-large: 18px;
    --theme-page-background-color--rgb: 245, 253, 251;
--font-size-xlarge: 20px;
    --theme-page-background-color--secondary: #e8f5f3; /* Better contrast: 13:1 */
--font-size-h1: 32px;
    --theme-page-background-color--secondary--rgb: 232, 245, 243;
--font-size-h2: 26px;
   
--font-size-h3: 22px;
    /* ===== LINKS ===== */
--font-size-h4: 18px;
    --theme-link-color: #007d7a; /* Darker for 7:1 contrast */
 
    --theme-link-color--rgb: 0, 125, 122;
--line-height: 1.6;
    --theme-link-color--hover: #005652; /* Even darker on hover */
/* More breathing room */
    --theme-link-color--visited: #4a5568; /* Distinct visited state */
--line-height-headings: 1.3;
    --theme-link-label-color: #00474A;
--line-height-tight: 1.25;
    --mw-head-link-color: #007d7a;
 
    --new-link-color: #00a3a3; /* For "red links" - actually teal */
--font-weight-normal: 400;
   
--font-weight-medium: 500;
    /* ===== ACCENTS ===== */
--font-weight-semibold: 600;
    --theme-accent-color: #38b2ac; /* More vibrant */
--font-weight-bold: 700;
    --theme-accent-color--rgb: 56, 178, 172;
--wiki-content-text-color: var(--theme-page-text-color, #1a2a2a);
    --theme-accent-color--hover: #2c9c96; /* Darker hover */
 
    --theme-accent-label-color: #ffffff;
/* ===== SPACING ===== */
   
--spacing-xs: 4px;
    /* ===== BORDERS ===== */
--spacing-sm: 8px;
    --theme-border-color: #a1e9dc; /* More visible */
--spacing-md: 16px;
    --theme-border-color--rgb: 161, 233, 220;
--spacing-lg: 24px;
    --theme-border-color--subtle: #d1f5ee; /* For subtle separators */
--spacing-xl: 32px;
   
--spacing-2xl: 48px;
    /* ===== STATUS COLORS (Enhanced for visibility) ===== */
 
    --theme-alert-color: #d53f3f; /* More vibrant red - 7:1 contrast */
/* ===== SHADOWS & DEPTH ===== */
    --theme-alert-color--rgb: 213, 63, 63;
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
    --theme-alert-color--hover: #b03030;
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --theme-alert-color--secondary: #ffeaea; /* Softer background */
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --theme-alert-label: #ffffff;
--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
   
--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);
    --theme-warning-color: #c05621; /* Warmer orange - 6.5:1 contrast */
 
    --theme-warning-color--rgb: 192, 86, 33;
/* ===== BORDERS & RADIUS ===== */
    --theme-warning-color--secondary: #fff4e6;
--wiki-content-border-color: var(--theme-border-color, #a1e9dc);
    --theme-warning-label: #1a2a2a; /* Dark text on light background */
--border-radius-sm: 4px;
   
--border-radius-md: 8px;
    --theme-success-color: #2e8b57; /* More distinct green - 7:1 contrast */
--border-radius-lg: 2px;
    --theme-success-color--rgb: 46, 139, 87;
--border-radius-full: 9999px;
    --theme-success-color--secondary: #e6f7ed;
 
    --theme-success-label: #1a2a2a; /* Dark text on light background */
--border-width: 1px;
   
--border-width-thick: 2px;
    --theme-message-color: #6b46c1; /* More vibrant purple */
--border-width-xthick: 3px;
    --theme-message-color--rgb: 107, 70, 193;
 
    --theme-message-color--secondary: #f3f0ff;
/* ===== TRANSITIONS ===== */
    --theme-message-label: #ffffff;
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
   
--transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --theme-info-color: #3182ce; /* Added info color */
--transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
    --theme-info-color--secondary: #ebf8ff;
 
    --theme-info-label: #1a2a2a;
/* ===== Z-INDEX LAYERS ===== */
   
--z-index-dropdown: 1000;
    /* ===== ALERT HIGHLIGHT ===== */
--z-index-sticky: 1020;
    --theme-alert-highlight: #c53030;
--z-index-fixed: 1030;
    --theme-alert-highlight--rgb: 197, 48, 48;
--z-index-modal-backdrop: 1040;
    --theme-alert-highlight--hover: #e53e3e;
--z-index-modal: 1050;
   
--z-index-popover: 1060;
    /* ===== CUSTOM VARIABLES ===== */
--z-index-tooltip: 1070;
    --theme-alt-text: #ffffff;
 
    --theme-accent-bg: #e6fffa;
/* ===== FOCUS STATES ===== */
    --theme-infobox-bg: #f0faf9; /* Less harsh than pure white */
--focus-ring-color: rgba(79, 209, 199, 0.6);
    --theme-card-shadow: var(--shadow-sm);
--focus-ring-color-dark: rgba(79, 209, 199, 0.8);
    --theme-card-shadow-hover: var(--shadow-md);
--focus-ring-width: 3px;
   
--focus-ring-offset: 2px;
    /* ===== YOUR CUSTOM COLORS ===== */
 
    --color-player: #60d9c5; /* More readable than #74f4e0 */
/* ===== GRAY SCALE (Optimized) ===== */
    --color-accent: #38b2ac;
--gray-950: #0f1419;
    --color-npc: #9f7aea;
--gray-900: #1a202c;
    --color-npc-secondary: #d6bcfa;
--gray-800: #2d3748;
   
--gray-700: #4a5568;
    /* ===== CARD BACKGROUNDS ===== */
--gray-600: #718096;
    --card-bg-main: #ffffff;
--gray-500: #a0aec0;
    --card-bg-sub: #e6fffa;
--gray-400: #cbd5e0;
    --card-bg-elevated: #ffffff;
--gray-300: #e2e8f0;
    --card-border-color: var(--theme-border-color);
--gray-200: #edf2f7;
   
--gray-100: #f7fafc;
    /* ===== LETTER BACKGROUND ===== */
--gray-050: #ffffff;
    --letter-bg: #f0fff4;
 
    --letter-border: #c6f6d5;
/* ===== TEAL/BLUE SCALE ===== */
   
--teal-900: #1d4044;
    /* ===== USER HIGHLIGHTS ===== */
--teal-800: #234e52;
    --custom-admin-highlight: #c05621;
--teal-700: #285e61;
    --custom-contentmoderator-highlight: #6b46c1;
--teal-600: #2c7a7b;
    --custom-bot-color: #718096;
--teal-500: #319795;
    --custom-bot-font-style: italic;
--teal-400: #38b2ac;
   
--teal-300: #4fd1c7;
    /* ===== NAMED ACCENTS ===== */
--teal-200: #81e6d9;
    --accent: var(--theme-accent-color);
--teal-100: #b2f5ea;
    --player: var(--color-player);
--teal-050: #e6fffa;
    --npc: var(--color-npc);
 
   
/* ===== OTHER COLORS ===== */
    /* ===== INPUTS ===== */
--light-blue: #90cdf4;
    --input-bg: #ffffff;
--gold: #d69e2e;
    --input-border: #cbd5e0;
--purple: #9f7aea;
    --input-border-focus: var(--theme-accent-color);
    --input-text: var(--theme-page-text-color);
    --input-placeholder: #a0aec0;
   
    /* ===== CODE & PRE ===== */
    --code-bg: #f7fafc;
    --code-border: #e2e8f0;
    --code-text: var(--theme-page-text-color);
    --pre-bg: #1a202c;
    --pre-text: #e2e8f0;
   
    /* ===== TABLE STYLES ===== */
    --table-header-bg: #e6fffa;
    --table-header-text: var(--theme-page-text-color);
    --table-row-even: #f7fafc;
    --table-row-odd: #ffffff;
    --table-border: var(--theme-border-color);
}


/* Dark Theme */
/* ===== ANIMATIONS ===== */
:root .skin-vector-dark {
--animation-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    /* ===== BASE COLORS ===== */
--animation-spin: spin 1s linear infinite;
    --theme-page-text-color: #e6f7f5; /* Warmer light color */
--animation-bounce: bounce 1s infinite;
    --theme-page-text-color--inverse: #1a202c;
 
    --theme-page-background-color: rgba(22, 28, 36, 0.98); /* Softer dark */
/* Universal border */
    --theme-page-background-color--rgb: 22, 28, 36;
--border-color: var(--theme-border-color);
    --theme-page-background-color--secondary: #2a363d; /* Warmer, better contrast */
/*Navigation*/
    --theme-page-background-color--secondary--rgb: 42, 54, 61;
--mb-navigation-left-spacing: 0px;
   
--mb-navigation-right-spacing: 0px;
    /* ===== LINKS ===== */
--mb-navigation-tab-spacing: 0px;
    --theme-link-color: #5fd9cf; /* Brighter for visibility */
--mb-navigation-gap-between-left-and-right: 0px;
    --theme-link-color--rgb: 95, 217, 207;
--mb-navigation-bottom-spacing: 0px;
    --theme-link-color--hover: #81e6d9;
--mb-navigation-border-bottom-width: 1px;
    --theme-link-color--visited: #a0aec0;
--mb-navigation-border-width: 1px;
    --theme-link-label-color: #e6f7f5;
--mb-navigation-border-style: solid;
    --mw-head-link-color: #5fd9cf;
--mb-navigation-border-color: var(--theme-border-color);
    --new-link-color: #4fd1c7; /* For "red links" */
--mb-navigation-border-bottom-color: var(--theme-border-color);
   
--mb-navigation-border-bottom-style: solid;
    /* ===== ACCENTS ===== */
--mb-navigation-text-color: var(--theme-page-text-color);
    --theme-accent-color: #5fd9cf;
--mb-navigation-background-color: var(--theme-page-background-color--secondary);
    --theme-accent-color--rgb: 95, 217, 207;
--mb-navigation-background-opacity: 100%;
    --theme-accent-color--hover: #81e6d9;
--mb-navigation-tab-padding-top: 1.25em;
    --theme-accent-label-color: #1a202c;
--mb-navigation-tab-padding-x: 0.75em;
   
--mb-navigation-tab-padding-bottom: 4px;
    /* ===== BORDERS ===== */
--mb-navigation-border-radius: 4px 4px 0 0;
    --theme-border-color: #4d6872; /* More visible */
--mb-navigation-font-size: 0.8125em;
    --theme-border-color--rgb: 77, 104, 114;
--mb-navigation-font-weight: normal;
    --theme-border-color--subtle: #3a5059;
 
   
/* Selected tab variables */
    /* ===== STATUS COLORS ===== */
--mb-navigation-selected-border-color: var(--theme-accent-color);
    --theme-alert-color: #fc8181;
--mb-navigation-selected-background-color: var(--theme-accent-color);
    --theme-alert-color--rgb: 252, 129, 129;
--mb-navigation-selected-text-color: var(--theme-accent-label-color);
    --theme-alert-color--hover: #feb2b2;
--mb-navigation-selected-border-width: 1px;
    --theme-alert-color--secondary: #4a2626; /* Darker background */
--mb-navigation-selected-border-style: solid;
    --theme-alert-label: #1a202c; /* Dark text on light red */
 
   
/* Hover variables */
    --theme-warning-color: #f6ad55;
--mb-navigation-text-color--hover: var(--theme-link-color);
    --theme-warning-color--rgb: 246, 173, 85;
--mb-navigation-border-color--hover: var(--theme-border-color);
    --theme-warning-color--secondary: #4a3a20;
 
    --theme-warning-label: #1a202c;
/* Content variables */
   
--mb-content-border-top-radius: 0px;
    --theme-success-color: #68d391;
--mb-content-border-radius: 0px;
    --theme-success-color--rgb: 104, 211, 145;
--mb-is-navigation-inside-content: 0;
    --theme-success-color--secondary: #22543d;
    --theme-success-label: #1a202c;
   
    --theme-message-color: #b794f4;
    --theme-message-color--rgb: 183, 148, 244;
    --theme-message-color--secondary: #3a3664;
    --theme-message-label: #1a202c;
   
    --theme-info-color: #63b3ed;
    --theme-info-color--secondary: #2c5282;
    --theme-info-label: #1a202c;
   
    /* ===== CUSTOM VARIABLES ===== */
    --theme-alt-text: #2d3748;
    --theme-accent-bg: #2d3748;
    --theme-infobox-bg: #2a363d;
    --theme-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    --theme-card-shadow-hover: 0 4px 6px rgba(0, 0, 0, 0.4);
   
    /* ===== YOUR CUSTOM COLORS ===== */
    --color-player: #48b8aa; /* More vibrant */
    --color-accent: #5fd9cf;
    --color-npc: #b794f4;
    --color-npc-secondary: #d6bcfa;
   
    /* ===== CARD BACKGROUNDS ===== */
    --card-bg-main: #2a363d;
    --card-bg-sub: #3a464d;
    --card-bg-elevated: #34444d;
    --card-border-color: var(--theme-border-color);
   
    /* ===== LETTER BACKGROUND ===== */
    --letter-bg: #1a272b;
    --letter-border: #2d4a3c;
   
    /* ===== USER HIGHLIGHTS ===== */
    --custom-admin-highlight: #f6ad55;
    --custom-contentmoderator-highlight: #b794f4;
    --custom-bot-color: #a0aec0;
    --custom-bot-font-style: italic;
   
    /* ===== ALERT HIGHLIGHT ===== */
    --theme-alert-highlight: #e53e3e;
    --theme-alert-highlight--rgb: 229, 62, 62;
    --theme-alert-highlight--hover: #fc8181;
   
    /* ===== NAMED ACCENTS ===== */
    --accent: var(--theme-accent-color);
    --player: var(--color-player);
    --npc: var(--color-npc);
   
    /* ===== INPUTS ===== */
    --input-bg: #2d3748;
    --input-border: #4a5568;
    --input-border-focus: var(--theme-accent-color);
    --input-text: var(--theme-page-text-color);
    --input-placeholder: #718096;
   
    /* ===== CODE & PRE ===== */
    --code-bg: #2d3748;
    --code-border: #4a5568;
    --code-text: var(--theme-page-text-color);
    --pre-bg: #1a202c;
    --pre-text: #e2e8f0;
   
    /* ===== TABLE STYLES ===== */
    --table-header-bg: #2d4a4d;
    --table-header-text: var(--theme-page-text-color);
    --table-row-even: #2a363d;
    --table-row-odd: #34444d;
    --table-border: var(--theme-border-color);
}


/* ===== KEYFRAME ANIMATIONS ===== */
/* Dropdown variables */
@keyframes pulse {
--mb-navigation-dropdown-border-width: 1px;
    0%, 100% { opacity: 1; }
--mb-navigation-dropdown-border-color: var(--theme-border-color);
    50% { opacity: 0.5; }
--mb-navigation-dropdown-border-radius: 4px;
}
--mb-navigation-dropdown-background-color: var(--card-bg-main);
--mb-navigation-dropdown-background-opacity: 100%;
--mb-navigation-dropdown-box-shadow: var(--shadow-lg);
--mb-navigation-dropdown-padding: var(--spacing-sm) 0;
--mb-navigation-dropdown-offset: 4px;
--mb-navigation-dropdown-text-color: var(--theme-page-text-color);
--mb-navigation-dropdown-text-color--hover: var(--theme-link-color);
--mb-navigation-dropdown-item-padding: 8px 16px;


@keyframes spin {
/* Search variables */
    from { transform: rotate(0deg); }
--mb-navigation-search-bottom-spacing: 3px;
    to { transform: rotate(360deg); }
--mb-navigation-search-font-size: 0.8125em;
}
--mb-navigation-search-height: 2em;
--mb-navigation-search-button-color: var(--theme-accent-color);
--mb-navigation-search-button-color-opacity: 80%;
--mb-navigation-search-button-color--hover: var(--theme-accent-color--hover);
--mb-navigation-search-button-color-opacity--hover: 95%;


@keyframes bounce {
/* Icon variables */
    0%, 100% { transform: translateY(0); }
--mb-navigation-icon-size: 1em;
    50% { transform: translateY(-10px); }
--mb-navigation-tab-padding-x--icon: 0.75em;
}
}


/* ===== LINK STYLING ===== */
/* Light Theme */
.mw-body a,
:root body:not(.skin-vector-dark) {
.mw-body-content a {
/* ===== BASE COLORS ===== */
    text-decoration: none;
--theme-page-text-color: #1a2a2a;
    transition: color var(--transition-fast) ease,
--theme-page-text-color--inverse: #ffffff;
                background-color var(--transition-fast) ease,
--theme-page-background-color: #f5fdfb;
                border-color var(--transition-fast) ease;
/* Slightly darker for less glare */
}
--theme-page-background-color--rgb: 245, 253, 251;
--theme-page-background-color--secondary: #e8f5f3;
/* Better contrast: 13:1 */
--theme-page-background-color--secondary--rgb: 232, 245, 243;
 
/* ===== LINKS ===== */
--theme-link-color: #007d7a;
/* Darker for 7:1 contrast */
--theme-link-color--rgb: 0, 125, 122;
--theme-link-color--hover: #005652;
/* Even darker on hover */
--theme-link-color--visited: #4a5568;
/* Distinct visited state */
--theme-link-label-color: #00474a;
--mw-head-link-color: #007d7a;
--new-link-color: #00a3a3;
/* For "red links" - actually teal */


.mw-body a:not(.new):hover,
/* ===== ACCENTS ===== */
.mw-body-content a:not(.new):hover {
--theme-accent-color: #38b2ac;
    text-decoration: underline;
/* More vibrant */
    text-decoration-thickness: 2px;
--theme-accent-color--rgb: 56, 178, 172;
    text-underline-offset: 2px;
--theme-accent-color--hover: #2c9c96;
}
/* Darker hover */
--theme-accent-label-color: #ffffff;


.mw-body a.new,
/* ===== BORDERS ===== */
.mw-body a.new:visited,
--theme-border-color: #a1e9dc;
.mw-body-content a.new {
/* More visible */
    color: var(--new-link-color) !important;
--theme-border-color--rgb: 161, 233, 220;
    font-weight: var(--font-weight-semibold) !important;
--theme-border-color--subtle: #d1f5ee;
    border-bottom: 1px dashed rgba(0, 163, 163, 0.4) !important;
/* For subtle separators */
    background-color: rgba(0, 163, 163, 0.08) !important;
    padding: 1px 3px !important;
    border-radius: var(--border-radius-sm) !important;
    transition: all var(--transition-base) ease !important;
}


.mw-body a.new:hover,
/* ===== STATUS COLORS (Enhanced for visibility) ===== */
.mw-body-content a.new:hover {
--theme-alert-color: #d53f3f;
    background-color: rgba(0, 163, 163, 0.15) !important;
/* More vibrant red - 7:1 contrast */
    border-bottom-style: solid !important;
--theme-alert-color--rgb: 213, 63, 63;
    text-decoration: none !important;
--theme-alert-color--hover: #b03030;
    box-shadow: 0 1px 2px rgba(0, 163, 163, 0.2) !important;
--theme-alert-color--secondary: #ffeaea;
}
/* Softer background */
--theme-alert-label: #ffffff;


/* Dark theme new links */
--theme-warning-color: #c05621;
.skin-vector-dark .mw-body a.new,
/* Warmer orange - 6.5:1 contrast */
.skin-vector-dark .mw-body a.new:visited,
--theme-warning-color--rgb: 192, 86, 33;
.skin-vector-dark .mw-body-content a.new {
--theme-warning-color--secondary: #fff4e6;
    color: var(--new-link-color) !important;
--theme-warning-label: #1a2a2a;
    background-color: rgba(79, 209, 199, 0.1) !important;
/* Dark text on light background */
    border-bottom-color: rgba(79, 209, 199, 0.5) !important;
}


/* ===== FOCUS STYLES ===== */
--theme-success-color: #2e8b57;
*:focus {
/* More distinct green - 7:1 contrast */
    outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
--theme-success-color--rgb: 46, 139, 87;
    outline-offset: var(--focus-ring-offset) !important;
--theme-success-color--secondary: #e6f7ed;
    border-radius: var(--border-radius-sm) !important;
--theme-success-label: #1a2a2a;
}
/* Dark text on light background */


*:focus:not(:focus-visible) {
--theme-message-color: #6b46c1;
    outline: none !important;
/* More vibrant purple */
}
--theme-message-color--rgb: 107, 70, 193;
--theme-message-color--secondary: #f3f0ff;
--theme-message-label: #ffffff;


*:focus-visible {
--theme-info-color: #3182ce;
    outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
/* Added info color */
    outline-offset: var(--focus-ring-offset) !important;
--theme-info-color--secondary: #ebf8ff;
    border-radius: var(--border-radius-sm) !important;
--theme-info-label: #1a2a2a;
}


/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
/* ===== ALERT HIGHLIGHT ===== */
@media (prefers-reduced-motion: reduce) {
--theme-alert-highlight: #c53030;
    :root {
--theme-alert-highlight--rgb: 197, 48, 48;
        --transition-fast: 0ms;
--theme-alert-highlight--hover: #e53e3e;
        --transition-base: 0ms;
 
        --transition-slow: 0ms;
/* ===== CUSTOM VARIABLES ===== */
    }
--theme-alt-text: #ffffff;
   
--theme-accent-bg: #e6fffa;
    * {
--theme-infobox-bg: #f0faf9;
        animation-duration: 0.01ms !important;
/* Less harsh than pure white */
        animation-iteration-count: 1 !important;
--theme-card-shadow: var(--shadow-sm);
        transition-duration: 0.01ms !important;
--theme-card-shadow-hover: var(--shadow-md);
    }
 
}
/* =====  CUSTOM COLORS ===== */
--color-player: #60d9c5;
--color-accent: #38b2ac;
--color-npc: #9f7aea;
--color-npc-secondary: #d6bcfa;
 
/* ===== CARD BACKGROUNDS ===== */
--card-bg-main: #ffffff;
--card-bg-sub: #e6fffa;
--card-bg-elevated: #ffffff;
--card-border-color: var(--theme-border-color);
 
/* ===== LETTER BACKGROUND ===== */
--letter-bg: #f0fff4;
--letter-border: #c6f6d5;
 
/* ===== USER HIGHLIGHTS ===== */
--custom-admin-highlight: #c05621;
--custom-contentmoderator-highlight: #6b46c1;
--custom-bot-color: #718096;
--custom-bot-font-style: italic;
 
/* ===== NAMED ACCENTS ===== */
--accent: var(--theme-accent-color);
--player: var(--color-player);
--npc: var(--color-npc);
 
/* ===== INPUTS ===== */
--input-bg: #ffffff;
--input-border: #cbd5e0;
--input-border-focus: var(--theme-accent-color);
--input-text: var(--theme-page-text-color);
--input-placeholder: #a0aec0;


/* High contrast mode support */
/* ===== CODE & PRE ===== */
@media (prefers-contrast: high) {
--code-bg: #f7fafc;
    :root body:not(.skin-vector-dark) {
--code-border: #e2e8f0;
        --theme-link-color: #005652;
--code-text: var(--theme-page-text-color);
        --theme-border-color: #1a2a2a;
--pre-bg: #1a202c;
        --new-link-color: #007d7a;
--pre-text: #e2e8f0;
    }
   
    :root .skin-vector-dark {
        --theme-link-color: #81e6d9;
        --theme-border-color: #718096;
        --new-link-color: #4fd1c7;
    }
   
    .mw-body a.new,
    .mw-body-content a.new {
        border-bottom-width: 2px !important;
        background-color: transparent !important;
    }
}


/* ===== PRINT STYLES ===== */
/* ===== TABLE STYLES ===== */
@media print {
--table-header-bg: #e6fffa;
    :root {
--table-header-text: var(--theme-page-text-color);
        --theme-page-text-color: #000000;
--table-row-even: #f7fafc;
        --theme-page-background-color: #ffffff;
--table-row-odd: #ffffff;
        --theme-link-color: #000000;
--table-border: var(--theme-border-color);
    }
   
    a {
        color: #000000 !important;
        text-decoration: underline !important;
    }
   
    a.new::after {
        content: " [new]";
        font-size: smaller;
        color: #666;
    }
}
}


/* ===== UTILITY CLASSES (Optional but helpful) ===== */
/* Dark Theme */
.visually-hidden {
:root .skin-vector-dark {
    position: absolute !important;
/* ===== BASE COLORS ===== */
    width: 1px !important;
--wiki-content-text-color: var(--theme-page-text-color, #e6f7f5);
    height: 1px !important;
--theme-page-text-color: #e6f7f5;
    padding: 0 !important;
/* Warmer light color */
    margin: -1px !important;
--theme-page-text-color--inverse: #1a202c;
    overflow: hidden !important;
--theme-page-background-color: rgba(22, 28, 36, 0.98);
    clip: rect(0, 0, 0, 0) !important;
/* Softer dark */
    white-space: nowrap !important;
--theme-page-background-color--rgb: 22, 28, 36;
    border: 0 !important;
--theme-page-background-color--secondary: #2a363d;
}
/* Warmer, better contrast */
--theme-page-background-color--secondary--rgb: 42, 54, 61;


.text-truncate {
/* ===== LINKS ===== */
    overflow: hidden;
--theme-link-color: #5fd9cf;
    text-overflow: ellipsis;
/* Brighter for visibility */
    white-space: nowrap;
--theme-link-color--rgb: 95, 217, 207;
}
--theme-link-color--hover: #81e6d9;
--theme-link-color--visited: #a0aec0;
--theme-link-label-color: #e6f7f5;
--mw-head-link-color: #5fd9cf;
--new-link-color: #4fd1c7;
/* For "red links" */


.text-balance {
/* ===== ACCENTS ===== */
    text-wrap: balance;
--theme-accent-color: #5fd9cf;
}
--theme-accent-color--rgb: 95, 217, 207;
--theme-accent-color--hover: #81e6d9;
--theme-accent-label-color: #1a202c;


.shadow-subtle {
/* ===== BORDERS ===== */
    box-shadow: var(--shadow-sm);
--theme-border-color: #4d6872;
}
/* More visible */
--theme-border-color--rgb: 77, 104, 114;
--theme-border-color--subtle: #3a5059;


.shadow-elevated {
/* ===== STATUS COLORS ===== */
    box-shadow: var(--shadow-md);
--theme-alert-color: #fc8181;
}
--theme-alert-color--rgb: 252, 129, 129;
--theme-alert-color--hover: #feb2b2;
--theme-alert-color--secondary: #4a2626;
/* Darker background */
--theme-alert-label: #1a202c;
/* Dark text on light red */


.card {
--theme-warning-color: #f6ad55;
    background-color: var(--card-bg-main);
--theme-warning-color--rgb: 246, 173, 85;
    border-radius: var(--border-radius-md);
--theme-warning-color--secondary: #4a3a20;
    border: 1px solid var(--card-border-color);
--theme-warning-label: #1a202c;
    box-shadow: var(--theme-card-shadow);
    transition: all var(--transition-base) ease;
}


.card:hover {
--theme-success-color: #68d391;
    box-shadow: var(--theme-card-shadow-hover);
--theme-success-color--rgb: 104, 211, 145;
    transform: translateY(-2px);
--theme-success-color--secondary: #22543d;
}
--theme-success-label: #1a202c;


.status-alert {
--theme-message-color: #b794f4;
    background-color: var(--theme-alert-color--secondary);
--theme-message-color--rgb: 183, 148, 244;
    color: var(--theme-alert-color);
--theme-message-color--secondary: #3a3664;
    border-left: 4px solid var(--theme-alert-color);
--theme-message-label: #1a202c;
}


.status-warning {
--theme-info-color: #63b3ed;
    background-color: var(--theme-warning-color--secondary);
--theme-info-color--secondary: #2c5282;
    color: var(--theme-warning-color);
--theme-info-label: #1a202c;
    border-left: 4px solid var(--theme-warning-color);
}


.status-success {
/* ===== CUSTOM VARIABLES ===== */
    background-color: var(--theme-success-color--secondary);
--theme-alt-text: #2d3748;
    color: var(--theme-success-color);
--theme-accent-bg: #2d3748;
    border-left: 4px solid var(--theme-success-color);
--theme-infobox-bg: #2a363d;
}
--theme-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
--theme-card-shadow-hover: 0 4px 6px rgba(0, 0, 0, 0.4);


.status-info {
/* ===== CUSTOM COLORS ===== */
    background-color: var(--theme-info-color--secondary);
--color-player: #48b8aa;
    color: var(--theme-info-color);
--color-accent: #5fd9cf;
    border-left: 4px solid var(--theme-info-color);
--color-npc: #b794f4;
}
--color-npc-secondary: #d6bcfa;
/* ===== MW HEAD NAVIGATION ENHANCEMENTS ===== */


/* Personal tools menu */
/* ===== CARD BACKGROUNDS ===== */
#p-personal {
--card-bg-main: #2a363d;
    margin-right: var(--spacing-md);
--card-bg-sub: #3a464d;
}
--card-bg-elevated: #34444d;
--card-border-color: var(--theme-border-color);


#p-personal .vector-menu-heading {
/* ===== LETTER BACKGROUND ===== */
    display: none; /* Hide "Personal tools" label */
--letter-bg: #1a272b;
}
--letter-border: #2d4a3c;


#p-personal .vector-menu-content {
/* ===== USER HIGHLIGHTS ===== */
    background: transparent;
--custom-admin-highlight: #f6ad55;
    border: none;
--custom-contentmoderator-highlight: #b794f4;
    box-shadow: none;
--custom-bot-color: #a0aec0;
}
--custom-bot-font-style: italic;


#p-personal .vector-menu-content-list {
/* ===== ALERT HIGHLIGHT ===== */
    display: flex;
--theme-alert-highlight: #e53e3e;
    align-items: center;
--theme-alert-highlight--rgb: 229, 62, 62;
    gap: var(--spacing-sm);
--theme-alert-highlight--hover: #fc8181;
    flex-wrap: wrap;
}


#p-personal li {
/* ===== NAMED ACCENTS ===== */
    margin: 0 !important;
--accent: var(--theme-accent-color);
}
--player: var(--color-player);
--npc: var(--color-npc);


#p-personal a {
/* ===== INPUTS ===== */
    display: flex;
--input-bg: #2d3748;
    align-items: center;
--input-border: #4a5568;
    gap: 6px;
--input-border-focus: var(--theme-accent-color);
    padding: 6px 10px;
--input-text: var(--theme-page-text-color);
    border-radius: var(--border-radius-md);
--input-placeholder: #718096;
    color: var(--theme-page-text-color) !important;
    background: transparent;
    font-weight: var(--font-weight-medium);
    transition: all var(--transition-fast) ease;
    text-decoration: none !important;
    border: 1px solid transparent;
}


#p-personal a:hover {
/* ===== CODE & PRE ===== */
    background: var(--theme-page-background-color--secondary);
--code-bg: #2d3748;
    color: var(--theme-link-color) !important;
--code-border: #4a5568;
    transform: translateY(-1px);
--code-text: var(--theme-page-text-color);
    box-shadow: var(--shadow-sm);
--pre-bg: #1a202c;
    border-color: var(--theme-border-color--subtle);
--pre-text: #e2e8f0;
}


/* Theme toggle button */
/* ===== TABLE STYLES ===== */
#pt-theme a {
--table-header-bg: #2d4a4d;
    background: var(--theme-accent-bg);
--table-header-text: var(--theme-page-text-color);
    color: var(--theme-accent-color) !important;
--table-row-even: #2a363d;
    border: 1px solid var(--theme-border-color);
--table-row-odd: #34444d;
--table-border: var(--theme-border-color);
}
}


#pt-theme a:hover {
/* ===== KEYFRAME ANIMATIONS ===== */
    background: var(--theme-accent-color);
@keyframes pulse {
    color: var(--theme-accent-label-color) !important;
    border-color: var(--theme-accent-color);
}


#pt-theme svg {
0%,
    width: 16px;
100% {
    height: 16px;
opacity: 1;
    fill: currentColor;
}
}


/* User links with special styling */
50% {
#pt-userpage a,
opacity: 0.5;
#pt-mytalk a {
}
    background: rgba(var(--theme-accent-color--rgb), 0.1);
    color: var(--theme-accent-color) !important;
    border: 1px solid rgba(var(--theme-accent-color--rgb), 0.2);
}
}


#pt-userpage a:hover,
@keyframes spin {
#pt-mytalk a:hover {
from {
    background: var(--theme-accent-color);
transform: rotate(0deg);
    color: var(--theme-accent-label-color) !important;
}
}


/* Logout button */
to {
#pt-logout a {
transform: rotate(360deg);
    background: rgba(var(--theme-alert-color--rgb), 0.1);
}
    color: var(--theme-alert-color) !important;
    border: 1px solid rgba(var(--theme-alert-color--rgb), 0.2);
}
}


#pt-logout a:hover {
@keyframes bounce {
    background: var(--theme-alert-color);
    color: var(--theme-alert-label) !important;
}


/* Namespaces and Views tabs */
0%,
#left-navigation,
100% {
#right-navigation {
transform: translateY(0);
    display: flex;
}
    gap: var(--spacing-sm);
}


.vector-menu-tabs {
50% {
    background: transparent;
transform: translateY(-10px);
    border: none;
}
}
}


.vector-menu-tabs .vector-menu-heading {
/* ===== LINK STYLING ===== */
    display: none;
.mw-body a,
.mw-body-content a {
text-decoration: none;
transition: color var(--transition-fast) ease,
background-color var(--transition-fast) ease,
border-color var(--transition-fast) ease;
}
}


.vector-menu-tabs .vector-menu-content {
.mw-body a:not(.new):hover,
    background: transparent;
.mw-body-content a:not(.new):hover {
    border: none;
text-decoration: underline;
    box-shadow: none;
text-decoration-thickness: 2px;
text-underline-offset: 2px;
}
}


.vector-menu-tabs .vector-menu-content-list {
.mw-body a.new,
    display: flex;
.mw-body a.new:visited,
    gap: 2px;
.mw-body-content a.new {
    background: var(--theme-page-background-color--secondary);
color: var(--new-link-color) !important;
    padding: 4px;
font-weight: var(--font-weight-semibold) !important;
    border-radius: var(--border-radius-md);
border-bottom: 1px dashed rgba(0, 163, 163, 0.4) !important;
    border: 1px solid var(--theme-border-color);
background-color: rgba(0, 163, 163, 0.08) !important;
padding: 1px 3px !important;
border-radius: var(--border-radius-sm) !important;
transition: all var(--transition-base) ease !important;
}
}


.vector-menu-tabs li {
.mw-body a.new:hover,
    margin: 0 !important;
.mw-body-content a.new:hover {
background-color: rgba(0, 163, 163, 0.15) !important;
border-bottom-style: solid !important;
text-decoration: none !important;
box-shadow: 0 1px 2px rgba(0, 163, 163, 0.2) !important;
}
}


.vector-menu-tabs a {
/* Dark theme new links */
    display: block;
.skin-vector-dark .mw-body a.new,
    padding: 8px 16px;
.skin-vector-dark .mw-body a.new:visited,
    border-radius: var(--border-radius-sm);
.skin-vector-dark .mw-body-content a.new {
    color: var(--theme-page-text-color) !important;
color: var(--new-link-color) !important;
    font-weight: var(--font-weight-medium);
background-color: rgba(79, 209, 199, 0.1) !important;
    text-decoration: none !important;
border-bottom-color: rgba(79, 209, 199, 0.5) !important;
    transition: all var(--transition-fast) ease;
    border: 1px solid transparent;
}
}


.vector-menu-tabs a:hover {
/* ===== FOCUS STYLES ===== */
    background: var(--theme-page-background-color);
*:focus {
    color: var(--theme-link-color) !important;
outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
    border-color: var(--theme-border-color);
outline-offset: var(--focus-ring-offset) !important;
    transform: translateY(-1px);
border-radius: var(--border-radius-sm) !important;
}
}


.vector-menu-tabs li.selected a {
*:focus:not(:focus-visible) {
    background: var(--theme-accent-color);
outline: none !important;
    color: var(--theme-accent-label-color) !important;
    font-weight: var(--font-weight-semibold);
    box-shadow: var(--shadow-sm);
    border-color: var(--theme-accent-color);
}
}


.vector-menu-tabs li.selected a:hover {
*:focus-visible {
    background: var(--theme-accent-color--hover);
outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
    border-color: var(--theme-accent-color--hover);
outline-offset: var(--focus-ring-offset) !important;
border-radius: var(--border-radius-sm) !important;
}
}


/* New/discussion links in tabs */
/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
.vector-menu-tabs li.new a {
@media (prefers-reduced-motion: reduce) {
    background: rgba(var(--theme-accent-color--rgb), 0.1);
:root {
    color: var(--new-link-color) !important;
--transition-fast: 0ms;
    border: 1px dashed rgba(var(--theme-accent-color--rgb), 0.3);
--transition-base: 0ms;
}
--transition-slow: 0ms;
}


.vector-menu-tabs li.new a:hover {
* {
    background: rgba(var(--theme-accent-color--rgb), 0.2);
animation-duration: 0.01ms !important;
    border-style: solid;
animation-iteration-count: 1 !important;
    color: var(--theme-accent-color) !important;
transition-duration: 0.01ms !important;
}
}
}


/* Dropdown menus (More options, etc.) */
/* High contrast mode support */
.vector-menu-dropdown {
@media (prefers-contrast: high) {
    position: relative;
:root body:not(.skin-vector-dark) {
}
--theme-link-color: #005652;
--theme-border-color: #1a2a2a;
--new-link-color: #007d7a;
}


.vector-menu-dropdown .vector-menu-heading {
:root .skin-vector-dark {
    display: flex;
--theme-link-color: #81e6d9;
    align-items: center;
--theme-border-color: #718096;
    gap: 6px;
--new-link-color: #4fd1c7;
    padding: 8px 16px;
}
    background: var(--theme-page-background-color--secondary);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--border-radius-md);
    color: var(--theme-page-text-color);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) ease;
}


.vector-menu-dropdown .vector-menu-heading:hover {
.mw-body a.new,
    background: var(--theme-page-background-color);
.mw-body-content a.new {
    border-color: var(--theme-accent-color);
border-bottom-width: 2px !important;
    color: var(--theme-link-color);
background-color: transparent !important;
    box-shadow: var(--shadow-sm);
}
}
}


.vector-menu-dropdown .vector-menu-checkbox:checked + .vector-menu-heading {
/* ===== PRINT STYLES ===== */
    background: var(--theme-accent-color);
@media print {
    color: var(--theme-accent-label-color);
:root {
    border-color: var(--theme-accent-color);
--theme-page-text-color: #000000;
}
--theme-page-background-color: #ffffff;
--theme-link-color: #000000;
}
 
a {
color: #000000 !important;
text-decoration: underline !important;
}


.vector-menu-dropdown .vector-menu-content {
a.new::after {
    position: absolute;
content: " [new]";
    top: 100%;
font-size: smaller;
    right: 0;
color: #666;
    margin-top: 4px;
}
    min-width: 200px;
    background: var(--card-bg-main);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-index-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-fast) ease;
}
}


.vector-menu-dropdown .vector-menu-checkbox:checked ~ .vector-menu-content {
/* ===== UTILITY CLASSES (Optional but helpful) ===== */
    opacity: 1;
.visually-hidden {
    visibility: visible;
position: absolute !important;
    transform: translateY(0);
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
}


.vector-menu-dropdown .vector-menu-content-list {
.text-truncate {
    padding: var(--spacing-sm) 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}


.vector-menu-dropdown li {
.text-balance {
    margin: 0 !important;
text-wrap: balance;
}
}


.vector-menu-dropdown a {
.shadow-subtle {
    display: block;
box-shadow: var(--shadow-sm);
    padding: 8px 16px;
    color: var(--theme-page-text-color) !important;
    text-decoration: none !important;
    transition: all var(--transition-fast) ease;
}
}


.vector-menu-dropdown a:hover {
.shadow-elevated {
    background: var(--theme-page-background-color--secondary);
box-shadow: var(--shadow-md);
    color: var(--theme-link-color) !important;
    padding-left: 20px;
}
}


/* Search box */
.card {
#p-search {
background-color: var(--card-bg-main);
    flex: 1;
border-radius: var(--border-radius-md);
    max-width: 400px;
border: 1px solid var(--card-border-color);
box-shadow: var(--theme-card-shadow);
transition: all var(--transition-base) ease;
}
}


#p-search h3 {
.card:hover {
    display: none;
box-shadow: var(--theme-card-shadow-hover);
transform: translateY(-2px);
}
}


#simpleSearch {
.status-alert {
    display: flex;
background-color: var(--theme-alert-color--secondary);
    gap: 4px;
color: var(--theme-alert-color);
    background: var(--card-bg-main);
border-left: 4px solid var(--theme-alert-color);
    border: 1px solid var(--theme-border-color);
    border-radius: var(--border-radius-md);
    padding: 4px;
    transition: all var(--transition-fast) ease;
    box-shadow: var(--shadow-sm);
}
}


#simpleSearch:focus-within {
.status-warning {
    border-color: var(--theme-accent-color);
background-color: var(--theme-warning-color--secondary);
    box-shadow: 0 0 0 3px var(--focus-ring-color);
color: var(--theme-warning-color);
    transform: translateY(-1px);
border-left: 4px solid var(--theme-warning-color);
}
}


#searchInput {
.status-success {
    flex: 1;
background-color: var(--theme-success-color--secondary);
    padding: 10px 16px;
color: var(--theme-success-color);
    background: transparent;
border-left: 4px solid var(--theme-success-color);
    border: none;
    color: var(--theme-page-text-color);
    font-size: var(--font-size);
    border-radius: var(--border-radius-sm);
}
}


#searchInput::placeholder {
.status-info {
    color: var(--input-placeholder);
background-color: var(--theme-info-color--secondary);
color: var(--theme-info-color);
border-left: 4px solid var(--theme-info-color);
}
}


#searchInput:focus {
/* Typography improvements */
    outline: none;
h1,
    background: var(--theme-page-background-color--secondary);
h2,
h3,
h4,
h5,
h6,
.mw-body,
.editOptions,
.ace-tm,
.vector-menu-heading,
.ace_cursor,
.vector-menu-content-list>a,
.vector-menu-heading-label {
color: var(--theme-page-text-color);
}
}


.searchButton {
.vector-menu-heading-label {
    padding: 10px 20px;
font-size: 0.8125em;
    background: var(--theme-page-background-color--secondary);
    border: 1px solid var(--theme-border-color);
    color: var(--theme-page-text-color);
    font-weight: var(--font-weight-medium);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: all var(--transition-fast) ease;
}
}


.searchButton:hover {
/* Footer and panels */
    background: var(--theme-accent-color);
.mw-footer,
    color: var(--theme-accent-label-color);
.editOptions,
    border-color: var(--theme-accent-color);
.ace-tm,
    transform: translateY(-1px);
#mw-panel .vector-menu-heading {
background-color: var(--theme-page-background-color--secondary) !important;
}
}


#searchButton {
/* Sidebar and lists */
    background: var(--theme-accent-color);
.ace-tm .ace_gutter,
    color: var(--theme-accent-label-color);
.selected.mw-list-item,
    border-color: var(--theme-accent-color);
#mw-panel .vector-menu-content-list {
background-color: var(--theme-page-background-color--secondary) !important;
color: var(--theme-page-text-color);
}
}


#searchButton:hover {
/* Notification improvements */
    background: var(--theme-accent-color--hover);
.skin-vector-dark #mw-notification-area.mw-notification.mw-notification-type-error,
    border-color: var(--theme-accent-color--hover);
.skin-vector-dark .postedit.mw-notification.mw-notification-type-error,
.skin-vector-dark .wds-table-td-alert {
background-color: var(--theme-alert-highlight);
color: var(--theme-alert-label);
}
}


/* Watch/Unwatch button */
.text-error {
#ca-unwatch a {
color: var(--theme-alert-highlight);
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(var(--theme-warning-color--rgb), 0.1);
    color: var(--theme-warning-color) !important;
    border: 1px solid rgba(var(--theme-warning-color--rgb), 0.2);
}
}


#ca-unwatch a:hover {
.diff td.diff-addedline {
    background: var(--theme-warning-color);
background-color: var(--teal-050);
    color: var(--theme-warning-label) !important;
border-color: var(--theme-success-color);
border-width: 1px 1px 1px 4px;
color: var(--theme-success-color);
}
}


/* Delete/Move/Protect actions (in dropdown) */
.diff td.diff-addedline .diffchange {
#ca-delete a {
background-color: var(--theme-success-color);
    color: var(--theme-alert-color) !important;
color: var(--theme-success-label);
font-weight: normal;
}
}


#ca-delete a:hover {
.diff td.diff-deletedline {
    background: rgba(var(--theme-alert-color--rgb), 0.1);
background-color: var(--theme-alert-color--secondary);
border-color: var(--theme-alert-color);
border-width: 1px 1px 1px 4px;
color: var(--theme-alert-color);
}
}


/* Responsive adjustments */
.diff td.diff-deletedline .diffchange {
@media (max-width: 768px) {
background-color: var(--theme-alert-color);
    #mw-head {
color: var(--theme-alert-label);
        flex-wrap: wrap;
font-weight: normal;
        gap: var(--spacing-sm);
    }
   
    #p-personal .vector-menu-content-list {
        gap: 4px;
    }
   
    #p-personal a {
        padding: 4px 8px;
        font-size: var(--font-size-small);
    }
   
    .vector-menu-tabs .vector-menu-content-list {
        flex-wrap: wrap;
    }
   
    .vector-menu-tabs a {
        padding: 6px 12px;
        font-size: var(--font-size-small);
    }
   
    #simpleSearch {
        min-width: 200px;
    }
   
    .searchButton span {
        display: none;
    }
   
    .searchButton {
        padding: 10px;
    }
}
}


/* Dark theme specific adjustments */
.diff td.diff-context {
.skin-vector-dark #simpleSearch {
background: transparent;
    background: var(--card-bg-main);
border-color: var(--theme-border-color);
    border-color: var(--theme-border-color);
color: var(--theme-page-text-color);
}
}


.skin-vector-dark .vector-menu-tabs .vector-menu-content-list {
/* CodeMirror */
    background: var(--card-bg-sub);
.CodeMirror .CodeMirror-scroll {
    border-color: var(--theme-border-color);
background: var(--theme-page-background-color);
color: var(--theme-page-text-color);
}
}


.skin-vector-dark .vector-menu-dropdown .vector-menu-content {
.CodeMirror .CodeMirror-linenumber,
    background: var(--card-bg-main);
.CodeMirror .CodeMirror-gutters {
    border-color: var(--theme-border-color);
background: var(--theme-page-background-color--secondary);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
color: var(--theme-page-text-color);
border-right: 1px solid var(--theme-border-color);
}
}


/* Active state indicators */
/* Color template improvements */
#p-personal a:active,
.text-player,
.vector-menu-tabs a:active,
.text-player * {
.searchButton:active {
color: var(--color-player);
    transform: translateY(0);
font-weight: 600;
    transition: transform 100ms ease;
}
}


/* Focus styles for navigation */
.bg-player {
#p-personal a:focus-visible,
background-color: var(--color-player);
.vector-menu-tabs a:focus-visible,
color: var(--theme-page-text-color--inverse);
.vector-menu-dropdown .vector-menu-heading:focus-visible,
padding: 2px 6px;
#searchInput:focus-visible,
border-radius: 3px;
.searchButton:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: 2px;
    border-radius: var(--border-radius-sm);
}
}


/* Icon adjustments */
.text-accent,
.icon a::before {
.text-accent * {
    margin-right: 6px;
color: var(--color-accent);
    opacity: 0.7;
font-weight: 600;
}
}


/* Animation for dropdown arrow */
.bg-accent {
.vector-menu-dropdown .vector-menu-heading::after {
background-color: var(--color-accent);
    content: "▼";
color: var(--theme-accent-label-color);
    font-size: 10px;
padding: 2px 6px;
    opacity: 0.7;
border-radius: 3px;
    transition: transform var(--transition-fast) ease;
}
}


.vector-menu-dropdown .vector-menu-checkbox:checked + .vector-menu-heading::after {
/* User highlights - improved contrast */
    transform: rotate(180deg);
a[href="https://mbwiki.stairwaygames.work/wiki/User:Ais"],
a[href="/wiki/User:Ais"],
a[href="/wiki/Special:Contributions/Ais"] {
color: var(--custom-admin-highlight);
font-weight: 600;
}
}


/* Loading state for search */
/* Bots */
#simpleSearch.loading {
a[href="https://coralisland.wiki/wiki/User:NoriBot"],
    position: relative;
a[href="/wiki/User:NoriBot"],
a[href="/wiki/Special:Contributions/NoriBot"],
a[href="https://coralisland.wiki/wiki/User:VoirBot"],
a[href="/wiki/User:VoirBot"],
a[href="/wiki/Special:Contributions/VoirBot"] {
color: var(--custom-bot-color);
font-style: var(--custom-bot-font-style);
opacity: 0.9;
}
}


#simpleSearch.loading::after {
/* Additional improvements for better readability */
    content: "";
.mw-body-content {
    position: absolute;
line-height: 1.6;
    top: 50%;
    right: 60px;
    width: 16px;
    height: 16px;
    border: 2px solid var(--theme-border-color);
    border-top-color: var(--theme-accent-color);
    border-radius: 50%;
    animation: var(--animation-spin);
}
}
#content.mw-body, .parsoid-body {
 
    background-color: var(--theme-page-background-color) !important;
/* Improve contrast for links */
    border: 1px solid var(--theme-border-color);
a {
    color: var(--theme-page-text-color);
transition: color 0.2s ease;
}
}


/* Typography improvements */
a:hover {
h1, h2, h3, h4, h5, h6, .mw-body, .editOptions, .ace-tm, .vector-menu-heading, .ace_cursor, .vector-menu-content-list > a, .vector-menu-heading-label {
text-decoration: underline;
    color: var(--theme-page-text-color);
}
}
.vector-menu-heading-label {
 
    font-size: 0.8125em;
/* Improve table readability */
.mw-parser-output table {
background-color: var(--theme-page-background-color);
border: none;
}
}


/* Footer and panels */
.mw-parser-output table th {
.mw-footer, .editOptions, .ace-tm, #mw-panel .vector-menu-heading {
background-color: var(--theme-page-background-color--secondary);
    background-color: var(--theme-page-background-color--secondary) !important;
    color: var(--theme-page-text-color);
}
}


/* Sidebar and lists */
.mw-parser-output table td {
.ace-tm .ace_gutter, .selected.mw-list-item, #mw-panel .vector-menu-content-list {
border: none;
    background-color: var(--theme-page-background-color--secondary) !important;
    color: var(--theme-page-text-color);
}
}


/* Notification improvements */
body.skin-vector-dark {
.skin-vector-dark #mw-notification-area.mw-notification.mw-notification-type-error,
/*background: url("https://coralwiki.stairwaygames.com/w/images/9/9a/Site-background-dark.png") no-repeat fixed center center / cover !important;*/
.skin-vector-dark .postedit.mw-notification.mw-notification-type-error,
background-color: #0f1419 !important;
.skin-vector-dark .wds-table-td-alert {
background-image: radial-gradient(circle at top,
    background-color: var(--theme-alert-highlight);
#1a2a2a 0%,
    color: var(--theme-alert-label);
#0f1419 100%) !important;
}
}


.text-error {
.mobileHide,
    color: var(--theme-alert-highlight);
.mobile-only,
.no-desktop {
display: none !important;
}
}


/* Revision diff styling - improved contrast */
/* || FIXES */
.diff td.diff-addedline {
.wikiEditor-ui-text>.ui-resizable {
    background-color: var(--teal-050);
width: 100% !important;
    border-color: var(--theme-success-color);
max-width: 100%;
    border-width: 1px 1px 1px 4px;
    color: var(--theme-success-color);
}
}


.diff td.diff-addedline .diffchange {
ul {
    background-color: var(--theme-success-color);
list-style: disc;
    color: var(--theme-success-label);
    font-weight: normal;
}
}


.diff td.diff-deletedline {
h2 .mw-headline,
    background-color: var(--theme-alert-color--secondary);
h3 .mw-headline,
    border-color: var(--theme-alert-color);
h4 .mw-headline {
    border-width: 1px 1px 1px 4px;
font-weight: 500;
    color: var(--theme-alert-color);
}
}


.diff td.diff-deletedline .diffchange {
.vector-body h3,
    background-color: var(--theme-alert-color);
.vector-body h4,
    color: var(--theme-alert-label);
.vector-body h5,
    font-weight: normal;
.vector-body h6 {
margin-bottom: 4px;
}
}


.diff td.diff-context {
a,
    background: transparent;
a:visited,
    border-color: var(--theme-border-color);
a:active,
    color: var(--theme-page-text-color);
.mw-parser-output a:is(.external, .external:visited, .external:active) {
color: var(--theme-link-color);
}
}


/* CodeMirror improvements */
#mw-head .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
.CodeMirror .CodeMirror-scroll {
color: var(--mw-head-link-color, var(--theme-page-text-color));
    background: var(--theme-page-background-color);
    color: var(--theme-page-text-color);
}
}


.CodeMirror .CodeMirror-linenumber, .CodeMirror .CodeMirror-gutters {
#mw-panel .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
    background: var(--theme-page-background-color--secondary);
color: var(--theme-link-color);
    color: var(--theme-page-text-color);
    border-right: 1px solid var(--theme-border-color);
}
}


/* Color template improvements */
.mw-parser-output a.external {
.text-player, .text-player * {  
padding-right: 0;
    color: var(--color-player);
font-size: inherit;
    font-weight: 600;
}
}


.bg-player {  
.catlinks {
    background-color: var(--color-player);
border-color: var(--theme-border-color);
    color: var(--theme-page-text-color--inverse);
border-radius: 6px;
    padding: 2px 6px;
background-color: var(--gray-050);
    border-radius: 3px;
}
}


.text-accent, .text-accent * {  
.CodeMirror-lines span {
    color: var(--color-accent);
font: 14px Consolas, Eupheima UCAS, Monaco, Menlo, monospace;
    font-weight: 600;
/* Source Editor */
}
}


.bg-accent {  
.wikiEditor-ui .ace_editor * {
    background-color: var(--color-accent);
font-size: 13px;
    color: var(--theme-accent-label-color);
font-family: monospace, monospace;
    padding: 2px 6px;
/* Module */
    border-radius: 3px;
}
}


/* User highlights - improved contrast */
.mw-input .mw-abusefilter-editor * {
a[href="https://mbwiki.stairwaygames.work/wiki/User:Ais"],
font-size: 13px;
a[href="/wiki/User:Ais"],
font-family: monospace, monospace;
a[href="/wiki/Special:Contributions/Ais"] {
    color: var(--custom-admin-highlight);
    font-weight: 600;
}
}


/* Bots */
/* Hide default TOOLBOX nav section on sidebar */
a[href="https://coralisland.wiki/wiki/User:NoriBot"],
#mw-navigation>#mw-panel>#p-tb {
a[href="/wiki/User:NoriBot"],
display: none;
a[href="/wiki/Special:Contributions/NoriBot"],
a[href="https://coralisland.wiki/wiki/User:VoirBot"],
a[href="/wiki/User:VoirBot"],
a[href="/wiki/Special:Contributions/VoirBot"] {
    color: var(--custom-bot-color);
    font-style: var(--custom-bot-font-style);
    opacity: 0.9;
}
}


/* Additional improvements for better readability */
/* Column template fix */
.mw-body-content {
.columntemplate ul,
    line-height: 1.6;
.columntemplate ol {
margin-top: 0;
}
}


/* Improve contrast for links */
/* RC */
a {
.mw-changeslist table {
    transition: color 0.2s ease;
width: unset;
}
}


a:hover {
.gift-table .icon-list-container {
    text-decoration: underline;
width: auto;
}
}


/* Improve table readability */
/* Quote template */
.mw-parser-output table {
.quotetable {
    background-color: var(--theme-page-background-color);
width: auto;
    border: none;
}
}


.mw-parser-output table th {
.Bug6200 {
    background-color: var(--theme-page-background-color--secondary);
margin-bottom: 0.75em;
    color: var(--theme-page-text-color);
}
}


.mw-parser-output table td {
/* Code block */
    border: none;
code,
pre {
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: monospace, monospace;
font-size: 13px;
}
}
body.skin-vector-dark {
 
/*background: url("https://coralwiki.stairwaygames.com/w/images/9/9a/Site-background-dark.png") no-repeat fixed center center / cover !important;*/
code.code-block-table {
background-color: #000000;
display: table;
line-height: 21px;
padding: 8px;
}
}


.mobileHide, .mobile-only, .no-desktop {
.code-block-table * {
display: none!important;
font: 14px Consolas, Eupheima UCAS, Monaco, Menlo, monospace;
}
}


/* || FIXES */
.code-block {
.wikiEditor-ui-text > .ui-resizable {
display: inline-block;
width: 100% !important;
line-height: 21px;
max-width: 100%;
}
}
ul {
 
list-style: disc;
/* || MAIN PAGE */
/*banner links*/
.banner-links a {
color: #ffffff !important;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
font-weight: 600 !important;
}
}


 
/* mp-banner */
h2 .mw-headline,
#mp-banner {
h3 .mw-headline,
position: absolute;
h4 .mw-headline {
width: 100%;
font-weight: 500;
height: 10%;
filter: blur(0px);
z-index: -1;
background: url(filepath://Temporary-banner-top.jpg) top center/cover no-repeat;
background-color: #000000;
background-size: cover;
background-repeat: no-repeat;
background-position: top center;
}
}


.vector-body h3 , .vector-body h4 , .vector-body h5 , .vector-body h6 {
body.page-Main_Page.action-view h1.firstHeading,
margin-bottom: 4px;
body.page-Main_Page.action-submit h1.firstHeading {
display: none;
}
}


a, a:visited, a:active,
body.page-Main_Page.action-view .main-page-top {
.mw-parser-output a:is(.external, .external:visited, .external:active) {
/* background-image: url(https://coralwiki.stairwaygames.com/w/images/c/c2/441Cover_image_only.png); */
color: var(--theme-link-color);
background-color: var(--theme-page-background-color--secondary, #000000);
}
background-repeat: no-repeat;
#mw-head .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
background-size: cover;
    color: var(--mw-head-link-color, var(--theme-page-text-color));
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
gap: 4px;
color: #fffff;
text-align: center;
align-items: center;
}
 
/* ||TABLE OF CONTENTS */
.toc {
padding: 8px 12px;
border-radius: 4px;
background-color: var(--theme-page-background-color--secondary);
border: 1px solid var(--theme-border-color);
margin-top: 16px;
}
}
#mw-panel .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
 
.toctogglelabel {
color: var(--theme-link-color);
color: var(--theme-link-color);
}
}


.mw-parser-output a.external {
.tocnumber {
padding-right: 0;
color: var(--theme-page-text-color);
font-size: inherit;
}
}


.catlinks {
.vector-body .toc h2 {
border-color: var(--theme-border-color);
font-family: var(--font-family-headings);
border-radius: 6px;
font-weight: bold;
background-color: var(--gray-050);
}
}


.CodeMirror-lines span {
/* TOC hide headings */
font: 14px Consolas,Eupheima UCAS,Monaco,Menlo,monospace /* Source Editor */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
display: none;
}
}


.wikiEditor-ui .ace_editor * {
/* For Template:Changelist */
font-size: 13px;
.changelist-header {
font-family: monospace, monospace; /* Module */
display: flex;
justify-content: space-between;
align-items: center;
font-size: 88%;
margin: 0.3em 0;
}
}


.mw-input .mw-abusefilter-editor * {
.changelist-content {
font-size: 13px;
overflow: auto;
font-family: monospace, monospace;
max-height: 384px;
padding: 1em;
box-sizing: border-box;
-moz-box-sizing: border-box;
-moz-border-radius-topleft: 0.5em;
background: transparent;
border-radius: 6px;
}
}


/* Hide default TOOLBOX nav section on sidebar */
.changelist-border {
#mw-navigation > #mw-panel > #p-tb {
border: 1px solid var(--theme-border-color);
display: none;
border-left: 6px solid var(--accent);
}
}


/* Column template fix */
/* For Template:Chat */
.columntemplate ul,
.chat-wrapper {
.columntemplate ol {
display: flex;
margin-top: 0;
flex-direction: column;
}
}


/* RC */
.chat-player,
.mw-changeslist table {
.chat-npc {
width: unset;
display: flex;
flex-direction: row;
gap: 0.5em;
}
}


.gift-table .icon-list-container {
.chat-player-speaker {
width: auto;
white-space: nowrap;
min-width: 70px;
color: rgb(105, 172, 82);
}
}


/* Quote template */
.chat-npc-speaker {
.quotetable {
white-space: nowrap;
width: auto;
min-width: 70px;
color: rgb(237, 123, 103);
}
}


.Bug6200 {
/* Hatnote */
margin-bottom: 0.75em;
.hatnote {
display: flex;
align-items: center;
padding: 10px 15px;
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;
}
}


/* Code block */
.hatnote-icon img {
code, pre {
width: 14px;
background-color: var(--theme-page-background-color--secondary);
height: auto;
color: var(--theme-page-text-color);
margin-right: 10px;
border: 1px solid var(--theme-border-color);
opacity: var(--opacity-icon-base);
border-radius: 2px;
}
padding: 1px 4px;
 
font-family: monospace, monospace;
.hatnote.hatnote-high {
    font-size: 13px;  
background-color: var(--background-color-destructive-subtle);
border-color: var(--color-destructive);
}
 
.hatnote.hatnote-medium {
background-color: var(--background-color-warning-subtle);
border-color: var(--color-warning);
}
}


code.code-block-table {
.hatnote.hatnote-low {
display: table;
background-color: var(--color-surface-2);
line-height: 21px;
padding:8px;
}
}


.code-block-table * {
/* Dark mode */
font: 14px Consolas,Eupheima UCAS,Monaco,Menlo,monospace;
html.skin-citizen-dark .hatnote-icon img {
filter: invert(1);
}
}


.code-block {
/* For [[Module:Formatting]] */
code.code-block {
display: inline-block;
display: inline-block;
line-height: 21px;
line-height: 21px;
}
}


/* || MAIN PAGE */
code.code-block-table {
/*banner links*/
display: table;
.banner-links a {
line-height: 21px;
    color: #FFFFFF !important;
}
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;
 
    font-weight: 600 !important;
span.variable {
opacity: 0.65;
}
}
/* mp-banner */
 
#mp-banner {
span.variable::after {
position: absolute;
opacity: 0.65;
width: 100%;
content: ">";
height: 10%;
filter: blur(0px);
z-index: -1;
/* background: url(filepath://Funguys_Swarm_Banner.png) top center/cover no-repeat;*/
background-color: #000000;
background-size: cover;
background-repeat: no-repeat;
background-position: top center;
}
}
body.page-Main_Page.action-view h1.firstHeading, body.page-Main_Page.action-submit h1.firstHeading { display: none; }
 
body.page-Main_Page.action-view .main-page-top {
span.variable::before {
/* background-image: url(https://coralwiki.stairwaygames.com/w/images/c/c2/441Cover_image_only.png); */
opacity: 0.65;
background-color: var(--theme-page-background-color--secondary, #000000);
content: "<";
background-repeat: no-repeat;
background-size: cover;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
gap: 4px;
color: #fffff;
text-align: center;
align-items: center;
}
}


/* Quote */


/* ||TABLE OF CONTENTS */
.pull-quote {
.toc {
font-style: italic;
padding: 8px 12px;
margin: 0;
border-radius: 4px;
padding: 0 30px 8px !important;
background-color: var(--theme-page-background-color--secondary);
border: 1px solid var(--theme-border-color);
margin-top: 16px;
}
.toctogglelabel {
color: var(--theme-link-color);
}
.tocnumber {
color: var(--theme-page-text-color);
}
}


.vector-body .toc h2 {
.pull-quote::before {
font-family: var(--font-family-headings);
color: var(--accent);
font-weight: bold;
content: "“";
display: block;
font-size: 96px;
font-style: normal;
line-height: 72px;
margin: 4px 0 -45px -5px;
}
}


/* TOC hide headings */
.pull-quote__source::before {
.toclimit-2 .toclevel-1 ul,
content: "— ";
.toclimit-3 .toclevel-2 ul,
margin-bottom: 8px;
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
display: none;
}
}


/* For Template:Changelist */
.pull-quote__text {
.changelist-header {
margin-bottom: 4px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 88%;
margin: 0.3em 0;
}
}


.changelist-content {
/* Gallery */
overflow: auto;
.gallerytext {
max-height: 384px;
text-align: center;
padding: 1em;
font-size: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-moz-border-radius-topleft: 0.5em;
background: transparent;
border-radius: 6px;
}
}


.changelist-border {
/* Fix to Template Data */
border: 1px solid var(--theme-border-color);
.mw-templatedata-doc-params>*>tr>th {
border-left: 6px solid var(--accent);
width: 150px;
}
}


.mw-templatedata-doc-params {
width: auto;
max-width: 100%;
}


/* For Template:Chat */
/* Space sidebar arrows properly */
.chat-wrapper {
#mw-panel.collapsible-nav .portal:is(.collapsed, .expanded) .vector-menu-heading {
display: flex;
background-position: 95% center;
flex-direction: column;
}
}


.chat-player,
/* Theme toggle */
.chat-npc {
.wds-icon {
display: flex;
align-self: center;
flex-direction: row;
margin: 0 6px;
gap: 0.5em;
pointer-events: none;
fill: currentColor;
}
}


.chat-player-speaker {
.wds-icon-small {
white-space: nowrap;
height: 18px;
min-width: 70px;
min-width: 18px;
color: rgb(105, 172, 82);
width: 18px;
}
}


.chat-npc-speaker {
#p-personal .vector-menu-content-list {
white-space: nowrap;
display: flex;
min-width: 70px;
flex-wrap: wrap;
color: rgb(237, 123, 103);
gap: 0.45em;
font-size: 0.9em;
}
}


/* Hatnote */
.cols {
.hatnote {
background-color: var(--theme-page-background-color--secondary);
display: flex;
align-items: center;
padding: 10px 15px;
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 {
#pagehistory li.selected {
width: 14px;
background-color: var(--theme-page-background-color--secondary);
height: auto;
color: var(--theme-page-text-color);
margin-right: 10px;
outline: 1px dashed var(--theme-border-color);
opacity: var( --opacity-icon-base );
}
}


.hatnote.hatnote-high {
/* ===== IMproved Main Page Framework CSS ===== */
background-color: var( --background-color-destructive-subtle );
 
border-color: var( --color-destructive );
#mp-container {
display: grid;
gap: 20px;
margin: 20px 0;
width: 100%;
min-width: 100%;
}
}


.hatnote.hatnote-medium {
/* Desktop layout */
background-color: var( --background-color-warning-subtle );
#mp-container {
border-color: var( --color-warning );
grid-template-areas: var(--main-page-layout--desktop, "");
grid-template-columns: var(--main-page-layout-columns--desktop,
repeat(3, 1fr));
}
}


.hatnote.hatnote-low {
/* Tablet layout */
background-color: var( --color-surface-2 );
@media (max-width: 1024px) {
#mp-container {
grid-template-areas: var(--main-page-layout--tablet,
var(--main-page-layout--desktop, ""));
grid-template-columns: var(--main-page-layout-columns--tablet,
var(--main-page-layout-columns--desktop, repeat(2, 1fr)));
}
}
}


/* Mobile layout */
@media (max-width: 768px) {
#mp-container {
grid-template-areas: var(--main-page-layout--mobile,
var(--main-page-layout--tablet, var(--main-page-layout--desktop, "")));
grid-template-columns: var(--main-page-layout-columns--mobile,
var(--main-page-layout-columns--tablet,
var(--main-page-layout-columns--desktop, 1fr)));
}
}


/* Dark mode */
/* Social Links Improvements */
html.skin-citizen-dark .hatnote-icon img {
/* Clean social links styling -  theme colors */
filter: invert( 1 );
.social {
position: relative;
z-index: 999;
text-align: center;
margin: 20px auto;
padding: 15px 0;
max-width: 85%;
backdrop-filter: blur;
background: var(--theme-page-background-color--secondary);
border-radius: 12px;
border: 1px solid var(--theme-border-color);
box-shadow: var(--shadow-sm);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 15px;
}
}


/* Each social link item */
.social .iconname {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 180px;
padding: 12px 20px;
background: var(--theme-page-background-color);
border-radius: 8px;
border: 1px solid var(--theme-border-color);
transition: all 0.3s ease;
flex: 1;
max-width: 200px;
}


/* For [[Module:Formatting]] */
/* Hover effect */
code.code-block {
.social .iconname:hover {
display: inline-block;
background: var(--theme-accent-bg) !important;
line-height: 21px;
transform: translateY(-2px);
box-shadow: var(--shadow-md);
border-color: var(--theme-accent-color);
}
}
code.code-block-table {
 
display: table;
/* The link inside - uses theme colors */
line-height: 21px;
.social .iconname a.external {
display: flex !important;
align-items: center !important;
text-decoration: none !important;
color: var(--theme-page-text-color) !important;
font-weight: var(--font-weight-medium) !important;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
}
span.variable {
 
opacity: 0.65;
/* Hover text color */
.social .iconname:hover a.external {
color: var(--theme-link-color) !important;
}
}
span.variable::after {
 
opacity: 0.65;
/* Icon container */
content: ">";
.social .iconname .floatleft {
display: flex !important;
align-items: center !important;
margin-right: 10px !important;
margin-bottom: 0 !important;
float: none !important;
}
}
span.variable::before {
 
opacity: 0.65;
/* Icon image - no filter, keep original */
content: "<";
.social .iconname .floatleft a img {
width: 20px !important;
height: 20px !important;
margin: 0 !important;
padding: 0 !important;
display: block !important;
/* Remove filter - keep original icon colors */
filter: none !important;
}
}


/* Quote */
/* Text next to icon */
 
.social .iconname .external-text {
.pull-quote {
display: inline !important;
font-style: italic;
margin: 0 !important;
margin: 0;
padding: 0 !important;
padding: 0 30px 8px !important
line-height: 1.4 !important;
}
}


.pull-quote::before {
/* Responsive design */
color: var(--accent);
@media (max-width: 1024px) {
content: "“";
.social {
display: block;
max-width: 95% !important;
font-size: 96px;
gap: 10px;
font-style: normal;
}
line-height: 72px;
 
margin: 4px 0 -45px -5px;;
.social .iconname {
min-width: 160px;
padding: 10px 15px;
}
}
}


.pull-quote__source::before {
@media (max-width: 768px) {
content: "— ";
.social {
margin-bottom:8px;
flex-direction: column;
}
gap: 8px;
max-width: 100% !important;
padding: 10px;
}
 
.social .iconname {
width: 100% !important;
max-width: 100% !important;
min-width: auto !important;
justify-content: flex-start;
padding: 10px 20px;
}


.pull-quote__text {
.social .iconname a.external {
margin-bottom:4px;
justify-content: flex-start;
}
}
}


/* Gallery */
/* Main Page Layout */
.gallerytext {
.game-intro-card {
text-align: center;
background: var(--card-bg-main);
font-size:100%;
border-radius: var(--border-radius-lg);
border: 1px solid var(--theme-border-color);
overflow: hidden;
box-shadow: var(--shadow-md);
margin-bottom: var(--spacing-lg);
transition: all var(--transition-base) ease;
position: relative;
/* For better z-index control */
}
}


/* Fix to Template Data */
.game-intro-card:hover {
.mw-templatedata-doc-params > * > tr > th {
box-shadow: var(--shadow-lg);
width: 150px;
transform: translateY(-2px);
border-color: var(--teal-300);
}
}


.mw-templatedata-doc-params {
.game-header {
width: auto;
background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
max-width: 100%;
padding: var(--spacing-md) var(--spacing-lg);
display: flex;
flex-direction: column;
position: relative;
}
}


/* Space sidebar arrows properly */
.game-header::after {
#mw-panel.collapsible-nav .portal:is(.collapsed, .expanded) .vector-menu-heading {
content: "";
background-position: 95% center;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg,
transparent 0%,
rgba(255, 255, 255, 0.05) 50%,
transparent 100%);
pointer-events: none;
}
}


/* Theme toggle */
.mana-text,
.wds-icon {
.mana-text h2 {
align-self: center;
font-size: 1.8em;
margin: 0 6px;
font-weight: 900;
pointer-events: none;
letter-spacing: 2px;
fill: currentColor;
color: #fff;
text-shadow: 0 0 10px rgba(162, 242, 225, 0.5), 0 2px 4px rgba(0, 0, 0, 0.3);
position: relative;
z-index: 1;
margin: 0;
text-decoration: none !important;
/* Add this line */
border-bottom: none !important;
/* Ensure no border */
}
}
.wds-icon-small {
 
height: 18px;
.game-intro-card h2,
min-width: 18px;
.game-intro-card .mana-text,
width: 18px;
.game-header h2 {
text-decoration: none !important;
border-bottom: none !important;
}
}
#p-personal .vector-menu-content-list {
 
    display: flex;
.mana-line {
    flex-wrap: wrap;
height: 3px;
    gap: 0.5em;  
width: 100px;
    font-size: 0.875em;  
background: var(--teal-200);
margin-top: var(--spacing-xs);
border-radius: 2px;
transition: width var(--transition-base) ease;
}
}
.cols {
 
background-color: var(--theme-page-background-color--secondary);
.game-intro-card:hover .mana-line {
width: 107px;
}
}
#pagehistory li.selected {
 
  background-color: var(--theme-page-background-color--secondary);
.game-content {
  color: var(--theme-page-text-color);
padding: var(--spacing-lg);
  outline: 1px dashed var(--theme-border-color);
line-height: 1.6;
color: var(--theme-page-text-color);
}
}
/* ===== IMproved Main Page Framework CSS ===== */


#mp-container {
/* Grid-based approach for perfect alignment */
    display: grid;
.updates-list.grid-style,
    gap: 20px;
.game-content ul.grid-style {
    margin: 20px 0;
display: grid;
    width: 100%;
gap: 4px;
    min-width: 100%;
padding-left: 0;
}
}


/* Desktop layout */
.updates-list.grid-style li,
#mp-container {
.game-content ul.grid-style li {
    grid-template-areas: var(--main-page-layout--desktop, '');
display: grid;
    grid-template-columns: var(--main-page-layout-columns--desktop, repeat(3, 1fr));
grid-template-columns: 20px 1fr;
align-items: center;
gap: 8px;
padding: 4px 0;
}
}


/* Tablet layout */
.updates-list.grid-style li::before,
@media (max-width: 1024px) {
.game-content ul.grid-style li::before {
    #mp-container {
position: static;
        grid-template-areas: var(--main-page-layout--tablet, var(--main-page-layout--desktop, ''));
transform: none;
        grid-template-columns: var(--main-page-layout-columns--tablet, var(--main-page-layout-columns--desktop, repeat(2, 1fr)));
left: auto;
    }
top: auto;
grid-column: 1;
text-align: center;
}
}


/* Mobile layout */
.updates-list.grid-style li span,
@media (max-width: 768px) {
.game-content ul.grid-style li span {
    #mp-container {
grid-column: 2;
        grid-template-areas: var(--main-page-layout--mobile, var(--main-page-layout--tablet, var(--main-page-layout--desktop, '')));
        grid-template-columns: var(--main-page-layout-columns--mobile, var(--main-page-layout-columns--tablet, var(--main-page-layout-columns--desktop, 1fr)));
    }
}
}
/* Social Links Improvements */
 
/* Clean social links styling - follows theme colors */
.game-content a {
.social {
color: var(--theme-link-color);
    position: relative;
text-decoration: none;
    z-index: 999;
font-weight: 600;
    text-align: center;
transition: all var(--transition-fast) ease;
    margin: 20px auto;
position: relative;
    padding: 15px 0;
    max-width: 85%;
    background: var(--theme-page-background-color--secondary);
    border-radius: 12px;
    border: 1px solid var(--theme-border-color);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
}


/* Each social link item */
.game-content a:hover {
.social .iconname {
text-decoration: underline;
    display: inline-flex;
text-underline-offset: 3px;
    align-items: center;
/* Better underline positioning */
    justify-content: center;
    min-width: 180px;
    padding: 12px 20px;
    background: var(--theme-page-background-color);
    border-radius: 8px;
    border: 1px solid var(--theme-border-color);
    transition: all 0.3s ease;
    flex: 1;
    max-width: 200px;
}
}


/* Hover effect */
.game-content a::after {
.social .iconname:hover {
content: "";
    background: var(--theme-accent-bg) !important;
position: absolute;
    transform: translateY(-2px);
bottom: -2px;
    box-shadow: var(--shadow-md);
left: 0;
    border-color: var(--theme-accent-color);
width: 0;
height: 2px;
background: var(--teal-300);
transition: width var(--transition-fast) ease;
}
}


/* The link inside - uses theme colors */
.game-content a:hover::after {
.social .iconname a.external {
width: 100%;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: var(--theme-page-text-color) !important;
    font-weight: var(--font-weight-medium) !important;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}
}


/* Hover text color */
/* Responsive adjustments - refined */
.social .iconname:hover a.external {
@media (max-width: 768px) {
    color: var(--theme-link-color) !important;
.game-intro-card {
}
margin: var(--spacing-sm);
border-radius: var(--border-radius-md);
}


/* Icon container */
.game-header {
.social .iconname .floatleft {
padding: var(--spacing-sm) var(--spacing-md);
    display: flex !important;
}
    align-items: center !important;
    margin-right: 10px !important;
    margin-bottom: 0 !important;
    float: none !important;
}


/* Icon image - no filter, keep original */
.mana-text {
.social .iconname .floatleft a img {
font-size: 1.5em;
    width: 20px !important;
letter-spacing: 1px;
    height: 20px !important;
}
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    /* Remove filter - keep original icon colors */
    filter: none !important;
}


/* Text next to icon */
.mana-line {
.social .iconname .external-text {
width: 40px;
    display: inline !important;
}
    margin: 0 !important;
 
    padding: 0 !important;
.game-content {
    line-height: 1.4 !important;
padding: var(--spacing-md);
}
 
.game-content,
.updates-list li {
font-size: 1em;
}
 
.updates-list,
.game-content ul {
padding-left: var(--spacing-md);
}
 
.updates-list li:before,
.game-content li:before {
left: calc(-1 * var(--spacing-md));
}
}
}


/* Responsive design */
/* Dark theme adjustments - refined */
@media (max-width: 1024px) {
.skin-vector-dark .game-intro-card {
    .social {
background: var(--card-bg-elevated);
        max-width: 95% !important;
        gap: 10px;
    }
   
    .social .iconname {
        min-width: 160px;
        padding: 10px 15px;
    }
}
}


@media (max-width: 768px) {
.skin-vector-dark .game-header {
    .social {
background: linear-gradient(90deg,
        flex-direction: column;
color-mix(in srgb, var(--teal-700) 80%, black 20%) 0%,
        gap: 8px;
color-mix(in srgb, var(--teal-900) 80%, black 20%) 100%);
        max-width: 100% !important;
        padding: 10px;
    }
   
    .social .iconname {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        justify-content: flex-start;
        padding: 10px 20px;
    }
   
    .social .iconname a.external {
        justify-content: flex-start;
    }
}
}
body {
 
font-family: Helvetica, Arial, sans-serif !important;
.skin-vector-dark .mana-text {
    background-color: @background-color-secondary;
text-shadow: 0 0 10px rgba(95, 217, 207, 0.4), 0 2px 4px rgba(0, 0, 0, 0.5);
/* background: url("https://mbwiki.stairwaygames.work/w/images/3/3d/384Web_background.png")*/
    no-repeat fixed center center / cover !important;
  background-color: rgba(0, 0, 0, 0.1) !important;
  overflow-y: scroll;
}
}


.mw-body, .parsoid-body{
.skin-vector-dark .updates-list li:before,
  background-color: rgba(255, 255, 255, 0.98) !important;
.skin-vector-dark .game-content li:before {
color: var(--teal-400);
}
}
ul{
  list-style: none;
}


.wikitable,  .scheduletable {
/* Focus states for accessibility */
  table-layout: auto;
.game-content a:focus {
  width: 100%;
outline: 2px solid var(--focus-ring-color);
outline-offset: 2px;
border-radius: 2px;
}


}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {


.scheduletable {
.game-intro-card,
  table-layout: auto;
.game-intro-card:hover,
  width: 30%;
.mana-line,
.updates-list li,
.updates-list li:before,
.game-content li,
.game-content li:before,
.game-content a,
.game-content a::after {
transition: none;
}


.game-intro-card:hover {
transform: none;
}
}
}


.fishtable {
body {
table-layout: auto;
font-family: Helvetica, Arial, sans-serif !important;
width: 100%;
background-color: @background-color-secondary;
/* background: url("https://mbwiki.stairwaygames.work/w/images/3/3d/384Web_background.png")*/
background-color: rgba(0, 0, 0, 0.1) !important;
overflow-y: scroll;
}


ul {
list-style: none;
}
}
.artisan-table{
 
  table-layout: auto;
.wikitable,
  width: 60%;
.scheduletable {
  border-spacing: 0;
    width: auto;
  max-width: 100%;
    min-width: 300px;
  margin: 15px 0
    max-width: 100%;
  border: 1px solid gray;
    margin: 1.5em auto;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid var(--theme-border-color);
    background-color: var(--card-bg-main);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    table-layout: auto;  
}
}


.artisan-table > tr > th, .artisan-table > * > tr > th{
.fishtable {
  background-color: #e7c361 !important;
table-layout: auto;
  max-width: fit-content;
width: 100%;
}
}
.artisan-table > tr > th, .artisan-table > tr > td, .artisan-table > * > tr > th, .artisan-table > * > tr > td{
 
  border: 1px solid #a2a9b1;
.artisan-table {
    padding: 0.2em 0.4em;
table-layout: auto;
width: 60%;
border-spacing: 0;
max-width: 100%;
margin: 15px;
border: 1px solid gray;
}
}
.quotetable{
 
  border-spacing: 0;
.artisan-table>tr>th,
  width: 100%;
.artisan-table>*>tr>th {
  max-width: 100%;
background-color: #e7c361 !important;
max-width: fit-content;
}
}
.quotetable > caption {
 
  text-align: left;
.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;
}
}
.heart{
 
  margin-left: -7px;
.quotetable {
  margin-bottom: 5px;
border-spacing: 0;
}
width: 100%;
.quotetable > tbody > tr > td {
max-width: 100%;
  padding: 0;
}
 
.quotetable>caption {
text-align: left;
}
 
.heart {
margin-left: -7px;
margin-bottom: 5px;
}
 
.quotetable>tbody>tr>td {
padding: 0;
}
}
blockquote {
blockquote {
  margin: 0 10px;
margin: 0 10px;
}
}
.detail-list ul {
.detail-list ul {
  list-style: none;
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;
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{
body.page-Main_Page.action-view h1.firstHeading,
  border-radius: 20px;
body.page-Main_Page.action-submit h1.firstHeading {
    padding: 20px;
display: none;
    max-width: 35em;
    font-weight: 700;
    background: #faf3ea;
}
}
.ci-letter-header{
 
  padding-bottom: 28px;
.ci-letter-wrapper {
border-radius: 20px;
padding: 20px;
max-width: 35em;
font-weight: 700;
background: #faf3ea;
}
}
.ci-letter-content{
 
  font-weight: 400;
.ci-letter-header {
padding-bottom: 28px;
}
}
.ci-letter-footer{
 
  display: flex;
.ci-letter-content {
    padding-top: 28px;
font-weight: 400;
    justify-content: space-between;
    font-weight: 700;
    align-items: center;
}
}
.ci-letter-attachment{
 
  max-width: 70%;
.ci-letter-footer {
display: flex;
padding-top: 28px;
justify-content: space-between;
font-weight: 700;
align-items: center;
}
}


.card-list-container{
.ci-letter-attachment {
  display: flex;
max-width: 70%;
    flex-wrap: wrap;
    gap: 5px;
}
}
.custom-card{
 
  display: inline-block;
.card-list-container {
    position: relative;
display: flex;
    width: fit-content;
flex-wrap: wrap;
    align-self: baseline;
gap: 5px;
}
}
.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;


.custom-card {
display: inline-block;
position: relative;
width: fit-content;
align-self: baseline;
}
}


.cost-template {
.custom-card-body {
  display: flex;
display: inline-block;
  justify-content: flex-start;
position: relative;
  align-items: center;
width: fit-content;
  flex-direction: row;
align-self: baseline;
  gap: 0.2rem
background: #f6e6cf;
}
border-radius: 12px;
.cost-detail {
text-align: center;
  display: flex;
overflow: hidden;
  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;


 
.custom-card-image {
}
width: 60px;
.heart-event-table {
height: 60px;
  width: 30%;
padding: 4px;
}
.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 {
.custom-card-amount {
  // -ms-word-break: break-all;
background: #e9cda2;
  // word-break: break-all;
text-align: center;
border-radius: 0 0 5px 5px;
padding: 4px 0;
  // -webkit-hyphens: auto;
white-space: nowrap;
  // -moz-hyphens: auto;
line-height: 1;
  // hyphens: auto;
font-size: 12px;
  width: 150px;
hyphens: auto;
    white-space: break-space;
overflow-wrap: break-word;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
}


.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td:first-child {
.custom-card-caption {
  // -ms-word-break: break-all;
width: 56px;
  // word-break: break-all;
text-align: center;
line-height: 1;
font-size: 12px;
  // -webkit-hyphens: auto;
hyphens: auto;
  // -moz-hyphens: auto;
overflow-wrap: break-word;
  // 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;


/* ===== IMPROVED WIKITABLE STYLES ===== */


  // -webkit-hyphens: auto;
/* Base wikitable - consolidated and improved */
  // -moz-hyphens: auto;
.wikitable {
  // hyphens: auto;
    width: 100%;
}
    margin: 1.5em 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--table-border, var(--theme-border-color));
    background-color: var(--card-bg-main, #ffffff);
    border-radius: var(--border-radius-md, 8px);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-base);
}


.quotetable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
/* Header styling */
//  -ms-word-break: break-all;
.wikitable > tr > th,
//  word-break: break-all;
.wikitable > * > tr > th {
    background: linear-gradient(135deg,
        var(--teal-600, #2c7a7b) 0%,
        var(--teal-700, #285e61) 100%) !important;
    color: var(--theme-accent-label-color, #ffffff) !important;
    font-weight: var(--font-weight-semibold, 600);
    padding: 0.75rem 1rem !important;
    border-bottom: 2px solid var(--teal-800, #234e52) !important;
    text-align: center;
    vertical-align: middle;
    font-size: 0.95em;
    letter-spacing: 0.3px;
    position: relative;
}


/* Add subtle hover effect to headers */
//   -webkit-hyphens: auto;
.wikitable > tr > th:hover,
//  -moz-hyphens: auto;
.wikitable > * > tr > th:hover {
//  hyphens: auto;
    background: linear-gradient(135deg,
        var(--teal-500, #319795) 0%,
        var(--teal-600, #2c7a7b) 100%) !important;
}
}


/* Cell styling - improved readability */
.wikitable > tr > td,
.wikitable > * > tr > td {
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid var(--theme-border-color--subtle, #e2e8f0);
    vertical-align: middle;
    color: var(--theme-page-text-color);
    transition: background-color var(--transition-fast);
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}


.vector-menu-content {
/* Striped rows for better readability */
  margin-left: 10px;
.wikitable > tr:nth-child(even):not(:first-child),
.wikitable > * > tr:nth-child(even):not(:first-child) {
    background-color: var(--table-row-even, rgba(56, 178, 172, 0.03));
}
}
.mw-body,
 
.parsoid-body {
.wikitable > tr:nth-child(odd):not(:first-child),
  // General background/foreground color definition as one exception to the rule.
.wikitable > * > tr:nth-child(odd):not(:first-child) {
  background-color: rgba(255, 255, 255, 0.9);
    background-color: var(--table-row-odd, rgba(56, 178, 172, 0.01));
  color: @color-base;
  direction: ltr;
  padding: 1em;
}
}
.infobox {
 
  background: #e7c361 ;
/* Hover effect for rows */
  border: 1px solid #e7c361 ;
.wikitable > tr:hover:not(:first-child),
  float: right;
.wikitable > * > tr:hover:not(:first-child) {
  margin: 0 0 1em 1em;
    background-color: rgba(56, 178, 172, 0.08) !important;
  padding: 1em;
  // min-width: 25%;
}
}
.infobox-title {
 
  font-size: 2em;
/* First column styling (often labels) */
  text-align: center;
.wikitable > tr > td:first-child,
.wikitable > * > tr > td:first-child,
.wikitable > tr > th:first-child,
.wikitable > * > tr > th:first-child {
    font-weight: var(--font-weight-medium, 500);
    border-left: 3px solid transparent;
}
}


.infobox p {
/* Highlight first column on hover */
  text-decoration: underline;
.wikitable > tr:hover:not(:first-child) > td:first-child,
  font-size: 1.3em;
.wikitable > * > tr:hover:not(:first-child) > td:first-child {
    border-left-color: var(--teal-300, #4fd1c7);
    background-color: rgba(79, 209, 199, 0.1);
}
}
.infobox-image {
 
  text-align: center;
/* Remove last row bottom border */
.wikitable > tr:last-child > td,
.wikitable > * > tr:last-child > td {
    border-bottom: none;
}
}
.infobox-table {
 
width: 100%;
/* Remove last cell right border */
.wikitable > tr > td:last-child,
.wikitable > * > tr > td:last-child,
.wikitable > tr > th:last-child,
.wikitable > * > tr > th:last-child {
    border-right: none;
}
}
.infobox-table th {
 
  text-align: left;
/* Caption styling */
  vertical-align: top;
.wikitable > caption {
  width: 120px;
    caption-side: top;
    padding: 0.875rem 1rem;
    background: var(--teal-50, #e6fffa);
    color: var(--teal-800, #234e52);
    font-weight: var(--font-weight-semibold, 600);
    text-align: left;
    border-bottom: 1px solid var(--teal-200, #81e6d9);
    font-size: 1.05em;
    border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
    margin-bottom: 0;
}
}
.infobox-table td {
 
  vertical-align: top;
/* Collapsible toggle in caption */
  text-align: right;
.wikitable > caption .mw-collapsible-toggle {
  // color: white;
    float: right;
    margin: -0.25rem 0;
    padding: 0.25rem 0.75rem;
    background: var(--teal-100, #b2f5ea);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--teal-300, #4fd1c7);
    color: var(--teal-700, #285e61);
    font-size: 0.85em;
    font-weight: var(--font-weight-medium, 500);
    cursor: pointer;
    transition: all var(--transition-fast);
}
}
.wikitable > caption{
 
  text-align: left;
.wikitable > caption .mw-collapsible-toggle:hover {
    background: var(--teal-200, #81e6d9);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}
}
.Bug6200 {
 
  font-style: italic;
/* Sortable tables */
  font-weight: normal;
.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable),
  display: flex;
.jquery-tablesorter th.headerSort {
  flex-direction: row;
    cursor: pointer;
align-items: center;
    position: relative;
white-space: normal;
    padding-right: 2rem !important;
    user-select: none;
    transition: all var(--transition-fast);
}
}
.Bug6200 > img {
 
  width: 24px;
.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable):hover,
  height: 24px;
.jquery-tablesorter th.headerSort:hover {
    background: linear-gradient(135deg,
        var(--teal-500, #319795) 0%,
        var(--teal-600, #2c7a7b) 100%) !important;
    box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.3);
}
}


.scheduletable{
/* Sorting indicators */
  text-align: center;
.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable):after,
  margin: 10px 0;
.jquery-tablesorter th.headerSort:after {
  border-collapse: collapse;
    content: "↕";
    position: absolute;
    right: 0.75rem;
    font-size: 0.85em;
    opacity: 0.6;
    transition: all var(--transition-fast);
}
}


.scheduletable > tbody > tr > td{
.client-js .wikitable.sortable > * > tr:first-child > th.headerSortUp:after,
  border: 1px solid #a2a9b1;
.jquery-tablesorter th.headerSortUp:after {
  // text-align: left;
    content: "↑";
  // padding: 0.2em 0.4em;
    opacity: 1;
    color: var(--theme-accent-label-color);
}
}


// .scheduletable > tbody > tr > td:first-child{
.client-js .wikitable.sortable > * > tr:first-child > th.headerSortDown:after,
//  width: 70px;
.jquery-tablesorter th.headerSortDown:after {
// }
    content: "↓";
.navbox-list{
    opacity: 1;
  padding: 0 0 0 2px;
     color: var(--theme-accent-label-color);
     font-size: 10pt;
}
}
.navbox{
 
  width: 100%;
/* Links inside tables */
     margin-top: 12px;
.wikitable a,
     border-spacing: 0;
.wikitable a:visited {
    color: var(--theme-link-color);
    text-decoration: none;
     font-weight: var(--font-weight-medium, 500);
     border-bottom: 1px dotted transparent;
    transition: all var(--transition-fast);
}
}
.croptable > tbody > tr > td:first-child{
  width: 100px !important;
}
.navbox-title th {
  padding: 6px;
  border-radius: 4px;
  background:  #e7c361;
}
.navbox-group a{
  color:  black;


}
.wikitable a:hover {
.alt .navbox-list {
    color: var(--theme-link-color--hover);
  background-color: rgba(231, 195, 97, 0.35);
    text-decoration: none;
    border-bottom-color: currentColor;
}
}
.navbox-subgroup {
 
  margin: 0;
/* Images in tables */
  border-spacing: 0;
.wikitable img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--theme-border-color--subtle);
    transition: transform var(--transition-fast);
}
}
.navbox-subgroup .navbox-group{
  color:  black;
    background: rgba(231, 195, 97, 0.10);
    white-space: nowrap;
    text-align: left;
}
th.navbox-group{
  background-color: #e7c361;
  color:  black;


    font-size: 10pt;
.wikitable a:hover img {
    padding: 0.25em 1em;
    transform: scale(1.05);
}
    border-color: var(--teal-300, #4fd1c7);
.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;
/* Specific table types - override for consistency */
 
/* Schedule tables */
.scheduletable.wikitable {
    width: auto;
    min-width: 300px;
}
}


.collapsible-header:before{
.scheduletable.wikitable > tr > td:first-child,
  float: right;
.scheduletable.wikitable > * > tr > td:first-child {
    width: 150px;
    font-weight: var(--font-weight-semibold, 600);
    background-color: rgba(56, 178, 172, 0.05);
}
}
.ci-recipe-wrapper{
 
  display: flex;
/* Fish tables */
     width: fit-content;
.fishtable.wikitable {
    position: relative;
     table-layout: fixed;
    gap: 7px
}
}
.ci-recipe-timed{
 
  padding-bottom: 25px;
/* Artisan tables */
.artisan-table.wikitable {
    width: 60%;
    max-width: 100%;
}
}
.ci-recipe-timed{
 
  border: 1px solid #e7c361;
.artisan-table.wikitable > tr > th,
  border-radius: 5px;
.artisan-table.wikitable > * > tr > th {
  position: relative;
    background-color: var(--teal-500, #319795) !important;
  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;


/* Heart event tables */
.heart-event-table.wikitable {
    width: 30%;
    min-width: 250px;
}
}
.ci-recipe-yield-amount {
 
  background: #e7c361;
/* Quote tables */
  width: fit-content;
.quotetable.wikitable {
  border-radius: 3px;
    background: var(--letter-bg, #f0fff4);
  padding: 0 5px;
     border-color: var(--letter-border, #c6f6d5);
  position: absolute;
  bottom: 0;
  right: 0;
}
span.custom-icon {
  display: inline;
}
.ci-recipe-ingredient{
  border: 1px solid #e7c361;
     border-radius: 3px;
    padding: 5px;
    min-height: 100%;
}
.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{
.quotetable.wikitable > caption {
    background-color: rgba(231, 195, 97, 0.2);
    background: var(--teal-100, #b2f5ea);
}
    color: var(--teal-800, #234e52);
.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{
/* Responsive improvements */
//  background-color: #e7c361 ;
@media screen and (max-width: 1024px) {
//  min-width: 50%;
    .wikitable {
// }
        font-size: 0.95em;
// .pi-smart-group .pi-smart-data-label{
    }
//  font-size: 0.5rem;
   
// }
    .wikitable > tr > th,
// .portable-infobox .pi-title {
    .wikitable > * > tr > th,
//  text-align: center;
    .wikitable > tr > td,
//  font-weight: bold;
    .wikitable > * > tr > td {
// }
        padding: 0.625rem 0.75rem !important;
    }
   
    .scheduletable.wikitable {
        width: 100%;
    }
   
    .artisan-table.wikitable {
        width: 100%;
    }
   
    .heart-event-table.wikitable {
        width: 100%;
    }
}


.pi-image-thumbnail {
@media screen and (max-width: 768px) {
  max-width: 100%!important;
    .wikitable {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: var(--border-radius-sm);
    }
   
    .wikitable > caption {
        position: sticky;
        left: 0;
    }
   
    .wikitable > tr > th,
    .wikitable > * > tr > th,
    .wikitable > tr > td,
    .wikitable > * > tr > td {
        min-width: 100px;
        font-size: 0.9em;
    }
   
    /* Make sortable tables work better on mobile */
    .client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable),
    .jquery-tablesorter th.headerSort {
        font-size: 0.85em;
        white-space: normal;
        line-height: 1.3;
        padding: 0.5rem 1.5rem 0.5rem 0.5rem !important;
    }
   
    /* Improve touch targets */
    .wikitable a {
        padding: 0.25rem 0;
        display: inline-block;
    }
}
}


.content-table {
/* Dark theme adjustments */
  background: transparent;
.skin-vector-dark .wikitable {
  padding: 10px 2%;
    background-color: var(--card-bg-main, #2a363d);
  width: 100%;
    border-color: var(--table-border, #4d6872);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
}


.content-table-basic {
.skin-vector-dark .wikitable > tr > th,
  background: transparent;
.skin-vector-dark .wikitable > * > tr > th {
  width: 100%;
    background: linear-gradient(135deg,
        var(--teal-800, #2d4a4d) 0%,
        var(--teal-900, #1d4044) 100%) !important;
    border-bottom-color: var(--teal-900, #1d4044) !important;
}
}


.content-table-second {
.skin-vector-dark .wikitable > tr:nth-child(even):not(:first-child),
  background: transparent;
.skin-vector-dark .wikitable > * > tr:nth-child(even):not(:first-child) {
  width: 100%;
    background-color: rgba(95, 217, 207, 0.05);
}
}


.child-content-table {
.skin-vector-dark .wikitable > tr:nth-child(odd):not(:first-child),
  display: flex;
.skin-vector-dark .wikitable > * > tr:nth-child(odd):not(:first-child) {
  justify-content: flex-start;
    background-color: rgba(95, 217, 207, 0.02);
  gap: 10px;
  margin-left: 4px;
}
}
#p-personal {
  position: absolute;
  top: @top-personal-tools;
  right: 0.75em;
  z-index: @z-index-personal;


  ul {
.skin-vector-dark .wikitable > caption {
     padding-left: 10em;  
     background: var(--teal-900, #1d4044);
  }
    color: var(--teal-100, #b2f5ea);
    border-bottom-color: var(--teal-700, #285e61);
}
}


.mw-body,
.skin-vector-dark .wikitable > caption .mw-collapsible-toggle {
#mw-data-after-content {
    background: var(--teal-800, #2d4a4d);
  margin-left: 10em;
    border-color: var(--teal-600, #2c7a7b);
    color: var(--teal-100, #b2f5ea);
}
}


.mw-body {
/* Print styles */
  // Merge the border below with tabs' one (in their background image).
@media print {
  margin-top: -@border-width-base;
    .wikitable {
  // Border on top, left, and bottom side.
        break-inside: avoid;
  //  border: @border-width-base @border-style-base @border-color-content;
        box-shadow: none;
  border: 10px solid azure;
        border: 1px solid #ccc;
  border-radius: 5px;
    }
  //  border-right-width: 0;
   
 
    .wikitable > tr > th,
  .firstHeading {
    .wikitable > * > tr > th {
    /* Change the default from mediawiki.skinning CSS to let indicators float into heading area */
        background: #f0f0f0 !important;
    overflow: visible;
        color: #000 !important;
  }
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
   
    .wikitable a {
        color: #000;
        text-decoration: none;
    }
   
    .wikitable a[href]:after {
        content: " (" attr(href) ")";
        font-size: 0.9em;
        font-weight: normal;
    }
}
}


.mw-indicators {
/* Accessibility improvements */
  z-index: @z-index-indicators;
@media (prefers-reduced-motion: reduce) {
    .wikitable,
    .wikitable > tr > th,
    .wikitable > tr > td,
    .wikitable a,
    .wikitable img {
        transition: none;
    }
}
}


.vector-body {
/* High contrast mode support */
  font-size: var(--font-size) !important;
@media (prefers-contrast: high) {
  position: relative;
     .wikitable {
  z-index: @z-index-base;
         border-width: 2px;
}
.vector-body,
.vector-body p,
.vector-body div,
.vector-body span {
    font-size: var(--font-size) !important;
    font-family: Helvetica, Arial, sans-serif !important;
}
 
/* Override table tiny fonts on mobile */
@media screen and (max-width: 1024px) {
     .wikitable > tr > th, .wikitable > tr > td,
    .wikitable > * > tr > th, .wikitable > * > tr > td {
         font-size: 14px !important;
     }
     }
     .content {
   
         font-size: 14px !important;
    .wikitable > tr > th,
     .wikitable > * > tr > th {
         border-bottom-width: 3px;
     }
     }
      
      
     /* Also fix vector body on mobile */
     .wikitable > tr > td,
     .vector-body {
     .wikitable > * > tr > td {
         font-size: 16px !important;
         border-bottom-width: 1px;
     }
     }
}
}


/* Ensure text in mw-body isn't affected by Vector's scaling */
/* Focus styles for keyboard navigation */
.mw-body-content,
.wikitable a:focus-visible {
.mw-parser-output {
     outline: 2px solid var(--focus-ring-color);
     font-size: var(--font-size) !important;
    outline-offset: 2px;
}
    border-radius: 2px;
/* Head */
    text-decoration: none;
#mw-page-base {
  //  .vertical-gradient( @background-color-base, @background-color-secondary, 50%, 100% );
  background: transparent;
  background-position: bottom left;
  height: 5em;
}
}


#mw-head-base {
.cost-template {
  margin-top: -5em;
display: flex;
  margin-left: 10em;
justify-content: flex-start;
  height: 5em;
align-items: center;
  background: transparent;
flex-direction: row;
gap: 0.2rem;
}
}


/* Hide, but keep accessible for screen-readers */
.cost-detail {
#mw-navigation h2 {
display: flex;
  position: absolute;
flex-direction: row;
  top: -9999px;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
}


#mw-head {
.client-js .sortable:not(.jquery-tablesorter)>*>tr:first-child>th:not(.unsortable),
    display: flex;
.jquery-tablesorter th.headerSort {
    justify-content: space-between;
font-size: 10px;
    align-items: center;
white-space: normal;
    min-height: 3.125em;  
}
}


/* Navigation Containers */
.wikitable>tr>th,
#left-navigation {
.wikitable>*>tr>th {
  float: left;
background-color: #e7c361 !important;
  margin-left: 10em;
max-width: fit-content;
  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 {
.heart-event-table {
  float: right;
width: 30%;
  margin-top: 2.5em;
}
}


/* Search */
.wikitable>tr>th,
.vector-search-box {
.wikitable>tr>td,
  float: left;
.wikitable>*>tr>th,
  margin-right: 0.5em;
.wikitable>*>tr>td {
  margin-left: 0.5em;
// -ms-word-break: break-all;
// word-break: break-all;


  // FIXME: This selector requires knowledge of the internals of the search component
// -webkit-hyphens: auto;
  // and should not be used here.
// -moz-hyphens: auto;
  form {
// hyphens: auto;
    margin: 0.5em 0 0;
width: 150px;
  }
white-space: break-space;
margin-left: auto;
margin-right: auto;
}
}


// Defined as `div`.
.artisan-table>tr>th,
// Provide extra element for gadgets due to `form` already carrying an `id`.
.artisan-table>tr>td,
// FIXME: This selector requires knowledge of the internals of the search component
.artisan-table>*>tr>th,
.vector-search-box-inner {
.artisan-table>*>tr>td:first-child {
  min-width: 5em;
// -ms-word-break: break-all;
  // Support: IE 8, Firefox 18-, Chrome 19-, Safari 5.1-, Opera 19-, Android 4.4.4-.
// word-break: break-all;
  width: 13.2em;
 
  // Support: Modern browsers, responsive width.
// -webkit-hyphens: auto;
  width: 20vw;
// -moz-hyphens: auto;
  max-width: 20em;
// hyphens: auto;
width: 150px;
white-space: break-space;
margin-left: auto;
margin-right: auto;
text-align: center;
}
}


/* Sidebar */
.wikitable>tr>th,
#mw-panel {
.wikitable>tr>td,
  position: absolute;
.wikitable>*>tr>th,
  top: 0;
.wikitable>*>tr>td:first-child {
  width: 10em;
// -ms-word-break: break-all;
  left: 0;
// 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;
}
}


// hide the heading of the first menu
.scheduletable > tr > th,
#p-logo + .mw-portlet .vector-menu-heading {
.scheduletable > * > tr > th,
  display: flex;
.scheduletable th {
  justify-content: flex-start;
    background: linear-gradient(135deg,
  align-items: center;
        var(--teal-600, #2c7a7b) 0%,
  background: white;
        var(--teal-700, #285e61) 100%);
  color: black;
    color: var(--theme-accent-label-color, #ffffff);
  font-weight: bold;
    font-weight: var(--font-weight-semibold, 600);
  padding: 0 5px;
    padding: 0.75rem 1rem;
  height: 20px;
    border-bottom: 2px solid var(--teal-800, #234e52);
  border-top-right-radius: 5px;
    text-align: center;
  border-top-left-radius: 5px;
    vertical-align: middle;
    font-size: 0.95em;
    letter-spacing: 0.3px;
    white-space: nowrap; /* Prevent line breaks in headers */
}
}


// ul {
.quotetable>tr>th,
//  list-style-type: none !important
.wikitable>tr>td,
// }
.wikitable>*>tr>th,
.wikitable>*>tr>td {
//  -ms-word-break: break-all;
//   word-break: break-all;


.vector-body blockquote{
//  -webkit-hyphens: auto;
   border: 0;
//   -moz-hyphens: auto;
   padding: 0;
//   hyphens: auto;
}
}


.vector-menu-portal .vector-menu-content li {
.vector-menu-content {
  padding: 5px;
margin-left: 10px;
}
}
.vector-menu-portal .vector-menu-content ul {
 
  background: rgba(255, 255, 255, 0.8);
.mw-body,
.parsoid-body {
background-color: var(--theme-page-background-color) !important;
color: var(--theme-page-text-color);
direction: ltr;
padding: 1em;
}
}
.vector-menu-portal .vector-menu-heading {
 
  display: flex;
.infobox {
  justify-content: flex-start;
background: #e7c361;
  align-items: center;
border: 1px solid #e7c361;
  background: white;
float: right;
  color: black;
margin: 0 0 1em 1em;
  font-weight: bold;
padding: 1em;
  padding: 0 5px;
// min-width: 25%;
  height: 20px;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
}


.mw-footer {
.infobox-title {
  margin-left: 10em;
font-size: 2em;
  margin-top: 1%;
text-align: center;
  margin-bottom: 1%;
  padding: 0.75em;
  background: white;
  min-height: 120px;
  border-radius: 5px;
}
}
.social {
 
  display: flex;
.infobox p {
  justify-content: center;
text-decoration: underline;
  flex-direction: row;
font-size: 1.3em;
  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 {
.infobox-image {
  margin: 0;
text-align: center;
}
}
big{
 
  color: white;
.infobox-table {
width: 100%;
}
}


.jumbotron {
.infobox-table th {
  //background-image: url("https://mbwiki.stairwaygames.work/w/images/1/13/manabreak-hero.png");
text-align: left;
 
vertical-align: top;
  background-repeat: no-repeat;
width: 120px;
  background-size: cover;
  width: 100%;
}
body.page-Main_Page.action-view .main-page-top{
background-color: #474747;
  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: 11em;
}
}


.mw-body {
.infobox-table td {
  padding: 1.25em 1.5em 1.5em 1.5em;
vertical-align: top;
text-align: right;
// color: white;
}
}


.mw-footer {
.wikitable>caption {
  padding: 1.25em;
text-align: left;
}
}


#mw-panel {
.Bug6200 {
  padding-left: 0.5em;
font-style: italic;
font-weight: normal;
display: flex;
flex-direction: row;
align-items: center;
white-space: normal;
}
}


.vector-search-box {
.Bug6200>img {
  margin-right: 1em;
width: 24px;
height: 24px;
}
}


#p-personal {
.scheduletable {
    position: absolute;
text-align: center;
    top: 0.5em;
margin: 10px 0;
    right: 0.5em;
border-collapse: collapse;
}
}


// Directionality styles previously provided by the deprecated `legacy` feature (T287410)
.scheduletable > tr > td,
// for HTML elements which do not carry dir HTML attributes.
.scheduletable > * > tr > td,
// These have been copied across to legacy Vector to minimize disruption caused by T287701.
.scheduletable td {
// If you are reading this comment in 2022, please consider checking usage in wikitext and
    padding: 0.75rem 1rem;
// removing them both.
    border: 1px solid var(--theme-border-color--subtle, #e2e8f0);
.mw-content-ltr {
    vertical-align: middle;
  /* @noflip */
    color: var(--theme-page-text-color);
  direction: ltr;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    transition: background-color var(--transition-fast);
}
}
 
.scheduletable > tr > td:first-child,
.mw-content-rtl {
.scheduletable > * > tr > td:first-child,
  /* @noflip */
.scheduletable td:first-child {
  direction: rtl;
    width: 150px !important; /* Fixed width for time column */
    min-width: 150px;
    max-width: 150px;
    font-weight: var(--font-weight-semibold, 600);
    background-color: rgba(56, 178, 172, 0.08);
    text-align: left;
    padding-left: 1.25rem;
    border-right: 2px solid var(--teal-300, #4fd1c7);
    position: relative;
}
}


.cols {
.croptable>tbody>tr>td:first-child {
  text-align: left;
width: 100px !important;
  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;
}
}
 
.scheduletable>tbody>tr>td:first-child {
.forest {
width: 150px !important;
  margin-top: -25px;
}
}


.forest2 {
// td {
   margin-top: 0;
//   width: 100px;
}
// }
/* grid styling - Connected to Module Variables */
.scheduletable caption {
.grid {
background: #e7c361;
  display: grid !important;
border: 1px solid #e7c361;
  /* Desktop: Use module variable, fallback to 12 columns */
text-align: center;
  grid-template-columns: var(--main-page-layout-columns--desktop, repeat(12, 1fr));
  margin: 10px 0;
  gap: 10px; /* Better than grid-gap (deprecated) */
}
}


/* Tablet */
.wikitable>caption>span {
@media (max-width: 1024px) {
float: right !important;
  .grid {
    grid-template-columns: var(--main-page-layout-columns--tablet, var(--main-page-layout-columns--desktop, repeat(12, 1fr)));
  }
}
}


/* Mobile */
.collapsible-header:before {
@media (max-width: 768px) {
float: right;
  .grid {
    grid-template-columns: var(--main-page-layout-columns--mobile, var(--main-page-layout-columns--tablet, var(--main-page-layout-columns--desktop, repeat(1, 1fr))));
  }
}
}


/* Optional: Keep column classes as fallback when NOT using module */
.ci-recipe-wrapper {
.grid:not([data-has-module-layout]) .grid__col4 {
display: flex;
  grid-column: span 4;
width: fit-content;
position: relative;
gap: 7px;
}
}


/* Other styles can stay the same */
.ci-recipe-timed {
.specification-table {
padding-bottom: 25px;
  font-size: 10px;
  padding: 0 5%;
}
}


.content {
.ci-recipe-timed {
  padding: 10px;
border: 1px solid #e7c361;
  font-size: 12px;
border-radius: 5px;
position: relative;
text-align: center;
font-weight: 500;
width: 100%;
padding: 8px;
max-width: 100px;
overflow-wrap: break-word;
hyphens: auto;
}
}


.wrapper {
.ci-recipe-yield {
  max-width: 100%;
border: 1px solid #e7c361;
  margin: 0 auto;
border-radius: 3px;
  padding: 0 1rem;
padding: 8px;
position: relative;
width: 100%;
text-align: center;
}
}


@supports (display: grid) {
.ci-recipe-yield-amount {
  .mw-content-ltr ul,
background: #e7c361;
  .mw-content-rtl .mw-content-ltr ul {
width: fit-content;
    // margin: 0 !important;
border-radius: 3px;
  }
padding: 0 5px;
  .social .iconname .floatleft {
position: absolute;
    display: flex;
bottom: 0;
    justify-content: center;
right: 0;
    align-items: center;
}
  }
  .social {
    gap: 30px;
  }


  .croptable > tbody > tr >td > a > img{
span.custom-icon {
    max-width: 40px;
display: inline;
    max-height: 40px;
}
  }


  .exceptable > tbody > tr >td > a > img{
.ci-recipe-ingredient {
    max-width: 70px;
border: 1px solid #e7c361;
    max-height: 70px;
border-radius: 3px;
  }
padding: 5px;
  .floatleft > a > img {
min-height: 100%;
    // 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 */
.ci-recipe-medium::after {
    word-break: break-word;
border: 1px solid #e7c361;
background-color: #e7c361;
border-radius: 3px;
width: 5px;
height: 5px;
content: "";
position: absolute;
top: 50%;
left: -7px;
}


    -webkit-hyphens: auto;
.gifted-item {
    -moz-hyphens: auto;
background-color: rgba(231, 195, 97, 0.2);
    hyphens: auto;
}
  }


  .auto-grid {
.gifted-item>tbody>tr>th {
    display: grid;
background-color: rgba(231, 195, 97, 0.8);
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
max-width: 100px;
    grid-gap: 5px;
}
  }


  .auto-grid > * {
.content-table {
    max-width: unset;
background: transparent;
    list-style: none;
padding: 10px 2%;
  }
width: 100%;
}


  .auto-grid > * + * {
.content-table-basic {
    margin-top: unset;
background: transparent;
  }
width: 100%;
  .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 */
.content-table-second {
    word-break: break-word;
background: transparent;
width: 100%;
}


    -webkit-hyphens: auto;
.child-content-table {
    -moz-hyphens: auto;
display: flex;
    hyphens: auto;
justify-content: flex-start;
  }
gap: 10px;
margin-left: 4px;
}
}
.minus-ten {
 
margin-top:0;
.mw-body,
#mw-data-after-content {
margin-left: 10em;
}
}
.minus-fifty {
 
margin-top:-55%;
.mw-body {
position: relative;
/* For better z-index control */
border-left: 3px solid var(--teal-400);
border-top: none;
border-right: none;
border-bottom: none;
background-color: var(--theme-page-background-color);
color: var(--theme-page-text-color);
margin-top: 0;
border-radius: 0;
 
.firstHeading {
overflow: visible;
/* Add subtle bottom border for separation */
border-bottom: 1px solid var(--theme-border-color--subtle);
padding-bottom: 0.5em;
margin-bottom: 1em;
}
}
}
#footer-info li{
 
  color:white !important
/* Keep z-index simple */
.mw-indicators {
position: relative;
z-index: 10;
}
}
@media (max-width: 1024px) {
 
  .minus-fifty {
.vector-body {
margin-top:-5%;
font-size: var(--font-size);
position: relative;
z-index: 1;
}
}
.minus-ten {
 
margin-top:-10%;
/* Be more specific with font overrides to avoid editor conflicts */
body:not(.action-edit):not(.action-submit) .vector-body,
body:not(.action-edit):not(.action-submit) .vector-body p,
body:not(.action-edit):not(.action-submit) .vector-body div,
body:not(.action-edit):not(.action-submit) .vector-body span {
font-size: var(--font-size);
font-family: Helvetica, Arial, sans-serif;
}
}
  .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%;
 
  }
  .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 {
@media screen and (max-width: 1024px) {
    -ms-word-break: break-all;
    word-break: break-all;


    /* Non standard for WebKit */
body:not(.action-edit):not(.action-submit) .wikitable>tr>th,
    word-break: break-word;
body:not(.action-edit):not(.action-submit) .wikitable>tr>td,
body:not(.action-edit):not(.action-submit) .wikitable>*>tr>th,
body:not(.action-edit):not(.action-submit) .wikitable>*>tr>td {
font-size: 14px;
}


    -webkit-hyphens: auto;
body:not(.action-edit):not(.action-submit) .content {
    -moz-hyphens: auto;
font-size: 14px;
    hyphens: auto;
}
  }


  #mw-panel {
body:not(.action-edit):not(.action-submit) .vector-body {
    width: -webkit-fill-available;
font-size: 16px;
    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 {
/* Even safer - only affect non-editor content */
    width: 100%;
.mw-body-content:not(.editOptions),
  }
.mw-parser-output:not(.editOptions) {
  .mw-body,
font-size: var(--font-size);
  #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,
.content-table th,
.content-table td {
    border: none !important;
}
}
  .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 {
#mw-page-base {
    margin-top: 0;
//   .vertical-gradient( @background-color-base, @background-color-secondary, 50%, 100% );
  }
background: transparent;
background-position: bottom left;
height: 5em;
}


  .content-table-second {
#mw-head-base {
    background: transparent;
margin-top: -5em;
    width: 100%;
margin-left: 10em;
  }
height: 5em;
  .auto-grid {
background: transparent;
    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 {
/* ===== HEADER/NAVIGATION FIX ===== */
    font-size: 14px;
 
  }
#mw-navigation h2 {
position: absolute;
top: -9999px;
}
}


@media screen and (min-width: 2000px) {
#mw-head>* {
  .mw-parser-output a.external {
position: relative;
    font-size: 20px;
z-index: auto;
    font-weight: 400;
  }
  .floatleft > a > img {
    width: 48px;
    height: 48px;
  }
}
#content .header-column {
    background-color: #1a6a7a !important; /* Your requested color */
    justify-content: center !important;  /* Centers the content horizontally (for flexbox) */
    text-align: center !important;      /* Centers any text content (for fallback) */
    color: #ffffff !important;          /* Recommended: Set text to white for contrast */
}
.header-column > span > a > img{
width: 14px;
    height: 14px;
}
}


.header-column >  a > img{
#left-navigation,
width: 14px;
#right-navigation {
    height: 14px;
display: inline-flex;
vertical-align: top;
white-space: nowrap;
}
}


.heading-char{
#p-search {
  color:#deb76c !important
display: inline-block;
vertical-align: top;
position: relative;
margin: 0 1em;
}
}


#footer {
/* Sidebar */
background: #fff;
#mw-panel .sidebar-section-title {
color: #000;
background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
margin-top: 1em;
color: white;
border-top: 1pt solid #aaa;
font-weight: bold;
padding-top: 5px;
padding: 5px 10px;
direction: ltr;
margin: 5px 0 5px 0;
}
border-radius: 4px;
/* ---- CONTENTS STYLING GOES BELOW THIS LINE --- */
font-size: 0.9em;
.portable-infobox {
float: right;
clear: right;
font-size: .9em;
max-width: 300px;
}
}


.pi-caption {
// hide the heading of the first menu
font-size: 1.15em;
#p-logo+.mw-portlet .vector-menu-heading {
color: var(--theme-page-text-color);
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;
}
}


.pi-item-spacing.pi-caption {
// ul {
   padding: 4px 8px;
//   list-style-type: none !important
}
// }


.pi-image-thumbnail {
.vector-body blockquote {
  min-width: fit-content;
border: 0;
  height: auto;
padding: 0;
  max-width: 100%;
}
}


/* || TABS */
.vector-menu-portal .vector-menu-content li {
.pi-media-collection .pi-media-collection-tabs {
padding: 5px;
  font-size: 1.2em;
  padding: 6px 4px 6px 4px;
  width: auto;
  max-width: none;
}
}


.pi-media-collection .pi-tab-link {
.vector-menu-portal .vector-menu-content ul {
  padding: 8px;
background: rgba(255, 255, 255, 0.8);
  border: none;
  color: var(--gray-500);
  flex-grow: 1;
}
}


.pi-media-collection .pi-tab-link.current {
.vector-menu-portal .vector-menu-heading {
  padding: 8px;
display: flex;
  border: none;
justify-content: flex-start;
  /* border-bottom: 3px solid var(--light-blue); */
align-items: center;
  background-color: var(--gray-100);
background: white;
  border-radius: 4px;
color: black;
  font-weight: 500;
font-weight: bold;
padding: 0 5px;
height: 20px;
border-top-right-radius: 5px;
border-top-left-radius: 5px;
}
}


/* Avoid tabs from going off-screen and needing horizontal scrooling */
.mw-footer {
.pi-media-collection-tabs {
margin-left: 10em;
margin-top: 1%;
margin-bottom: 1%;
padding: 0.75em;
background: white;
min-height: 120px;
border-radius: 5px;
}
 
.social {
display: flex;
display: flex;
justify-content: center;
flex-direction: row;
flex-direction: row;
width: 100%;
width: auto;
flex-wrap: wrap;
background: #474747;
margin-left: 0 !important;
padding: 1rem 3rem;
}


/* || VALUES */
& .iconname {
.portable-infobox {
max-width: 20%;
  border: 1px solid var(--theme-border-color);
  background-color: var(--gray-050);
}


.portable-infobox .pi-data-label {
& .external-text {
  margin: 2px 6px;
font-size: 12px;
  padding: 0;
}
  font-weight: 500;
}


.portable-infobox .pi-data-value {
& .floatleft {
  padding: 7px; /* align values to labels */
display: flex;
}
justify-content: space-between;
align-items: center;


.portable-infobox .pi-title {
& a {
  background: var(--brown-300);
font-size: 12px;
  color: var(--theme-accent-label-color);
}
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  text-align: center;
  font-weight: 500;
}


.pi-title p {
img {
  margin: 4px 0;
max-width: 20px;
  font-size: .85em;
max-height: 20px;
}
}
}
}
}


.portable-infobox .pi-header {
div.floatleft,
  background: var(--brown-100);
table.floatleft {
  color: var(--theme-accent-label-color);
margin: 0;
  text-align: center;
  font-weight: 500;
}
}


.pi-header p {
big {
  margin: 8px 0;
color: white;
}
}


.portable-infobox .pi-border-color {
.jumbotron {
  border-color: var(--theme-border-color);
//background-image: url("https://mbwiki.stairwaygames.work/w/images/1/13/manabreak-hero.png");
}


/* || RESPONSIVE */
background-repeat: no-repeat;
@media screen and (max-width: 720px){
background-size: cover;
.portable-infobox {
width: 100%;
font-size: .85em;
}
}
 
body.page-Main_Page.action-view .main-page-top {
background-color: #474747;
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: 11em;
}
 
.mw-body {
padding: 1.25em 1.5em 1.5em 1.5em;
}
 
.mw-footer {
padding: 1.25em;
}
 
#mw-panel {
padding-left: 0.5em;
}
}


@media screen and (max-width:600px){
.vector-search-box {
.portable-infobox {
margin-right: 1em;
max-width: 100%;
}
margin: 0 0 16px 0;
 
/*// 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 - Connected to Module Variables */
.grid {
display: grid !important;
/* Desktop: Use module variable, fallback to 12 columns */
grid-template-columns: var(--main-page-layout-columns--desktop,
repeat(12, 1fr));
margin: 10px 0;
gap: 10px;
/* Better than grid-gap (deprecated) */
}
 
/* Tablet */
@media (max-width: 1024px) {
.grid {
grid-template-columns: var(--main-page-layout-columns--tablet,
var(--main-page-layout-columns--desktop, repeat(12, 1fr)));
}
}
}
.pi-media-collection .pi-media-collection-tabs {
 
width: auto;
/* Mobile */
        max-width: none;
@media (max-width: 768px) {
.grid {
grid-template-columns: var(--main-page-layout-columns--mobile,
var(--main-page-layout-columns--tablet,
var(--main-page-layout-columns--desktop, repeat(1, 1fr))));
}
}
 
/* Optional: Keep column classes as fallback when NOT using module */
.grid:not([data-has-module-layout]) .grid__col4 {
grid-column: span 4;
}
 
/* Other styles can stay the same */
.specification-table {
font-size: 10px;
padding: 0 5%;
}
 
.content {
padding: 10px;
font-size: 12px;
}
 
.wrapper {
max-width: 100%;
margin: 0 auto;
padding: 0 1rem;
}
 
@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: --wiki-content-text-color !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%;
}
.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,
.content-table th,
.content-table td {
border: none !important;
}
.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) {
.mw-parser-output a.external {
font-size: 20px;
font-weight: 400;
}
.floatleft>a>img {
width: 48px;
height: 48px;
}
}
#content .header-column {
background-color: #1a6a7a !important;
justify-content: center !important;
text-align: center !important;
color: #ffffff !important;
}
.header-column>span>a>img {
width: 14px;
height: 14px;
}
.header-column>a>img {
width: 14px;
height: 14px;
}
.heading-char {
color: #deb76c !important;
}
#footer {
background: #fff;
color: #000;
margin-top: 1em;
border-top: 1pt solid #aaa;
padding-top: 5px;
direction: ltr;
}
/* ---- CONTENTS STYLING GOES BELOW THIS LINE --- */
/* Element Infobox Styling */
.element-image {
transition: transform 0.3s ease;
border-radius: 5px;
}
.element-image:hover {
transform: scale(1.05);
}
/* Floating animation for infobox */
.element-infobox {
transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.element-infobox:hover {
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
/* Color-specific classes */
.element-fire {
border-left: 4px solid #cc3333;
}
.element-water {
border-left: 4px solid #3366cc;
}
.element-wind {
border-left: 4px solid #33cccc;
}
.element-earth {
border-left: 4px solid #996633;
}
.element-lightning {
border-left: 4px solid #ffcc00;
}
.element-ice {
border-left: 4px solid #66ccff;
}
.element-wood {
border-left: 4px solid #339933;
}
.element-grass {
border-left: 4px solid #88cc44;
}
/* Move Personal Tools to the top of the page */
#p-personal {
position: absolute !important;
top: 0 !important;
right: 0.75em !important;
z-index: 1000 !important;
background: var(--theme-page-background-color) !important;
border-bottom: 1px solid var(--theme-border-color) !important;
padding: 0.25em 0.5em !important;
border-radius: 0 0 var(--border-radius-md) var(--border-radius-md) !important;
box-shadow: var(--shadow-sm) !important;
}
#p-personal .vector-menu-heading {
display: none !important;
}
#p-personal .vector-menu-content {
position: static !important;
display: block !important;
opacity: 1 !important;
visibility: visible !important;
box-shadow: none !important;
border: none !important;
background: transparent !important;
}
#p-personal .vector-menu-content-list {
display: flex !important;
flex-wrap: wrap !important;
gap: 0.5em !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
#p-personal .mw-list-item {
display: flex !important;
align-items: center !important;
margin: 0 !important;
padding: 0 !important;
}
#p-personal .mw-list-item a {
padding: 0.25em 0.5em !important;
color: var(--theme-link-color) !important;
text-decoration: none !important;
display: flex !important;
align-items: center !important;
gap: 4px !important;
border-radius: var(--border-radius-sm) !important;
transition: all var(--transition-fast) ease !important;
}
#p-personal .mw-list-item a:hover {
background: rgba(var(--teal-100--rgb, 178, 245, 234), 0.3) !important;
color: var(--theme-link-color--hover) !important;
}
/* Theme toggle special styling */
#pt-theme a {
background: linear-gradient(135deg,
var(--teal-100) 0%,
var(--teal-200) 100%) !important;
border-radius: var(--border-radius-full) !important;
}
#pt-theme a:hover {
background: linear-gradient(135deg,
var(--teal-200) 0%,
var(--teal-300) 100%) !important;
}
/* Dark theme adjustments */
.skin-vector-dark #p-personal {
background: var(--theme-page-background-color--secondary) !important;
}
.skin-vector-dark #pt-theme a {
background: linear-gradient(135deg,
var(--teal-800) 0%,
var(--teal-700) 100%) !important;
}
.skin-vector-dark #pt-theme a:hover {
background: linear-gradient(135deg,
var(--teal-700) 0%,
var(--teal-600) 100%) !important;
}
/* Add space at the top of the page so the personal tools don't overlap content */
#mw-page-base {
margin-top: -0.5em !important;
}
/* Or if that doesn't work, add padding to body */
body {
padding-top: -0.5em !important;
}
body.page-Main_Page .social {
margin: -45px auto 30px !important;
background: rgba(var(--theme-page-background-color--secondary--rgb),
0.8) !important;
backdrop-filter: blur(10px);
border: 1px solid var(--theme-border-color);
box-shadow: var(--shadow-xl);
z-index: 99 !important;
}
/* THE GAME Card Improvement */
body.page-Main_Page .game-intro-card {
background: var(--card-bg-elevated);
border-radius: var(--border-radius-lg);
border: 1px solid var(--theme-border-color);
box-shadow: var(--shadow-lg);
overflow: hidden;
}
body.page-Main_Page .game-header {
background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
padding: var(--spacing-md) var(--spacing-lg);
}
body.action-edit #content,
body.action-submit #content {
margin-top: 50px !important;
margin-left: 11em !important;
background: #ffffff !important;
padding: 20px !important;
}
/* Character Infobox */
.character-infobox {
float: right;
clear: right;
max-width: 300px;
width: 100%;
margin: 0 0 16px 16px;
border: 1px solid var(--theme-border-color);
border-radius: var(--border-radius-md);
background-color: var(--gray-050);
font-size: 0.9em;
}
.character-header {
background: var(--teal-600);
color: var(--theme-accent-label-color);
padding: 8px 10px;
border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
text-align: center;
font-weight: var(--font-weight-bold);
}
.character-title {
font-size: 1.5em;
}
.character-image {
padding: 10px;
text-align: center;
}
.character-section {
padding: 5px 10px;
}
.section-title {
font-size: 1.1em;
font-weight: var(--font-weight-semibold);
margin-top: 10px;
margin-bottom: 5px;
border-bottom: 1px solid var(--theme-border-color--subtle);
}
.data-row {
display: flex;
justify-content: space-between;
padding: 3px 0;
border-bottom: 1px dotted var(--gray-300);
}
.data-label {
font-weight: var(--font-weight-medium);
color: var(--gray-700);
}
/* ===== PORTABLE INFOBOX STYLING ===== */
.portable-infobox {
float: right;
clear: right;
margin: 0 0 15px 15px;
max-width: 300px;
width: 100%;
border: 1px solid var(--theme-border-color, #ccc);
border-radius: 8px;
background-color: var(--gray-050, #f8f9fa);
font-size: 14px;
}
/* Remove margins from ALL paragraphs inside infobox */
.portable-infobox p {
margin: 0 !important;
}
.portable-infobox .pi-header {
padding: 0 5px;
}
.portable-infobox .pi-title {
background: var(--teal-600, #00897b);
color: var(--theme-accent-label-color, white);
padding: 8px 10px;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
text-align: center;
font-weight: bold;
font-size: 1.2em;
margin: 0;
}
.portable-infobox .pi-title p {
margin: 0 !important;
padding: 0;
}
.portable-infobox .pi-group {
padding: 10px;
}
.portable-infobox .pi-group .pi-header {
font-size: 1.1em;
font-weight: 600;
margin: 10px 0 5px 0;
padding-bottom: 5px;
border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
color: var(--gray-800, #3c4043);
}
.portable-infobox .pi-group .pi-header p {
margin: 0 !important;
}
.portable-infobox .pi-item {
display: flex;
justify-content: space-between;
padding: 5px 0;
border-bottom: 1px dotted var(--gray-300, #dadce0);
align-items: flex-start;
/* Align items at the top */
}
.portable-infobox .pi-item:last-child {
border-bottom: none;
}
.portable-infobox .pi-data-label {
font-weight: 500;
color: var(--gray-700, #5f6368);
padding: 0 5px 0 0;
min-width: 40%;
flex-shrink: 0;
/* Prevent label from shrinking */
}
.portable-infobox .pi-data-label p {
margin: 0 !important;
}
.portable-infobox .pi-data-value {
color: var(--gray-900, #202124);
padding: 0 0 0 5px;
min-width: 60%;
text-align: right;
flex-grow: 1;
/* Allow value to grow */
}
.portable-infobox .pi-data-value p {
margin: 0 !important;
}
/* Horizontal layout groups - fix table layout */
.portable-infobox .pi-horizontal-group {
width: 100%;
border-collapse: collapse;
margin: 0;
}
.portable-infobox .pi-horizontal-group caption {
font-size: 1.1em;
font-weight: 600;
margin: 10px 0 5px 0;
padding-bottom: 5px;
border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
color: var(--gray-800, #3c4043);
text-align: left;
caption-side: top;
}
.portable-infobox .pi-horizontal-group caption p {
margin: 0 !important;
}
.portable-infobox .pi-horizontal-group th,
.portable-infobox .pi-horizontal-group td {
padding: 8px;
text-align: center;
border: 1px solid var(--theme-border-color--subtle, #e0e0e0);
}
.portable-infobox .pi-horizontal-group th {
font-weight: 500;
color: var(--gray-700, #5f6368);
background-color: var(--gray-100, #f1f3f4);
}
.portable-infobox .pi-horizontal-group th p,
.portable-infobox .pi-horizontal-group td p {
margin: 0 !important;
}
/* Image styling */
.portable-infobox .pi-image {
padding: 10px;
text-align: center;
}
.pi-image-thumbnail {
max-width: 100% !important;
height: auto;
border-radius: 4px;
border: 1px solid var(--theme-border-color--subtle, #e0e0e0);
}
.portable-infobox .pi-image .pi-caption {
font-size: 0.85em;
color: var(--gray-600, #757575);
margin-top: 5px;
font-style: italic;
}
.portable-infobox .pi-image .pi-caption p {
margin: 0 !important;
}
/* Clear float after infobox */
.mw-parser-output::after {
content: "";
display: table;
clear: both;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
.portable-infobox {
float: none;
max-width: 100%;
margin: 0 0 16px 0;
}
.portable-infobox .pi-item {
flex-direction: column;
}
.portable-infobox .pi-data-label,
.portable-infobox .pi-data-value {
min-width: 100%;
text-align: left;
padding: 0;
}
.portable-infobox .pi-data-label {
padding-bottom: 2px;
}
.portable-infobox .pi-data-value {
padding-top: 2px;
}
/* Horizontal table becomes vertical on mobile */
.portable-infobox .pi-horizontal-group {
display: block;
}
.portable-infobox .pi-horizontal-group thead,
.portable-infobox .pi-horizontal-group tbody,
.portable-infobox .pi-horizontal-group tr {
display: block;
}
.portable-infobox .pi-horizontal-group th,
.portable-infobox .pi-horizontal-group td {
display: block;
text-align: left;
border: none;
border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
}
.portable-infobox .pi-horizontal-group th {
background-color: transparent;
font-weight: 600;
padding-top: 10px;
}
.portable-infobox .pi-horizontal-group td {
padding-bottom: 10px;
}
}
/* ===== WEAPON INFOBOX STYLING ===== */
.weapon-infobox {
float: right;
clear: right;
max-width: 300px;
width: 100%;
margin: 0 0 16px 16px;
border: 1px solid #1a6a7a;
border-radius: 10px;
background-color: #ffffff;
font-size: 0.9em;
}
.weapon-header {
background: #1a6a7a;
color: white;
padding: 8px 10px;
text-align: center;
font-weight: bold;
font-size: 1.5em;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.weapon-image {
padding: 10px;
text-align: center;
}
.weapon-image img {
max-width: 100%;
height: auto;
border-radius: 4px;
border: 1px solid #e0e0e0;
}
.weapon-section {
padding: 0;
}
.section-title {
padding: 5px 10px;
color: #4a5568;
font-weight: bold;
border-bottom: 1px solid #a2a9b1;
margin: 10px 0 5px 0;
}
.weapon-section>div {
display: flex;
justify-content: space-between;
padding: 5px 10px;
border-bottom: 1px dotted #a2a9b1;
}
.weapon-section>div:last-child {
border-bottom: none;
}
.weapon-section>div>span:first-child {
font-weight: 500;
color: #4a5568;
width: 40%;
text-align: left;
}
.weapon-section>div>span:last-child {
color: #4a5568;
text-align: right;
width: 60%;
}
/* Horizontal requirements section */
.weapon-section>div[style*="display: flex !important; justify-content: space-around"] {
display: flex !important;
justify-content: space-around !important;
padding: 10px !important;
text-align: center !important;
border-bottom: none !important;
}
.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div {
flex: 1;
padding: 5px;
}
.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div>div:first-child {
font-weight: 500;
color: #4a5568;
font-size: 0.9em;
margin-bottom: 3px;
}
.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div>div:last-child {
font-weight: bold;
color: #4a5568;
font-size: 1.1em;
}
/* Clear float */
.mw-parser-output::after {
content: "";
display: table;
clear: both;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
.weapon-infobox {
float: none;
max-width: 100%;
margin: 0 0 16px 0;
}
}
/* ===== MONSTER INFOBOX STYLING ===== */
.monster-infobox {
float: right;
clear: right;
max-width: 350px;
width: 100%;
margin: 0 0 16px 16px;
border: 1px solid #7a1a1a;
border-radius: 10px;
background-color: #ffffff;
font-size: 0.9em;
}
.monster-header {
background: #7a1a1a;
color: white;
padding: 8px 10px;
text-align: center;
font-weight: bold;
font-size: 1.5em;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.monster-image {
padding: 10px;
text-align: center;
}
.monster-image img {
max-width: 100%;
height: auto;
border-radius: 4px;
border: 1px solid #e0e0e0;
}
.monster-section {
padding: 0;
}
.monster-section .section-title {
padding: 5px 10px;
color: #4a5568;
font-weight: bold;
border-bottom: 1px solid #a2a9b1;
margin: 10px 0 5px 0;
}
.monster-section>div[style*="display: flex"] {
display: flex;
justify-content: space-between;
padding: 5px 10px;
border-bottom: 1px dotted #a2a9b1;
}
.monster-section>div[style*="display: flex"]:last-child {
border-bottom: none;
}
.monster-section>div[style*="display: flex"]>span:first-child {
font-weight: 500;
color: #4a5568;
width: 40%;
text-align: left;
}
.monster-section>div[style*="display: flex"]>span:last-child {
color: #4a5568;
text-align: right;
width: 60%;
}
/* Phase sections */
.monster-section>div[style*="Phase"] {
background: #f0f0f0;
padding: 8px 10px;
font-weight: bold;
color: #7a1a1a;
border-left: 3px solid #7a1a1a;
margin: 10px 0 5px 0;
}
.monster-section>div[style*="line-height: 1.4"] {
padding: 5px 10px 10px 10px;
color: #4a5568;
line-height: 1.4;
}
/* Lists (for weaknesses, drops, etc.) */
.monster-section ul {
margin: 0 !important;
padding-left: 20px !important;
}
.monster-section li {
margin-bottom: 3px;
color: #4a5568;
}
/* Clear float */
.mw-parser-output::after {
content: "";
display: table;
clear: both;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
.monster-infobox {
float: none;
max-width: 100%;
margin: 0 0 16px 0;
}
}
/* ROLES TABLE */
.roles-table {
background-color: transparent !important;
width: 100% !important;
table-layout: auto !important;
margin: 1rem 0 !important;
}
.roles-table>tr>th,
.roles-table>*>tr>th {
background-color: var(--teal-600);
color: #000 !important;
padding: 12px 8px !important;
font-weight: bold !important;
text-align: center !important;
border: 1px solid #aaa !important;
}
.roles-table>tr>th:first-child,
.roles-table>*>tr>th:first-child {
min-width: 180px !important;
}
.roles-table>tr>th:nth-child(2),
.roles-table>*>tr>th:nth-child(2) {
min-width: 300px !important;
}
.roles-table>tr>th:nth-child(3),
.roles-table>*>tr>th:nth-child(3),
.roles-table>tr>th:nth-child(4),
.roles-table>*>tr>th:nth-child(4) {
min-width: 150px !important;
}
.roles-table>tr>td,
.roles-table>*>tr>td {
padding: 10px 8px !important;
border: 1px solid #aaa !important;
vertical-align: top !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.roles-table>tr>td:first-child,
.roles-table>*>tr>td:first-child {
font-weight: bold !important;
white-space: nowrap !important;
}
.roles-table>tr>td:nth-child(2),
.roles-table>*>tr>td:nth-child(2) {
white-space: normal !important;
word-break: break-word !important;
}
.client-js .roles-table.sortable>*>tr:first-child>th:not(.unsortable),
.jquery-tablesorter th.headerSort {
font-size: 12px !important;
white-space: normal !important;
cursor: pointer !important;
position: relative !important;
padding-right: 20px !important;
}
.client-js .roles-table.sortable>*>tr:first-child>th:not(.unsortable):after,
.jquery-tablesorter th.headerSort:after {
content: "↕" !important;
position: absolute !important;
right: 5px !important;
font-size: 10px !important;
opacity: 0.5 !important;
}
/* Category breakdown tables */
.category-table,
.location-table {
background-color: transparent !important;
width: 100% !important;
margin: 1rem 0 !important;
}
.category-table>tr>th,
.category-table>*>tr>th,
.location-table>tr>th,
.location-table>*>tr>th {
background-color: var(--teal-600) !important;
color: #000 !important;
padding: 12px 8px !important;
font-weight: bold !important;
text-align: center !important;
border: 1px solid #aaa !important;
}
.category-table>tr>th:nth-child(1),
.category-table>*>tr>th:nth-child(1),
.location-table>tr>th:nth-child(1),
.location-table>*>tr>th:nth-child(1) {
width: 30% !important;
min-width: 150px !important;
}
.category-table>tr>th:nth-child(2),
.category-table>*>tr>th:nth-child(2),
.location-table>tr>th:nth-child(2),
.location-table>*>tr>th:nth-child(2) {
width: 15% !important;
min-width: 80px !important;
}
.category-table>tr>th:nth-child(3),
.category-table>*>tr>th:nth-child(3),
.location-table>tr>th:nth-child(3),
.location-table>*>tr>th:nth-child(3) {
width: 55% !important;
}
.category-table>tr>td,
.category-table>*>tr>td,
.location-table>tr>td,
.location-table>*>tr>td {
padding: 10px 8px !important;
border: 1px solid #aaa !important;
vertical-align: top !important;
}
.category-table>tr>td:nth-child(3),
.category-table>*>tr>td:nth-child(3),
.location-table>tr>td:nth-child(3),
.location-table>*>tr>td:nth-child(3) {
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.category-table>tr:last-child>td,
.category-table>*>tr:last-child>td,
.location-table>tr:last-child>td,
.location-table>*>tr:last-child>td {
font-weight: bold !important;
background-color: #f5f5f5 !important;
}
/* Race System Styling */
.race-tooltip-container {
position: relative;
display: inline-block;
cursor: pointer;
}
.race-link {
font-weight: bold;
text-decoration: none !important;
border-bottom: 1px dotted;
transition: all 0.2s ease;
display: inline-block;
}
.race-tooltip-container:hover .race-link {
opacity: 0.9;
}
/* Tooltip on LEFT side of link */
.race-tooltip {
visibility: hidden;
width: 250px;
background-color: #2c3e50;
color: #ecf0f1;
text-align: left;
padding: 12px;
border-radius: 8px;
position: absolute;
z-index: 1000;
top: 50%;
right: 100%;
transform: translateY(-50%);
margin-right: 10px;
opacity: 0;
transition: opacity 0.3s;
font-size: 0.9em;
font-weight: normal;
line-height: 1.4;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
border: 1px solid #34495e;
}
.race-tooltip::after {
content: "";
position: absolute;
top: 50%;
left: 100%;
transform: translateY(-50%);
border-width: 8px;
border-style: solid;
border-color: transparent transparent transparent #2c3e50;
}
.race-tooltip strong {
color: #3498db;
font-size: 1.1em;
display: block;
margin-bottom: 5px;
}
.race-tooltip small {
color: #bdc3c7;
font-size: 0.85em;
}
.race-tooltip-container:hover .race-tooltip {
visibility: visible;
opacity: 0.98;
}
.race-error {
color: #d33;
font-style: italic;
background: #fee;
padding: 2px 5px;
border-radius: 3px;
}
.race-badge {
display: inline-block;
font-weight: bold;
transition: transform 0.2s ease;
}
.race-badge:hover {
transform: translateY(-2px);
text-decoration: none !important;
}
.race-infobox {
border-collapse: collapse;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
margin-left: 15px;
}
.race-infobox tr:nth-child(even) {
background-color: #f8f8f8;
}
.race-infobox td {
border-bottom: 1px solid #eee;
}
/* For smaller screens */
@media screen and (max-width: 768px) {
.race-tooltip {
width: 240px;
font-size: 0.85em;
padding: 10px;
}
.race-infobox {
width: 100% !important;
float: none !important;
margin: 10px 0 !important;
}
}
/* For very small screens */
@media screen and (max-width: 480px) {
.race-tooltip {
width: 200px;
left: 0;
transform: translateX(0);
}
.race-tooltip::after {
left: 20px;
transform: translateX(0);
}
}
/* ===== NAVBOX STYLING ===== */
/* Base navbox */
.navbox {
    width: 100% !important;
    margin: 1.5em 0 !important;
    border-spacing: 0 !important;
    border-collapse: separate !important;
    border: 1px solid var(--theme-border-color) !important;
    background-color: var(--card-bg-main) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}
/* Navbox title/header */
.navbox-title {
    background: var(--teal-100) !important;
}
.navbox-title th {
    padding: 12px 16px !important;
    font-weight: 600 !important;
    font-size: 1.1em !important;
    text-align: center !important;
    border-bottom: 2px solid var(--teal-800) !important;
}
.navbox-title a {
    text-decoration: none !important;
}
.navbox-title a:hover {
    text-decoration: underline !important;
}
/* Navbox group headers */
.navbox-group {
    background-color: var(--teal-50) !important;
    width: 180px !important;
    min-width: 180px !important;
    vertical-align: top !important;
    border-right: 1px solid var(--teal-200) !important;
}
.navbox-group th {
    background: transparent !important;
    font-size: 0.95em !important;
    padding: 10px 12px !important;
    text-align: left !important;
    font-weight: 600 !important;
}
/* Navbox list/content cells */
.navbox-list {
    padding: 12px !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
    background-color: var(--card-bg-main) !important;
}
.navbox-list td {
    padding: 12px !important;
}
/* Navbox list items - SEPARATED STYLE (like chips) */
.navbox-list ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
.navbox-list li {
    margin-bottom: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    background: var(--teal-50) !important;
    border-radius: 4px !important;
    border: 1px solid var(--teal-100) !important;
}
/* Links inside navbox - Chip style */
.navbox-list a,
.navbox-group a {
    text-decoration: none !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.navbox-list a:hover,
.navbox-group a:hover {
    background-color: var(--teal-100) !important;
    text-decoration: underline !important;
}
/* Alternative row styling */
.alt .navbox-list {
    background-color: rgba(56, 178, 172, 0.05) !important;
}
.alt .navbox-list li {
    background: rgba(56, 178, 172, 0.1) !important;
    border-color: rgba(56, 178, 172, 0.2) !important;
}
/* Subgroup styling */
.navbox-subgroup {
    margin: 10px 0 0 0 !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border-top: 1px solid var(--teal-100) !important;
    padding-top: 10px !important;
}
.navbox-subgroup .navbox-group {
    background-color: var(--teal-100) !important;
    width: 160px !important;
    min-width: 160px !important;
}
/* Small navboxes */
.navbox-small {
    width: auto !important;
    min-width: 250px !important;
    max-width: 300px !important;
    float: right !important;
    margin: 0 0 16px 16px !important;
}
.navbox-small .navbox-list ul {
    gap: 4px !important;
}
/* ===== COLLAPSIBLE NAVBOX ===== */
.mw-collapsible .navbox-title {
    cursor: pointer !important;
    padding-right: 40px !important;
    position: relative !important;
}
.mw-collapsible .navbox-title:after {
    content: "▼" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: white !important;
    font-size: 12px !important;
    font-weight: bold !important;
    background: rgba(255, 255, 255, 0.2) !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mw-collapsible.mw-collapsed .navbox-title:after {
    content: "▶" !important;
}
.mw-collapsible-content {
    overflow: hidden !important;
}
/* ===== HORIZONTAL NAVBOXES ===== */
.navbox-horizontal .navbox-list ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.navbox-horizontal .navbox-list li {
    display: inline-flex !important;
}
.navbox-horizontal .navbox-list li:not(:last-child):after {
    display: none !important;
}
/* ===== DARK THEME ===== */
.skin-vector-dark .navbox {
    background-color: var(--card-bg-main) !important;
    border-color: var(--teal-700) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}
.skin-vector-dark .navbox-title {
    background: var(--teal-800) !important;
    border-bottom-color: var(--teal-900) !important;
}
.skin-vector-dark .navbox-group {
    background-color: rgba(95, 217, 207, 0.1) !important;
    border-right-color: var(--teal-700) !important;
}
.skin-vector-dark .navbox-group th {
    color: var(--teal-200) !important;
}
.skin-vector-dark .navbox-list li {
    background: rgba(95, 217, 207, 0.1) !important;
    border-color: rgba(95, 217, 207, 0.2) !important;
}
.skin-vector-dark .navbox-list a:hover,
.skin-vector-dark .navbox-group a:hover {
    background-color: rgba(95, 217, 207, 0.2) !important;
}
.skin-vector-dark .alt .navbox-list {
    background-color: rgba(95, 217, 207, 0.05) !important;
}
.skin-vector-dark .alt .navbox-list li {
    background: rgba(95, 217, 207, 0.15) !important;
    border-color: rgba(95, 217, 207, 0.25) !important;
}
.skin-vector-dark .mw-collapsible .navbox-title:after {
    background: rgba(255, 255, 255, 0.15) !important;
}
/* ===== RESPONSIVE DESIGN ===== */
@media screen and (max-width: 768px) {
    .navbox {
        margin: 1em 0 !important;
    }
   
    .navbox-small {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 1em 0 !important;
    }
   
    .navbox-group,
    .navbox-group th {
        width: 100% !important;
        min-width: 100% !important;
        display: block !important;
        border-right: none !important;
        border-bottom: 1px solid var(--teal-200) !important;
    }
   
    .navbox-list {
        padding: 10px !important;
    }
   
    .navbox-list ul {
        gap: 4px !important;
    }
   
    .navbox-list li {
        font-size: 0.9em !important;
    }
}
/* ===== ACCESSIBILITY ===== */
.navbox a:focus-visible {
    outline: 2px solid var(--focus-ring-color) !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
    .navbox,
    .navbox a {
        transition: none !important;
    }
}
}

Latest revision as of 07:52, 24 February 2026

.class {}

/* needed for some reason for the @imports to work */
/* Imports caching */
/*@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Colors.css");*/
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Module:Documentation.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Documentation.css");
/*@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Infobox.css");*/
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Tables.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:MessageBox.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:CustomTabs.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Navbox.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Icons.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Dialogue.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Cards.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Tabbers.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Mobile.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Recipe.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:Modal.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:AceEditor.css");
@import url("https://mbwiki.stairwaygames.work/wiki/MediaWiki:CodeMirror.css");

:root {
	/* Universal Base Styles */
	--font-size: 16px;
	/* Slightly larger base */
	--font-size-small: 14px;
	--font-size-large: 18px;
	--font-size-xlarge: 20px;
	--font-size-h1: 32px;
	--font-size-h2: 26px;
	--font-size-h3: 22px;
	--font-size-h4: 18px;

	--line-height: 1.6;
	/* More breathing room */
	--line-height-headings: 1.3;
	--line-height-tight: 1.25;

	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--wiki-content-text-color: var(--theme-page-text-color, #1a2a2a);

	/* ===== SPACING ===== */
	--spacing-xs: 4px;
	--spacing-sm: 8px;
	--spacing-md: 16px;
	--spacing-lg: 24px;
	--spacing-xl: 32px;
	--spacing-2xl: 48px;

	/* ===== SHADOWS & DEPTH ===== */
	--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
	--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
	--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
	--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
	--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);

	/* ===== BORDERS & RADIUS ===== */
	--wiki-content-border-color: var(--theme-border-color, #a1e9dc);
	--border-radius-sm: 4px;
	--border-radius-md: 8px;
	--border-radius-lg: 2px;
	--border-radius-full: 9999px;

	--border-width: 1px;
	--border-width-thick: 2px;
	--border-width-xthick: 3px;

	/* ===== TRANSITIONS ===== */
	--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
	--transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
	--transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

	/* ===== Z-INDEX LAYERS ===== */
	--z-index-dropdown: 1000;
	--z-index-sticky: 1020;
	--z-index-fixed: 1030;
	--z-index-modal-backdrop: 1040;
	--z-index-modal: 1050;
	--z-index-popover: 1060;
	--z-index-tooltip: 1070;

	/* ===== FOCUS STATES ===== */
	--focus-ring-color: rgba(79, 209, 199, 0.6);
	--focus-ring-color-dark: rgba(79, 209, 199, 0.8);
	--focus-ring-width: 3px;
	--focus-ring-offset: 2px;

	/* ===== GRAY SCALE (Optimized) ===== */
	--gray-950: #0f1419;
	--gray-900: #1a202c;
	--gray-800: #2d3748;
	--gray-700: #4a5568;
	--gray-600: #718096;
	--gray-500: #a0aec0;
	--gray-400: #cbd5e0;
	--gray-300: #e2e8f0;
	--gray-200: #edf2f7;
	--gray-100: #f7fafc;
	--gray-050: #ffffff;

	/* ===== TEAL/BLUE SCALE ===== */
	--teal-900: #1d4044;
	--teal-800: #234e52;
	--teal-700: #285e61;
	--teal-600: #2c7a7b;
	--teal-500: #319795;
	--teal-400: #38b2ac;
	--teal-300: #4fd1c7;
	--teal-200: #81e6d9;
	--teal-100: #b2f5ea;
	--teal-050: #e6fffa;

	/* ===== OTHER COLORS ===== */
	--light-blue: #90cdf4;
	--gold: #d69e2e;
	--purple: #9f7aea;

	/* ===== ANIMATIONS ===== */
	--animation-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	--animation-spin: spin 1s linear infinite;
	--animation-bounce: bounce 1s infinite;

	/* Universal border */
	--border-color: var(--theme-border-color);
	/*Navigation*/
	--mb-navigation-left-spacing: 0px;
	--mb-navigation-right-spacing: 0px;
	--mb-navigation-tab-spacing: 0px;
	--mb-navigation-gap-between-left-and-right: 0px;
	--mb-navigation-bottom-spacing: 0px;
	--mb-navigation-border-bottom-width: 1px;
	--mb-navigation-border-width: 1px;
	--mb-navigation-border-style: solid;
	--mb-navigation-border-color: var(--theme-border-color);
	--mb-navigation-border-bottom-color: var(--theme-border-color);
	--mb-navigation-border-bottom-style: solid;
	--mb-navigation-text-color: var(--theme-page-text-color);
	--mb-navigation-background-color: var(--theme-page-background-color--secondary);
	--mb-navigation-background-opacity: 100%;
	--mb-navigation-tab-padding-top: 1.25em;
	--mb-navigation-tab-padding-x: 0.75em;
	--mb-navigation-tab-padding-bottom: 4px;
	--mb-navigation-border-radius: 4px 4px 0 0;
	--mb-navigation-font-size: 0.8125em;
	--mb-navigation-font-weight: normal;

	/* Selected tab variables */
	--mb-navigation-selected-border-color: var(--theme-accent-color);
	--mb-navigation-selected-background-color: var(--theme-accent-color);
	--mb-navigation-selected-text-color: var(--theme-accent-label-color);
	--mb-navigation-selected-border-width: 1px;
	--mb-navigation-selected-border-style: solid;

	/* Hover variables */
	--mb-navigation-text-color--hover: var(--theme-link-color);
	--mb-navigation-border-color--hover: var(--theme-border-color);

	/* Content variables */
	--mb-content-border-top-radius: 0px;
	--mb-content-border-radius: 0px;
	--mb-is-navigation-inside-content: 0;

	/* Dropdown variables */
	--mb-navigation-dropdown-border-width: 1px;
	--mb-navigation-dropdown-border-color: var(--theme-border-color);
	--mb-navigation-dropdown-border-radius: 4px;
	--mb-navigation-dropdown-background-color: var(--card-bg-main);
	--mb-navigation-dropdown-background-opacity: 100%;
	--mb-navigation-dropdown-box-shadow: var(--shadow-lg);
	--mb-navigation-dropdown-padding: var(--spacing-sm) 0;
	--mb-navigation-dropdown-offset: 4px;
	--mb-navigation-dropdown-text-color: var(--theme-page-text-color);
	--mb-navigation-dropdown-text-color--hover: var(--theme-link-color);
	--mb-navigation-dropdown-item-padding: 8px 16px;

	/* Search variables */
	--mb-navigation-search-bottom-spacing: 3px;
	--mb-navigation-search-font-size: 0.8125em;
	--mb-navigation-search-height: 2em;
	--mb-navigation-search-button-color: var(--theme-accent-color);
	--mb-navigation-search-button-color-opacity: 80%;
	--mb-navigation-search-button-color--hover: var(--theme-accent-color--hover);
	--mb-navigation-search-button-color-opacity--hover: 95%;

	/* Icon variables */
	--mb-navigation-icon-size: 1em;
	--mb-navigation-tab-padding-x--icon: 0.75em;
}

/* Light Theme */
:root body:not(.skin-vector-dark) {
	/* ===== BASE COLORS ===== */
	--theme-page-text-color: #1a2a2a;
	--theme-page-text-color--inverse: #ffffff;
	--theme-page-background-color: #f5fdfb;
	/* Slightly darker for less glare */
	--theme-page-background-color--rgb: 245, 253, 251;
	--theme-page-background-color--secondary: #e8f5f3;
	/* Better contrast: 13:1 */
	--theme-page-background-color--secondary--rgb: 232, 245, 243;

	/* ===== LINKS ===== */
	--theme-link-color: #007d7a;
	/* Darker for 7:1 contrast */
	--theme-link-color--rgb: 0, 125, 122;
	--theme-link-color--hover: #005652;
	/* Even darker on hover */
	--theme-link-color--visited: #4a5568;
	/* Distinct visited state */
	--theme-link-label-color: #00474a;
	--mw-head-link-color: #007d7a;
	--new-link-color: #00a3a3;
	/* For "red links" - actually teal */

	/* ===== ACCENTS ===== */
	--theme-accent-color: #38b2ac;
	/* More vibrant */
	--theme-accent-color--rgb: 56, 178, 172;
	--theme-accent-color--hover: #2c9c96;
	/* Darker hover */
	--theme-accent-label-color: #ffffff;

	/* ===== BORDERS ===== */
	--theme-border-color: #a1e9dc;
	/* More visible */
	--theme-border-color--rgb: 161, 233, 220;
	--theme-border-color--subtle: #d1f5ee;
	/* For subtle separators */

	/* ===== STATUS COLORS (Enhanced for visibility) ===== */
	--theme-alert-color: #d53f3f;
	/* More vibrant red - 7:1 contrast */
	--theme-alert-color--rgb: 213, 63, 63;
	--theme-alert-color--hover: #b03030;
	--theme-alert-color--secondary: #ffeaea;
	/* Softer background */
	--theme-alert-label: #ffffff;

	--theme-warning-color: #c05621;
	/* Warmer orange - 6.5:1 contrast */
	--theme-warning-color--rgb: 192, 86, 33;
	--theme-warning-color--secondary: #fff4e6;
	--theme-warning-label: #1a2a2a;
	/* Dark text on light background */

	--theme-success-color: #2e8b57;
	/* More distinct green - 7:1 contrast */
	--theme-success-color--rgb: 46, 139, 87;
	--theme-success-color--secondary: #e6f7ed;
	--theme-success-label: #1a2a2a;
	/* Dark text on light background */

	--theme-message-color: #6b46c1;
	/* More vibrant purple */
	--theme-message-color--rgb: 107, 70, 193;
	--theme-message-color--secondary: #f3f0ff;
	--theme-message-label: #ffffff;

	--theme-info-color: #3182ce;
	/* Added info color */
	--theme-info-color--secondary: #ebf8ff;
	--theme-info-label: #1a2a2a;

	/* ===== ALERT HIGHLIGHT ===== */
	--theme-alert-highlight: #c53030;
	--theme-alert-highlight--rgb: 197, 48, 48;
	--theme-alert-highlight--hover: #e53e3e;

	/* ===== CUSTOM VARIABLES ===== */
	--theme-alt-text: #ffffff;
	--theme-accent-bg: #e6fffa;
	--theme-infobox-bg: #f0faf9;
	/* Less harsh than pure white */
	--theme-card-shadow: var(--shadow-sm);
	--theme-card-shadow-hover: var(--shadow-md);

	/* =====  CUSTOM COLORS ===== */
	--color-player: #60d9c5;
	--color-accent: #38b2ac;
	--color-npc: #9f7aea;
	--color-npc-secondary: #d6bcfa;

	/* ===== CARD BACKGROUNDS ===== */
	--card-bg-main: #ffffff;
	--card-bg-sub: #e6fffa;
	--card-bg-elevated: #ffffff;
	--card-border-color: var(--theme-border-color);

	/* ===== LETTER BACKGROUND ===== */
	--letter-bg: #f0fff4;
	--letter-border: #c6f6d5;

	/* ===== USER HIGHLIGHTS ===== */
	--custom-admin-highlight: #c05621;
	--custom-contentmoderator-highlight: #6b46c1;
	--custom-bot-color: #718096;
	--custom-bot-font-style: italic;

	/* ===== NAMED ACCENTS ===== */
	--accent: var(--theme-accent-color);
	--player: var(--color-player);
	--npc: var(--color-npc);

	/* ===== INPUTS ===== */
	--input-bg: #ffffff;
	--input-border: #cbd5e0;
	--input-border-focus: var(--theme-accent-color);
	--input-text: var(--theme-page-text-color);
	--input-placeholder: #a0aec0;

	/* ===== CODE & PRE ===== */
	--code-bg: #f7fafc;
	--code-border: #e2e8f0;
	--code-text: var(--theme-page-text-color);
	--pre-bg: #1a202c;
	--pre-text: #e2e8f0;

	/* ===== TABLE STYLES ===== */
	--table-header-bg: #e6fffa;
	--table-header-text: var(--theme-page-text-color);
	--table-row-even: #f7fafc;
	--table-row-odd: #ffffff;
	--table-border: var(--theme-border-color);
}

/* Dark Theme */
:root .skin-vector-dark {
	/* ===== BASE COLORS ===== */
	--wiki-content-text-color: var(--theme-page-text-color, #e6f7f5);
	--theme-page-text-color: #e6f7f5;
	/* Warmer light color */
	--theme-page-text-color--inverse: #1a202c;
	--theme-page-background-color: rgba(22, 28, 36, 0.98);
	/* Softer dark */
	--theme-page-background-color--rgb: 22, 28, 36;
	--theme-page-background-color--secondary: #2a363d;
	/* Warmer, better contrast */
	--theme-page-background-color--secondary--rgb: 42, 54, 61;

	/* ===== LINKS ===== */
	--theme-link-color: #5fd9cf;
	/* Brighter for visibility */
	--theme-link-color--rgb: 95, 217, 207;
	--theme-link-color--hover: #81e6d9;
	--theme-link-color--visited: #a0aec0;
	--theme-link-label-color: #e6f7f5;
	--mw-head-link-color: #5fd9cf;
	--new-link-color: #4fd1c7;
	/* For "red links" */

	/* ===== ACCENTS ===== */
	--theme-accent-color: #5fd9cf;
	--theme-accent-color--rgb: 95, 217, 207;
	--theme-accent-color--hover: #81e6d9;
	--theme-accent-label-color: #1a202c;

	/* ===== BORDERS ===== */
	--theme-border-color: #4d6872;
	/* More visible */
	--theme-border-color--rgb: 77, 104, 114;
	--theme-border-color--subtle: #3a5059;

	/* ===== STATUS COLORS ===== */
	--theme-alert-color: #fc8181;
	--theme-alert-color--rgb: 252, 129, 129;
	--theme-alert-color--hover: #feb2b2;
	--theme-alert-color--secondary: #4a2626;
	/* Darker background */
	--theme-alert-label: #1a202c;
	/* Dark text on light red */

	--theme-warning-color: #f6ad55;
	--theme-warning-color--rgb: 246, 173, 85;
	--theme-warning-color--secondary: #4a3a20;
	--theme-warning-label: #1a202c;

	--theme-success-color: #68d391;
	--theme-success-color--rgb: 104, 211, 145;
	--theme-success-color--secondary: #22543d;
	--theme-success-label: #1a202c;

	--theme-message-color: #b794f4;
	--theme-message-color--rgb: 183, 148, 244;
	--theme-message-color--secondary: #3a3664;
	--theme-message-label: #1a202c;

	--theme-info-color: #63b3ed;
	--theme-info-color--secondary: #2c5282;
	--theme-info-label: #1a202c;

	/* ===== CUSTOM VARIABLES ===== */
	--theme-alt-text: #2d3748;
	--theme-accent-bg: #2d3748;
	--theme-infobox-bg: #2a363d;
	--theme-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	--theme-card-shadow-hover: 0 4px 6px rgba(0, 0, 0, 0.4);

	/* ===== CUSTOM COLORS ===== */
	--color-player: #48b8aa;
	--color-accent: #5fd9cf;
	--color-npc: #b794f4;
	--color-npc-secondary: #d6bcfa;

	/* ===== CARD BACKGROUNDS ===== */
	--card-bg-main: #2a363d;
	--card-bg-sub: #3a464d;
	--card-bg-elevated: #34444d;
	--card-border-color: var(--theme-border-color);

	/* ===== LETTER BACKGROUND ===== */
	--letter-bg: #1a272b;
	--letter-border: #2d4a3c;

	/* ===== USER HIGHLIGHTS ===== */
	--custom-admin-highlight: #f6ad55;
	--custom-contentmoderator-highlight: #b794f4;
	--custom-bot-color: #a0aec0;
	--custom-bot-font-style: italic;

	/* ===== ALERT HIGHLIGHT ===== */
	--theme-alert-highlight: #e53e3e;
	--theme-alert-highlight--rgb: 229, 62, 62;
	--theme-alert-highlight--hover: #fc8181;

	/* ===== NAMED ACCENTS ===== */
	--accent: var(--theme-accent-color);
	--player: var(--color-player);
	--npc: var(--color-npc);

	/* ===== INPUTS ===== */
	--input-bg: #2d3748;
	--input-border: #4a5568;
	--input-border-focus: var(--theme-accent-color);
	--input-text: var(--theme-page-text-color);
	--input-placeholder: #718096;

	/* ===== CODE & PRE ===== */
	--code-bg: #2d3748;
	--code-border: #4a5568;
	--code-text: var(--theme-page-text-color);
	--pre-bg: #1a202c;
	--pre-text: #e2e8f0;

	/* ===== TABLE STYLES ===== */
	--table-header-bg: #2d4a4d;
	--table-header-text: var(--theme-page-text-color);
	--table-row-even: #2a363d;
	--table-row-odd: #34444d;
	--table-border: var(--theme-border-color);
}

/* ===== KEYFRAME ANIMATIONS ===== */
@keyframes pulse {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

/* ===== LINK STYLING ===== */
.mw-body a,
.mw-body-content a {
	text-decoration: none;
	transition: color var(--transition-fast) ease,
		background-color var(--transition-fast) ease,
		border-color var(--transition-fast) ease;
}

.mw-body a:not(.new):hover,
.mw-body-content a:not(.new):hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

.mw-body a.new,
.mw-body a.new:visited,
.mw-body-content a.new {
	color: var(--new-link-color) !important;
	font-weight: var(--font-weight-semibold) !important;
	border-bottom: 1px dashed rgba(0, 163, 163, 0.4) !important;
	background-color: rgba(0, 163, 163, 0.08) !important;
	padding: 1px 3px !important;
	border-radius: var(--border-radius-sm) !important;
	transition: all var(--transition-base) ease !important;
}

.mw-body a.new:hover,
.mw-body-content a.new:hover {
	background-color: rgba(0, 163, 163, 0.15) !important;
	border-bottom-style: solid !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(0, 163, 163, 0.2) !important;
}

/* Dark theme new links */
.skin-vector-dark .mw-body a.new,
.skin-vector-dark .mw-body a.new:visited,
.skin-vector-dark .mw-body-content a.new {
	color: var(--new-link-color) !important;
	background-color: rgba(79, 209, 199, 0.1) !important;
	border-bottom-color: rgba(79, 209, 199, 0.5) !important;
}

/* ===== FOCUS STYLES ===== */
*:focus {
	outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
	outline-offset: var(--focus-ring-offset) !important;
	border-radius: var(--border-radius-sm) !important;
}

*:focus:not(:focus-visible) {
	outline: none !important;
}

*:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
	outline-offset: var(--focus-ring-offset) !important;
	border-radius: var(--border-radius-sm) !important;
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
@media (prefers-reduced-motion: reduce) {
	:root {
		--transition-fast: 0ms;
		--transition-base: 0ms;
		--transition-slow: 0ms;
	}

	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	:root body:not(.skin-vector-dark) {
		--theme-link-color: #005652;
		--theme-border-color: #1a2a2a;
		--new-link-color: #007d7a;
	}

	:root .skin-vector-dark {
		--theme-link-color: #81e6d9;
		--theme-border-color: #718096;
		--new-link-color: #4fd1c7;
	}

	.mw-body a.new,
	.mw-body-content a.new {
		border-bottom-width: 2px !important;
		background-color: transparent !important;
	}
}

/* ===== PRINT STYLES ===== */
@media print {
	:root {
		--theme-page-text-color: #000000;
		--theme-page-background-color: #ffffff;
		--theme-link-color: #000000;
	}

	a {
		color: #000000 !important;
		text-decoration: underline !important;
	}

	a.new::after {
		content: " [new]";
		font-size: smaller;
		color: #666;
	}
}

/* ===== UTILITY CLASSES (Optional but helpful) ===== */
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.text-truncate {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.text-balance {
	text-wrap: balance;
}

.shadow-subtle {
	box-shadow: var(--shadow-sm);
}

.shadow-elevated {
	box-shadow: var(--shadow-md);
}

.card {
	background-color: var(--card-bg-main);
	border-radius: var(--border-radius-md);
	border: 1px solid var(--card-border-color);
	box-shadow: var(--theme-card-shadow);
	transition: all var(--transition-base) ease;
}

.card:hover {
	box-shadow: var(--theme-card-shadow-hover);
	transform: translateY(-2px);
}

.status-alert {
	background-color: var(--theme-alert-color--secondary);
	color: var(--theme-alert-color);
	border-left: 4px solid var(--theme-alert-color);
}

.status-warning {
	background-color: var(--theme-warning-color--secondary);
	color: var(--theme-warning-color);
	border-left: 4px solid var(--theme-warning-color);
}

.status-success {
	background-color: var(--theme-success-color--secondary);
	color: var(--theme-success-color);
	border-left: 4px solid var(--theme-success-color);
}

.status-info {
	background-color: var(--theme-info-color--secondary);
	color: var(--theme-info-color);
	border-left: 4px solid var(--theme-info-color);
}

/* Typography improvements */
h1,
h2,
h3,
h4,
h5,
h6,
.mw-body,
.editOptions,
.ace-tm,
.vector-menu-heading,
.ace_cursor,
.vector-menu-content-list>a,
.vector-menu-heading-label {
	color: var(--theme-page-text-color);
}

.vector-menu-heading-label {
	font-size: 0.8125em;
}

/* Footer and panels */
.mw-footer,
.editOptions,
.ace-tm,
#mw-panel .vector-menu-heading {
	background-color: var(--theme-page-background-color--secondary) !important;
}

/* Sidebar and lists */
.ace-tm .ace_gutter,
.selected.mw-list-item,
#mw-panel .vector-menu-content-list {
	background-color: var(--theme-page-background-color--secondary) !important;
	color: var(--theme-page-text-color);
}

/* Notification improvements */
.skin-vector-dark #mw-notification-area.mw-notification.mw-notification-type-error,
.skin-vector-dark .postedit.mw-notification.mw-notification-type-error,
.skin-vector-dark .wds-table-td-alert {
	background-color: var(--theme-alert-highlight);
	color: var(--theme-alert-label);
}

.text-error {
	color: var(--theme-alert-highlight);
}

.diff td.diff-addedline {
	background-color: var(--teal-050);
	border-color: var(--theme-success-color);
	border-width: 1px 1px 1px 4px;
	color: var(--theme-success-color);
}

.diff td.diff-addedline .diffchange {
	background-color: var(--theme-success-color);
	color: var(--theme-success-label);
	font-weight: normal;
}

.diff td.diff-deletedline {
	background-color: var(--theme-alert-color--secondary);
	border-color: var(--theme-alert-color);
	border-width: 1px 1px 1px 4px;
	color: var(--theme-alert-color);
}

.diff td.diff-deletedline .diffchange {
	background-color: var(--theme-alert-color);
	color: var(--theme-alert-label);
	font-weight: normal;
}

.diff td.diff-context {
	background: transparent;
	border-color: var(--theme-border-color);
	color: var(--theme-page-text-color);
}

/* CodeMirror */
.CodeMirror .CodeMirror-scroll {
	background: var(--theme-page-background-color);
	color: var(--theme-page-text-color);
}

.CodeMirror .CodeMirror-linenumber,
.CodeMirror .CodeMirror-gutters {
	background: var(--theme-page-background-color--secondary);
	color: var(--theme-page-text-color);
	border-right: 1px solid var(--theme-border-color);
}

/* Color template improvements */
.text-player,
.text-player * {
	color: var(--color-player);
	font-weight: 600;
}

.bg-player {
	background-color: var(--color-player);
	color: var(--theme-page-text-color--inverse);
	padding: 2px 6px;
	border-radius: 3px;
}

.text-accent,
.text-accent * {
	color: var(--color-accent);
	font-weight: 600;
}

.bg-accent {
	background-color: var(--color-accent);
	color: var(--theme-accent-label-color);
	padding: 2px 6px;
	border-radius: 3px;
}

/* User highlights - improved contrast */
a[href="https://mbwiki.stairwaygames.work/wiki/User:Ais"],
a[href="/wiki/User:Ais"],
a[href="/wiki/Special:Contributions/Ais"] {
	color: var(--custom-admin-highlight);
	font-weight: 600;
}

/* Bots */
a[href="https://coralisland.wiki/wiki/User:NoriBot"],
a[href="/wiki/User:NoriBot"],
a[href="/wiki/Special:Contributions/NoriBot"],
a[href="https://coralisland.wiki/wiki/User:VoirBot"],
a[href="/wiki/User:VoirBot"],
a[href="/wiki/Special:Contributions/VoirBot"] {
	color: var(--custom-bot-color);
	font-style: var(--custom-bot-font-style);
	opacity: 0.9;
}

/* Additional improvements for better readability */
.mw-body-content {
	line-height: 1.6;
}

/* Improve contrast for links */
a {
	transition: color 0.2s ease;
}

a:hover {
	text-decoration: underline;
}

/* Improve table readability */
.mw-parser-output table {
	background-color: var(--theme-page-background-color);
	border: none;
}

.mw-parser-output table th {
	background-color: var(--theme-page-background-color--secondary);
}

.mw-parser-output table td {
	border: none;
}

body.skin-vector-dark {
	/*background: url("https://coralwiki.stairwaygames.com/w/images/9/9a/Site-background-dark.png") no-repeat fixed center center / cover !important;*/
	background-color: #0f1419 !important;
	background-image: radial-gradient(circle at top,
			#1a2a2a 0%,
			#0f1419 100%) !important;
}

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

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

a,
a:visited,
a:active,
.mw-parser-output a:is(.external, .external:visited, .external:active) {
	color: var(--theme-link-color);
}

#mw-head .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
	color: var(--mw-head-link-color, var(--theme-page-text-color));
}

#mw-panel .vector-menu-content-list .mw-list-item :is(a, a:visited, a:active) {
	color: var(--theme-link-color);
}

.mw-parser-output a.external {
	padding-right: 0;
	font-size: inherit;
}

.catlinks {
	border-color: var(--theme-border-color);
	border-radius: 6px;
	background-color: var(--gray-050);
}

.CodeMirror-lines span {
	font: 14px Consolas, Eupheima UCAS, Monaco, Menlo, monospace;
	/* Source Editor */
}

.wikiEditor-ui .ace_editor * {
	font-size: 13px;
	font-family: monospace, monospace;
	/* Module */
}

.mw-input .mw-abusefilter-editor * {
	font-size: 13px;
	font-family: monospace, monospace;
}

/* Hide default TOOLBOX nav section on sidebar */
#mw-navigation>#mw-panel>#p-tb {
	display: none;
}

/* Column template fix */
.columntemplate ul,
.columntemplate ol {
	margin-top: 0;
}

/* RC */
.mw-changeslist table {
	width: unset;
}

.gift-table .icon-list-container {
	width: auto;
}

/* Quote template */
.quotetable {
	width: auto;
}

.Bug6200 {
	margin-bottom: 0.75em;
}

/* Code block */
code,
pre {
	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: monospace, monospace;
	font-size: 13px;
}

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

/* || MAIN PAGE */
/*banner links*/
.banner-links a {
	color: #ffffff !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
	font-weight: 600 !important;
}

/* mp-banner */
#mp-banner {
	position: absolute;
	width: 100%;
	height: 10%;
	filter: blur(0px);
	z-index: -1;
	background: url(filepath://Temporary-banner-top.jpg) top center/cover no-repeat;
	background-color: #000000;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
}

body.page-Main_Page.action-view h1.firstHeading,
body.page-Main_Page.action-submit h1.firstHeading {
	display: none;
}

body.page-Main_Page.action-view .main-page-top {
	/*	background-image: url(https://coralwiki.stairwaygames.com/w/images/c/c2/441Cover_image_only.png); */
	background-color: var(--theme-page-background-color--secondary, #000000);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #fffff;
	text-align: center;
	align-items: center;
}

/* ||TABLE OF CONTENTS */
.toc {
	padding: 8px 12px;
	border-radius: 4px;
	background-color: var(--theme-page-background-color--secondary);
	border: 1px solid var(--theme-border-color);
	margin-top: 16px;
}

.toctogglelabel {
	color: var(--theme-link-color);
}

.tocnumber {
	color: var(--theme-page-text-color);
}

.vector-body .toc h2 {
	font-family: var(--font-family-headings);
	font-weight: bold;
}

/* TOC hide headings */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
	display: none;
}

/* For Template:Changelist */
.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;
	-moz-box-sizing: border-box;
	-moz-border-radius-topleft: 0.5em;
	background: transparent;
	border-radius: 6px;
}

.changelist-border {
	border: 1px solid var(--theme-border-color);
	border-left: 6px solid var(--accent);
}

/* For Template:Chat */
.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: rgb(105, 172, 82);
}

.chat-npc-speaker {
	white-space: nowrap;
	min-width: 70px;
	color: rgb(237, 123, 103);
}

/* Hatnote */
.hatnote {
	display: flex;
	align-items: center;
	padding: 10px 15px;
	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 {
	width: 14px;
	height: auto;
	margin-right: 10px;
	opacity: var(--opacity-icon-base);
}

.hatnote.hatnote-high {
	background-color: var(--background-color-destructive-subtle);
	border-color: var(--color-destructive);
}

.hatnote.hatnote-medium {
	background-color: var(--background-color-warning-subtle);
	border-color: var(--color-warning);
}

.hatnote.hatnote-low {
	background-color: var(--color-surface-2);
}

/* 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 {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45em;
	font-size: 0.9em;
}

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

/* ===== IMproved Main Page Framework CSS ===== */

#mp-container {
	display: grid;
	gap: 20px;
	margin: 20px 0;
	width: 100%;
	min-width: 100%;
}

/* Desktop layout */
#mp-container {
	grid-template-areas: var(--main-page-layout--desktop, "");
	grid-template-columns: var(--main-page-layout-columns--desktop,
			repeat(3, 1fr));
}

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

/* Mobile layout */
@media (max-width: 768px) {
	#mp-container {
		grid-template-areas: var(--main-page-layout--mobile,
				var(--main-page-layout--tablet, var(--main-page-layout--desktop, "")));
		grid-template-columns: var(--main-page-layout-columns--mobile,
				var(--main-page-layout-columns--tablet,
					var(--main-page-layout-columns--desktop, 1fr)));
	}
}

/* Social Links Improvements */
/* Clean social links styling -  theme colors */
.social {
	position: relative;
	z-index: 999;
	text-align: center;
	margin: 20px auto;
	padding: 15px 0;
	max-width: 85%;
	backdrop-filter: blur;
	background: var(--theme-page-background-color--secondary);
	border-radius: 12px;
	border: 1px solid var(--theme-border-color);
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 15px;
}

/* Each social link item */
.social .iconname {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	padding: 12px 20px;
	background: var(--theme-page-background-color);
	border-radius: 8px;
	border: 1px solid var(--theme-border-color);
	transition: all 0.3s ease;
	flex: 1;
	max-width: 200px;
}

/* Hover effect */
.social .iconname:hover {
	background: var(--theme-accent-bg) !important;
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--theme-accent-color);
}

/* The link inside - uses theme colors */
.social .iconname a.external {
	display: flex !important;
	align-items: center !important;
	text-decoration: none !important;
	color: var(--theme-page-text-color) !important;
	font-weight: var(--font-weight-medium) !important;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

/* Hover text color */
.social .iconname:hover a.external {
	color: var(--theme-link-color) !important;
}

/* Icon container */
.social .iconname .floatleft {
	display: flex !important;
	align-items: center !important;
	margin-right: 10px !important;
	margin-bottom: 0 !important;
	float: none !important;
}

/* Icon image - no filter, keep original */
.social .iconname .floatleft a img {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	/* Remove filter - keep original icon colors */
	filter: none !important;
}

/* Text next to icon */
.social .iconname .external-text {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

/* Responsive design */
@media (max-width: 1024px) {
	.social {
		max-width: 95% !important;
		gap: 10px;
	}

	.social .iconname {
		min-width: 160px;
		padding: 10px 15px;
	}
}

@media (max-width: 768px) {
	.social {
		flex-direction: column;
		gap: 8px;
		max-width: 100% !important;
		padding: 10px;
	}

	.social .iconname {
		width: 100% !important;
		max-width: 100% !important;
		min-width: auto !important;
		justify-content: flex-start;
		padding: 10px 20px;
	}

	.social .iconname a.external {
		justify-content: flex-start;
	}
}

/* Main Page Layout */
.game-intro-card {
	background: var(--card-bg-main);
	border-radius: var(--border-radius-lg);
	border: 1px solid var(--theme-border-color);
	overflow: hidden;
	box-shadow: var(--shadow-md);
	margin-bottom: var(--spacing-lg);
	transition: all var(--transition-base) ease;
	position: relative;
	/* For better z-index control */
}

.game-intro-card:hover {
	box-shadow: var(--shadow-lg);
	transform: translateY(-2px);
	border-color: var(--teal-300);
}

.game-header {
	background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
	padding: var(--spacing-md) var(--spacing-lg);
	display: flex;
	flex-direction: column;
	position: relative;
}

.game-header::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(45deg,
			transparent 0%,
			rgba(255, 255, 255, 0.05) 50%,
			transparent 100%);
	pointer-events: none;
}

.mana-text,
.mana-text h2 {
	font-size: 1.8em;
	font-weight: 900;
	letter-spacing: 2px;
	color: #fff;
	text-shadow: 0 0 10px rgba(162, 242, 225, 0.5), 0 2px 4px rgba(0, 0, 0, 0.3);
	position: relative;
	z-index: 1;
	margin: 0;
	text-decoration: none !important;
	/* Add this line */
	border-bottom: none !important;
	/* Ensure no border */
}

.game-intro-card h2,
.game-intro-card .mana-text,
.game-header h2 {
	text-decoration: none !important;
	border-bottom: none !important;
}

.mana-line {
	height: 3px;
	width: 100px;
	background: var(--teal-200);
	margin-top: var(--spacing-xs);
	border-radius: 2px;
	transition: width var(--transition-base) ease;
}

.game-intro-card:hover .mana-line {
	width: 107px;
}

.game-content {
	padding: var(--spacing-lg);
	line-height: 1.6;
	color: var(--theme-page-text-color);
}

/* Grid-based approach for perfect alignment */
.updates-list.grid-style,
.game-content ul.grid-style {
	display: grid;
	gap: 4px;
	padding-left: 0;
}

.updates-list.grid-style li,
.game-content ul.grid-style li {
	display: grid;
	grid-template-columns: 20px 1fr;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
}

.updates-list.grid-style li::before,
.game-content ul.grid-style li::before {
	position: static;
	transform: none;
	left: auto;
	top: auto;
	grid-column: 1;
	text-align: center;
}

.updates-list.grid-style li span,
.game-content ul.grid-style li span {
	grid-column: 2;
}

.game-content a {
	color: var(--theme-link-color);
	text-decoration: none;
	font-weight: 600;
	transition: all var(--transition-fast) ease;
	position: relative;
}

.game-content a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
	/* Better underline positioning */
}

.game-content a::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--teal-300);
	transition: width var(--transition-fast) ease;
}

.game-content a:hover::after {
	width: 100%;
}

/* Responsive adjustments - refined */
@media (max-width: 768px) {
	.game-intro-card {
		margin: var(--spacing-sm);
		border-radius: var(--border-radius-md);
	}

	.game-header {
		padding: var(--spacing-sm) var(--spacing-md);
	}

	.mana-text {
		font-size: 1.5em;
		letter-spacing: 1px;
	}

	.mana-line {
		width: 40px;
	}

	.game-content {
		padding: var(--spacing-md);
	}

	.game-content,
	.updates-list li {
		font-size: 1em;
	}

	.updates-list,
	.game-content ul {
		padding-left: var(--spacing-md);
	}

	.updates-list li:before,
	.game-content li:before {
		left: calc(-1 * var(--spacing-md));
	}
}

/* Dark theme adjustments - refined */
.skin-vector-dark .game-intro-card {
	background: var(--card-bg-elevated);
}

.skin-vector-dark .game-header {
	background: linear-gradient(90deg,
			color-mix(in srgb, var(--teal-700) 80%, black 20%) 0%,
			color-mix(in srgb, var(--teal-900) 80%, black 20%) 100%);
}

.skin-vector-dark .mana-text {
	text-shadow: 0 0 10px rgba(95, 217, 207, 0.4), 0 2px 4px rgba(0, 0, 0, 0.5);
}

.skin-vector-dark .updates-list li:before,
.skin-vector-dark .game-content li:before {
	color: var(--teal-400);
}

/* Focus states for accessibility */
.game-content a:focus {
	outline: 2px solid var(--focus-ring-color);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {

	.game-intro-card,
	.game-intro-card:hover,
	.mana-line,
	.updates-list li,
	.updates-list li:before,
	.game-content li,
	.game-content li:before,
	.game-content a,
	.game-content a::after {
		transition: none;
	}

	.game-intro-card:hover {
		transform: none;
	}
}

body {
	font-family: Helvetica, Arial, sans-serif !important;
	background-color: @background-color-secondary;
	/* background: url("https://mbwiki.stairwaygames.work/w/images/3/3d/384Web_background.png")*/
	background-color: rgba(0, 0, 0, 0.1) !important;
	overflow-y: scroll;
}

ul {
	list-style: none;
}

.wikitable,
.scheduletable {
    width: auto;
    min-width: 300px;
    max-width: 100%;
    margin: 1.5em auto;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid var(--theme-border-color);
    background-color: var(--card-bg-main);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    table-layout: auto; 
}

.fishtable {
	table-layout: auto;
	width: 100%;
}

.artisan-table {
	table-layout: auto;
	width: 60%;
	border-spacing: 0;
	max-width: 100%;
	margin: 15px;
	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: #faf3ea;
}

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

.ci-letter-attachment {
	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;
}

/* ===== IMPROVED WIKITABLE STYLES ===== */

/* Base wikitable - consolidated and improved */
.wikitable {
    width: 100%;
    margin: 1.5em 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--table-border, var(--theme-border-color));
    background-color: var(--card-bg-main, #ffffff);
    border-radius: var(--border-radius-md, 8px);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-base);
}

/* Header styling */
.wikitable > tr > th,
.wikitable > * > tr > th {
    background: linear-gradient(135deg, 
        var(--teal-600, #2c7a7b) 0%, 
        var(--teal-700, #285e61) 100%) !important;
    color: var(--theme-accent-label-color, #ffffff) !important;
    font-weight: var(--font-weight-semibold, 600);
    padding: 0.75rem 1rem !important;
    border-bottom: 2px solid var(--teal-800, #234e52) !important;
    text-align: center;
    vertical-align: middle;
    font-size: 0.95em;
    letter-spacing: 0.3px;
    position: relative;
}

/* Add subtle hover effect to headers */
.wikitable > tr > th:hover,
.wikitable > * > tr > th:hover {
    background: linear-gradient(135deg, 
        var(--teal-500, #319795) 0%, 
        var(--teal-600, #2c7a7b) 100%) !important;
}

/* Cell styling - improved readability */
.wikitable > tr > td,
.wikitable > * > tr > td {
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid var(--theme-border-color--subtle, #e2e8f0);
    vertical-align: middle;
    color: var(--theme-page-text-color);
    transition: background-color var(--transition-fast);
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Striped rows for better readability */
.wikitable > tr:nth-child(even):not(:first-child),
.wikitable > * > tr:nth-child(even):not(:first-child) {
    background-color: var(--table-row-even, rgba(56, 178, 172, 0.03));
}

.wikitable > tr:nth-child(odd):not(:first-child),
.wikitable > * > tr:nth-child(odd):not(:first-child) {
    background-color: var(--table-row-odd, rgba(56, 178, 172, 0.01));
}

/* Hover effect for rows */
.wikitable > tr:hover:not(:first-child),
.wikitable > * > tr:hover:not(:first-child) {
    background-color: rgba(56, 178, 172, 0.08) !important;
}

/* First column styling (often labels) */
.wikitable > tr > td:first-child,
.wikitable > * > tr > td:first-child,
.wikitable > tr > th:first-child,
.wikitable > * > tr > th:first-child {
    font-weight: var(--font-weight-medium, 500);
    border-left: 3px solid transparent;
}

/* Highlight first column on hover */
.wikitable > tr:hover:not(:first-child) > td:first-child,
.wikitable > * > tr:hover:not(:first-child) > td:first-child {
    border-left-color: var(--teal-300, #4fd1c7);
    background-color: rgba(79, 209, 199, 0.1);
}

/* Remove last row bottom border */
.wikitable > tr:last-child > td,
.wikitable > * > tr:last-child > td {
    border-bottom: none;
}

/* Remove last cell right border */
.wikitable > tr > td:last-child,
.wikitable > * > tr > td:last-child,
.wikitable > tr > th:last-child,
.wikitable > * > tr > th:last-child {
    border-right: none;
}

/* Caption styling */
.wikitable > caption {
    caption-side: top;
    padding: 0.875rem 1rem;
    background: var(--teal-50, #e6fffa);
    color: var(--teal-800, #234e52);
    font-weight: var(--font-weight-semibold, 600);
    text-align: left;
    border-bottom: 1px solid var(--teal-200, #81e6d9);
    font-size: 1.05em;
    border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
    margin-bottom: 0;
}

/* Collapsible toggle in caption */
.wikitable > caption .mw-collapsible-toggle {
    float: right;
    margin: -0.25rem 0;
    padding: 0.25rem 0.75rem;
    background: var(--teal-100, #b2f5ea);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--teal-300, #4fd1c7);
    color: var(--teal-700, #285e61);
    font-size: 0.85em;
    font-weight: var(--font-weight-medium, 500);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.wikitable > caption .mw-collapsible-toggle:hover {
    background: var(--teal-200, #81e6d9);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

/* Sortable tables */
.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable),
.jquery-tablesorter th.headerSort {
    cursor: pointer;
    position: relative;
    padding-right: 2rem !important;
    user-select: none;
    transition: all var(--transition-fast);
}

.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable):hover,
.jquery-tablesorter th.headerSort:hover {
    background: linear-gradient(135deg, 
        var(--teal-500, #319795) 0%, 
        var(--teal-600, #2c7a7b) 100%) !important;
    box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.3);
}

/* Sorting indicators */
.client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable):after,
.jquery-tablesorter th.headerSort:after {
    content: "↕";
    position: absolute;
    right: 0.75rem;
    font-size: 0.85em;
    opacity: 0.6;
    transition: all var(--transition-fast);
}

.client-js .wikitable.sortable > * > tr:first-child > th.headerSortUp:after,
.jquery-tablesorter th.headerSortUp:after {
    content: "↑";
    opacity: 1;
    color: var(--theme-accent-label-color);
}

.client-js .wikitable.sortable > * > tr:first-child > th.headerSortDown:after,
.jquery-tablesorter th.headerSortDown:after {
    content: "↓";
    opacity: 1;
    color: var(--theme-accent-label-color);
}

/* Links inside tables */
.wikitable a,
.wikitable a:visited {
    color: var(--theme-link-color);
    text-decoration: none;
    font-weight: var(--font-weight-medium, 500);
    border-bottom: 1px dotted transparent;
    transition: all var(--transition-fast);
}

.wikitable a:hover {
    color: var(--theme-link-color--hover);
    text-decoration: none;
    border-bottom-color: currentColor;
}

/* Images in tables */
.wikitable img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--theme-border-color--subtle);
    transition: transform var(--transition-fast);
}

.wikitable a:hover img {
    transform: scale(1.05);
    border-color: var(--teal-300, #4fd1c7);
}

/* Specific table types - override for consistency */

/* Schedule tables */
.scheduletable.wikitable {
    width: auto;
    min-width: 300px;
}

.scheduletable.wikitable > tr > td:first-child,
.scheduletable.wikitable > * > tr > td:first-child {
    width: 150px;
    font-weight: var(--font-weight-semibold, 600);
    background-color: rgba(56, 178, 172, 0.05);
}

/* Fish tables */
.fishtable.wikitable {
    table-layout: fixed;
}

/* Artisan tables */
.artisan-table.wikitable {
    width: 60%;
    max-width: 100%;
}

.artisan-table.wikitable > tr > th,
.artisan-table.wikitable > * > tr > th {
    background-color: var(--teal-500, #319795) !important;
}

/* Heart event tables */
.heart-event-table.wikitable {
    width: 30%;
    min-width: 250px;
}

/* Quote tables */
.quotetable.wikitable {
    background: var(--letter-bg, #f0fff4);
    border-color: var(--letter-border, #c6f6d5);
}

.quotetable.wikitable > caption {
    background: var(--teal-100, #b2f5ea);
    color: var(--teal-800, #234e52);
}

/* Responsive improvements */
@media screen and (max-width: 1024px) {
    .wikitable {
        font-size: 0.95em;
    }
    
    .wikitable > tr > th,
    .wikitable > * > tr > th,
    .wikitable > tr > td,
    .wikitable > * > tr > td {
        padding: 0.625rem 0.75rem !important;
    }
    
    .scheduletable.wikitable {
        width: 100%;
    }
    
    .artisan-table.wikitable {
        width: 100%;
    }
    
    .heart-event-table.wikitable {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .wikitable {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: var(--border-radius-sm);
    }
    
    .wikitable > caption {
        position: sticky;
        left: 0;
    }
    
    .wikitable > tr > th,
    .wikitable > * > tr > th,
    .wikitable > tr > td,
    .wikitable > * > tr > td {
        min-width: 100px;
        font-size: 0.9em;
    }
    
    /* Make sortable tables work better on mobile */
    .client-js .wikitable.sortable > * > tr:first-child > th:not(.unsortable),
    .jquery-tablesorter th.headerSort {
        font-size: 0.85em;
        white-space: normal;
        line-height: 1.3;
        padding: 0.5rem 1.5rem 0.5rem 0.5rem !important;
    }
    
    /* Improve touch targets */
    .wikitable a {
        padding: 0.25rem 0;
        display: inline-block;
    }
}

/* Dark theme adjustments */
.skin-vector-dark .wikitable {
    background-color: var(--card-bg-main, #2a363d);
    border-color: var(--table-border, #4d6872);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.skin-vector-dark .wikitable > tr > th,
.skin-vector-dark .wikitable > * > tr > th {
    background: linear-gradient(135deg, 
        var(--teal-800, #2d4a4d) 0%, 
        var(--teal-900, #1d4044) 100%) !important;
    border-bottom-color: var(--teal-900, #1d4044) !important;
}

.skin-vector-dark .wikitable > tr:nth-child(even):not(:first-child),
.skin-vector-dark .wikitable > * > tr:nth-child(even):not(:first-child) {
    background-color: rgba(95, 217, 207, 0.05);
}

.skin-vector-dark .wikitable > tr:nth-child(odd):not(:first-child),
.skin-vector-dark .wikitable > * > tr:nth-child(odd):not(:first-child) {
    background-color: rgba(95, 217, 207, 0.02);
}

.skin-vector-dark .wikitable > caption {
    background: var(--teal-900, #1d4044);
    color: var(--teal-100, #b2f5ea);
    border-bottom-color: var(--teal-700, #285e61);
}

.skin-vector-dark .wikitable > caption .mw-collapsible-toggle {
    background: var(--teal-800, #2d4a4d);
    border-color: var(--teal-600, #2c7a7b);
    color: var(--teal-100, #b2f5ea);
}

/* Print styles */
@media print {
    .wikitable {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
    
    .wikitable > tr > th,
    .wikitable > * > tr > th {
        background: #f0f0f0 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    .wikitable a {
        color: #000;
        text-decoration: none;
    }
    
    .wikitable a[href]:after {
        content: " (" attr(href) ")";
        font-size: 0.9em;
        font-weight: normal;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    .wikitable,
    .wikitable > tr > th,
    .wikitable > tr > td,
    .wikitable a,
    .wikitable img {
        transition: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .wikitable {
        border-width: 2px;
    }
    
    .wikitable > tr > th,
    .wikitable > * > tr > th {
        border-bottom-width: 3px;
    }
    
    .wikitable > tr > td,
    .wikitable > * > tr > td {
        border-bottom-width: 1px;
    }
}

/* Focus styles for keyboard navigation */
.wikitable a:focus-visible {
    outline: 2px solid var(--focus-ring-color);
    outline-offset: 2px;
    border-radius: 2px;
    text-decoration: none;
}

.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,
.scheduletable > * > tr > th,
.scheduletable th {
    background: linear-gradient(135deg, 
        var(--teal-600, #2c7a7b) 0%, 
        var(--teal-700, #285e61) 100%);
    color: var(--theme-accent-label-color, #ffffff);
    font-weight: var(--font-weight-semibold, 600);
    padding: 0.75rem 1rem;
    border-bottom: 2px solid var(--teal-800, #234e52);
    text-align: center;
    vertical-align: middle;
    font-size: 0.95em;
    letter-spacing: 0.3px;
    white-space: nowrap; /* Prevent line breaks in headers */
}

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

.vector-menu-content {
	margin-left: 10px;
}

.mw-body,
.parsoid-body {
	background-color: var(--theme-page-background-color) !important;
	color: var(--theme-page-text-color);
	direction: ltr;
	padding: 1em;
}

.infobox {
	background: #e7c361;
	border: 1px solid #e7c361;
	float: right;
	margin: 0 0 1em 1em;
	padding: 1em;
	// min-width: 25%;
}

.infobox-title {
	font-size: 2em;
	text-align: center;
}

.infobox p {
	text-decoration: underline;
	font-size: 1.3em;
}

.infobox-image {
	text-align: center;
}

.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 {
	text-align: center;
	margin: 10px 0;
	border-collapse: collapse;
}

.scheduletable > tr > td,
.scheduletable > * > tr > td,
.scheduletable td {
    padding: 0.75rem 1rem;
    border: 1px solid var(--theme-border-color--subtle, #e2e8f0);
    vertical-align: middle;
    color: var(--theme-page-text-color);
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    transition: background-color var(--transition-fast);
}
.scheduletable > tr > td:first-child,
.scheduletable > * > tr > td:first-child,
.scheduletable td:first-child {
    width: 150px !important; /* Fixed width for time column */
    min-width: 150px;
    max-width: 150px;
    font-weight: var(--font-weight-semibold, 600);
    background-color: rgba(56, 178, 172, 0.08);
    text-align: left;
    padding-left: 1.25rem;
    border-right: 2px solid var(--teal-300, #4fd1c7);
    position: relative;
}

.croptable>tbody>tr>td:first-child {
	width: 100px !important;
}
.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 {
	float: right;
}

.ci-recipe-wrapper {
	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;
}

.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;
	min-height: 100%;
}

.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 {
	background-color: rgba(231, 195, 97, 0.2);
}

.gifted-item>tbody>tr>th {
	background-color: rgba(231, 195, 97, 0.8);
	max-width: 100px;
}

.content-table {
	background: transparent;
	padding: 10px 2%;
	width: 100%;
}

.content-table-basic {
	background: transparent;
	width: 100%;
}

.content-table-second {
	background: transparent;
	width: 100%;
}

.child-content-table {
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	margin-left: 4px;
}

.mw-body,
#mw-data-after-content {
	margin-left: 10em;
}

.mw-body {
	position: relative;
	/* For better z-index control */
	border-left: 3px solid var(--teal-400);
	border-top: none;
	border-right: none;
	border-bottom: none;
	background-color: var(--theme-page-background-color);
	color: var(--theme-page-text-color);
	margin-top: 0;
	border-radius: 0;

	.firstHeading {
		overflow: visible;
		/* Add subtle bottom border for separation */
		border-bottom: 1px solid var(--theme-border-color--subtle);
		padding-bottom: 0.5em;
		margin-bottom: 1em;
	}
}

/* Keep z-index simple */
.mw-indicators {
	position: relative;
	z-index: 10;
}

.vector-body {
	font-size: var(--font-size);
	position: relative;
	z-index: 1;
}

/* Be more specific with font overrides to avoid editor conflicts */
body:not(.action-edit):not(.action-submit) .vector-body,
body:not(.action-edit):not(.action-submit) .vector-body p,
body:not(.action-edit):not(.action-submit) .vector-body div,
body:not(.action-edit):not(.action-submit) .vector-body span {
	font-size: var(--font-size);
	font-family: Helvetica, Arial, sans-serif;
}

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

	body:not(.action-edit):not(.action-submit) .wikitable>tr>th,
	body:not(.action-edit):not(.action-submit) .wikitable>tr>td,
	body:not(.action-edit):not(.action-submit) .wikitable>*>tr>th,
	body:not(.action-edit):not(.action-submit) .wikitable>*>tr>td {
		font-size: 14px;
	}

	body:not(.action-edit):not(.action-submit) .content {
		font-size: 14px;
	}

	body:not(.action-edit):not(.action-submit) .vector-body {
		font-size: 16px;
	}
}

/* Even safer - only affect non-editor content */
.mw-body-content:not(.editOptions),
.mw-parser-output:not(.editOptions) {
	font-size: var(--font-size);
}

#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: transparent;
}

/* ===== HEADER/NAVIGATION FIX ===== */

#mw-navigation h2 {
	position: absolute;
	top: -9999px;
}

#mw-head>* {
	position: relative;
	z-index: auto;
}

#left-navigation,
#right-navigation {
	display: inline-flex;
	vertical-align: top;
	white-space: nowrap;
}

#p-search {
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin: 0 1em;
}

/* Sidebar */
#mw-panel .sidebar-section-title {
	background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
	color: white;
	font-weight: bold;
	padding: 5px 10px;
	margin: 5px 0 5px 0;
	border-radius: 4px;
	font-size: 0.9em;
}

// 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: white;
	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: #474747;
	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: 11em;
}

.mw-body {
	padding: 1.25em 1.5em 1.5em 1.5em;
}

.mw-footer {
	padding: 1.25em;
}

#mw-panel {
	padding-left: 0.5em;
}

.vector-search-box {
	margin-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 - Connected to Module Variables */
.grid {
	display: grid !important;
	/* Desktop: Use module variable, fallback to 12 columns */
	grid-template-columns: var(--main-page-layout-columns--desktop,
			repeat(12, 1fr));
	margin: 10px 0;
	gap: 10px;
	/* Better than grid-gap (deprecated) */
}

/* Tablet */
@media (max-width: 1024px) {
	.grid {
		grid-template-columns: var(--main-page-layout-columns--tablet,
				var(--main-page-layout-columns--desktop, repeat(12, 1fr)));
	}
}

/* Mobile */
@media (max-width: 768px) {
	.grid {
		grid-template-columns: var(--main-page-layout-columns--mobile,
				var(--main-page-layout-columns--tablet,
					var(--main-page-layout-columns--desktop, repeat(1, 1fr))));
	}
}

/* Optional: Keep column classes as fallback when NOT using module */
.grid:not([data-has-module-layout]) .grid__col4 {
	grid-column: span 4;
}

/* Other styles can stay the same */
.specification-table {
	font-size: 10px;
	padding: 0 5%;
}

.content {
	padding: 10px;
	font-size: 12px;
}

.wrapper {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 1rem;
}

@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: --wiki-content-text-color !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%;
	}

	.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,
	.content-table th,
	.content-table td {
		border: none !important;
	}

	.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) {
	.mw-parser-output a.external {
		font-size: 20px;
		font-weight: 400;
	}

	.floatleft>a>img {
		width: 48px;
		height: 48px;
	}
}

#content .header-column {
	background-color: #1a6a7a !important;
	justify-content: center !important;
	text-align: center !important;
	color: #ffffff !important;
}

.header-column>span>a>img {
	width: 14px;
	height: 14px;
}

.header-column>a>img {
	width: 14px;
	height: 14px;
}

.heading-char {
	color: #deb76c !important;
}

#footer {
	background: #fff;
	color: #000;
	margin-top: 1em;
	border-top: 1pt solid #aaa;
	padding-top: 5px;
	direction: ltr;
}

/* ---- CONTENTS STYLING GOES BELOW THIS LINE --- */
/* Element Infobox Styling */
.element-image {
	transition: transform 0.3s ease;
	border-radius: 5px;
}

.element-image:hover {
	transform: scale(1.05);
}

/* Floating animation for infobox */
.element-infobox {
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.element-infobox:hover {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

/* Color-specific classes */
.element-fire {
	border-left: 4px solid #cc3333;
}

.element-water {
	border-left: 4px solid #3366cc;
}

.element-wind {
	border-left: 4px solid #33cccc;
}

.element-earth {
	border-left: 4px solid #996633;
}

.element-lightning {
	border-left: 4px solid #ffcc00;
}

.element-ice {
	border-left: 4px solid #66ccff;
}

.element-wood {
	border-left: 4px solid #339933;
}

.element-grass {
	border-left: 4px solid #88cc44;
}

/* Move Personal Tools to the top of the page */
#p-personal {
	position: absolute !important;
	top: 0 !important;
	right: 0.75em !important;
	z-index: 1000 !important;
	background: var(--theme-page-background-color) !important;
	border-bottom: 1px solid var(--theme-border-color) !important;
	padding: 0.25em 0.5em !important;
	border-radius: 0 0 var(--border-radius-md) var(--border-radius-md) !important;
	box-shadow: var(--shadow-sm) !important;
}

#p-personal .vector-menu-heading {
	display: none !important;
}

#p-personal .vector-menu-content {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
}

#p-personal .vector-menu-content-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5em !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#p-personal .mw-list-item {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

#p-personal .mw-list-item a {
	padding: 0.25em 0.5em !important;
	color: var(--theme-link-color) !important;
	text-decoration: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	border-radius: var(--border-radius-sm) !important;
	transition: all var(--transition-fast) ease !important;
}

#p-personal .mw-list-item a:hover {
	background: rgba(var(--teal-100--rgb, 178, 245, 234), 0.3) !important;
	color: var(--theme-link-color--hover) !important;
}

/* Theme toggle special styling */
#pt-theme a {
	background: linear-gradient(135deg,
			var(--teal-100) 0%,
			var(--teal-200) 100%) !important;
	border-radius: var(--border-radius-full) !important;
}

#pt-theme a:hover {
	background: linear-gradient(135deg,
			var(--teal-200) 0%,
			var(--teal-300) 100%) !important;
}

/* Dark theme adjustments */
.skin-vector-dark #p-personal {
	background: var(--theme-page-background-color--secondary) !important;
}

.skin-vector-dark #pt-theme a {
	background: linear-gradient(135deg,
			var(--teal-800) 0%,
			var(--teal-700) 100%) !important;
}

.skin-vector-dark #pt-theme a:hover {
	background: linear-gradient(135deg,
			var(--teal-700) 0%,
			var(--teal-600) 100%) !important;
}

/* Add space at the top of the page so the personal tools don't overlap content */
#mw-page-base {
	margin-top: -0.5em !important;
}

/* Or if that doesn't work, add padding to body */
body {
	padding-top: -0.5em !important;
}

body.page-Main_Page .social {
	margin: -45px auto 30px !important;
	background: rgba(var(--theme-page-background-color--secondary--rgb),
			0.8) !important;
	backdrop-filter: blur(10px);
	border: 1px solid var(--theme-border-color);
	box-shadow: var(--shadow-xl);
	z-index: 99 !important;
}

/* THE GAME Card Improvement */
body.page-Main_Page .game-intro-card {
	background: var(--card-bg-elevated);
	border-radius: var(--border-radius-lg);
	border: 1px solid var(--theme-border-color);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
}

body.page-Main_Page .game-header {
	background: linear-gradient(90deg, var(--teal-700) 0%, var(--teal-900) 100%);
	padding: var(--spacing-md) var(--spacing-lg);
}

body.action-edit #content,
body.action-submit #content {
	margin-top: 50px !important;
	margin-left: 11em !important;
	background: #ffffff !important;
	padding: 20px !important;
}

/* Character Infobox */
.character-infobox {
	float: right;
	clear: right;
	max-width: 300px;
	width: 100%;
	margin: 0 0 16px 16px;
	border: 1px solid var(--theme-border-color);
	border-radius: var(--border-radius-md);
	background-color: var(--gray-050);
	font-size: 0.9em;
}

.character-header {
	background: var(--teal-600);
	color: var(--theme-accent-label-color);
	padding: 8px 10px;
	border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
	text-align: center;
	font-weight: var(--font-weight-bold);
}

.character-title {
	font-size: 1.5em;
}

.character-image {
	padding: 10px;
	text-align: center;
}

.character-section {
	padding: 5px 10px;
}

.section-title {
	font-size: 1.1em;
	font-weight: var(--font-weight-semibold);
	margin-top: 10px;
	margin-bottom: 5px;
	border-bottom: 1px solid var(--theme-border-color--subtle);
}

.data-row {
	display: flex;
	justify-content: space-between;
	padding: 3px 0;
	border-bottom: 1px dotted var(--gray-300);
}

.data-label {
	font-weight: var(--font-weight-medium);
	color: var(--gray-700);
}

/* ===== PORTABLE INFOBOX STYLING ===== */
.portable-infobox {
	float: right;
	clear: right;
	margin: 0 0 15px 15px;
	max-width: 300px;
	width: 100%;
	border: 1px solid var(--theme-border-color, #ccc);
	border-radius: 8px;
	background-color: var(--gray-050, #f8f9fa);
	font-size: 14px;
}

/* Remove margins from ALL paragraphs inside infobox */
.portable-infobox p {
	margin: 0 !important;
}

.portable-infobox .pi-header {
	padding: 0 5px;
}

.portable-infobox .pi-title {
	background: var(--teal-600, #00897b);
	color: var(--theme-accent-label-color, white);
	padding: 8px 10px;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	margin: 0;
}

.portable-infobox .pi-title p {
	margin: 0 !important;
	padding: 0;
}

.portable-infobox .pi-group {
	padding: 10px;
}

.portable-infobox .pi-group .pi-header {
	font-size: 1.1em;
	font-weight: 600;
	margin: 10px 0 5px 0;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
	color: var(--gray-800, #3c4043);
}

.portable-infobox .pi-group .pi-header p {
	margin: 0 !important;
}

.portable-infobox .pi-item {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	border-bottom: 1px dotted var(--gray-300, #dadce0);
	align-items: flex-start;
	/* Align items at the top */
}

.portable-infobox .pi-item:last-child {
	border-bottom: none;
}

.portable-infobox .pi-data-label {
	font-weight: 500;
	color: var(--gray-700, #5f6368);
	padding: 0 5px 0 0;
	min-width: 40%;
	flex-shrink: 0;
	/* Prevent label from shrinking */
}

.portable-infobox .pi-data-label p {
	margin: 0 !important;
}

.portable-infobox .pi-data-value {
	color: var(--gray-900, #202124);
	padding: 0 0 0 5px;
	min-width: 60%;
	text-align: right;
	flex-grow: 1;
	/* Allow value to grow */
}

.portable-infobox .pi-data-value p {
	margin: 0 !important;
}

/* Horizontal layout groups - fix table layout */
.portable-infobox .pi-horizontal-group {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

.portable-infobox .pi-horizontal-group caption {
	font-size: 1.1em;
	font-weight: 600;
	margin: 10px 0 5px 0;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
	color: var(--gray-800, #3c4043);
	text-align: left;
	caption-side: top;
}

.portable-infobox .pi-horizontal-group caption p {
	margin: 0 !important;
}

.portable-infobox .pi-horizontal-group th,
.portable-infobox .pi-horizontal-group td {
	padding: 8px;
	text-align: center;
	border: 1px solid var(--theme-border-color--subtle, #e0e0e0);
}

.portable-infobox .pi-horizontal-group th {
	font-weight: 500;
	color: var(--gray-700, #5f6368);
	background-color: var(--gray-100, #f1f3f4);
}

.portable-infobox .pi-horizontal-group th p,
.portable-infobox .pi-horizontal-group td p {
	margin: 0 !important;
}

/* Image styling */
.portable-infobox .pi-image {
	padding: 10px;
	text-align: center;
}

.pi-image-thumbnail {
	max-width: 100% !important;
	height: auto;
	border-radius: 4px;
	border: 1px solid var(--theme-border-color--subtle, #e0e0e0);
}

.portable-infobox .pi-image .pi-caption {
	font-size: 0.85em;
	color: var(--gray-600, #757575);
	margin-top: 5px;
	font-style: italic;
}

.portable-infobox .pi-image .pi-caption p {
	margin: 0 !important;
}

/* Clear float after infobox */
.mw-parser-output::after {
	content: "";
	display: table;
	clear: both;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
	.portable-infobox {
		float: none;
		max-width: 100%;
		margin: 0 0 16px 0;
	}

	.portable-infobox .pi-item {
		flex-direction: column;
	}

	.portable-infobox .pi-data-label,
	.portable-infobox .pi-data-value {
		min-width: 100%;
		text-align: left;
		padding: 0;
	}

	.portable-infobox .pi-data-label {
		padding-bottom: 2px;
	}

	.portable-infobox .pi-data-value {
		padding-top: 2px;
	}

	/* Horizontal table becomes vertical on mobile */
	.portable-infobox .pi-horizontal-group {
		display: block;
	}

	.portable-infobox .pi-horizontal-group thead,
	.portable-infobox .pi-horizontal-group tbody,
	.portable-infobox .pi-horizontal-group tr {
		display: block;
	}

	.portable-infobox .pi-horizontal-group th,
	.portable-infobox .pi-horizontal-group td {
		display: block;
		text-align: left;
		border: none;
		border-bottom: 1px solid var(--theme-border-color--subtle, #e0e0e0);
	}

	.portable-infobox .pi-horizontal-group th {
		background-color: transparent;
		font-weight: 600;
		padding-top: 10px;
	}

	.portable-infobox .pi-horizontal-group td {
		padding-bottom: 10px;
	}
}

/* ===== WEAPON INFOBOX STYLING ===== */
.weapon-infobox {
	float: right;
	clear: right;
	max-width: 300px;
	width: 100%;
	margin: 0 0 16px 16px;
	border: 1px solid #1a6a7a;
	border-radius: 10px;
	background-color: #ffffff;
	font-size: 0.9em;
}

.weapon-header {
	background: #1a6a7a;
	color: white;
	padding: 8px 10px;
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.weapon-image {
	padding: 10px;
	text-align: center;
}

.weapon-image img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	border: 1px solid #e0e0e0;
}

.weapon-section {
	padding: 0;
}

.section-title {
	padding: 5px 10px;
	color: #4a5568;
	font-weight: bold;
	border-bottom: 1px solid #a2a9b1;
	margin: 10px 0 5px 0;
}

.weapon-section>div {
	display: flex;
	justify-content: space-between;
	padding: 5px 10px;
	border-bottom: 1px dotted #a2a9b1;
}

.weapon-section>div:last-child {
	border-bottom: none;
}

.weapon-section>div>span:first-child {
	font-weight: 500;
	color: #4a5568;
	width: 40%;
	text-align: left;
}

.weapon-section>div>span:last-child {
	color: #4a5568;
	text-align: right;
	width: 60%;
}

/* Horizontal requirements section */
.weapon-section>div[style*="display: flex !important; justify-content: space-around"] {
	display: flex !important;
	justify-content: space-around !important;
	padding: 10px !important;
	text-align: center !important;
	border-bottom: none !important;
}

.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div {
	flex: 1;
	padding: 5px;
}

.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div>div:first-child {
	font-weight: 500;
	color: #4a5568;
	font-size: 0.9em;
	margin-bottom: 3px;
}

.weapon-section>div[style*="display: flex !important; justify-content: space-around"]>div>div:last-child {
	font-weight: bold;
	color: #4a5568;
	font-size: 1.1em;
}

/* Clear float */
.mw-parser-output::after {
	content: "";
	display: table;
	clear: both;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
	.weapon-infobox {
		float: none;
		max-width: 100%;
		margin: 0 0 16px 0;
	}
}

/* ===== MONSTER INFOBOX STYLING ===== */
.monster-infobox {
	float: right;
	clear: right;
	max-width: 350px;
	width: 100%;
	margin: 0 0 16px 16px;
	border: 1px solid #7a1a1a;
	border-radius: 10px;
	background-color: #ffffff;
	font-size: 0.9em;
}

.monster-header {
	background: #7a1a1a;
	color: white;
	padding: 8px 10px;
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.monster-image {
	padding: 10px;
	text-align: center;
}

.monster-image img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	border: 1px solid #e0e0e0;
}

.monster-section {
	padding: 0;
}

.monster-section .section-title {
	padding: 5px 10px;
	color: #4a5568;
	font-weight: bold;
	border-bottom: 1px solid #a2a9b1;
	margin: 10px 0 5px 0;
}

.monster-section>div[style*="display: flex"] {
	display: flex;
	justify-content: space-between;
	padding: 5px 10px;
	border-bottom: 1px dotted #a2a9b1;
}

.monster-section>div[style*="display: flex"]:last-child {
	border-bottom: none;
}

.monster-section>div[style*="display: flex"]>span:first-child {
	font-weight: 500;
	color: #4a5568;
	width: 40%;
	text-align: left;
}

.monster-section>div[style*="display: flex"]>span:last-child {
	color: #4a5568;
	text-align: right;
	width: 60%;
}

/* Phase sections */
.monster-section>div[style*="Phase"] {
	background: #f0f0f0;
	padding: 8px 10px;
	font-weight: bold;
	color: #7a1a1a;
	border-left: 3px solid #7a1a1a;
	margin: 10px 0 5px 0;
}

.monster-section>div[style*="line-height: 1.4"] {
	padding: 5px 10px 10px 10px;
	color: #4a5568;
	line-height: 1.4;
}

/* Lists (for weaknesses, drops, etc.) */
.monster-section ul {
	margin: 0 !important;
	padding-left: 20px !important;
}

.monster-section li {
	margin-bottom: 3px;
	color: #4a5568;
}

/* Clear float */
.mw-parser-output::after {
	content: "";
	display: table;
	clear: both;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
	.monster-infobox {
		float: none;
		max-width: 100%;
		margin: 0 0 16px 0;
	}
}

/* ROLES TABLE */
.roles-table {
	background-color: transparent !important;
	width: 100% !important;
	table-layout: auto !important;
	margin: 1rem 0 !important;
}

.roles-table>tr>th,
.roles-table>*>tr>th {
	background-color: var(--teal-600);
	color: #000 !important;
	padding: 12px 8px !important;
	font-weight: bold !important;
	text-align: center !important;
	border: 1px solid #aaa !important;
}

.roles-table>tr>th:first-child,
.roles-table>*>tr>th:first-child {
	min-width: 180px !important;
}

.roles-table>tr>th:nth-child(2),
.roles-table>*>tr>th:nth-child(2) {
	min-width: 300px !important;
}

.roles-table>tr>th:nth-child(3),
.roles-table>*>tr>th:nth-child(3),
.roles-table>tr>th:nth-child(4),
.roles-table>*>tr>th:nth-child(4) {
	min-width: 150px !important;
}

.roles-table>tr>td,
.roles-table>*>tr>td {
	padding: 10px 8px !important;
	border: 1px solid #aaa !important;
	vertical-align: top !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.roles-table>tr>td:first-child,
.roles-table>*>tr>td:first-child {
	font-weight: bold !important;
	white-space: nowrap !important;
}

.roles-table>tr>td:nth-child(2),
.roles-table>*>tr>td:nth-child(2) {
	white-space: normal !important;
	word-break: break-word !important;
}

.client-js .roles-table.sortable>*>tr:first-child>th:not(.unsortable),
.jquery-tablesorter th.headerSort {
	font-size: 12px !important;
	white-space: normal !important;
	cursor: pointer !important;
	position: relative !important;
	padding-right: 20px !important;
}

.client-js .roles-table.sortable>*>tr:first-child>th:not(.unsortable):after,
.jquery-tablesorter th.headerSort:after {
	content: "↕" !important;
	position: absolute !important;
	right: 5px !important;
	font-size: 10px !important;
	opacity: 0.5 !important;
}

/* Category breakdown tables */
.category-table,
.location-table {
	background-color: transparent !important;
	width: 100% !important;
	margin: 1rem 0 !important;
}

.category-table>tr>th,
.category-table>*>tr>th,
.location-table>tr>th,
.location-table>*>tr>th {
	background-color: var(--teal-600) !important;
	color: #000 !important;
	padding: 12px 8px !important;
	font-weight: bold !important;
	text-align: center !important;
	border: 1px solid #aaa !important;
}

.category-table>tr>th:nth-child(1),
.category-table>*>tr>th:nth-child(1),
.location-table>tr>th:nth-child(1),
.location-table>*>tr>th:nth-child(1) {
	width: 30% !important;
	min-width: 150px !important;
}

.category-table>tr>th:nth-child(2),
.category-table>*>tr>th:nth-child(2),
.location-table>tr>th:nth-child(2),
.location-table>*>tr>th:nth-child(2) {
	width: 15% !important;
	min-width: 80px !important;
}

.category-table>tr>th:nth-child(3),
.category-table>*>tr>th:nth-child(3),
.location-table>tr>th:nth-child(3),
.location-table>*>tr>th:nth-child(3) {
	width: 55% !important;
}

.category-table>tr>td,
.category-table>*>tr>td,
.location-table>tr>td,
.location-table>*>tr>td {
	padding: 10px 8px !important;
	border: 1px solid #aaa !important;
	vertical-align: top !important;
}

.category-table>tr>td:nth-child(3),
.category-table>*>tr>td:nth-child(3),
.location-table>tr>td:nth-child(3),
.location-table>*>tr>td:nth-child(3) {
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.category-table>tr:last-child>td,
.category-table>*>tr:last-child>td,
.location-table>tr:last-child>td,
.location-table>*>tr:last-child>td {
	font-weight: bold !important;
	background-color: #f5f5f5 !important;
}

/* Race System Styling */

.race-tooltip-container {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.race-link {
	font-weight: bold;
	text-decoration: none !important;
	border-bottom: 1px dotted;
	transition: all 0.2s ease;
	display: inline-block;
}

.race-tooltip-container:hover .race-link {
	opacity: 0.9;
}

/* Tooltip on LEFT side of link */
.race-tooltip {
	visibility: hidden;
	width: 250px;
	background-color: #2c3e50;
	color: #ecf0f1;
	text-align: left;
	padding: 12px;
	border-radius: 8px;
	position: absolute;
	z-index: 1000;
	top: 50%;
	right: 100%;
	transform: translateY(-50%);
	margin-right: 10px;
	opacity: 0;
	transition: opacity 0.3s;
	font-size: 0.9em;
	font-weight: normal;
	line-height: 1.4;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	border: 1px solid #34495e;
}

.race-tooltip::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	border-width: 8px;
	border-style: solid;
	border-color: transparent transparent transparent #2c3e50;
}

.race-tooltip strong {
	color: #3498db;
	font-size: 1.1em;
	display: block;
	margin-bottom: 5px;
}

.race-tooltip small {
	color: #bdc3c7;
	font-size: 0.85em;
}

.race-tooltip-container:hover .race-tooltip {
	visibility: visible;
	opacity: 0.98;
}

.race-error {
	color: #d33;
	font-style: italic;
	background: #fee;
	padding: 2px 5px;
	border-radius: 3px;
}

.race-badge {
	display: inline-block;
	font-weight: bold;
	transition: transform 0.2s ease;
}

.race-badge:hover {
	transform: translateY(-2px);
	text-decoration: none !important;
}

.race-infobox {
	border-collapse: collapse;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	margin-left: 15px;
}

.race-infobox tr:nth-child(even) {
	background-color: #f8f8f8;
}

.race-infobox td {
	border-bottom: 1px solid #eee;
}

/* For smaller screens */
@media screen and (max-width: 768px) {
	.race-tooltip {
		width: 240px;
		font-size: 0.85em;
		padding: 10px;
	}

	.race-infobox {
		width: 100% !important;
		float: none !important;
		margin: 10px 0 !important;
	}
}

/* For very small screens */
@media screen and (max-width: 480px) {
	.race-tooltip {
		width: 200px;
		left: 0;
		transform: translateX(0);
	}

	.race-tooltip::after {
		left: 20px;
		transform: translateX(0);
	}
}
/* ===== NAVBOX STYLING ===== */

/* Base navbox */
.navbox {
    width: 100% !important;
    margin: 1.5em 0 !important;
    border-spacing: 0 !important;
    border-collapse: separate !important;
    border: 1px solid var(--theme-border-color) !important;
    background-color: var(--card-bg-main) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Navbox title/header */
.navbox-title {
    background: var(--teal-100) !important;
}

.navbox-title th {
    padding: 12px 16px !important;
    font-weight: 600 !important;
    font-size: 1.1em !important;
    text-align: center !important;
    border-bottom: 2px solid var(--teal-800) !important;
}

.navbox-title a {
    text-decoration: none !important;
}

.navbox-title a:hover {
    text-decoration: underline !important;
}

/* Navbox group headers */
.navbox-group {
    background-color: var(--teal-50) !important;
    width: 180px !important;
    min-width: 180px !important;
    vertical-align: top !important;
    border-right: 1px solid var(--teal-200) !important;
}

.navbox-group th {
    background: transparent !important;
    font-size: 0.95em !important;
    padding: 10px 12px !important;
    text-align: left !important;
    font-weight: 600 !important;
}

/* Navbox list/content cells */
.navbox-list {
    padding: 12px !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
    background-color: var(--card-bg-main) !important;
}

.navbox-list td {
    padding: 12px !important;
}

/* Navbox list items - SEPARATED STYLE (like chips) */
.navbox-list ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.navbox-list li {
    margin-bottom: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    background: var(--teal-50) !important;
    border-radius: 4px !important;
    border: 1px solid var(--teal-100) !important;
}

/* Links inside navbox - Chip style */
.navbox-list a,
.navbox-group a {
    text-decoration: none !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.navbox-list a:hover,
.navbox-group a:hover {
    background-color: var(--teal-100) !important;
    text-decoration: underline !important;
}

/* Alternative row styling */
.alt .navbox-list {
    background-color: rgba(56, 178, 172, 0.05) !important;
}

.alt .navbox-list li {
    background: rgba(56, 178, 172, 0.1) !important;
    border-color: rgba(56, 178, 172, 0.2) !important;
}

/* Subgroup styling */
.navbox-subgroup {
    margin: 10px 0 0 0 !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border-top: 1px solid var(--teal-100) !important;
    padding-top: 10px !important;
}

.navbox-subgroup .navbox-group {
    background-color: var(--teal-100) !important;
    width: 160px !important;
    min-width: 160px !important;
}

/* Small navboxes */
.navbox-small {
    width: auto !important;
    min-width: 250px !important;
    max-width: 300px !important;
    float: right !important;
    margin: 0 0 16px 16px !important;
}

.navbox-small .navbox-list ul {
    gap: 4px !important;
}

/* ===== COLLAPSIBLE NAVBOX ===== */

.mw-collapsible .navbox-title {
    cursor: pointer !important;
    padding-right: 40px !important;
    position: relative !important;
}

.mw-collapsible .navbox-title:after {
    content: "▼" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: white !important;
    font-size: 12px !important;
    font-weight: bold !important;
    background: rgba(255, 255, 255, 0.2) !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mw-collapsible.mw-collapsed .navbox-title:after {
    content: "▶" !important;
}

.mw-collapsible-content {
    overflow: hidden !important;
}

/* ===== HORIZONTAL NAVBOXES ===== */

.navbox-horizontal .navbox-list ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.navbox-horizontal .navbox-list li {
    display: inline-flex !important;
}

.navbox-horizontal .navbox-list li:not(:last-child):after {
    display: none !important;
}

/* ===== DARK THEME ===== */

.skin-vector-dark .navbox {
    background-color: var(--card-bg-main) !important;
    border-color: var(--teal-700) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.skin-vector-dark .navbox-title {
    background: var(--teal-800) !important;
    border-bottom-color: var(--teal-900) !important;
}

.skin-vector-dark .navbox-group {
    background-color: rgba(95, 217, 207, 0.1) !important;
    border-right-color: var(--teal-700) !important;
}

.skin-vector-dark .navbox-group th {
    color: var(--teal-200) !important;
}

.skin-vector-dark .navbox-list li {
    background: rgba(95, 217, 207, 0.1) !important;
    border-color: rgba(95, 217, 207, 0.2) !important;
}

.skin-vector-dark .navbox-list a:hover,
.skin-vector-dark .navbox-group a:hover {
    background-color: rgba(95, 217, 207, 0.2) !important;
}

.skin-vector-dark .alt .navbox-list {
    background-color: rgba(95, 217, 207, 0.05) !important;
}

.skin-vector-dark .alt .navbox-list li {
    background: rgba(95, 217, 207, 0.15) !important;
    border-color: rgba(95, 217, 207, 0.25) !important;
}

.skin-vector-dark .mw-collapsible .navbox-title:after {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* ===== RESPONSIVE DESIGN ===== */

@media screen and (max-width: 768px) {
    .navbox {
        margin: 1em 0 !important;
    }
    
    .navbox-small {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 1em 0 !important;
    }
    
    .navbox-group,
    .navbox-group th {
        width: 100% !important;
        min-width: 100% !important;
        display: block !important;
        border-right: none !important;
        border-bottom: 1px solid var(--teal-200) !important;
    }
    
    .navbox-list {
        padding: 10px !important;
    }
    
    .navbox-list ul {
        gap: 4px !important;
    }
    
    .navbox-list li {
        font-size: 0.9em !important;
    }
}

/* ===== ACCESSIBILITY ===== */

.navbox a:focus-visible {
    outline: 2px solid var(--focus-ring-color) !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
    .navbox,
    .navbox a {
        transition: none !important;
    }
}