Jump to content

CrucibleCodexStyles: Difference between revisions

From Crucible Codex
Created page with "{{CodexHeader}} <div class="codex-page"> = Crucible Codex Styles Guide = This page is a visual reference for reusable Codex formatting styles. Use it as a copy-and-paste library when building new pages. == Shared Codex Wrapper == This is the standard shared wrapper used across subsites. <div class="codex-page"> This is a plain <code>codex-page</code> wrapper. It gives the page its centered panel, padding, rounded corners, and shadow. </div> <pre> <div class="co..."
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:
= Crucible Codex Styles Guide =
= Crucible Codex Styles Guide =


This page is a visual reference for reusable Codex formatting styles.
This page is a working reference for the full Codex stylesheet.


Use it as a copy-and-paste library when building new pages.
It is meant to show the wrappers, navigation blocks, subsite skins, and reusable content components that currently exist in the CSS, including the newer canonical <code>codex-*</code> component names and the older legacy aliases that still render.


== Shared Codex Wrapper ==
Use the canonical patterns for all new pages. Legacy names are documented here so older pages remain understandable.


This is the standard shared wrapper used across subsites.
== Canonical Page Pattern ==
 
For all new subsite pages, use this general structure:
 
<pre>
{{HeaderTemplate}}
<div class="codex-page codex-page--subsite">
 
= Page Title =
 
Page content here.
 
{{NavTemplate}}
</div>
</pre>
 
For nav templates, use this general structure:
 
<pre>
<includeonly>
<div class="codex-navbox codex-navbox--subsite">
<strong class="codex-nav-title">Subsite Codex</strong>
[[Subsite:Home|Home]] • [[Subsite:Character Creation|Character Creation]]
</div>
</includeonly>
</pre>
 
== Shared Foundation ==
 
These styles affect the whole wiki, not just one subsite.
 
=== Global Page Skin ===
 
The site-wide body, headings, links, forms, tables, infoboxes, TOC, code blocks, and images all have a shared dark Codex treatment.
 
Reusable selectors documented in CSS include:
 
* <code>html</code>, <code>body</code>, <code>.mw-page-container</code>, <code>.vector-body</code>
* <code>.mw-body</code>
* <code>#firstHeading</code>, <code>.mw-first-heading</code>, <code>.mw-parser-output h1-h6</code>
* <code>.vector-pinned-container</code>, <code>.vector-column-start</code>, <code>#mw-panel</code>, <code>.vector-menu</code>, <code>.vector-user-links</code>
* <code>.vector-header-container</code>, <code>.vector-header</code>, <code>.mw-header</code>, <code>.vector-page-toolbar</code>, <code>.vector-sticky-header</code>, <code>.vector-page-titlebar</code>
* <code>.vector-search-box</code>, <code>.vector-search-box-vue</code>, <code>.vector-typeahead-search-container</code>, <code>#searchInput</code>
* <code>.wikitable</code>, <code>.infobox</code>, <code>.portable-infobox</code>
* <code>#toc</code>, <code>.toc</code>, <code>.catlinks</code>
* <code>pre</code>, <code>code</code>
* <code>.thumb</code>, <code>.thumbinner</code>, <code>.mw-file-element</code>, <code>.floatright</code>, <code>.floatleft</code>
* <code>.mw-editsection</code> and related section-edit selectors are hidden globally
 
=== Shared Banner ===
 
<div class="codex-banner">
[[File:PLACEHOLDER.jpg|900px]]
</div>
 
<pre>
<div class="codex-banner">
[[File:Banner.jpg|900px]]
</div>
</pre>
 
Use:
* <code>codex-banner</code> for a standard centered banner
* <code>codex-header</code> for shared header wrappers where needed
 
=== Shared Page Wrapper ===


<div class="codex-page">
<div class="codex-page">
This is a plain <code>codex-page</code> wrapper.
This is the default shared <code>codex-page</code> wrapper. It gives the page its centered panel, padding, line spacing, rounded corners, and drop-shadow.
It gives the page its centered panel, padding, rounded corners, and shadow.
</div>
</div>


<pre>
<pre>
&lt;div class="codex-page"&gt;
<div class="codex-page">
Your page content here.
Your page content here.
&lt;/div&gt;
</div>
</pre>
</pre>


== Shared Navigation ==
=== Shared Navigation Wrapper ===


This is the generic Codex nav style.
<div class="codex-navbox">
<strong>Codex Navigation</strong>
[[Main Page|Home]] • [[Help:Contents|Help]] • [[Special:AllPages|All Pages]]
</div>


<pre>
<div class="codex-navbox">
<div class="codex-navbox">
<strong>Codex Navigation</strong>
<strong>Codex Navigation</strong>
[[Main Page|Home]] • [[Help:Contents|Help]] • [[Special:AllPages|All Pages]]
[[Main Page|Home]] • [[Help:Contents|Help]] • [[Special:AllPages|All Pages]]
</div>
</pre>
== Canonical Reusable Components ==
These are the newer, future-facing shared component names. Use these for all new work where practical.
=== codex-nav-title ===
<div class="codex-navbox">
<strong class="codex-nav-title">Example Codex</strong>
[[Main Page|Home]] • [[Help:Contents|Help]]
</div>
<pre>
<div class="codex-navbox codex-navbox--subsite">
<strong class="codex-nav-title">Subsite Codex</strong>
[[Subsite:Home|Home]]
</div>
</pre>
=== codex-subtitle ===
<div class="codex-page codex-page--stormbringer">
<div class="codex-subtitle">A short italic subtitle placed beneath a major heading.</div>
</div>
<pre>
<div class="codex-subtitle">A short italic subtitle.</div>
</pre>
=== codex-panel And codex-panel-title ===
<div class="codex-page codex-page--hawkmoon">
<div class="codex-panel">
<div class="codex-panel-title">Panel Title</div>
Panel text goes here.
</div>
</div>
</div>


