MediaWiki:Common.css
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* =========================================================
MEDIAWIKI:COMMON.CSS
Crucible Codex consolidated stylesheet
Cleaned replacement: grouped by global foundation, shared Codex system,
subsite skins, and Crucible Comics page-type themes.
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Libre+Baskerville:wght@400;700&family=Crimson+Pro:wght@400;600;700&family=Cormorant+Garamond:wght@400;600;700&family=Crimson+Text:wght@400;600;700&family=Bangers&family=Roboto+Condensed:wght@400;700&family=Barlow+Condensed:wght@500;700;800&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;600;700&family=Roboto:wght@300;400;500&display=swap');
/* =========================================================
1. GLOBAL WIKI FOUNDATION
========================================================= */
html,
body,
.mw-page-container,
.vector-body {
background: #15110e;
color: #e7dcc5;
font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
}
body {
margin: 0;
padding: 0;
}
.mw-body,
.vector-body {
background: #211914;
color: #e7dcc5;
border: 1px solid #5c4630;
box-shadow: 0 0 12px rgba(0,0,0,0.25);
}
#firstHeading,
.mw-first-heading,
.mw-parser-output h1,
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4,
.mw-parser-output h5,
.mw-parser-output h6,
h1, h2, h3, h4, h5, h6 {
color: #c9a15a !important;
font-family: "Cinzel", Georgia, serif !important;
font-weight: 600;
letter-spacing: 0.04em;
visibility: visible !important;
opacity: 1 !important;
}
h1,
h2,
.mw-parser-output h1,
.mw-parser-output h2 {
border-bottom: 1px solid #5c4630;
padding-bottom: 0.2em;
}
h1 { font-size: 2em; }
h2 { font-size: 1.6em; }
h3 { font-size: 1.25em; }
h4 { font-size: 1.1em; }
p, li, dt, dd, td, th { color: #e7dcc5; }
small, .mw-footer, #siteSub, .catlinks { color: #bfae8e; }
a {
color: #d8b06a;
text-decoration: none;
}
a:visited { color: #a88552; }
a:hover, a:focus {
color: #e0bf7a;
text-decoration: underline;
}
.vector-pinned-container,
.vector-column-start,
#mw-panel,
.vector-menu,
.vector-user-links {
background: #1a1410;
color: #e7dcc5;
}
.vector-menu-heading,
#mw-panel h3 { color: #c9a15a; }
.vector-header-container,
.vector-header,
.mw-header,
.vector-page-toolbar,
.vector-sticky-header,
.vector-page-titlebar {
background: #15110e !important;
background-color: #15110e !important;
border-bottom: 1px solid #5c4630 !important;
}
.vector-header a,
.vector-header span,
.mw-header a,
.mw-header span,
.vector-user-links,
.vector-user-links a,
.vector-page-toolbar button,
.vector-page-toolbar a {
color: #e7dcc5 !important;
}
.vector-search-box,
.vector-search-box-vue,
.vector-typeahead-search-container { background: transparent !important; }
input,
textarea,
select,
.vector-search-box input,
#searchInput {
background: #2a2018 !important;
color: #e7dcc5 !important;
border: 1px solid #5c4630 !important;
font-family: "Libre Baskerville", Georgia, serif;
}
input:focus,
textarea:focus,
select:focus {
border-color: #c9a15a !important;
outline: none;
}
.vector-search-box input::placeholder,
#searchInput::placeholder { color: #bfae8e !important; }
input:-webkit-autofill,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px #2a2018 inset !important;
-webkit-text-fill-color: #e7dcc5 !important;
}
table,
.wikitable {
background: #211914;
color: #e7dcc5;
border: 1px solid #5c4630;
border-collapse: collapse;
}
.wikitable th {
background: #2a2018;
color: #c9a15a;
border: 1px solid #5c4630;
}
.wikitable td { border: 1px solid #5c4630; }
.infobox,
table.infobox,
.portable-infobox {
background: #1d1612;
color: #e7dcc5;
border: 1px solid #5c4630;
}
.infobox th,
table.infobox th,
.portable-infobox .pi-title {
background: #2a2018;
color: #c9a15a;
}
.infobox td,
table.infobox td,
.portable-infobox .pi-data { color: #e7dcc5; }
.catlinks,
#toc,
.toc {
background: #1d1612;
border: 1px solid #5c4630;
color: #e7dcc5;
}
#toc .toctitle,
.toc .toctitle,
#toc .toctitle h2,
.toc .toctitle h2 {
color: #c9a15a;
border-bottom: 0;
}
#toc a,
.toc a { color: #d8b06a; }
.thumb,
.image,
.thumbinner,
.thumbimage,
.gallerybox .thumb,
.gallerybox .thumbinner {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
}
.thumbinner,
.gallerybox .thumbinner {
padding: 0 !important;
margin: 0 !important;
box-sizing: border-box !important;
}
img,
.mw-file-element {
display: inline-block;
max-width: 100%;
height: auto;
border: 2px solid #d7ad47 !important;
background: transparent !important;
box-sizing: border-box !important;
box-shadow: none !important;
}
.codex-header img,
.nightcats-header img,
.ffbt-header img,
.codex-banner img {
max-width: 100% !important;
height: auto;
display: block;
margin: 0 auto;
}
.floatright,
.tright,
.thumb.tright,
.thumb.floatright {
float: right !important;
clear: right !important;
display: block !important;
margin: 28px 0 12px 16px !important;
}
.floatleft,
.tleft,
.thumb.tleft,
.thumb.floatleft {
float: left !important;
clear: left !important;
display: block !important;
margin: 12px 16px 12px 0 !important;
}
.floatright img,
.tright img,
.thumb.tright img,
.thumb.floatright img,
.floatleft img,
.tleft img,
.thumb.tleft img,
.thumb.floatleft img,
.floatright .mw-file-element,
.tright .mw-file-element,
.thumb.tright .mw-file-element,
.thumb.floatright .mw-file-element,
.floatleft .mw-file-element,
.tleft .mw-file-element,
.thumb.tleft .mw-file-element,
.thumb.floatleft .mw-file-element {
display: block !important;
float: none !important;
margin: 0 !important;
padding: 0 !important;
}
pre,
code {
background: #181311;
color: #e7dcc5;
border: 1px solid #4b3928;
}
pre {
padding: 10px;
overflow: auto;
}
hr {
border: 0;
border-top: 1px solid #5c4630;
clear: both;
}
.page-Main_Page #firstHeading { display: none; }
.page-Main_Page .mw-body { margin-top: 0; }
.codex-header,
.nightcats-header,
.ffbt-header,
.codex-banner {
margin-top: 0;
max-width: 100%;
overflow: hidden;
}
.mw-editsection,
.mw-editsection-like,
.mw-editsection-bracket,
.mw-editsection-divider,
.mw-parser-output .mw-editsection,
.mw-parser-output .mw-editsection-like,
.vector-body .mw-editsection,
.vector-body .mw-editsection-like,
h1 .mw-editsection,
h2 .mw-editsection,
h3 .mw-editsection,
h4 .mw-editsection,
h5 .mw-editsection,
h6 .mw-editsection,
h1 .mw-editsection-like,
h2 .mw-editsection-like,
h3 .mw-editsection-like,
h4 .mw-editsection-like,
h5 .mw-editsection-like,
h6 .mw-editsection-like {
display: none !important;
}
.mw-editsection::before,
.mw-editsection::after,
.mw-editsection-like::before,
.mw-editsection-like::after {
display: none !important;
content: none !important;
}
/* Hide Talk / Discussion UI */
#ca-talk,
.mw-talk-link,
#p-associated-pages {
display: none !important;
}
/* =========================================================
2. SHARED CODEX STRUCTURE
========================================================= */
.codex-banner { text-align: center; }
.codex-banner img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
}
.codex-page {
max-width: 960px;
margin: 30px auto !important;
padding: 32px 40px !important;
line-height: 1.7 !important;
font-size: 18px !important;
overflow: hidden !important;
border-radius: 14px !important;
box-shadow:
0 0 0 3px rgba(0,0,0,0.35),
0 10px 26px rgba(0,0,0,0.45) !important;
}
.codex-page p,
.codex-page li,
.codex-page td,
.codex-page th,
.codex-page dt,
.codex-page dd { font-size: 1em !important; }
.codex-page h1,
.codex-page h2,
.codex-page h3,
.codex-page h4,
.codex-page h5,
.codex-page h6,
.codex-page .mw-headline {
line-height: 1.25 !important;
letter-spacing: 0.04em !important;
}
.codex-page img,
.codex-page .mw-file-element {
max-width: 100% !important;
height: auto !important;
}
.codex-page hr,
.codex-page .mw-parser-output hr {
clear: both !important;
margin: 16px 0 !important;
}
.codex-page #toc,
.codex-page .toc { padding-top: 16px !important; }
.codex-page #toc .toctitle,
.codex-page .toc .toctitle,
.codex-page #toc .toctitle h2,
.codex-page .toc .toctitle h2 { text-align: center !important; }
.codex-page #toc::before,
.codex-page .toc::before {
content: "";
display: block;
width: 80px;
height: 80px;
margin: 0 auto 10px auto;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
.codex-navbox,
.codex-nav {
max-width: 960px;
margin: 36px auto 0 auto !important;
padding: 14px 20px !important;
text-align: center !important;
clear: both !important;
border-radius: 10px;
box-shadow:
0 2px 8px rgba(0,0,0,0.18),
0 8px 22px rgba(0,0,0,0.18);
}
.codex-nav-title,
.codex-navbox strong {
display: block !important;
margin: 0 0 8px 0 !important;
font-variant: small-caps;
letter-spacing: 0.08em !important;
font-size: 1.05em;
line-height: 1.2 !important;
}
.codex-nav a,
.codex-nav a:visited,
.codex-navbox a,
.codex-navbox a:visited {
text-decoration: none !important;
margin: 0 4px !important;
display: inline !important;
}
.codex-nav a:hover,
.codex-nav a:focus,
.codex-navbox a:hover,
.codex-navbox a:focus { text-decoration: underline !important; }
/* =========================================================
3. NIGHTCATS
========================================================= */
.codex-page--nightcats {
background: #1a120c !important;
border: 2px solid #8b6730 !important;
color: #e6d7b0 !important;
font-family: "Crimson Pro", Georgia, serif !important;
}
.codex-page--nightcats p,
.codex-page--nightcats li,
.codex-page--nightcats td,
.codex-page--nightcats th,
.codex-page--nightcats dt,
.codex-page--nightcats dd { color: #e6d7b0 !important; }
.codex-page--nightcats h1,
.codex-page--nightcats h2,
.codex-page--nightcats h3,
.codex-page--nightcats h4,
.codex-page--nightcats h5,
.codex-page--nightcats h6,
.codex-page--nightcats .mw-headline {
font-family: "Cinzel", Georgia, serif !important;
color: #d7ad47 !important;
}
.codex-page--nightcats h1 { font-size: 1.5em !important; }
.codex-page--nightcats h2 { font-size: 1.25em !important; }
.codex-page--nightcats h3 { font-size: 1.1em !important; }
.codex-page--nightcats a,
.codex-page--nightcats a:visited { color: #e6c76a !important; }
.codex-page--nightcats a:hover,
.codex-page--nightcats a:focus { color: #ffd97d !important; }
.codex-page--nightcats table.wikitable,
.codex-page--nightcats .wikitable {
background: #1f160f !important;
border: 1px solid #5a3b1f !important;
}
.codex-page--nightcats table.wikitable th,
.codex-page--nightcats .wikitable th {
background: #5a2a12 !important;
color: #f0d38d !important;
border: 1px solid #5a3b1f !important;
}
.codex-page--nightcats table.wikitable td,
.codex-page--nightcats .wikitable td {
background: #1f160f !important;
color: #e6d7b0 !important;
border: 1px solid #5a3b1f !important;
}
.codex-page--nightcats blockquote {
background: #3a2414 !important;
border-left: 4px solid #b8842f !important;
color: #e6d7b0 !important;
padding: 0.8em 1em !important;
margin: 1em 0 1em 1.2em !important;
font-style: italic !important;
}
.codex-page--nightcats #toc,
.codex-page--nightcats .toc,
.codex-page--nightcats .catlinks {
background: #1f160f !important;
border: 1px solid #5a3b1f !important;
color: #e6d7b0 !important;
}
.codex-page--nightcats #toc::before,
.codex-page--nightcats .toc::before {
background-image: url("/images/5/58/NightcatsTOCIcon.png");
width: 90px;
height: 90px;
}
.codex-navbox--nightcats,
.codex-nav--nightcats {
border-top-color: #8b6f3d !important;
color: #e6d7b0 !important;
font-family: "Crimson Pro", Georgia, serif !important;
}
.codex-navbox--nightcats strong,
.codex-nav--nightcats .codex-nav-title,
.codex-nav--nightcats .nightcats-nav-title {
font-family: "Cinzel", Georgia, serif !important;
color: #d7ad47 !important;
}
.codex-navbox--nightcats a,
.codex-navbox--nightcats a:visited,
.codex-nav--nightcats a,
.codex-nav--nightcats a:visited { color: #e6c76a !important; }
.codex-page--nightcats .nightcats-panel {
position: relative;
margin: 1.5em 0;
padding: 1.1em 1.25em 1.15em;
background:
linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.10)),
rgba(24,18,12,0.88);
border: 1px solid #8a6a2f;
border-left: 4px solid #c59a3a;
border-radius: 10px;
box-shadow: 0 6px 18px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.05), inset 0 -1px 0 rgba(0,0,0,0.25);
overflow: hidden;
}
.codex-page--nightcats .nightcats-panel-image-top {
display: flex;
justify-content: center;
margin: 0 0 0.85rem 0;
}
.codex-page--nightcats .nightcats-panel-image-top img {
display: block;
width: 100%;
max-width: 380px;
height: auto;
border-radius: 6px;
border: 1px solid rgba(197,154,58,0.35) !important;
box-shadow: 0 6px 16px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.04) !important;
}
.codex-page--nightcats .nightcats-panel-title {
display: block;
font-size: 1.65rem;
font-weight: 700;
text-align: center;
letter-spacing: 0.04em;
margin: 0.4rem 0;
color: #e6c36a;
text-shadow: 0 1px 0 #000, 0 0 6px rgba(198,154,58,0.25);
}
.codex-page--nightcats .nightcats-panel-title::after {
content: "";
display: block;
width: 60%;
margin: 0.4rem auto 0.6rem auto;
border-bottom: 1px solid rgba(197,154,58,0.35);
}
.codex-page--nightcats .nightcats-panel-subtitle { display: none; }
.codex-page--nightcats .nightcats-panel p:first-of-type { margin-top: 0.5rem; }
.codex-page--nightcats .nightcats-stats {
width: 100%;
margin: 0.75rem 0 0 0;
border-collapse: collapse;
font-size: 0.95rem;
}
.codex-page--nightcats .nightcats-stats th,
.codex-page--nightcats .nightcats-stats td {
padding: 0.35em 0.55em;
border: 1px solid rgba(197,154,58,0.28);
text-align: left;
vertical-align: top;
}
.codex-page--nightcats .nightcats-stats th {
width: 22%;
background: rgba(197,154,58,0.12);
color: #e0b85c;
font-weight: 700;
}
/* =========================================================
4. FIVE FISTS / BURNING TEMPLE
========================================================= */
.codex-page--ffbt {
background: #fffaf0 !important;
border: 2px solid #6e1f16 !important;
color: #2a1a12 !important;
font-family: "Libre Baskerville", Georgia, serif !important;
}
.codex-page--ffbt p,
.codex-page--ffbt li,
.codex-page--ffbt td,
.codex-page--ffbt th,
.codex-page--ffbt dt,
.codex-page--ffbt dd { color: #2a1a12 !important; }
.codex-page--ffbt h1,
.codex-page--ffbt h2,
.codex-page--ffbt h3,
.codex-page--ffbt h4,
.codex-page--ffbt h5,
.codex-page--ffbt h6,
.codex-page--ffbt .mw-headline {
font-family: "Cinzel", Georgia, serif !important;
color: #1a1a1a !important;
}
.codex-page--ffbt a,
.codex-page--ffbt a:visited { color: #8f2318 !important; }
.codex-page--ffbt a:hover,
.codex-page--ffbt a:focus { color: #c13a2a !important; }
.codex-page--ffbt #toc,
.codex-page--ffbt .toc,
.codex-page--ffbt .catlinks {
background: #f8efe1 !important;
border: 1px solid #c9b08c !important;
color: #2a1a12 !important;
}
.codex-page--ffbt #toc::before,
.codex-page--ffbt .toc::before { background-image: url("/images/FFBTTOCIcon.png"); }
.codex-navbox--ffbt,
.codex-nav--ffbt {
border-top-color: #8b6f3d !important;
color: #2a1a12 !important;
font-family: "Libre Baskerville", Georgia, serif !important;
}
.codex-navbox--ffbt strong,
.codex-nav--ffbt .codex-nav-title,
.codex-nav--ffbt .ffbt-nav-title {
font-family: "Cinzel", Georgia, serif !important;
color: #8f2318 !important;
}
.codex-navbox--ffbt a,
.codex-navbox--ffbt a:visited,
.codex-nav--ffbt a,
.codex-nav--ffbt a:visited { color: #8f2318 !important; }
.codex-page--ffbt .ffbt-callout {
background: linear-gradient(#fdf6e9, #f3e4cc);
border: 2px solid #6e1f16;
border-left: 6px solid #8f2318;
padding: 14px 16px;
margin: 1.2em 0;
font-style: italic;
color: #2a1a12 !important;
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
border-radius: 6px;
}
.codex-page--ffbt .ffbt-callout strong {
display: block;
margin-bottom: 4px;
font-style: normal;
font-family: "Cinzel", Georgia, serif !important;
color: #8f2318 !important;
}
.codex-page--ffbt .ffbt-seal {
display: inline-block;
background: #8f2318;
color: #fff !important;
padding: 4px 10px;
font-size: 0.8em;
letter-spacing: 0.08em;
text-transform: uppercase;
border-radius: 2px;
margin-bottom: 10px;
font-family: "Cinzel", Georgia, serif !important;
}
.codex-page--ffbt .ffbt-stylebox,
.codex-page--ffbt .ffbt-statblock,
.codex-page--ffbt .ffbt-card {
background: #fbf4e8;
color: #2a1a12 !important;
border: 1px solid #c9b08c;
padding: 14px 16px;
margin: 18px 0;
border-radius: 6px;
box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 8px 18px rgba(0,0,0,0.08);
}
.codex-page--ffbt .ffbt-stylebox { border: 2px solid #5c2a18; }
.codex-page--ffbt .ffbt-statblock { border: 2px solid #1a1a1a; background: #fdf8ef; }
.codex-page--ffbt .ffbt-stylebox h3,
.codex-page--ffbt .ffbt-stylebox h4,
.codex-page--ffbt .ffbt-card h3,
.codex-page--ffbt .ffbt-card h4 {
margin-top: 0;
color: #8f2318 !important;
}
.codex-page--ffbt .ffbt-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 16px;
margin: 20px 0;
}
.codex-page--ffbt .ffbt-table {
margin: 18px 0;
box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 8px 18px rgba(0,0,0,0.10);
border-radius: 6px;
overflow: hidden;
}
.codex-page--ffbt .ffbt-table .wikitable,
.codex-page--ffbt .ffbt-table table {
width: 100%;
border-collapse: collapse;
background: #fffaf0 !important;
color: #2a1a12 !important;
border: 1px solid #c9b08c !important;
}
.codex-page--ffbt .ffbt-table th {
background: #8f2318 !important;
color: #fff !important;
padding: 8px;
text-align: left;
border: 1px solid #c9b08c !important;
}
.codex-page--ffbt .ffbt-table td {
background: #fffaf0 !important;
color: #2a1a12 !important;
border: 1px solid #c9b08c !important;
padding: 8px;
}
.codex-page--ffbt .ffbt-tag {
display: inline-block;
border: 1px solid #c79b4b;
background: #f9f1df;
color: #2a1a12 !important;
padding: 2px 8px;
margin-right: 6px;
margin-bottom: 6px;
font-size: 0.85em;
border-radius: 3px;
}
/* =========================================================
5. SIGIL LANDS
========================================================= */
.codex-page--sigil {
background: linear-gradient(rgba(255,255,255,0.06), rgba(0,0,0,0.03)), #e7d9b7 !important;
border: 1px solid #4a3626 !important;
color: #2a1d14 !important;
font-family: Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif !important;
box-shadow: 0 0 0 3px rgba(74,54,38,0.18), 0 10px 30px rgba(0,0,0,0.35) !important;
}
.codex-page--sigil p,
.codex-page--sigil li,
.codex-page--sigil td,
.codex-page--sigil th,
.codex-page--sigil dt,
.codex-page--sigil dd { color: #2a1d14 !important; }
.codex-page--sigil h1,
.codex-page--sigil h2,
.codex-page--sigil h3,
.codex-page--sigil h4,
.codex-page--sigil .mw-headline {
font-family: Georgia, "Times New Roman", serif !important;
color: #23160f !important;
}
.codex-page--sigil a,
.codex-page--sigil a:visited { color: #6c261f !important; }
.codex-page--sigil a:hover,
.codex-page--sigil a:focus { color: #5d7fa3 !important; }
.codex-page--sigil #toc,
.codex-page--sigil .toc,
.codex-page--sigil .catlinks {
background: rgba(255,250,240,0.72) !important;
border: 1px solid #4a3626 !important;
color: #2a1d14 !important;
}
.codex-page--sigil #toc::before,
.codex-page--sigil .toc::before { background-image: url("/images/SigilTOCIcon.png"); }
.codex-navbox--sigil,
.codex-nav--sigil {
border-top-color: #b38a3d !important;
color: #2a1d14 !important;
font-family: Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif !important;
}
.codex-navbox--sigil strong,
.codex-nav--sigil .codex-nav-title,
.codex-nav--sigil .sigil-nav-title {
font-family: Georgia, "Times New Roman", serif !important;
color: #23160f !important;
text-transform: uppercase !important;
letter-spacing: 0.08em !important;
}
.codex-navbox--sigil a,
.codex-navbox--sigil a:visited,
.codex-nav--sigil a,
.codex-nav--sigil a:visited { color: #6c261f !important; }
/* =========================================================
6. STORMBRINGER / YOUNG KINGDOMS
========================================================= */
.codex-page--stormbringer {
--storm-bg: #0d0f12;
--storm-panel: #11151a;
--storm-panel-2: #171b20;
--storm-text: #e6d8c3;
--storm-muted: #b7ab99;
--storm-red: #b64242;
--storm-blue: #4aa9c5;
--storm-gold: #d9a35a;
--storm-border: rgba(255,255,255,0.08);
color: var(--storm-text) !important;
font-family: "Baskerville", "Garamond", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
background:
linear-gradient(90deg, rgba(74,169,197,0.07) 0%, rgba(17,21,26,0.96) 18%, rgba(17,21,26,0.96) 82%, rgba(217,163,90,0.07) 100%),
linear-gradient(180deg, #171b20 0%, #11151a 140px, #0d0f12 100%) !important;
border: 1px solid var(--storm-border) !important;
border-radius: 18px !important;
box-shadow: 0 8px 24px rgba(0,0,0,0.45) !important;
max-width: 1100px;
}
.codex-page--stormbringer p,
.codex-page--stormbringer li,
.codex-page--stormbringer td,
.codex-page--stormbringer th,
.codex-page--stormbringer dd { color: var(--storm-text) !important; }
.codex-page--stormbringer a { color: #8fcfe3 !important; }
.codex-page--stormbringer a:hover { color: var(--storm-gold) !important; }
.codex-page--stormbringer h1,
.codex-page--stormbringer h2,
.codex-page--stormbringer h3,
.codex-page--stormbringer h4,
.codex-page--stormbringer h5,
.codex-page--stormbringer h6,
.codex-page--stormbringer .mw-headline {
font-family: "Baskerville", "Garamond", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
color: var(--storm-red) !important;
text-transform: none !important;
font-variant: small-caps;
letter-spacing: 0.06em !important;
text-shadow: 0 0 8px rgba(182,66,66,0.22) !important;
}
.codex-page--stormbringer h1 {
font-size: 2.4rem;
border-bottom: 1px solid rgba(182,66,66,0.35);
}
.codex-page--stormbringer h2 {
font-size: 1.75rem;
border-bottom: 1px solid rgba(182,66,66,0.18);
}
.codex-page--stormbringer h3 { font-size: 1.25rem; }
.codex-page--stormbringer hr {
border: 0;
height: 2px;
background: linear-gradient(to right, var(--storm-blue), var(--storm-red), var(--storm-gold));
border-radius: 999px;
opacity: 0.75;
}
.codex-page--stormbringer > p:first-of-type::first-letter {
float: left;
font-size: 3.4rem;
line-height: 0.85;
padding-right: 8px;
color: var(--storm-gold);
font-family: inherit !important;
text-shadow: 0 0 8px rgba(217,163,90,0.25);
}
.codex-page--stormbringer blockquote,
.codex-page--stormbringer .storm-panel {
margin: 1.5rem 0;
padding: 1rem 1.25rem;
border: 1px solid var(--storm-border);
border-left: 4px solid var(--storm-red);
border-radius: 14px;
background: rgba(255,255,255,0.03);
box-shadow: 0 6px 18px rgba(0,0,0,0.28);
}
.codex-page--stormbringer table,
.codex-page--stormbringer table.wikitable {
width: 100%;
border-collapse: collapse;
margin: 1.5rem 0;
background: rgba(24,18,14,0.94) !important;
border: 1px solid rgba(182,66,66,0.22) !important;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 8px 22px rgba(0,0,0,0.35);
}
.codex-page--stormbringer table th,
.codex-page--stormbringer table.wikitable th,
.codex-page--stormbringer th,
.codex-page--stormbringer th * {
background: linear-gradient(to right, #341417, #4a1c20) !important;
color: #f0d7a1 !important;
font-weight: 700 !important;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 0.75rem;
border: 1px solid rgba(255,255,255,0.08);
}
.codex-page--stormbringer td {
padding: 0.75rem;
background: rgba(255,255,255,0.015);
}
.codex-page--stormbringer #toc,
.codex-page--stormbringer .toc {
background: linear-gradient(180deg, rgba(28,46,56,0.85), rgba(14,17,21,0.95));
border: 1px solid var(--storm-border);
border-radius: 14px;
}
.codex-navbox--stormbringer,
.stormbringer-nav,
.codex-nav--stormbringer {
text-align: center;
font-family: "Baskerville", "Garamond", "Palatino Linotype", Georgia, serif !important;
margin: 1.5rem auto 2rem !important;
padding: 0.85rem 1.2rem !important;
background: linear-gradient(to right, rgba(22,39,49,0.96), rgba(36,19,21,0.96), rgba(41,28,17,0.96));
border: 1px solid rgba(255,255,255,0.08);
border-radius: 14px;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 8px 20px rgba(0,0,0,0.35);
}
.codex-navbox--stormbringer .storm-nav-title,
.codex-nav--stormbringer .storm-nav-title,
.codex-nav--stormbringer .codex-nav-title {
color: #b64242 !important;
font-variant: small-caps;
letter-spacing: 0.08em;
}
.codex-navbox--stormbringer a,
.stormbringer-nav a,
.codex-nav--stormbringer a {
color: #e6d8c3 !important;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 0.84rem;
}
.codex-navbox--stormbringer a:hover,
.codex-nav--stormbringer a:hover { color: #d9a35a !important; }
/* =========================================================
7. HAWKMOON
========================================================= */
.hawkmoon-banner {
text-align: center;
margin: 0 0 1.5rem 0;
}
.hawkmoon-banner img,
.hawkmoon-banner .hawkmoon-banner-image {
display: inline-block;
max-width: 100%;
height: auto;
border: 1px solid #6e5830 !important;
box-shadow: 0 0 0 1px #2b2317, 0 8px 22px rgba(0,0,0,0.45) !important;
}
.codex-page--hawkmoon,
.hawkmoon-theme {
background: linear-gradient(to bottom, rgba(18,22,29,0.98), rgba(24,28,35,0.99)) !important;
color: #e7decd !important;
border: 1px solid #6b5530 !important;
box-shadow: inset 0 0 0 1px #241d12, 0 4px 18px rgba(0,0,0,0.28) !important;
font-family: "Crimson Text", Georgia, serif !important;
font-size: 1.08em;
line-height: 1.65;
}
.codex-page--hawkmoon *,
.hawkmoon-theme * { font-family: "Crimson Text", Georgia, serif; }
.codex-page--hawkmoon p,
.codex-page--hawkmoon li,
.codex-page--hawkmoon dd,
.codex-page--hawkmoon td,
.codex-page--hawkmoon th,
.codex-page--hawkmoon blockquote,
.hawkmoon-theme p,
.hawkmoon-theme li,
.hawkmoon-theme dd,
.hawkmoon-theme td,
.hawkmoon-theme th,
.hawkmoon-theme blockquote { color: #e7decd !important; }
.codex-page--hawkmoon a,
.hawkmoon-theme a { color: #d2ad63 !important; }
.codex-page--hawkmoon a:visited,
.hawkmoon-theme a:visited { color: #b99758 !important; }
.codex-page--hawkmoon a:hover,
.hawkmoon-theme a:hover { color: #f0cb7c !important; }
.codex-page--hawkmoon h1,
.codex-page--hawkmoon h2,
.codex-page--hawkmoon h3,
.codex-page--hawkmoon h4,
.codex-page--hawkmoon h5,
.codex-page--hawkmoon h6,
.codex-page--hawkmoon .mw-headline,
.codex-page--hawkmoon .hawkmoon-panel-title,
.hawkmoon-theme h1,
.hawkmoon-theme h2,
.hawkmoon-theme h3,
.hawkmoon-theme h4,
.hawkmoon-theme h5,
.hawkmoon-theme h6,
.hawkmoon-theme .mw-headline,
.hawkmoon-panel-title {
font-family: "Cormorant Garamond", Georgia, serif !important;
letter-spacing: 0.02em;
color: #d6b06a !important;
text-shadow: 0 1px 1px rgba(0,0,0,0.6);
}
.codex-page--hawkmoon h1,
.hawkmoon-theme h1 {
font-size: 2.35em;
font-weight: 700;
color: #e0ba72 !important;
border-bottom: 2px solid #7b6134;
}
.codex-page--hawkmoon h2,
.hawkmoon-theme h2 {
font-size: 1.8em;
font-weight: 700;
border-bottom: 1px solid #5c4725;
}
.codex-page--hawkmoon h3,
.hawkmoon-theme h3 {
font-size: 1.45em;
border-bottom: 1px solid #4f3e20;
}
.codex-page--hawkmoon blockquote,
.hawkmoon-theme blockquote,
.hawkmoon-panel {
margin: 1.2rem 0;
padding: 0.85rem 1rem;
border-left: 4px solid #7b6134;
background: rgba(76,57,27,0.18);
box-shadow: inset 0 0 0 1px rgba(36,29,18,0.55);
}
.codex-page--hawkmoon table.wikitable,
.hawkmoon-theme table.wikitable {
background: #191d24 !important;
color: #e7decd !important;
border: 1px solid #6b5530 !important;
border-collapse: collapse;
box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.codex-page--hawkmoon table.wikitable th,
.hawkmoon-theme table.wikitable th {
background: #2b2f38 !important;
color: #e7c980 !important;
border: 1px solid #6b5530 !important;
font-family: "Cormorant Garamond", Georgia, serif !important;
}
.codex-page--hawkmoon table.wikitable td,
.hawkmoon-theme table.wikitable td {
background: #1a1f27 !important;
border: 1px solid #4f3e20 !important;
}
.codex-page--hawkmoon #toc,
.codex-page--hawkmoon .toc,
.hawkmoon-theme #toc,
.hawkmoon-theme .toc {
background: #171b21 !important;
border: 1px solid #6b5530 !important;
color: #e7decd !important;
box-shadow: inset 0 0 0 1px #241d12;
}
.codex-navbox--hawkmoon,
.hawkmoon-navbox,
.codex-nav--hawkmoon {
text-align: center;
font-family: "Cormorant Garamond", Georgia, serif !important;
margin: 1.5rem auto 2rem !important;
padding: 0.85rem 1.2rem !important;
background: linear-gradient(to bottom, rgba(18,22,29,0.98), rgba(24,28,35,0.99));
border: 1px solid #6b5530;
border-radius: 10px;
box-shadow: inset 0 0 0 1px #241d12, 0 4px 18px rgba(0,0,0,0.28);
color: #e7decd !important;
}
.codex-navbox--hawkmoon strong,
.codex-navbox--hawkmoon .hawkmoon-nav-title,
.codex-nav--hawkmoon .codex-nav-title,
.codex-nav--hawkmoon .hawkmoon-nav-title {
color: #d6b06a !important;
font-family: "Cormorant Garamond", Georgia, serif !important;
}
.codex-navbox--hawkmoon a,
.hawkmoon-navbox a,
.codex-nav--hawkmoon a { color: #d2ad63 !important; }
.codex-navbox--hawkmoon a:hover,
.hawkmoon-navbox a:hover,
.codex-nav--hawkmoon a:hover { color: #f0cb7c !important; }
/* =========================================================
8. APES: AGE OF THE COVENANT
========================================================= */
.codex-page.codex-page--apes {
--apes-bg: #e6ddc9;
--apes-paper: #efe6d3;
--apes-ink: #1f1c17;
--apes-muted: #5e564b;
--apes-bronze: #8a6f43;
--apes-oxide: #7a3e2e;
--apes-green: #46513b;
background: var(--apes-bg) !important;
color: var(--apes-ink) !important;
font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif !important;
line-height: 1.7;
max-width: 1080px;
}
.codex-page--apes p,
.codex-page--apes li,
.codex-page--apes td,
.codex-page--apes th,
.codex-page--apes dd { color: var(--apes-ink) !important; }
.codex-page--apes h1,
.codex-page--apes h2,
.codex-page--apes h3 {
font-family: "Trajan Pro", "Cinzel", serif !important;
letter-spacing: 0.06em;
color: #2b241c !important;
}
.codex-page--apes h1 {
text-transform: uppercase;
text-align: center;
font-size: 2rem;
border-bottom: 1px solid rgba(90,70,45,0.3);
}
.codex-page--apes h2 {
text-transform: uppercase;
font-size: 1.2rem;
margin-top: 2rem;
border-top: 1px solid rgba(138,111,67,0.3);
padding-top: 0.75rem;
}
.codex-page--apes h3 { color: var(--apes-oxide) !important; }
.apes-subtitle {
text-align: center;
font-style: italic;
color: var(--apes-muted);
}
.codex-page--apes a {
color: var(--apes-green) !important;
text-decoration: none;
border-bottom: 1px solid rgba(70,81,59,0.4);
}
.codex-page--apes a:hover { color: var(--apes-oxide) !important; }
.apes-callout {
margin: 1.5rem 0;
padding: 1rem;
background: var(--apes-paper);
border: 1px solid rgba(90,70,45,0.3);
border-radius: 8px;
}
.codex-navbox--apes,
.codex-nav--apes {
margin: 1.5rem auto 2rem !important;
padding-top: 0.85rem !important;
border-top: 2px solid #8a6f43;
text-align: center;
color: #1f1c17 !important;
}
.codex-navbox--apes strong,
.codex-navbox--apes .apes-nav-title,
.codex-nav--apes .codex-nav-title,
.codex-nav--apes .apes-nav-title {
color: #7a3e2e !important;
font-family: "Cinzel", Georgia, serif !important;
}
.codex-navbox--apes a,
.codex-navbox--apes a:visited,
.codex-nav--apes a,
.codex-nav--apes a:visited { color: #46513b !important; }
/* =========================================================
9. CRUCIBLE COMICS / EARTH-11717
Canonical wrapper:
<div class="codex-page codex-page--crucible-comics cc-page--hero">
Page type classes:
cc-page--hero, cc-page--villain, cc-page--team,
cc-page--civilian, cc-page--tech, cc-page--peoples,
cc-page--organization, cc-page--location, cc-page--history
Legacy landing/category aliases retained: .codex-page--heroes,
.codex-page--villains, .codex-page--teams, .codex-page--civilians,
.codex-page--technology, .codex-page--peoples, .codex-page--organizations,
.codex-page--locations, .codex-page--history
========================================================= */
.crucible-comics-header {
max-width: 1200px;
margin: 0 auto 0 auto;
border: 3px solid #10162f;
box-shadow: 0 0 24px rgba(255,196,38,0.35);
background: #070b1d;
position: relative;
}
.crucible-comics-header img {
display: block;
width: 100%;
height: auto;
}
.crucible-comics-header::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60px;
background: linear-gradient(to bottom, transparent, #0b1028);
}
.codex-page--crucible-comics,
.codex-page--heroes,
.codex-page--villains,
.codex-page--teams,
.codex-page--civilians,
.codex-page--technology,
.codex-page--peoples,
.codex-page--organizations,
.codex-page--locations,
.codex-page--history {
--cc-accent: #d71920;
--cc-accent-dark: #7f1117;
--cc-accent-bright: #ff7a2f;
--cc-accent-soft: rgba(215,25,32,0.16);
--cc-bg-a: #0b1028;
--cc-bg-b: #050714;
--cc-bg-c: #15112a;
--cc-text: #f3f6ff;
--cc-link: #7fe3ff;
--cc-panel-bg: #f1f5f9;
--cc-panel-text: #111827;
--cc-panel-border: #0f172a;
--cc-panel-heading-bg: #0f172a;
--cc-panel-heading-text: #ffffff;
max-width: 1100px;
margin: 0 auto 2rem auto !important;
padding: 1.5rem 2rem !important;
background:
radial-gradient(circle at 50% 0%, var(--cc-accent-soft), transparent 40%),
radial-gradient(circle at 20% 30%, rgba(80,178,255,0.15), transparent 50%),
radial-gradient(circle at 80% 20%, rgba(255,60,120,0.12), transparent 50%),
linear-gradient(180deg, var(--cc-bg-a) 0%, var(--cc-bg-b) 100%) !important;
color: var(--cc-text) !important;
font-family: "Roboto Condensed", Arial, sans-serif !important;
font-size: 1.08rem;
line-height: 1.7;
letter-spacing: 0.01em;
border: 2px solid rgba(255,212,59,0.45) !important;
box-shadow:
0 0 40px rgba(255,100,0,0.15),
inset 0 0 60px rgba(80,178,255,0.08) !important;
position: relative;
}
.codex-page--crucible-comics p,
.codex-page--crucible-comics li,
.codex-page--crucible-comics td,
.codex-page--crucible-comics th,
.codex-page--crucible-comics dd,
.codex-page--crucible-comics dt,
.codex-page--heroes p, .codex-page--heroes li, .codex-page--heroes td, .codex-page--heroes th, .codex-page--heroes dd, .codex-page--heroes dt,
.codex-page--villains p, .codex-page--villains li, .codex-page--villains td, .codex-page--villains th, .codex-page--villains dd, .codex-page--villains dt,
.codex-page--teams p, .codex-page--teams li, .codex-page--teams td, .codex-page--teams th, .codex-page--teams dd, .codex-page--teams dt,
.codex-page--civilians p, .codex-page--civilians li, .codex-page--civilians td, .codex-page--civilians th, .codex-page--civilians dd, .codex-page--civilians dt,
.codex-page--technology p, .codex-page--technology li, .codex-page--technology td, .codex-page--technology th, .codex-page--technology dd, .codex-page--technology dt,
.codex-page--peoples p, .codex-page--peoples li, .codex-page--peoples td, .codex-page--peoples th, .codex-page--peoples dd, .codex-page--peoples dt,
.codex-page--organizations p, .codex-page--organizations li, .codex-page--organizations td, .codex-page--organizations th, .codex-page--organizations dd, .codex-page--organizations dt,
.codex-page--locations p, .codex-page--locations li, .codex-page--locations td, .codex-page--locations th, .codex-page--locations dd, .codex-page--locations dt,
.codex-page--history p, .codex-page--history li, .codex-page--history td, .codex-page--history th, .codex-page--history dd, .codex-page--history dt {
color: var(--cc-text) !important;
}
.codex-page--crucible-comics h1,
.codex-page--crucible-comics h2,
.codex-page--crucible-comics h3,
.codex-page--crucible-comics h4,
.codex-page--crucible-comics .mw-headline,
.codex-page--locations h1,
.codex-page--locations h2,
.codex-page--locations h3,
.codex-page--locations h4,
.codex-page--locations .mw-headline {
font-family: "Bangers", Impact, "Arial Black", sans-serif !important;
font-weight: normal !important;
letter-spacing: 0.04em !important;
color: #ffd43b !important;
text-shadow:
2px 2px 0 #10162f,
4px 4px 0 var(--cc-accent-dark),
0 0 12px rgba(255,210,51,0.45) !important;
}
.codex-page--heroes h1, .codex-page--heroes h2, .codex-page--heroes h3, .codex-page--heroes h4, .codex-page--heroes .mw-headline,
.codex-page--villains h1, .codex-page--villains h2, .codex-page--villains h3, .codex-page--villains h4, .codex-page--villains .mw-headline,
.codex-page--teams h1, .codex-page--teams h2, .codex-page--teams h3, .codex-page--teams h4, .codex-page--teams .mw-headline,
.codex-page--civilians h1, .codex-page--civilians h2, .codex-page--civilians h3, .codex-page--civilians h4, .codex-page--civilians .mw-headline,
.codex-page--technology h1, .codex-page--technology h2, .codex-page--technology h3, .codex-page--technology h4, .codex-page--technology .mw-headline,
.codex-page--peoples h1, .codex-page--peoples h2, .codex-page--peoples h3, .codex-page--peoples h4, .codex-page--peoples .mw-headline,
.codex-page--organizations h1, .codex-page--organizations h2, .codex-page--organizations h3, .codex-page--organizations h4, .codex-page--organizations .mw-headline,
.codex-page--history h1, .codex-page--history h2, .codex-page--history h3, .codex-page--history h4, .codex-page--history .mw-headline {
font-family: "Bangers", Impact, "Arial Black", sans-serif !important;
font-weight: normal !important;
letter-spacing: 0.04em !important;
color: #ffd43b !important;
text-shadow:
2px 2px 0 #10162f,
4px 4px 0 var(--cc-accent-dark),
0 0 12px rgba(255,210,51,0.45) !important;
}
.codex-page--crucible-comics h1,
.codex-page--locations h1 {
font-size: 3rem;
text-align: center;
margin-top: 0.4rem;
border-bottom: 4px solid var(--cc-accent);
padding-bottom: 0.35rem;
text-transform: uppercase;
letter-spacing: 0.08em !important;
}
.codex-page--crucible-comics h2,
.codex-page--locations h2 {
font-size: 2.1rem;
margin-top: 2rem;
border-bottom: 3px solid var(--cc-accent);
}
.codex-page--crucible-comics h2::after,
.codex-page--locations h2::after {
content: "";
display: block;
height: 2px;
margin-top: 0.4rem;
background: linear-gradient(90deg, transparent, var(--cc-accent-bright), #50b2ff, transparent);
}
.codex-page--crucible-comics h3,
.codex-page--locations h3 {
font-size: 1.55rem;
color: var(--cc-accent-bright) !important;
}
.codex-page--crucible-comics h4,
.codex-page--locations h4 {
font-size: 1.35rem;
color: #ffb347 !important;
}
.codex-page--heroes h1, .codex-page--villains h1, .codex-page--teams h1, .codex-page--civilians h1,
.codex-page--technology h1, .codex-page--peoples h1, .codex-page--organizations h1, .codex-page--history h1 {
font-size: 3rem;
text-align: center;
margin-top: 0.4rem;
border-bottom: 4px solid var(--cc-accent);
padding-bottom: 0.35rem;
text-transform: uppercase;
letter-spacing: 0.08em !important;
}
.codex-page--heroes h2, .codex-page--villains h2, .codex-page--teams h2, .codex-page--civilians h2,
.codex-page--technology h2, .codex-page--peoples h2, .codex-page--organizations h2, .codex-page--history h2 {
font-size: 2.1rem;
margin-top: 2rem;
border-bottom: 3px solid var(--cc-accent);
}
.codex-page--heroes h2::after, .codex-page--villains h2::after, .codex-page--teams h2::after, .codex-page--civilians h2::after,
.codex-page--technology h2::after, .codex-page--peoples h2::after, .codex-page--organizations h2::after, .codex-page--history h2::after {
content: "";
display: block;
height: 2px;
margin-top: 0.4rem;
background: linear-gradient(90deg, transparent, var(--cc-accent-bright), #50b2ff, transparent);
}
.codex-page--heroes h3, .codex-page--villains h3, .codex-page--teams h3, .codex-page--civilians h3,
.codex-page--technology h3, .codex-page--peoples h3, .codex-page--organizations h3, .codex-page--history h3 {
font-size: 1.55rem;
color: var(--cc-accent-bright) !important;
}
.codex-page--heroes h4, .codex-page--villains h4, .codex-page--teams h4, .codex-page--civilians h4,
.codex-page--technology h4, .codex-page--peoples h4, .codex-page--organizations h4, .codex-page--history h4 {
font-size: 1.35rem;
color: #ffb347 !important;
}
.codex-page--crucible-comics a,
.codex-page--crucible-comics a:visited,
.codex-page--locations a,
.codex-page--locations a:visited {
color: var(--cc-link) !important;
font-weight: 700;
text-decoration: none;
text-shadow: 0 0 6px rgba(80,178,255,0.4);
}
.codex-page--crucible-comics a:hover,
.codex-page--locations a:hover {
color: #ffd43b !important;
text-shadow: 0 0 8px rgba(111,217,255,0.8);
}
.codex-page--heroes a, .codex-page--heroes a:visited,
.codex-page--villains a, .codex-page--villains a:visited,
.codex-page--teams a, .codex-page--teams a:visited,
.codex-page--civilians a, .codex-page--civilians a:visited,
.codex-page--technology a, .codex-page--technology a:visited,
.codex-page--peoples a, .codex-page--peoples a:visited,
.codex-page--organizations a, .codex-page--organizations a:visited,
.codex-page--history a, .codex-page--history a:visited {
color: var(--cc-link) !important;
font-weight: 700;
text-decoration: none;
text-shadow: 0 0 6px rgba(80,178,255,0.4);
}
.codex-page--heroes a:hover, .codex-page--villains a:hover, .codex-page--teams a:hover, .codex-page--civilians a:hover,
.codex-page--technology a:hover, .codex-page--peoples a:hover, .codex-page--organizations a:hover, .codex-page--history a:hover {
color: #ffd43b !important;
text-shadow: 0 0 8px rgba(111,217,255,0.8);
}
/* Crucible page type palettes */
.codex-page--crucible-comics.cc-page--hero,
.codex-page--heroes,
.crucible-category--heroes {
--cc-accent: #1d4ed8;
--cc-accent-dark: #1e3a8a;
--cc-accent-bright: #60a5fa;
--cc-accent-soft: rgba(29,78,216,0.18);
--cc-link: #93c5fd;
}
.codex-page--crucible-comics.cc-page--villain,
.codex-page--villains,
.crucible-category--villains {
--cc-accent: #7e22ce;
--cc-accent-dark: #3b0764;
--cc-accent-bright: #c084fc;
--cc-accent-soft: rgba(126,34,206,0.18);
--cc-link: #d8b4fe;
--cc-bg-a: #14051f;
--cc-bg-b: #07030d;
}
.codex-page--crucible-comics.cc-page--team,
.codex-page--teams,
.crucible-category--teams {
--cc-accent: #dc2626;
--cc-accent-dark: #7f1d1d;
--cc-accent-bright: #f97316;
--cc-accent-soft: rgba(220,38,38,0.18);
--cc-link: #fecaca;
}
.codex-page--crucible-comics.cc-page--civilian,
.codex-page--civilians,
.crucible-category--civilians {
--cc-accent: #ca8a04;
--cc-accent-dark: #713f12;
--cc-accent-bright: #fde047;
--cc-accent-soft: rgba(202,138,4,0.18);
--cc-link: #fef08a;
--cc-bg-a: #17120a;
--cc-bg-b: #080603;
}
.codex-page--crucible-comics.cc-page--tech,
.codex-page--crucible-comics.cc-page--technology,
.codex-page--technology,
.crucible-category--technology {
--cc-accent: #38bdf8;
--cc-accent-dark: #0f3b57;
--cc-accent-bright: #67e8f9;
--cc-accent-soft: rgba(56,189,248,0.18);
--cc-link: #9beafe;
--cc-bg-a: #061424;
--cc-bg-b: #030711;
}
.codex-page--crucible-comics.cc-page--peoples,
.codex-page--crucible-comics.cc-page--people,
.codex-page--peoples,
.crucible-category--peoples {
--cc-accent: #16a34a;
--cc-accent-dark: #14532d;
--cc-accent-bright: #86efac;
--cc-accent-soft: rgba(22,163,74,0.18);
--cc-link: #bbf7d0;
--cc-bg-a: #07180f;
--cc-bg-b: #030906;
}
.codex-page--crucible-comics.cc-page--organization,
.codex-page--organizations,
.crucible-category--organizations {
--cc-accent: #9f1239;
--cc-accent-dark: #4c0519;
--cc-accent-bright: #fb7185;
--cc-accent-soft: rgba(159,18,57,0.18);
--cc-link: #fda4af;
}
.codex-page--crucible-comics.cc-page--location,
.codex-page--locations,
.crucible-category--locations {
--cc-accent: #f97316;
--cc-accent-dark: #7c2d12;
--cc-accent-bright: #facc15;
--cc-accent-soft: rgba(249,115,22,0.20);
--cc-link: #ffd166;
--cc-bg-a: #101836;
--cc-bg-b: #070a18;
}
.codex-page--crucible-comics.cc-page--history,
.codex-page--history,
.crucible-category--history {
--cc-accent: #64748b;
--cc-accent-dark: #1e293b;
--cc-accent-bright: #cbd5e1;
--cc-accent-soft: rgba(100,116,139,0.20);
--cc-link: #e2e8f0;
--cc-bg-a: #111827;
--cc-bg-b: #05070d;
}
/* Stronger Crucible page-type treatments */
.codex-page--crucible-comics.cc-page--hero,
.codex-page--crucible-comics.cc-page--villain,
.codex-page--crucible-comics.cc-page--team,
.codex-page--crucible-comics.cc-page--civilian,
.codex-page--crucible-comics.cc-page--tech,
.codex-page--crucible-comics.cc-page--technology,
.codex-page--crucible-comics.cc-page--people,
.codex-page--crucible-comics.cc-page--peoples,
.codex-page--crucible-comics.cc-page--organization,
.codex-page--crucible-comics.cc-page--location,
.codex-page--crucible-comics.cc-page--history,
.codex-page--heroes,
.codex-page--villains,
.codex-page--teams,
.codex-page--civilians,
.codex-page--technology,
.codex-page--peoples,
.codex-page--organizations,
.codex-page--locations,
.codex-page--history {
border-color: color-mix(in srgb, var(--cc-accent) 65%, #ffd43b 35%) !important;
}
.codex-page--crucible-comics.cc-page--hero::before,
.codex-page--crucible-comics.cc-page--villain::before,
.codex-page--crucible-comics.cc-page--team::before,
.codex-page--crucible-comics.cc-page--civilian::before,
.codex-page--crucible-comics.cc-page--tech::before,
.codex-page--crucible-comics.cc-page--technology::before,
.codex-page--crucible-comics.cc-page--people::before,
.codex-page--crucible-comics.cc-page--peoples::before,
.codex-page--crucible-comics.cc-page--organization::before,
.codex-page--crucible-comics.cc-page--location::before,
.codex-page--crucible-comics.cc-page--history::before,
.codex-page--heroes::before,
.codex-page--villains::before,
.codex-page--teams::before,
.codex-page--civilians::before,
.codex-page--technology::before,
.codex-page--peoples::before,
.codex-page--organizations::before,
.codex-page--locations::before,
.codex-page--history::before {
content: "";
display: block;
height: 8px;
margin: -1.5rem -2rem 1.2rem -2rem;
background: linear-gradient(90deg, var(--cc-accent-dark), var(--cc-accent-bright), #ffd43b, var(--cc-accent));
box-shadow: 0 0 18px var(--cc-accent-soft);
}
/* Crucible page identity accents
Page types are distinguished by palette, border, top stripe, heading
underline, tables, links, and infobox/panel accents. Watermark and
ghost-label systems have been removed to avoid layout conflicts. */
/* Faint diagonal production texture across standard Crucible pages. */
.codex-page--crucible-comics {
background:
repeating-linear-gradient(
-28deg,
rgba(255,255,255,0.014) 0,
rgba(255,255,255,0.014) 1px,
transparent 1px,
transparent 38px
),
radial-gradient(circle at 50% 0%, var(--cc-accent-soft), transparent 40%),
radial-gradient(circle at 20% 30%, rgba(80,178,255,0.15), transparent 50%),
radial-gradient(circle at 80% 20%, rgba(255,60,120,0.12), transparent 50%),
linear-gradient(180deg, var(--cc-bg-a) 0%, var(--cc-bg-b) 100%) !important;
}
/* Accent the main page title by page type without generated labels. */
.codex-page--crucible-comics h1,
.codex-page--heroes h1,
.codex-page--villains h1,
.codex-page--teams h1,
.codex-page--civilians h1,
.codex-page--technology h1,
.codex-page--peoples h1,
.codex-page--organizations h1,
.codex-page--locations h1,
.codex-page--history h1 {
border-bottom-color: var(--cc-accent) !important;
box-shadow: 0 4px 0 rgba(255,212,59,0.18);
}
/* Page-type tuned quote/callout accenting. */
.codex-page--crucible-comics .cc-quote {
border-left-color: var(--cc-accent) !important;
background:
linear-gradient(90deg, var(--cc-accent-soft), rgba(20,24,32,0.75)) !important;
}
.codex-page--crucible-comics .codex-infobox,
.codex-page--crucible-comics .codex-infobox--hero,
.codex-page--crucible-comics .codex-infobox--villain,
.codex-page--crucible-comics .codex-infobox--team,
.codex-page--crucible-comics .codex-infobox--civilian,
.codex-page--crucible-comics .codex-infobox--tech,
.codex-page--crucible-comics .codex-infobox--organization,
.codex-page--crucible-comics .codex-infobox--location,
.codex-page--crucible-comics .codex-infobox--history,
.codex-page--crucible-comics .codex-infobox--peoples {
border-color: var(--cc-accent) !important;
box-shadow: 6px 6px 0 var(--cc-accent-dark), 0 0 18px var(--cc-accent-soft) !important;
}
.codex-page--crucible-comics .codex-infobox th {
background: linear-gradient(180deg, var(--cc-accent-bright), var(--cc-accent)) !important;
color: #11162c !important;
}
.codex-page--crucible-comics.cc-page--tech,
.codex-page--crucible-comics.cc-page--technology,
.codex-page--technology {
background:
repeating-linear-gradient(
-28deg,
rgba(255,255,255,0.014) 0,
rgba(255,255,255,0.014) 1px,
transparent 1px,
transparent 38px
),
linear-gradient(rgba(103,232,249,0.045) 1px, transparent 1px),
linear-gradient(90deg, rgba(103,232,249,0.045) 1px, transparent 1px),
radial-gradient(circle at 50% 0%, var(--cc-accent-soft), transparent 40%),
linear-gradient(180deg, var(--cc-bg-a) 0%, var(--cc-bg-b) 100%) !important;
background-size: auto, 24px 24px, 24px 24px, auto, auto !important;
}
.codex-page--crucible-comics.cc-page--history,
.codex-page--history {
background:
repeating-linear-gradient(
-28deg,
rgba(255,255,255,0.014) 0,
rgba(255,255,255,0.014) 1px,
transparent 1px,
transparent 38px
),
linear-gradient(180deg, rgba(255,255,255,0.04), rgba(0,0,0,0.12)),
radial-gradient(circle at 50% 0%, var(--cc-accent-soft), transparent 40%),
linear-gradient(180deg, var(--cc-bg-a) 0%, var(--cc-bg-b) 100%) !important;
}
/* Crucible readable panels */
.codex-page--crucible-comics .crucible-comics-panel,
.codex-page--crucible-comics .crucible-comics-callout,
.codex-page--locations .crucible-comics-panel,
.codex-page--locations .crucible-comics-callout,
.codex-page--heroes .crucible-comics-panel, .codex-page--heroes .crucible-comics-callout,
.codex-page--villains .crucible-comics-panel, .codex-page--villains .crucible-comics-callout,
.codex-page--teams .crucible-comics-panel, .codex-page--teams .crucible-comics-callout,
.codex-page--civilians .crucible-comics-panel, .codex-page--civilians .crucible-comics-callout,
.codex-page--technology .crucible-comics-panel, .codex-page--technology .crucible-comics-callout,
.codex-page--peoples .crucible-comics-panel, .codex-page--peoples .crucible-comics-callout,
.codex-page--organizations .crucible-comics-panel, .codex-page--organizations .crucible-comics-callout,
.codex-page--history .crucible-comics-panel, .codex-page--history .crucible-comics-callout,
.crucible-category-intro,
.crucible-card,
.location-panel,
.location-callout {
max-width: 760px;
margin: 2rem auto;
padding: 1rem 1.25rem;
border: 3px solid var(--cc-panel-border);
border-left: 10px solid var(--cc-accent);
border-radius: 10px;
background: var(--cc-panel-bg) !important;
color: var(--cc-panel-text) !important;
box-shadow: 6px 6px 0 var(--cc-accent-dark), 0 0 18px rgba(80,178,255,0.25);
}
.codex-page--crucible-comics .crucible-comics-panel p,
.codex-page--crucible-comics .crucible-comics-panel li,
.codex-page--crucible-comics .crucible-comics-panel div,
.codex-page--locations .location-panel p,
.codex-page--locations .location-panel li,
.codex-page--locations .location-callout p,
.codex-page--locations .location-callout li,
.crucible-category-intro,
.crucible-category-intro p,
.crucible-card,
.crucible-card p,
.crucible-card li {
color: var(--cc-panel-text) !important;
}
.codex-page--crucible-comics .crucible-comics-panel > b:first-child,
.codex-page--crucible-comics .crucible-comics-panel > strong:first-child,
.location-panel > b:first-child,
.location-panel > strong:first-child,
.location-callout > b:first-child,
.location-callout > strong:first-child {
display: block;
margin: -1rem -1.25rem 1rem -1.25rem;
padding: 0.65rem 1rem;
background: var(--cc-panel-heading-bg);
color: var(--cc-panel-heading-text) !important;
font-family: "Bangers", "Arial Black", sans-serif !important;
font-size: 1.45rem;
letter-spacing: 0.04em;
text-align: center;
text-transform: uppercase;
}
.codex-page--crucible-comics .crucible-comics-panel a,
.codex-page--crucible-comics .crucible-comics-panel a:visited,
.codex-page--locations .location-panel a,
.codex-page--locations .location-callout a,
.crucible-card a,
.crucible-category-intro a {
color: #0f3b57 !important;
font-weight: 700;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 2px;
text-shadow: none;
}
.codex-page--crucible-comics table.wikitable,
.codex-page--heroes table.wikitable,
.codex-page--villains table.wikitable,
.codex-page--teams table.wikitable,
.codex-page--civilians table.wikitable,
.codex-page--technology table.wikitable,
.codex-page--peoples table.wikitable,
.codex-page--organizations table.wikitable,
.codex-page--locations table.wikitable,
.codex-page--history table.wikitable {
width: 100%;
border-collapse: collapse;
background: rgba(9,13,36,0.92) !important;
color: #f3f6ff !important;
border: 2px solid rgba(255,212,59,0.65) !important;
box-shadow: 0 0 14px rgba(80,178,255,0.25);
}
.codex-page--crucible-comics table.wikitable th,
.codex-page--heroes table.wikitable th,
.codex-page--villains table.wikitable th,
.codex-page--teams table.wikitable th,
.codex-page--civilians table.wikitable th,
.codex-page--technology table.wikitable th,
.codex-page--peoples table.wikitable th,
.codex-page--organizations table.wikitable th,
.codex-page--locations table.wikitable th,
.codex-page--history table.wikitable th {
background: linear-gradient(180deg, var(--cc-accent-bright), var(--cc-accent)) !important;
color: #11162c !important;
font-family: "Barlow Condensed", Arial, sans-serif !important;
font-size: 1.05rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.codex-page--crucible-comics table.wikitable td,
.codex-page--heroes table.wikitable td,
.codex-page--villains table.wikitable td,
.codex-page--teams table.wikitable td,
.codex-page--civilians table.wikitable td,
.codex-page--technology table.wikitable td,
.codex-page--peoples table.wikitable td,
.codex-page--organizations table.wikitable td,
.codex-page--locations table.wikitable td,
.codex-page--history table.wikitable td {
color: #f3f6ff !important;
border-color: rgba(111,217,255,0.25) !important;
}
.codex-nav--crucible-comics,
.codex-nav--heroes,
.codex-nav--villains,
.codex-nav--teams,
.codex-nav--civilians,
.codex-nav--technology,
.codex-nav--peoples,
.codex-nav--organizations,
.codex-nav--locations,
.codex-nav--history {
max-width: 1100px;
margin: 2rem auto 0 auto !important;
padding: 0.85rem 1rem !important;
text-align: center;
background: linear-gradient(180deg, rgba(17,24,58,0.98), rgba(6,8,23,0.98));
border: 2px solid rgba(255,212,59,0.75);
box-shadow: 0 0 20px rgba(255,79,43,0.25);
font-family: "Barlow Condensed", Arial, sans-serif !important;
font-size: 1.05rem;
letter-spacing: 0.05em;
}
.crucible-comics-nav-title,
.heroes-nav-title,
.villains-nav-title,
.teams-nav-title,
.civilians-nav-title,
.technology-nav-title,
.peoples-nav-title,
.organizations-nav-title,
.locations-nav-title,
.history-nav-title,
.codex-nav--crucible-comics .codex-nav-title,
.codex-nav--heroes .codex-nav-title,
.codex-nav--villains .codex-nav-title,
.codex-nav--teams .codex-nav-title,
.codex-nav--civilians .codex-nav-title,
.codex-nav--technology .codex-nav-title,
.codex-nav--peoples .codex-nav-title,
.codex-nav--organizations .codex-nav-title,
.codex-nav--locations .codex-nav-title,
.codex-nav--history .codex-nav-title {
display: block;
margin-bottom: 0.35rem;
font-family: "Bangers", "Arial Black", Impact, sans-serif !important;
font-size: 1.6rem;
letter-spacing: 0.08em;
color: #ffd43b !important;
text-transform: uppercase;
text-shadow: 2px 2px 0 #10162f, 0 0 10px rgba(255,212,59,0.55);
}
.codex-nav--crucible-comics a,
.codex-nav--crucible-comics a:visited,
.codex-nav--locations a,
.codex-nav--locations a:visited,
.codex-nav--organizations a,
.codex-nav--organizations a:visited,
.codex-nav--technology a,
.codex-nav--technology a:visited,
.codex-nav--heroes a,
.codex-nav--heroes a:visited,
.codex-nav--villains a,
.codex-nav--villains a:visited,
.codex-nav--teams a,
.codex-nav--teams a:visited {
color: #6fd9ff !important;
font-weight: 700;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.codex-nav--crucible-comics a:hover,
.codex-nav--locations a:hover,
.codex-nav--organizations a:hover,
.codex-nav--technology a:hover,
.codex-nav--heroes a:hover,
.codex-nav--villains a:hover,
.codex-nav--teams a:hover { color: #ffd43b !important; }
.codex-nav--civilians a, .codex-nav--civilians a:visited,
.codex-nav--peoples a, .codex-nav--peoples a:visited,
.codex-nav--history a, .codex-nav--history a:visited {
color: #6fd9ff !important;
font-weight: 700;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.codex-nav--civilians a:hover,
.codex-nav--peoples a:hover,
.codex-nav--history a:hover { color: #ffd43b !important; }
/* Crucible Comics category chips
MediaWiki places #catlinks outside the .codex-page wrapper,
so these selectors target the page body instead.
Replace ns-3000 if your Crucible namespace uses a different number. */
body.ns-3000 #catlinks,
body[class*="page-Crucible_"] #catlinks {
max-width: 1100px;
margin: 0.75rem auto 0.75rem auto;
padding: 0.55rem 1rem 0.35rem 1rem;
border: 0;
border-top: 2px solid #111;
background: transparent;
box-shadow: none;
font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.8rem;
line-height: 1.8;
}
body.ns-3000 #catlinks .mw-normal-catlinks,
body[class*="page-Crucible_"] #catlinks .mw-normal-catlinks {
font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.8rem;
letter-spacing: 0.04em;
color: #f3f6ff;
}
body.ns-3000 #catlinks .mw-normal-catlinks a,
body[class*="page-Crucible_"] #catlinks .mw-normal-catlinks a {
display: inline-block;
margin: 0.2rem 0.25rem;
padding: 0.18rem 0.6rem;
border: 2px solid #111;
border-radius: 999px;
background: #fff;
color: #111 !important;
font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
text-decoration: none;
text-shadow: none;
}
body.ns-3000 #catlinks .mw-normal-catlinks a:hover,
body[class*="page-Crucible_"] #catlinks .mw-normal-catlinks a:hover {
background: #111;
color: #fff !important;
text-decoration: none;
text-shadow: none;
}
/* Crucible landing/index page components */
.crucible-landing-grid,
.cc-landing-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1rem;
margin: 1.5rem 0;
}
.crucible-landing-card,
.cc-landing-card {
padding: 1rem 1.1rem;
border: 3px solid #111827;
border-left: 10px solid var(--cc-accent);
border-radius: 12px;
background: #f8fafc !important;
color: #111827 !important;
box-shadow: 6px 6px 0 var(--cc-accent-dark), 0 0 18px rgba(80,178,255,0.18);
}
.crucible-landing-card *,
.cc-landing-card * { color: #111827 !important; text-shadow: none !important; }
.crucible-landing-card a,
.cc-landing-card a {
color: #0f3b57 !important;
font-weight: 800;
text-decoration: underline;
text-transform: uppercase;
}
/* Crucible category pages */
.codex-page--crucible-comics.crucible-category,
.codex-page--crucible.crucible-category {
position: relative;
overflow: hidden;
margin-bottom: 1.5rem;
}
.crucible-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1rem;
margin: 1rem 0 1.5rem;
}
.crucible-card { margin: 0; }
.crucible-card a {
font-weight: 800;
text-transform: uppercase;
text-decoration: none;
}
body.ns-14 .mw-category,
body.ns-14 .mw-category-generated,
body.ns-14 #mw-pages {
background: rgba(255,255,255,0.92);
color: #111;
border: 3px solid #111;
box-shadow: 6px 6px 0 #d72638;
padding: 1rem 1.25rem;
margin: 1.5rem 0;
font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
}
body.ns-14 #mw-pages h2,
body.ns-14 .mw-category-generated h2 {
font-family: "Bangers", "Impact", "Arial Black", sans-serif !important;
letter-spacing: 0.04em;
text-transform: uppercase;
color: #111 !important;
border-bottom: 3px solid #111;
}
body.ns-14 .mw-category a,
body.ns-14 #mw-pages a {
font-weight: 700;
color: #005bbb !important;
text-decoration: none;
}
body.ns-14 .mw-category a:hover,
body.ns-14 #mw-pages a:hover {
color: #d72638 !important;
text-decoration: underline;
}
/* =========================================================
10. BREADCRUMBS
========================================================= */
.codex-breadcrumbs {
max-width: 1100px;
margin: 0.75rem auto 1rem auto;
padding: 0.45rem 0.85rem;
font-size: 0.9rem;
line-height: 1.4;
border-radius: 8px;
opacity: 0.92;
}
.codex-breadcrumbs a {
text-decoration: none;
font-weight: 600;
}
.codex-breadcrumbs a:hover { text-decoration: underline; }
.codex-breadcrumbs--hawkmoon { background: rgba(35,28,22,0.16); border: 1px solid rgba(80,60,42,0.35); }
.codex-breadcrumbs--stormbringer { background: rgba(35,8,8,0.18); border: 1px solid rgba(120,20,20,0.35); }
.codex-breadcrumbs--nightcats { background: rgba(48,35,12,0.18); border: 1px solid rgba(150,110,35,0.35); }
.codex-breadcrumbs--ffbt { background: rgba(90,30,18,0.16); border: 1px solid rgba(160,60,35,0.35); }
.codex-breadcrumbs--apes { background: rgba(35,45,35,0.16); border: 1px solid rgba(70,90,70,0.35); }
.codex-breadcrumbs--crucible {
background: rgba(12,22,48,0.20);
border: 1px solid rgba(92,154,255,0.45);
box-shadow: 0 0 14px rgba(92,154,255,0.18);
color: #f4f7ff;
font-family: "Bangers", "Trebuchet MS", Arial, sans-serif;
font-size: 0.95rem;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.codex-breadcrumbs--crucible a { color: #ffd34d; }
.codex-breadcrumbs--crucible a:hover {
color: #ffffff;
text-shadow: 0 0 6px rgba(255,211,77,0.65);
}
/* =========================================================
11. RESPONSIVE CLEANUP
========================================================= */
@media screen and (max-width: 768px) {
.codex-page { padding: 16px 18px !important; }
.codex-page #toc::before,
.codex-page .toc::before { width: 64px; height: 64px; }
.floatright,
.tright,
.thumb.tright,
.thumb.floatright,
.floatleft,
.tleft,
.thumb.tleft,
.thumb.floatleft,
.career-portrait,
.nightcats-frame.right {
float: none !important;
clear: both !important;
display: block !important;
margin: 12px auto !important;
text-align: center;
}
.codex-page--stormbringer h1,
.codex-page--crucible-comics h1,
.codex-page--locations h1 { font-size: 2rem; }
.codex-page--stormbringer h2,
.codex-page--crucible-comics h2,
.codex-page--locations h2 { font-size: 1.5rem; }
.codex-page--hawkmoon h1,
.hawkmoon-theme h1 { font-size: 2em; }
.codex-page--hawkmoon h2,
.hawkmoon-theme h2 { font-size: 1.55em; }
.codex-page--hawkmoon h3,
.hawkmoon-theme h3 { font-size: 1.28em; }
}
/* ============================================================
12. BEYOND CODEX — CLEAN VERSION
Matches Other Subsites
============================================================ */
.codex-page--beyond {
--beyond-bg: #07111f;
--beyond-border: #3f6f9f;
--beyond-accent: #6fd3ff;
--beyond-accent-warm: #ffd36f;
--beyond-text: #dceaf7;
--beyond-muted: #9db4c8;
display: block;
background:
radial-gradient(circle at top left, rgba(111, 211, 255, 0.12), transparent 35rem),
linear-gradient(180deg, #07111f 0%, #0a1524 100%);
color: var(--beyond-text);
border: 1px solid rgba(111, 211, 255, 0.2);
border-radius: 16px;
padding: 1.5rem;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
font-family: "Roboto", sans-serif;
line-height: 1.65;
}
/* ============================================================
HEADINGS — FORCE OVERRIDE (kills Cinzel bleed)
============================================================ */
.codex-page--beyond h1,
.codex-page--beyond h2,
.codex-page--beyond h3,
.codex-page--beyond h4 {
font-family: "Exo 2", sans-serif !important;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.codex-page--beyond h1 {
color: #ffffff;
border-bottom: 2px solid var(--beyond-border);
padding-bottom: 0.4rem;
text-shadow: 0 0 10px rgba(111, 211, 255, 0.6);
}
.codex-page--beyond h2 {
color: var(--beyond-accent);
border-left: 4px solid var(--beyond-accent);
padding-left: 0.6rem;
}
.codex-page--beyond h3 {
color: var(--beyond-accent-warm);
}
/* ============================================================
LINKS
============================================================ */
.codex-page--beyond a {
color: var(--beyond-accent);
text-decoration: none;
border-bottom: 1px dotted rgba(111, 211, 255, 0.5);
}
.codex-page--beyond a:hover {
color: #ffffff;
text-shadow: 0 0 8px rgba(111, 211, 255, 0.8);
}
/* ============================================================
HEADER IMAGE (YOUR MJ BANNER)
============================================================ */
.beyond-header-image {
margin-bottom: 1.5rem;
text-align: center;
}
.beyond-header-image img {
width: 100%;
max-width: 1200px;
height: auto;
border-radius: 14px;
border: 1px solid rgba(111, 211, 255, 0.35);
box-shadow: 0 0 22px rgba(0, 0, 0, 0.45);
}
/* ============================================================
NAV (MATCHES YOUR STANDARD STYLE)
============================================================ */
.codex-nav--beyond {
margin-top: 1.75rem;
padding: 1rem;
text-align: center;
background: rgba(16, 29, 46, 0.9);
border: 1px solid rgba(111, 211, 255, 0.3);
border-radius: 14px;
font-family: "Exo 2", sans-serif;
font-variant: small-caps;
letter-spacing: 0.05em;
}
.codex-nav--beyond .beyond-nav-title {
display: block;
margin-bottom: 0.4rem;
color: var(--beyond-accent-warm);
text-transform: uppercase;
}
/* Beyond category chips
MediaWiki places #catlinks outside the .codex-page wrapper,
so these selectors target the page body instead.
Replace ns-#### with your Beyond namespace number when you know it. */
body[class*="page-Beyond_"] #catlinks {
max-width: 960px;
margin: 0.75rem auto 0.75rem auto;
padding: 0.55rem 1rem 0.35rem 1rem;
border: 0;
border-top: 1px solid rgba(120, 220, 255, 0.35);
background: transparent;
box-shadow: none;
font-family: "Roboto", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.78rem;
line-height: 1.8;
}
body[class*="page-Beyond_"] #catlinks .mw-normal-catlinks {
font-family: "Roboto", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.78rem;
letter-spacing: 0.06em;
color: #dceaf7;
}
body[class*="page-Beyond_"] #catlinks .mw-normal-catlinks a {
display: inline-block;
margin: 0.2rem 0.25rem;
padding: 0.2rem 0.6rem;
border: 1px solid rgba(120, 220, 255, 0.6);
border-radius: 0.35rem;
background: rgba(120, 220, 255, 0.08);
color: #dff8ff !important;
font-family: "Roboto", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
font-size: 0.74rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.08em;
text-decoration: none;
text-shadow: none;
}
body[class*="page-Beyond_"] #catlinks .mw-normal-catlinks a:hover {
background: rgba(120, 220, 255, 0.2);
color: #ffffff !important;
text-decoration: none;
text-shadow: 0 0 8px rgba(111, 211, 255, 0.8);
}
/* Beyond Career Cards */
.codex-page--beyond .beyond-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.2rem;
margin: 1.5rem 0;
}
.codex-page--beyond .beyond-career-card {
background: linear-gradient(145deg, rgba(12, 24, 36, 0.96), rgba(5, 10, 18, 0.98));
border: 1px solid rgba(95, 210, 255, 0.45);
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow:
0 0 18px rgba(60, 190, 255, 0.18),
inset 0 0 18px rgba(120, 220, 255, 0.06);
}
.codex-page--beyond .beyond-career-card h2 {
margin-top: 0;
margin-bottom: 0.35rem;
color: #9fe8ff;
font-family: "Orbitron", "Rajdhani", sans-serif;
letter-spacing: 0.05em;
text-transform: uppercase;
border-bottom: 1px solid rgba(95, 210, 255, 0.35);
padding-bottom: 0.25rem;
}
.codex-page--beyond .beyond-career-tagline {
color: #d7f7ff;
font-style: italic;
margin: 0.35rem 0 0.75rem;
}
.codex-page--beyond .beyond-career-card ul {
margin: 0.5rem 0 0;
padding-left: 1.2rem;
}
.codex-page--beyond .beyond-career-card li {
margin-bottom: 0.35rem;
}
/* === BEYOND / CODEX TABLES === */
.codex-table {
width: 100%;
border-collapse: collapse;
margin: 1rem 0;
font-size: 0.95rem; /* slightly smaller, cleaner */
line-height: 1.4;
}
/* Header row */
.codex-table th {
text-align: left;
font-weight: 600;
padding: 8px 10px;
border-bottom: 2px solid #444;
}
/* Table cells */
.codex-table td {
padding: 8px 10px;
vertical-align: top; /* fixes misalignment */
border-bottom: 1px solid #333; /* gridlines */
}
/* First column (Edge / Drawback name) */
.codex-table td:first-child {
font-weight: 600;
width: 28%; /* prevents crowding */
white-space: nowrap; /* keeps names clean */
padding-right: 16px; /* spacing between columns */
}
/* Second column (Effect text) */
.codex-table td:last-child {
width: 72%;
}
/* Optional: subtle row hover (feels nice in Codex) */
.codex-table tr:hover td {
background: rgba(255,255,255,0.03);
}
/* ============================================================
13. CRUCIBLE SHARED INLINE COMPONENTS
============================================================ */
.cc-quote {
margin: 1.25em auto 1.75em auto;
padding: 1em 1.25em;
max-width: 760px;
border-left: 6px solid #d7b15f;
background: linear-gradient(90deg, rgba(215,177,95,0.15), rgba(20,24,32,0.75));
color: #f0f3f8;
font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
font-size: 1.15em;
font-style: italic;
line-height: 1.5;
letter-spacing: 0.02em;
text-transform: none;
box-shadow: 0 0 14px rgba(0,0,0,0.35);
}
.cc-quote strong {
color: #ffd978;
font-style: normal;
letter-spacing: 0.04em;
}
}
.codex-infobox {
border-collapse: separate;
border-spacing: 0 0.35em;
}
.codex-infobox th {
padding-right: 1.25em;
white-space: nowrap;
}
.codex-infobox td {
padding-left: 0.85em;
}
.codex-infobox th.codex-infobox-label,
.codex-infobox .codex-infobox-label {
margin-right: 0.85em;
}
.thumbcaption {
background: #111; /* dark background */
color: #ddd; /* light text */
padding: 0.4em 0.6em;
font-size: 0.9em;
line-height: 1.3;
}
.codex-page--crucible-comics .thumbcaption {
background: #1a1a1a;
color: #e6e6e6;
border-top: 1px solid #c00; /* subtle red accent */
font-family: "Bangers", sans-serif;
letter-spacing: 0.03em;
}
.codex-page--crucible-comics .thumbinner {
background: #000;
border: 1px solid #444;
}
.codex-page--crucible-comics .thumbinner {
background: #000; /* or very dark gray */
border: 2px solid #c00; /* Crucible red accent */
box-shadow: 0 0 6px rgba(0,0,0,0.6);
}
.codex-page--crucible-comics .thumbimage {
border: none; /* removes inner image border */
display: block;
}
.codex-page--crucible-comics .thumbinner {
background: #111;
border: 2px solid #c00;
padding: 4px;
}
.codex-page--crucible-comics .cc-quote {
margin: 1.25em auto 1.5em auto;
padding: 0.9em 1.2em;
max-width: 850px;
background: #111;
border-left: 5px solid #b30000;
color: #f2f2f2;
font-size: 1.15em;
line-height: 1.45;
font-style: italic;
box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.codex-page--crucible-comics .cc-quote cite {
display: block;
margin-top: 0.6em;
color: #cfcfcf;
font-size: 0.85em;
font-style: normal;
text-align: right;
}
.codex-page--crucible-comics .cc-quote {
margin: 1.25em auto 1.5em auto;
padding: 0.9em 1.2em;
max-width: 850px;
background: #111;
border-left: 5px solid #b30000;
color: #f2f2f2;
font-size: 1.15em;
line-height: 1.45;
font-style: italic;
box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.codex-page--crucible-comics .cc-quote cite {
display: block;
margin-top: 0.6em;
color: #cfcfcf;
font-size: 0.85em;
font-style: normal;
text-align: right;
}
/* Crucible Comics Image Cleanup */
.codex-page--crucible-comics img,
.codex-page--crucible-comics .thumbimage {
border: none !important;
box-shadow: none !important;
background: transparent !important;
}
/* Remove default thumbnail frame/background */
.codex-page--crucible-comics .thumb {
border: none !important;
background: transparent !important;
padding: 0 !important;
}
/* Remove inner frame around PNG renders */
.codex-page--crucible-comics .thumbinner {
border: none !important;
background: transparent !important;
}
/* Crucible Comics: Peoples pages */
.codex-page--crucible-comics.cc-page--people > .center,
.codex-page--crucible-comics.cc-page--people .center {
text-align: center;
}
.codex-page--crucible-comics.cc-page--people img {
border: 4px solid #c9a646;
background: #111827;
padding: 6px;
box-shadow: 0 0 18px rgba(0,0,0,.55);
border-radius: 6px;
}
.codex-page--crucible-comics.cc-page--people .cc-infobox {
max-width: 520px;
margin: 1.25rem auto 1.75rem auto;
float: none;
clear: both;
}
.codex-page--crucible-comics.cc-page--people .cc-character-box {
width: 100%;
margin-left: auto;
margin-right: auto;
}
/* Crucible Comics: Peoples main image frame */
.codex-page--crucible-comics.cc-page--people .floatnone,
.codex-page--crucible-comics.cc-page--people .center,
.codex-page--crucible-comics.cc-page--people .thumb,
.codex-page--crucible-comics.cc-page--people figure {
text-align: center;
}
.codex-page--crucible-comics.cc-page--people .mw-file-element,
.codex-page--crucible-comics.cc-page--people .thumbimage {
border: 4px solid #c9a646 !important;
background: #101820 !important;
padding: 6px !important;
box-shadow: 0 0 18px rgba(0,0,0,.65) !important;
border-radius: 6px;
box-sizing: border-box;
}
.cc-quote {
margin: 2rem auto;
padding: 1rem 1.5rem;
max-width: 850px;
font-style: italic;
font-size: 1.1rem;
line-height: 1.7;
text-align: left;
color: #d8d8d8;
background: rgba(255,255,255,0.02);
border-left: 3px solid #7a0f0f;
box-sizing: border-box;
}
/* =====================================================
CRUCIBLE COMICS TEAM ROSTERS
===================================================== */
.cc-roster-grid {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: center;
margin: 2rem 0;
}
.cc-roster-card {
width: 240px;
background: #1a1a1a;
border: 1px solid #444;
border-radius: 10px;
padding: 1rem;
text-align: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.35);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cc-roster-card:hover {
transform: translateY(-4px);
box-shadow: 0 6px 14px rgba(0,0,0,0.45);
}
.cc-roster-card img {
width: 200px;
height: 200px;
object-fit: cover;
border-radius: 8px;
border: 2px solid #555;
margin-bottom: 0.75rem;
}
.cc-roster-card b,
.cc-roster-card strong {
display: block;
font-size: 1.15rem;
margin-bottom: 0.5rem;
color: #ffffff;
letter-spacing: 0.03em;
}
.cc-roster-card a {
color: #e0e0e0;
text-decoration: none;
}
.cc-roster-card a:hover {
color: #ffffff;
text-decoration: underline;
}
.cc-roster-card br + * {
color: #c8c8c8;
font-size: 0.95rem;
line-height: 1.45;
}
/* =====================================================
MOBILE SUPPORT
===================================================== */
@media (max-width: 700px) {
.cc-roster-grid {
flex-direction: column;
align-items: center;
}
.cc-roster-card {
width: 90%;
max-width: 320px;
}
.cc-roster-card img {
width: 100%;
height: auto;
}
}