<pre>
<pre>
&lt;div class="codex-navbox"&gt;
<div class="codex-panel">
&lt;strong&gt;Codex Navigation&lt;/strong&gt;
<div class="codex-panel-title">Panel Title</div>
[[Main Page|Home]] • [[Help:Contents|Help]] • [[Special:AllPages|All Pages]]
Panel text goes here.
&lt;/div&gt;
</div>
</pre>
 
=== codex-callout And codex-callout-title ===
 
<div class="codex-page codex-page--ffbt">
<div class="codex-callout">
<div class="codex-callout-title">Callout Title</div>
This is a reusable callout block.
</div>
</div>
 
<pre>
<div class="codex-callout">
<div class="codex-callout-title">Callout Title</div>
Callout text here.
</div>
</pre>
 
=== codex-lead ===
 
<div class="codex-page codex-page--hawkmoon">
<p class="codex-lead">This is lead paragraph styling for an opening paragraph or emphasized introduction.</p>
</div>
 
<pre>
<p class="codex-lead">Opening paragraph text.</p>
</pre>
 
=== codex-smallcaps ===
 
<div class="codex-page codex-page--hawkmoon">
<p><span class="codex-smallcaps">Small Caps Example</span></p>
</div>
 
<pre>
<span class="codex-smallcaps">Small Caps Example</span>
</pre>
 
=== codex-grid And codex-card ===
 
<div class="codex-page codex-page--ffbt">
<div class="codex-grid">
<div class="codex-card">
'''Card One'''<br>
Example card text.
</div>
<div class="codex-card">
'''Card Two'''<br>
Example card text.
</div>
</div>
</div>
 
<pre>
<div class="codex-grid">
<div class="codex-card">Card One</div>
<div class="codex-card">Card Two</div>
</div>
</pre>
 
=== codex-divider ===
 
<div class="codex-page codex-page--apes">
<hr class="codex-divider">
</div>
 
<pre>
<hr class="codex-divider">
</pre>
</pre>
=== Variant Callouts ===
Stormbringer and Hawkmoon define special canonical variant names:
* <code>codex-callout--chaos</code>
* <code>codex-callout--doom</code>
* <code>codex-callout--gm</code>


== Nightcats Skin ==
== Nightcats Skin ==
=== Canonical Wrapper ===
<pre>
<div class="codex-page codex-page--nightcats">
...
</div>
</pre>
=== Canonical Nav ===
<pre>
<div class="codex-navbox codex-navbox--nightcats">
<strong class="codex-nav-title">Nightcats Codex</strong>
...
</div>
</pre>
=== Example ===


<div class="codex-page codex-page--nightcats">
<div class="codex-page codex-page--nightcats">
== Nightcats Example ==
== Nightcats Example ==


This is a paragraph inside <code>codex-page codex-page--nightcats</code>.
This is paragraph text in the Nightcats skin.


A link looks like [[Nightcats:Jhelum|this]].
<div class="codex-panel">
<div class="codex-panel-title">Jungle Lore</div>
The canonical <code>codex-panel</code> is supported here, and maps to the older Nightcats panel styling.
</div>


{| class="wikitable"
<div class="nightcats-panel">
! Header !! Header
<div class="nightcats-panel-title">Legacy Nightcats Panel</div>
|-
The legacy Nightcats class still works too.
| Cell || Cell
</div>
|-
 
| Cell || Cell
<table class="nightcats-stats">
|}
<tr><th>Strength</th><td>d8</td></tr>
<tr><th>Agility</th><td>d6</td></tr>
</table>
 
<div class="nightcats-tags"><strong>Tags:</strong> Beast, Jungle, Rare</div>


<blockquote>
<blockquote>
Line 60: Line 268:
</blockquote>
</blockquote>
</div>
</div>
=== Nightcats-Specific Classes ===
* <code>nightcats-header</code>
* <code>nightcats-panel</code>
* <code>nightcats-panel-title</code>
* <code>nightcats-panel-subtitle</code>
* <code>nightcats-panel--beast</code>
* <code>nightcats-panel--hazard</code>
* <code>nightcats-panel--sorcery</code>
* <code>nightcats-stats</code>
* <code>nightcats-tags</code>
* <code>nightcats-panel-grid</code>
* <code>nightcats-panel-grid--two</code>
* <code>nightcats-panel-image-top</code>
* <code>nightcats-frame right</code> for responsive image behavior in the CSS
=== Nightcats Example Markup ===


<pre>
<pre>
&lt;div class="codex-page codex-page--nightcats"&gt;
<div class="codex-page codex-page--nightcats">
== Nightcats Example ==
<div class="nightcats-panel nightcats-panel--beast">
<div class="nightcats-panel-image-top">
[[File:Tiger.jpg|380px]]
</div>
<div class="nightcats-panel-title">Tiger</div>
A silent killer of the green dark.
</div>
</div>
</pre>
 
== Five Fists / Burning Temple Skin ==
 
=== Canonical Wrapper ===


Paragraph text.
<pre>
<div class="codex-page codex-page--ffbt">
...
</div>
</pre>


{| class="wikitable"
=== Canonical Nav ===
! Header !! Header
|-
| Cell || Cell
|}


&lt;blockquote&gt;
<pre>
Quoted text.
<div class="codex-navbox codex-navbox--ffbt">
&lt;/blockquote&gt;
<strong class="codex-nav-title">Burning Temple Codex</strong>
&lt;/div&gt;
...
</div>
</pre>
</pre>


== Five Fists / Burning Temple Skin ==
=== Example ===


<div class="codex-page codex-page--ffbt">
<div class="codex-page codex-page--ffbt">
== Burning Temple Example ==
== Burning Temple Example ==


This is the base FFBT wrapper.
<div class="codex-callout">
 
<div class="codex-callout-title">Master’s Saying</div>
<div class="ffbt-callout">
<strong>Master’s Saying</strong>
Patience is also a weapon.
Patience is also a weapon.
</div>
</div>
Line 103: Line 340:
</div>
</div>


<div class="ffbt-grid">
<div class="codex-grid">
<div class="ffbt-card">
<div class="codex-card">
=== Tiger Style ===
=== Tiger Style ===
Relentless, fierce, direct.
Relentless, fierce, direct.
</div>
</div>
<div class="ffbt-card">
<div class="codex-card">
=== Crane Style ===
=== Crane Style ===
Precise, elegant, evasive.
Precise, elegant, evasive.
</div>
<div class="ffbt-card">
=== Monkey Style ===
Unpredictable, agile, deceptive.
</div>
</div>
</div>
</div>
Line 123: Line 356:
|-
|-
| Throw || Put the foe on the ground
| Throw || Put the foe on the ground
|-
| Lock || Limit movement
|}
|}
</div>
</div>
Line 130: Line 361:
<span class="ffbt-tag">Martial</span>
<span class="ffbt-tag">Martial</span>
<span class="ffbt-tag">Discipline</span>
<span class="ffbt-tag">Discipline</span>
<span class="ffbt-tag">Honor</span>
</div>
</div>
=== FFBT-Specific Classes ===
* <code>ffbt-header</code>
* <code>ffbt-callout</code>
* <code>ffbt-seal</code>
* <code>ffbt-stylebox</code>
* <code>ffbt-statblock</code>
* <code>ffbt-divider</code>
* <code>ffbt-quote</code>
* <code>ffbt-grid</code>
* <code>ffbt-card</code>
* <code>ffbt-quicklinks</code>
* <code>ffbt-table</code>
* <code>ffbt-tag</code>
=== FFBT Example Markup ===


<pre>
<pre>
&lt;div class="codex-page codex-page--ffbt"&gt;
<div class="codex-page codex-page--ffbt">
 
<div class="ffbt-callout">
&lt;div class="ffbt-callout"&gt;
<strong>Master’s Saying</strong>
&lt;strong&gt;Master’s Saying&lt;/strong&gt;
Patience is also a weapon.
Patience is also a weapon.
&lt;/div&gt;
</div>


&lt;div class="ffbt-seal"&gt;Disciplined Style&lt;/div&gt;
<div class="ffbt-grid">
<div class="ffbt-card">Tiger</div>
<div class="ffbt-card">Crane</div>
</div>
</div>
</pre>


&lt;div class="ffbt-stylebox"&gt;
== Sigil Lands Skin ==
=== Style Box ===
Use this for schools, techniques, or doctrine summaries.
&lt;/div&gt;


&lt;div class="ffbt-statblock"&gt;
=== Canonical Wrapper ===
'''Master Iron Crane'''&lt;br&gt;
Agility d8, Smarts d6, Spirit d8, Strength d6, Vigor d8
&lt;/div&gt;


&lt;div class="ffbt-grid"&gt;
<pre>
&lt;div class="ffbt-card"&gt;
<div class="codex-page codex-page--sigil">
=== Tiger Style ===
...
Relentless, fierce, direct.
</div>
&lt;/div&gt;
</pre>
&lt;div class="ffbt-card"&gt;
=== Crane Style ===
Precise, elegant, evasive.
&lt;/div&gt;
&lt;/div&gt;


&lt;div class="ffbt-table"&gt;
=== Canonical Nav ===
{| class="wikitable"
! Maneuver !! Effect
|-
| Throw || Put the foe on the ground
|}
&lt;/div&gt;


&lt;span class="ffbt-tag"&gt;Martial&lt;/span&gt;
<pre>
&lt;/div&gt;
<div class="codex-navbox codex-navbox--sigil">
<strong class="codex-nav-title">Sigil Lands Codex</strong>
...
</div>
</pre>
</pre>


== Sigil Lands Skin ==
=== Example ===


<div class="codex-page codex-page--sigil">
<div class="codex-page codex-page--sigil">
== Sigil Lands Example ==
== Sigil Lands Example ==


This is the Sigil wrapper.
<div class="codex-subtitle">A skin for chronicles, lore essays, and older-world material.</div>


It is suited to chronicles, lore essays, and older world material.
This wrapper is suited to historical or reflective setting text.


{| class="wikitable"
{| class="wikitable"
Line 193: Line 430:
|}
|}
</div>
</div>
=== Sigil Notes ===
The Sigil skin uses fewer custom component classes than the other subsites. The important styles are the wrapper, nav, and the canonical <code>codex-subtitle</code> and <code>codex-nav-title</code> hooks.
== Stormbringer Skin ==
=== Canonical Wrapper ===


<pre>
<pre>
&lt;div class="codex-page codex-page--sigil"&gt;
<div class="codex-page codex-page--stormbringer">
== Sigil Lands Example ==
...
</div>
</pre>


Lore text here.
=== Canonical Nav ===


{| class="wikitable"
<pre>
! Realm !! Condition
<div class="codex-navbox codex-navbox--stormbringer">
|-
<strong class="codex-nav-title">Stormbringer Codex</strong>
| Angharais || Enduring
...
|}
</div>
&lt;/div&gt;
</pre>
</pre>


== Stormbringer Skin ==
Legacy nav aliases still supported in CSS:
* <code>stormbringer-nav</code>
* <code>codex-nav--stormbringer</code>
 
=== Example ===


<div class="codex-page codex-page--stormbringer">
<div class="codex-page codex-page--stormbringer">
= Stormbringer Example =
= Stormbringer Example =


<div class="storm-subtitle">A world of dying empires and bargains best left unmade.</div>
<div class="codex-subtitle">A world of dying empires and bargains best left unmade.</div>


This is the Stormbringer wrapper.
<div class="codex-panel">
 
<div class="storm-panel">
'''Storm Panel'''<br>
'''Storm Panel'''<br>
Use this for sidebars, lore capsules, or boxed rules.
Use this for sidebars, lore capsules, or boxed rules.
</div>
</div>


<div class="storm-callout-chaos">
<div class="codex-callout--chaos">
'''Chaos Callout'''<br>
'''Chaos Callout'''<br>
Use this for uncanny, mutating, or destabilizing material.
Use this for uncanny, mutating, or destabilizing material.
</div>
</div>


<div class="storm-callout-doom">
<div class="codex-callout--doom">
'''Doom Callout'''<br>
'''Doom Callout'''<br>
Use this for prophecy, corruption, price, or fatal consequence.
Use this for prophecy, corruption, price, or fatal consequence.
Line 236: Line 484:
|-
|-
| Sorcery || Corruption
| Sorcery || Corruption
|-
| Empire || Decay
|}
|}
</div>


<blockquote>
=== Stormbringer-Specific Classes ===
All victories are temporary. Some are merely more splendid in their ruin.
 
</blockquote>
* <code>storm-subtitle</code>
* <code>storm-panel</code>
* <code>storm-callout-chaos</code>
* <code>storm-callout-doom</code>
* <code>storm-nav-title</code>
* <code>thumbcaption</code> is also styled within this skin
 
=== Stormbringer Example Markup ===
 
<pre>
<div class="codex-page codex-page--stormbringer">
<div class="storm-subtitle">A dying age.</div>
 
<div class="storm-panel">
Lore text.
</div>
 
<div class="storm-callout-doom">
All victories are temporary.
</div>
</div>
</pre>
 
== Hawkmoon Skin ==
 
=== Canonical Wrapper ===
 
<pre>
<div class="codex-page codex-page--hawkmoon">
...
</div>
</pre>
 
=== Canonical Nav ===
 
<pre>
<div class="codex-navbox codex-navbox--hawkmoon">
<strong class="codex-nav-title">Hawkmoon Codex</strong>
...
</div>
</pre>
 
Legacy aliases still supported:
* <code>hawkmoon-theme</code>
* <code>hawkmoon-navbox</code>
 
=== Banner ===
 
<div class="hawkmoon-banner">
[[File:PLACEHOLDER.jpg|900px]]
</div>
 
<pre>
<div class="hawkmoon-banner">
[[File:HawkmoonBanner.jpg|900px]]
</div>
</pre>
 
=== Example ===
 
<div class="codex-page codex-page--hawkmoon">
= Hawkmoon Example =
 
<p class="codex-lead">This is the lead paragraph styling for Hawkmoon pages.</p>
 
<div class="codex-panel">
<div class="codex-panel-title">Granbretan At A Glance</div>
Dark science, ruin, masks, and empire.
</div>
 
<div class="codex-callout--gm">
'''GM Note'''<br>
Use this for campaign guidance, ominous secrets, or behind-the-screen material.
</div>
 
<p><span class="codex-smallcaps">The Tragic Millenium</span> is ash, iron, and old cruelty.</p>
</div>
</div>
=== Hawkmoon-Specific Classes ===
* <code>hawkmoon-banner</code>
* <code>hawkmoon-banner-image</code>
* <code>hawkmoon-panel</code>
* <code>hawkmoon-panel-title</code>
* <code>hawkmoon-gm</code>
* <code>hawkmoon-lead</code>
* <code>hawkmoon-smallcaps</code>
* <code>hawkmoon-nav-title</code>
=== Hawkmoon Example Markup ===


<pre>
<pre>
&lt;div class="codex-page codex-page--stormbringer"&gt;
<div class="codex-page codex-page--hawkmoon">
= Stormbringer Example =
<p class="hawkmoon-lead">Opening paragraph.</p>
 
<div class="hawkmoon-panel">
<div class="hawkmoon-panel-title">Forbidden Science</div>
Panel text.
</div>


&lt;div class="storm-subtitle"&gt;A world of dying empires and bargains best left unmade.&lt;/div&gt;
<div class="hawkmoon-gm">
GM-only note.
</div>
</div>
</pre>


Paragraph text here.
== Apes Skin ==


&lt;div class="storm-panel"&gt;
=== Canonical Wrapper ===
'''Storm Panel'''&lt;br&gt;
Use this for sidebars, lore capsules, or boxed rules.
&lt;/div&gt;


&lt;div class="storm-callout-chaos"&gt;
<pre>
'''Chaos Callout'''&lt;br&gt;
<div class="codex-page codex-page--apes">
Use this for uncanny, mutating, or destabilizing material.
...
&lt;/div&gt;
</div>
</pre>


&lt;div class="storm-callout-doom"&gt;
=== Canonical Nav ===
'''Doom Callout'''&lt;br&gt;
Use this for prophecy, corruption, price, or fatal consequence.
&lt;/div&gt;


{| class="wikitable"
<pre>
! Power !! Cost
<div class="codex-navbox codex-navbox--apes">
|-
<strong class="codex-nav-title">Apes Codex</strong>
| Sorcery || Corruption
...
|}
</div>
&lt;/div&gt;
</pre>
</pre>


== Stormbringer Navigation ==
=== Example ===


<div class="codex-nav--stormbringer">
<div class="codex-page codex-page--apes">
<span class="storm-nav-title">Stormbringer Codex</span>
= Age Of The Covenant Example =
[[Stormbringer:Home|Home]] •
 
[[Stormbringer:Players Guide|Players Guide]] •
<div class="codex-subtitle">A parchment-and-bronze historical adventure skin.</div>
[[Stormbringer:Character Creation|Character Creation]] •
 
[[Stormbringer:Careers|Careers]] •
<div class="codex-callout">
[[Stormbringer:Boons|Boons]] •
<div class="codex-callout-title">Field Note</div>
[[Stormbringer:Flaws|Flaws]] •
The Covenant remains uneasy even in peace.
[[Stormbringer:Sorcery|Sorcery]] •
[[Stormbringer:Peoples|Peoples]] •
[[Stormbringer:Young Kingdoms|Young Kingdoms]] •
[[Stormbringer:Law and Chaos|Law and Chaos]]
</div>
</div>
<hr class="codex-divider">
<p><span class="apes-dropcap">T</span>his skin also defines a decorative drop cap class for opening paragraphs.</p>
</div>
=== Apes-Specific Classes ===
* <code>apes-subtitle</code>
* <code>apes-divider</code>
* <code>apes-callout</code>
* <code>apes-callout-title</code>
* <code>apes-dropcap</code>
* <code>apes-nav-title</code>
* <code>career-portrait</code> appears in responsive rules tied to this section
=== Apes Example Markup ===


<pre>
<pre>
&lt;div class="codex-nav--stormbringer"&gt;
<div class="codex-page codex-page--apes">
&lt;span class="storm-nav-title"&gt;Stormbringer Codex&lt;/span&gt;
<div class="apes-subtitle">A doubtful peace.</div>
[[Stormbringer:Home|Home]] •
 
[[Stormbringer:Players Guide|Players Guide]] •
<div class="apes-callout">
[[Stormbringer:Character Creation|Character Creation]] •
<div class="apes-callout-title">Field Note</div>
[[Stormbringer:Careers|Careers]] •
Callout text.
[[Stormbringer:Boons|Boons]] •
</div>
[[Stormbringer:Flaws|Flaws]] •
 
[[Stormbringer:Sorcery|Sorcery]] •
<hr class="apes-divider">
[[Stormbringer:Peoples|Peoples]] •
 
[[Stormbringer:Young Kingdoms|Young Kingdoms]] •
<p><span class="apes-dropcap">T</span>he bridge still stands.</p>
[[Stormbringer:Law and Chaos|Law and Chaos]]
</div>
&lt;/div&gt;
</pre>
</pre>


== Quick Reference ==
== Legacy Alias Summary ==
 
These legacy names are still supported and are worth knowing when reading older pages:
 
{| class="wikitable"
! Subsite !! Canonical Pattern !! Legacy Names Still Supported
|-
| Nightcats || <code>codex-page codex-page--nightcats</code>, <code>codex-navbox codex-navbox--nightcats</code>, <code>codex-panel</code> || <code>nightcats-panel</code>, <code>nightcats-panel-title</code>, related Nightcats panel classes
|-
| Burning Temple || <code>codex-page codex-page--ffbt</code>, <code>codex-navbox codex-navbox--ffbt</code>, <code>codex-callout</code>, <code>codex-grid</code>, <code>codex-card</code> || <code>ffbt-callout</code>, <code>ffbt-grid</code>, <code>ffbt-card</code>, <code>ffbt-stylebox</code>
|-
| Sigil Lands || <code>codex-page codex-page--sigil</code>, <code>codex-navbox codex-navbox--sigil</code> || none of major importance beyond standard wrapper usage
|-
| Stormbringer || <code>codex-page codex-page--stormbringer</code>, <code>codex-navbox codex-navbox--stormbringer</code>, <code>codex-callout--chaos</code>, <code>codex-callout--doom</code> || <code>storm-subtitle</code>, <code>storm-panel</code>, <code>storm-callout-chaos</code>, <code>storm-callout-doom</code>, <code>stormbringer-nav</code>, <code>codex-nav--stormbringer</code>
|-
| Hawkmoon || <code>codex-page codex-page--hawkmoon</code>, <code>codex-navbox codex-navbox--hawkmoon</code>, <code>codex-callout--gm</code>, <code>codex-lead</code>, <code>codex-smallcaps</code> || <code>hawkmoon-theme</code>, <code>hawkmoon-navbox</code>, <code>hawkmoon-panel</code>, <code>hawkmoon-gm</code>, <code>hawkmoon-lead</code>
|-
| Apes || <code>codex-page codex-page--apes</code>, <code>codex-navbox codex-navbox--apes</code>, <code>codex-callout</code>, <code>codex-divider</code> || <code>apes-subtitle</code>, <code>apes-callout</code>, <code>apes-callout-title</code>, <code>apes-divider</code>
|}
 
== Quick Lookup ==


'''Shared'''
'''Shared'''
* <code>codex-banner</code>
* <code>codex-page</code>
* <code>codex-page</code>
* <code>codex-navbox</code>
* <code>codex-navbox</code>
* <code>codex-banner</code>
* <code>codex-nav-title</code>
* <code>codex-subtitle</code>
* <code>codex-panel</code>
* <code>codex-panel-title</code>
* <code>codex-callout</code>
* <code>codex-callout-title</code>
* <code>codex-lead</code>
* <code>codex-smallcaps</code>
* <code>codex-grid</code>
* <code>codex-card</code>
* <code>codex-divider</code>


'''Nightcats'''
'''Nightcats'''
* <code>codex-page codex-page--nightcats</code>
* <code>codex-page--nightcats</code>
* <code>codex-navbox codex-navbox--nightcats</code>
* <code>codex-navbox--nightcats</code>
* <code>nightcats-panel</code>
* <code>nightcats-stats</code>
* <code>nightcats-tags</code>


'''Burning Temple'''
'''Burning Temple'''
* <code>codex-page codex-page--ffbt</code>
* <code>codex-page--ffbt</code>
* <code>codex-navbox--ffbt</code>
* <code>ffbt-callout</code>
* <code>ffbt-callout</code>
* <code>ffbt-seal</code>
* <code>ffbt-seal</code>
Line 331: Line 716:


'''Sigil Lands'''
'''Sigil Lands'''
* <code>codex-page codex-page--sigil</code>
* <code>codex-page--sigil</code>
* <code>codex-navbox codex-navbox--sigil</code>
* <code>codex-navbox--sigil</code>


'''Stormbringer'''
'''Stormbringer'''
* <code>codex-page codex-page--stormbringer</code>
* <code>codex-page--stormbringer</code>
* <code>codex-navbox--stormbringer</code>
* <code>storm-subtitle</code>
* <code>storm-subtitle</code>
* <code>storm-panel</code>
* <code>storm-panel</code>
* <code>storm-callout-chaos</code>
* <code>storm-callout-chaos</code>
* <code>storm-callout-doom</code>
* <code>storm-callout-doom</code>
* <code>codex-nav--stormbringer</code>
* <code>storm-nav-title</code>
* <code>storm-nav-title</code>
'''Hawkmoon'''
* <code>codex-page--hawkmoon</code>
* <code>codex-navbox--hawkmoon</code>
* <code>hawkmoon-banner</code>
* <code>hawkmoon-panel</code>
* <code>hawkmoon-gm</code>
* <code>hawkmoon-lead</code>
* <code>hawkmoon-smallcaps</code>
* <code>hawkmoon-nav-title</code>
'''Apes'''
* <code>codex-page--apes</code>
* <code>codex-navbox--apes</code>
* <code>apes-subtitle</code>
* <code>apes-divider</code>
* <code>apes-callout</code>
* <code>apes-callout-title</code>
* <code>apes-dropcap</code>
* <code>apes-nav-title</code>


</div>
</div>
[[Category:Crucible Codex]]
[[Category:Crucible Codex]]

Latest revision as of 14:32, 23 April 2026

Crucible Codex Styles Guide

[edit]

This page is a working reference for the full Codex stylesheet.

It is meant to show the wrappers, navigation blocks, subsite skins, and reusable content components that currently exist in the CSS, including the newer canonical codex-* component names and the older legacy aliases that still render.

Use the canonical patterns for all new pages. Legacy names are documented here so older pages remain understandable.

Canonical Page Pattern

[edit]

For all new subsite pages, use this general structure:

{{HeaderTemplate}}
<div class="codex-page codex-page--subsite">

= Page Title =

Page content here.

{{NavTemplate}}
</div>

For nav templates, use this general structure:

<includeonly>
<div class="codex-navbox codex-navbox--subsite">
<strong class="codex-nav-title">Subsite Codex</strong>
[[Subsite:Home|Home]] • [[Subsite:Character Creation|Character Creation]]
</div>
</includeonly>

Shared Foundation

[edit]

These styles affect the whole wiki, not just one subsite.

Global Page Skin

[edit]

The site-wide body, headings, links, forms, tables, infoboxes, TOC, code blocks, and images all have a shared dark Codex treatment.

Reusable selectors documented in CSS include:

  • html, body, .mw-page-container, .vector-body
  • .mw-body
  • #firstHeading, .mw-first-heading, .mw-parser-output h1-h6
  • .vector-pinned-container, .vector-column-start, #mw-panel, .vector-menu, .vector-user-links
  • .vector-header-container, .vector-header, .mw-header, .vector-page-toolbar, .vector-sticky-header, .vector-page-titlebar
  • .vector-search-box, .vector-search-box-vue, .vector-typeahead-search-container, #searchInput
  • .wikitable, .infobox, .portable-infobox
  • #toc, .toc, .catlinks
  • pre, code
  • .thumb, .thumbinner, .mw-file-element, .floatright, .floatleft
  • .mw-editsection and related section-edit selectors are hidden globally

Shared Banner

[edit]
<div class="codex-banner">
[[File:Banner.jpg|900px]]
</div>

Use:

  • codex-banner for a standard centered banner
  • codex-header for shared header wrappers where needed

Shared Page Wrapper

[edit]

This is the default shared codex-page wrapper. It gives the page its centered panel, padding, line spacing, rounded corners, and drop-shadow.

<div class="codex-page">
Your page content here.
</div>

Shared Navigation Wrapper

[edit]

Codex Navigation Home • Help • All Pages

<div class="codex-navbox">
<strong>Codex Navigation</strong>
[[Main Page|Home]] • [[Help:Contents|Help]] • [[Special:AllPages|All Pages]]
</div>

Canonical Reusable Components

[edit]

These are the newer, future-facing shared component names. Use these for all new work where practical.

codex-nav-title

[edit]

Example Codex Home • Help

<div class="codex-navbox codex-navbox--subsite">
<strong class="codex-nav-title">Subsite Codex</strong>
[[Subsite:Home|Home]]
</div>

codex-subtitle

[edit]
A short italic subtitle placed beneath a major heading.
<div class="codex-subtitle">A short italic subtitle.</div>

codex-panel And codex-panel-title

[edit]
Panel Title

Panel text goes here.

<div class="codex-panel">
<div class="codex-panel-title">Panel Title</div>
Panel text goes here.
</div>

codex-callout And codex-callout-title

[edit]
Callout Title

This is a reusable callout block.

<div class="codex-callout">
<div class="codex-callout-title">Callout Title</div>
Callout text here.
</div>

codex-lead

[edit]

This is lead paragraph styling for an opening paragraph or emphasized introduction.

<p class="codex-lead">Opening paragraph text.</p>

codex-smallcaps

[edit]

Small Caps Example

<span class="codex-smallcaps">Small Caps Example</span>

codex-grid And codex-card

[edit]

Card One
Example card text.

Card Two
Example card text.

<div class="codex-grid">
<div class="codex-card">Card One</div>
<div class="codex-card">Card Two</div>
</div>

codex-divider

[edit]

<hr class="codex-divider">

Variant Callouts

[edit]

Stormbringer and Hawkmoon define special canonical variant names:

  • codex-callout--chaos
  • codex-callout--doom
  • codex-callout--gm

Nightcats Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--nightcats">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--nightcats">
<strong class="codex-nav-title">Nightcats Codex</strong>
...
</div>

Example

[edit]

Nightcats Example

[edit]

This is paragraph text in the Nightcats skin.

Jungle Lore

The canonical codex-panel is supported here, and maps to the older Nightcats panel styling.

Legacy Nightcats Panel

The legacy Nightcats class still works too.

Strengthd8
Agilityd6
Tags: Beast, Jungle, Rare

The jungle remembers what men forget.

Nightcats-Specific Classes

[edit]
  • nightcats-header
  • nightcats-panel
  • nightcats-panel-title
  • nightcats-panel-subtitle
  • nightcats-panel--beast
  • nightcats-panel--hazard
  • nightcats-panel--sorcery
  • nightcats-stats
  • nightcats-tags
  • nightcats-panel-grid
  • nightcats-panel-grid--two
  • nightcats-panel-image-top
  • nightcats-frame right for responsive image behavior in the CSS

Nightcats Example Markup

[edit]
<div class="codex-page codex-page--nightcats">
<div class="nightcats-panel nightcats-panel--beast">
<div class="nightcats-panel-image-top">
[[File:Tiger.jpg|380px]]
</div>
<div class="nightcats-panel-title">Tiger</div>
A silent killer of the green dark.
</div>
</div>

Five Fists / Burning Temple Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--ffbt">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--ffbt">
<strong class="codex-nav-title">Burning Temple Codex</strong>
...
</div>

Example

[edit]

Burning Temple Example

[edit]
Master’s Saying

Patience is also a weapon.

Disciplined Style

Style Box

[edit]

Use this for schools, techniques, or doctrine summaries.

Master Iron Crane
Agility d8, Smarts d6, Spirit d8, Strength d6, Vigor d8

Tiger Style

[edit]

Relentless, fierce, direct.

Crane Style

[edit]

Precise, elegant, evasive.

Maneuver Effect
Throw Put the foe on the ground

Martial Discipline

FFBT-Specific Classes

[edit]
  • ffbt-header
  • ffbt-callout
  • ffbt-seal
  • ffbt-stylebox
  • ffbt-statblock
  • ffbt-divider
  • ffbt-quote
  • ffbt-grid
  • ffbt-card
  • ffbt-quicklinks
  • ffbt-table
  • ffbt-tag

FFBT Example Markup

[edit]
<div class="codex-page codex-page--ffbt">
<div class="ffbt-callout">
<strong>Master’s Saying</strong>
Patience is also a weapon.
</div>

<div class="ffbt-grid">
<div class="ffbt-card">Tiger</div>
<div class="ffbt-card">Crane</div>
</div>
</div>

Sigil Lands Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--sigil">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--sigil">
<strong class="codex-nav-title">Sigil Lands Codex</strong>
...
</div>

Example

[edit]

Sigil Lands Example

[edit]
A skin for chronicles, lore essays, and older-world material.

This wrapper is suited to historical or reflective setting text.

Realm Condition
Angharais Enduring
Vorghol Shrouded

Sigil Notes

[edit]

The Sigil skin uses fewer custom component classes than the other subsites. The important styles are the wrapper, nav, and the canonical codex-subtitle and codex-nav-title hooks.

Stormbringer Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--stormbringer">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--stormbringer">
<strong class="codex-nav-title">Stormbringer Codex</strong>
...
</div>

Legacy nav aliases still supported in CSS:

  • stormbringer-nav
  • codex-nav--stormbringer

Example

[edit]

Stormbringer Example

[edit]
A world of dying empires and bargains best left unmade.

Storm Panel
Use this for sidebars, lore capsules, or boxed rules.

Chaos Callout
Use this for uncanny, mutating, or destabilizing material.

Doom Callout
Use this for prophecy, corruption, price, or fatal consequence.

Power Cost
Sorcery Corruption

Stormbringer-Specific Classes

[edit]
  • storm-subtitle
  • storm-panel
  • storm-callout-chaos
  • storm-callout-doom
  • storm-nav-title
  • thumbcaption is also styled within this skin

Stormbringer Example Markup

[edit]
<div class="codex-page codex-page--stormbringer">
<div class="storm-subtitle">A dying age.</div>

<div class="storm-panel">
Lore text.
</div>

<div class="storm-callout-doom">
All victories are temporary.
</div>
</div>

Hawkmoon Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--hawkmoon">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--hawkmoon">
<strong class="codex-nav-title">Hawkmoon Codex</strong>
...
</div>

Legacy aliases still supported:

  • hawkmoon-theme
  • hawkmoon-navbox
[edit]
<div class="hawkmoon-banner">
[[File:HawkmoonBanner.jpg|900px]]
</div>

Example

[edit]

Hawkmoon Example

[edit]

This is the lead paragraph styling for Hawkmoon pages.

Granbretan At A Glance

Dark science, ruin, masks, and empire.

GM Note
Use this for campaign guidance, ominous secrets, or behind-the-screen material.

The Tragic Millenium is ash, iron, and old cruelty.

Hawkmoon-Specific Classes

[edit]
  • hawkmoon-banner
  • hawkmoon-banner-image
  • hawkmoon-panel
  • hawkmoon-panel-title
  • hawkmoon-gm
  • hawkmoon-lead
  • hawkmoon-smallcaps
  • hawkmoon-nav-title

Hawkmoon Example Markup

[edit]
<div class="codex-page codex-page--hawkmoon">
<p class="hawkmoon-lead">Opening paragraph.</p>

<div class="hawkmoon-panel">
<div class="hawkmoon-panel-title">Forbidden Science</div>
Panel text.
</div>

<div class="hawkmoon-gm">
GM-only note.
</div>
</div>

Apes Skin

[edit]

Canonical Wrapper

[edit]
<div class="codex-page codex-page--apes">
...
</div>

Canonical Nav

[edit]
<div class="codex-navbox codex-navbox--apes">
<strong class="codex-nav-title">Apes Codex</strong>
...
</div>

Example

[edit]

Age Of The Covenant Example

[edit]
A parchment-and-bronze historical adventure skin.
Field Note

The Covenant remains uneasy even in peace.


This skin also defines a decorative drop cap class for opening paragraphs.

Apes-Specific Classes

[edit]
  • apes-subtitle
  • apes-divider
  • apes-callout
  • apes-callout-title
  • apes-dropcap
  • apes-nav-title
  • career-portrait appears in responsive rules tied to this section

Apes Example Markup

[edit]
<div class="codex-page codex-page--apes">
<div class="apes-subtitle">A doubtful peace.</div>

<div class="apes-callout">
<div class="apes-callout-title">Field Note</div>
Callout text.
</div>

<hr class="apes-divider">

<p><span class="apes-dropcap">T</span>he bridge still stands.</p>
</div>

Legacy Alias Summary

[edit]

These legacy names are still supported and are worth knowing when reading older pages:

Subsite Canonical Pattern Legacy Names Still Supported
Nightcats codex-page codex-page--nightcats, codex-navbox codex-navbox--nightcats, codex-panel nightcats-panel, nightcats-panel-title, related Nightcats panel classes
Burning Temple codex-page codex-page--ffbt, codex-navbox codex-navbox--ffbt, codex-callout, codex-grid, codex-card ffbt-callout, ffbt-grid, ffbt-card, ffbt-stylebox
Sigil Lands codex-page codex-page--sigil, codex-navbox codex-navbox--sigil none of major importance beyond standard wrapper usage
Stormbringer codex-page codex-page--stormbringer, codex-navbox codex-navbox--stormbringer, codex-callout--chaos, codex-callout--doom storm-subtitle, storm-panel, storm-callout-chaos, storm-callout-doom, stormbringer-nav, codex-nav--stormbringer
Hawkmoon codex-page codex-page--hawkmoon, codex-navbox codex-navbox--hawkmoon, codex-callout--gm, codex-lead, codex-smallcaps hawkmoon-theme, hawkmoon-navbox, hawkmoon-panel, hawkmoon-gm, hawkmoon-lead
Apes codex-page codex-page--apes, codex-navbox codex-navbox--apes, codex-callout, codex-divider apes-subtitle, apes-callout, apes-callout-title, apes-divider

Quick Lookup

[edit]

Shared

  • codex-banner
  • codex-page
  • codex-navbox
  • codex-nav-title
  • codex-subtitle
  • codex-panel
  • codex-panel-title
  • codex-callout
  • codex-callout-title
  • codex-lead
  • codex-smallcaps
  • codex-grid
  • codex-card
  • codex-divider

Nightcats

  • codex-page--nightcats
  • codex-navbox--nightcats
  • nightcats-panel
  • nightcats-stats
  • nightcats-tags

Burning Temple

  • codex-page--ffbt
  • codex-navbox--ffbt
  • ffbt-callout
  • ffbt-seal
  • ffbt-stylebox
  • ffbt-statblock
  • ffbt-grid
  • ffbt-card
  • ffbt-table
  • ffbt-tag

Sigil Lands

  • codex-page--sigil
  • codex-navbox--sigil

Stormbringer

  • codex-page--stormbringer
  • codex-navbox--stormbringer
  • storm-subtitle
  • storm-panel
  • storm-callout-chaos
  • storm-callout-doom
  • storm-nav-title

Hawkmoon

  • codex-page--hawkmoon
  • codex-navbox--hawkmoon
  • hawkmoon-banner
  • hawkmoon-panel
  • hawkmoon-gm
  • hawkmoon-lead
  • hawkmoon-smallcaps
  • hawkmoon-nav-title

Apes

  • codex-page--apes
  • codex-navbox--apes
  • apes-subtitle
  • apes-divider
  • apes-callout
  • apes-callout-title
  • apes-dropcap
  • apes-nav-title