/* Reusable responsive paired monster illustrations — global layout */
html body .sw-entry.sw-monster-entry .sw-monster-art-pair{
display:grid!important;
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
gap:1.25rem!important;
align-items:start!important;
margin:1.25rem 0 1.75rem!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-art-pair > .wp-block-column{
min-width:0!important;
width:auto!important;
flex:initial!important;
margin:0!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-art-pair .sw-monster-illustration{
margin:0!important;
}
@media (max-width: 700px) {
html body .sw-entry.sw-monster-entry .sw-monster-art-pair{
grid-template-columns:minmax(0, 1fr)!important;
}
}
/* End paired monster illustrations */
/* SPIRALWORLDS NPC DIRECTORY GRID — global reusable card layout, 2026-10-07 */
.sw-npc-card-grid{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:1.5rem;
align-items:stretch;
background:var(--ast-global-color-8, #111116)!important;
padding:1.25rem!important;
margin-top:0!important;
margin-bottom:0!important;
}
.sw-npc-card-grid > .wp-block-column{
min-width:0!important;
margin:0!important;
width:auto!important;
flex-basis:auto!important;
}
.sw-npc-card-grid > .wp-block-column > .wp-block-group, .sw-npc-card-grid > .wp-block-column > .wp-block-group > .wp-block-group__inner-container{
height:100%;
}
.sw-npc-card-grid > .wp-block-column > .wp-block-group > .wp-block-group__inner-container{
display:flex;
flex-direction:column;
}
.sw-npc-card-grid .wp-block-image{
width:100%;
margin:0 0 .8rem;
overflow:hidden;
}
.sw-npc-card-grid .wp-block-image a{
display:block;
}
.sw-npc-card-grid .wp-block-image img{
display:block;
width:100%!important;
aspect-ratio:1 / 1!important;
object-fit:cover!important;
object-position:center 20%!important;
}
.sw-npc-card-grid h3{
margin:0 0 .45rem!important;
min-height:2.5em;
font-size:clamp(1rem, 1.3vw, 1.2rem)!important;
line-height:1.25!important;
}
.sw-npc-card-grid h3 a{
color:#c9a227!important;
text-decoration:none!important;
}
.sw-npc-card-grid p{
margin:0!important;
color:#ddd9e2!important;
font-size:.94rem!important;
line-height:1.45!important;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
h3[id^="npc-"].wp-block-heading{
margin:2.25rem 0 0!important;
padding:1rem 1.25rem .85rem!important;
background:var(--ast-global-color-8, #111116)!important;
color:#f2eff5!important;
}
.sw-npc-card-grid + .sw-npc-card-grid{
padding-top:0!important;
}
@media (max-width: 921px) {
.sw-npc-card-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 600px) {
.sw-npc-card-grid{
grid-template-columns:1fr;
}
}
/* SPIRALWORLDS CANONICAL EDITION TABS — hard lock, 2026-09-28
   Global only. Direct-child selectors; no :has() dependency. */
/* SW Flesh Golem: shared monster edition tab and identity component */
/* Append once to the ONE global SpiralWorlds stylesheet. No inline/per-page CSS. */
.sw-monster-entry .sw-monster-hero{
margin:0 0 1.5rem;
}
/* Reusable full-width illustration, separate from two-column monster hero. */
html body .sw-entry.sw-monster-entry .sw-monster-illustration{
display:block!important;
float:none!important;
clear:both!important;
position:static!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
margin:0 0 1.5rem!important;
padding:0!important;
border:0!important;
background:transparent!important;
grid-template-columns:none!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration > a{
display:block!important;
width:100%!important;
max-width:100%!important;
line-height:0;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration img{
display:block!important;
float:none!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
margin:0!important;
object-fit:contain;
border-radius:8px;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration-caption{
display:block!important;
position:static!important;
float:none!important;
width:100%!important;
margin:.5rem 0 0!important;
padding:0!important;
font-size:.86rem;
line-height:1.45;
opacity:.85;
text-align:center!important;
}
/* End reusable monster illustration. */
/* Reusable restrained portrait hero — tall monster art only, no cropping. */
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-portrait-hero{
width:min(100%, 420px)!important;
max-width:420px!important;
margin:0 auto 1.5rem!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-portrait-hero > a{
width:100%!important;
max-width:100%!important;
margin:0 auto!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-portrait-hero img{
width:auto!important;
max-width:100%!important;
height:auto!important;
max-height:480px!important;
margin:0 auto!important;
object-fit:contain!important;
}
/* End restrained portrait hero. */
/* Reusable landscape monster hero — height-controlled without cropping. */
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-landscape-hero{
width:min(100%, 900px)!important;
max-width:900px!important;
margin:0 auto 1.5rem!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-landscape-hero > a{
display:block!important;
width:100%!important;
max-width:100%!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-illustration.sw-monster-landscape-hero img{
width:auto!important;
max-width:100%!important;
height:auto!important;
max-height:460px!important;
margin:0 auto!important;
object-fit:contain!important;
}
/* End landscape monster hero. */
.sw-monster-entry .sw-monster-hero img{
display:block;
width:100%;
height:auto;
border-radius:8px;
}
.sw-monster-entry .sw-monster-hero figcaption{
font-size:.86rem;
opacity:.8;
margin-top:.4rem;
}
.sw-monster-entry .sw-monster-identity{
display:grid;
grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
gap:1.5rem;
align-items:start;
margin:1.5rem 0;
}
.sw-monster-entry .sw-monster-identity .sw-lead{
font-size:1.1em;
line-height:1.65;
}
.sw-monster-entry .sw-monster-facts{
border:1px solid currentColor;
border-radius:8px;
padding:1.1rem;
background:rgba(127,127,127,.06);
}
.sw-monster-entry .sw-monster-facts h2{
margin-top:0;
}
.sw-monster-entry .sw-monster-facts dl{
display:grid;
grid-template-columns:1fr 1.2fr;
gap:.45rem .8rem;
margin:0;
}
.sw-monster-entry .sw-monster-facts dt{
font-weight:700;
}
.sw-monster-entry .sw-monster-facts dd{
margin:0;
}
.sw-monster-entry .sw-edition-tabs{
position:relative;
margin:1.1rem 0 1.8rem;
}
.sw-monster-entry .sw-edition-tabs > .sw-edition-choice{
position:absolute;
left:0;
top:0;
width:1px;
height:1px;
margin:0;
padding:0;
border:0;
clip-path:inset(50%);
overflow:hidden;
opacity:0;
}
.sw-monster-entry .sw-edition-tabs > br{
display:none;
}
.sw-monster-entry .sw-edition-nav{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.4rem;
margin-bottom:0;
}
.sw-monster-entry .sw-edition-nav label{
min-height:44px;
min-width:0;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:.75rem .35rem;
cursor:pointer;
border:1px solid currentColor;
border-radius:5px 5px 0 0;
font-weight:700;
background:rgba(127,127,127,.08);
line-height:1.3;
}
.sw-monster-entry .sw-edition-choice:nth-of-type(1):checked ~ .sw-edition-nav label:nth-child(1), .sw-monster-entry .sw-edition-choice:nth-of-type(2):checked ~ .sw-edition-nav label:nth-child(2), .sw-monster-entry .sw-edition-choice:nth-of-type(3):checked ~ .sw-edition-nav label:nth-child(3), .sw-monster-entry .sw-edition-choice:nth-of-type(4):checked ~ .sw-edition-nav label:nth-child(4){
background:rgba(127,127,127,.21);
border-bottom-color:transparent;
}
/* Shared edition controls: keyboard focus follows the selected native radio. */
html body:not(.wp-admin) :is(.sw-tabs,.sw-tabset,.sw-edition-tabs) > input[type="radio"]:nth-of-type(1):focus-visible ~ :is(.sw-tab-labels,.sw-edition-nav) > label:nth-of-type(1), html body:not(.wp-admin) :is(.sw-tabs,.sw-tabset,.sw-edition-tabs) > input[type="radio"]:nth-of-type(2):focus-visible ~ :is(.sw-tab-labels,.sw-edition-nav) > label:nth-of-type(2), html body:not(.wp-admin) :is(.sw-tabs,.sw-tabset,.sw-edition-tabs) > input[type="radio"]:nth-of-type(3):focus-visible ~ :is(.sw-tab-labels,.sw-edition-nav) > label:nth-of-type(3), html body:not(.wp-admin) :is(.sw-tabs,.sw-tabset,.sw-edition-tabs) > input[type="radio"]:nth-of-type(4):focus-visible ~ :is(.sw-tab-labels,.sw-edition-nav) > label:nth-of-type(4){
outline:3px solid var(--sw-c-focus,currentColor)!important;
outline-offset:3px!important;
}
.sw-monster-entry .sw-edition-panels{
min-width:0;
max-width:100%;
border:1px solid currentColor;
border-radius:0 0 7px 7px;
padding:1.4rem;
}
.sw-monster-entry .sw-edition-panel{
min-width:0;
max-width:100%;
}
.sw-monster-entry .sw-edition-panels > .sw-edition-panel{
display:none!important;
}
.sw-monster-entry .sw-edition-choice:nth-of-type(1):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(1), .sw-monster-entry .sw-edition-choice:nth-of-type(2):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(2), .sw-monster-entry .sw-edition-choice:nth-of-type(3):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(3), .sw-monster-entry .sw-edition-choice:nth-of-type(4):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(4){
display:block!important;
}
.sw-monster-entry .sw-edition-panel > h3:first-child{
margin-top:0;
}
.sw-monster-entry .sw-edition-panel p{
margin:0 0 .9rem;
}
.sw-monster-entry .sw-edition-panel h4{
margin:1rem 0 .35rem;
}
.sw-monster-entry .sw-stat-overflow{
overflow-x:auto;
max-width:100%;
}
.sw-monster-entry table.sw-monster-abilities{
width:100%;
table-layout:fixed;
border-collapse:collapse;
}
.sw-monster-entry table.sw-monster-abilities th, .sw-monster-entry table.sw-monster-abilities td{
text-align:center;
padding:.45rem .15rem;
word-break:normal;
}
.sw-monster-entry .sw-edition-source{
font-size:.85rem;
opacity:.86;
}
.sw-monster-entry section:not(.sw-edition-panel) > h2{
margin-top:2rem;
}
@media(max-width:760px){
.sw-monster-entry .sw-monster-identity{
grid-template-columns:minmax(0,1fr);
}
.sw-monster-entry .sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-monster-entry .sw-edition-nav label{
border-radius:4px;
}
.sw-monster-entry .sw-edition-panels{
padding:.8rem;
}
.sw-monster-entry .sw-monster-facts dl{
grid-template-columns:1fr 1.1fr;
}
}
/* End SW monster edition component */
/* Reusable monster reference footer: bounded image and readable attribution */
html body .sw-entry.sw-monster-entry .sw-monster-sources{
min-width:0;
max-width:min(100%, 860px);
margin:2.5rem auto 0;
padding:1.25rem 0 0;
border-top:1px solid var(--sw-c-border, #55505e);
overflow-wrap:anywhere;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources > h3{
margin:1.65rem 0 .7rem;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-source-image{
display:block!important;
float:none!important;
clear:both!important;
width:min(100%, 320px)!important;
max-width:100%!important;
margin:1rem auto 1.75rem!important;
text-align:center;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-source-image img{
display:block!important;
float:none!important;
width:auto!important;
max-width:100%!important;
height:auto!important;
max-height:490px;
margin:0 auto!important;
object-fit:contain!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-source-image figcaption{
max-width:100%;
margin:.55rem auto 0;
font-size:.82rem!important;
line-height:1.5;
text-align:center;
overflow-wrap:anywhere;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-legal-note{
min-width:0;
max-width:100%;
margin:1rem 0 0;
padding:.65rem .95rem;
border:1px solid var(--sw-c-border, #55505e);
border-radius:8px;
background:rgba(127,127,127,.055);
overflow-wrap:anywhere;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-legal-note > summary{
cursor:pointer;
font-weight:700;
line-height:1.45;
padding:.3rem 0;
}
html body .sw-entry.sw-monster-entry .sw-monster-sources .sw-legal-note > p{
max-width:100%;
font-size:.85rem;
line-height:1.58;
margin:.8rem 0 0;
overflow-wrap:anywhere;
}
/* End reusable monster reference footer */
html body .sw-entry.sw-entry{
color:#e8e6eb!important;
}
html body .sw-entry.sw-entry :is(p,li,dd,dt,td,th,blockquote,figcaption){
color:#e8e6eb!important;
}
html body .sw-entry.sw-entry :is(h1,h2,h3,h4,h5,h6){
color:#f2eff5!important;
}
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio[type="radio"]{
position:absolute!important;
left:-10000px!important;
top:auto!important;
width:1px!important;
height:1px!important;
min-width:0!important;
margin:0!important;
padding:0!important;
border:0!important;
opacity:0!important;
overflow:hidden!important;
pointer-events:none!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.6rem!important;
margin:0 0 1rem!important;
padding:0!important;
background:transparent!important;
border:0!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-height:48px!important;
margin:0!important;
padding:.7rem .85rem!important;
border:1px solid #55505e!important;
border-radius:7px!important;
background:#25232b!important;
color:#f2eff5!important;
font-weight:700!important;
line-height:1.25!important;
text-align:center!important;
cursor:pointer!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
html body .sw-entry.sw-entry .sw-tabs > input[id$="-55"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-55"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-2024"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2024"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-2014"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2014"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-5e"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-5e"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-pf"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-pf1"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf1"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid #55505e!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-entry .sw-tabs > input[id$="-55"]:checked ~ .sw-tab-labels > label[for$="-55"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-2024"]:checked ~ .sw-tab-labels > label[for$="-2024"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-2014"]:checked ~ .sw-tab-labels > label[for$="-2014"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-5e"]:checked ~ .sw-tab-labels > label[for$="-5e"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-pf"]:checked ~ .sw-tab-labels > label[for$="-pf"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-pf1"]:checked ~ .sw-tab-labels > label[for$="-pf1"], html body .sw-entry.sw-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-labels > label[for$="-35"]{
background:#e6c68e!important;
border-color:#e6c68e!important;
color:#17130c!important;
}
@media (max-width:780px) {
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:520px) {
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* SpiralWorlds compact internal-page header */
body:not(.home) #masthead .main-header-bar{
padding:0!important;
border-bottom:1px solid rgba(214, 165, 45, 0.24);
background-color:#05080a!important;
background-image:none!important;
box-shadow:0 6px 24px rgba(0, 0, 0, 0.22);
}
body:not(.home) #masthead .ast-container{
width:min(1500px, calc(100% - 36px));
max-width:1500px;
padding:0;
}
body:not(.home) #masthead .main-header-container{
min-height:72px;
align-items:center;
flex-wrap:nowrap;
}
body:not(.home) #masthead .site-branding{
flex:0 0 auto;
margin:0;
}
body:not(.home) #masthead .ast-site-identity{
padding:8px 0;
align-items:center;
}
body:not(.home) #masthead .site-logo-img, body:not(.home) #masthead .custom-logo-link{
line-height:0;
}
body:not(.home) #masthead .custom-logo-link img{
width:52px!important;
max-width:52px!important;
height:52px!important;
object-fit:cover;
}
body:not(.home) #masthead .ast-site-title-wrap{
margin-left:12px;
}
body:not(.home) #masthead .site-title{
margin:0;
line-height:1;
}
body:not(.home) #masthead .site-title a{
color:#f3ead5!important;
font-family:Georgia, "Times New Roman", serif;
font-size:0;
font-weight:700;
letter-spacing:-0.02em;
text-decoration:none;
}
body:not(.home) #masthead .site-title a::after{
content:"SpiralWorlds";
font-size:28px;
}
body:not(.home) #masthead .ast-site-title-wrap::after{
content:"Myth is real. History remembers.";
display:block;
margin-top:5px;
color:#efd06f;
font-family:Georgia, "Times New Roman", serif;
font-size:10px;
font-style:italic;
line-height:1.1;
}
body:not(.home) #masthead .main-header-menu > .menu-item > .menu-link, body:not(.home) #masthead .ast-masthead-custom-menu-items{
color:#e9dfcb;
font-family:"Segoe UI", Tahoma, Arial, sans-serif;
font-size:11px;
font-weight:700;
letter-spacing:0.045em;
text-transform:uppercase;
}
body:not(.home) #masthead .main-header-menu > .menu-item > .menu-link:hover, body:not(.home) #masthead .main-header-menu > .current-menu-item > .menu-link, body:not(.home) #masthead .ast-masthead-custom-menu-items:hover{
color:#efd06f;
}
@media (min-width: 922px) {
body:not(.home) #masthead #primary-site-navigation, body:not(.home) #masthead .main-header-bar-navigation{
height:auto;
}
body:not(.home) #masthead .main-header-menu{
height:72px;
align-items:center;
flex-wrap:nowrap;
}
body:not(.home) #masthead .main-header-menu > .menu-item > .menu-link{
height:72px;
padding:0 8px;
}
body:not(.home) #masthead .ast-masthead-custom-menu-items{
padding-left:8px;
}
}
@media (max-width: 1120px) and (min-width: 922px) {
body:not(.home) #masthead .site-title a::after{
font-size:23px;
}
body:not(.home) #masthead .ast-site-title-wrap::after{
display:none;
}
body:not(.home) #masthead .main-header-menu > .menu-item > .menu-link{
padding:0 6px;
font-size:10px;
}
}
@media (max-width: 921px) {
body:not(.home) #masthead .main-header-container{
min-height:64px;
flex-wrap:wrap;
}
body:not(.home) #masthead .custom-logo-link img{
width:44px!important;
max-width:44px!important;
height:44px!important;
}
body:not(.home) #masthead .site-title a::after{
font-size:22px;
}
body:not(.home) #masthead .ast-site-title-wrap::after{
display:none;
}
body:not(.home) #masthead .ast-button-wrap .menu-toggle{
border:1px solid rgba(214, 165, 45, 0.72);
color:#efd06f;
background:transparent;
}
body:not(.home) #masthead .main-header-menu{
border-top:1px solid rgba(214, 165, 45, 0.24);
background:#080d11;
}
body:not(.home) #masthead .main-header-menu .menu-link{
border-bottom:1px solid rgba(214, 165, 45, 0.14);
color:#f3ead5;
}
}
/* ============================================================
   SPIRALWORLDS — MODERN PAGE WIDTH LOCK
   Pilot: Arcane Eye + Resilient Sphere
   ============================================================ */
/* ------------------------------------------------------------
   FUTURE STANDARDISED PAGES
   Any future page using .sw-entry gets the canonical shell.
   ------------------------------------------------------------ */
.sw-entry{
width:calc(100% - 40px)!important;
max-width:1400px!important;
margin-left:auto!important;
margin-right:auto!important;
box-sizing:border-box!important;
}
.sw-entry, .sw-entry *, .sw-entry *::before, .sw-entry *::after{
box-sizing:border-box;
}
.sw-entry img, .sw-entry video, .sw-entry iframe{
max-width:100%;
}
.sw-entry img{
height:auto;
}
/* ------------------------------------------------------------
   PILOT PAGES ONLY
   Arcane Eye + Resilient Sphere
   ------------------------------------------------------------ */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article{
width:calc(100% - 40px)!important;
max-width:1400px!important;
margin-left:auto!important;
margin-right:auto!important;
box-sizing:border-box!important;
}
/* Keep the WordPress content area inside the article */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article .entry-content{
width:100%!important;
max-width:100%!important;
margin-left:0!important;
margin-right:0!important;
box-sizing:border-box!important;
}
/* Repair the main custom wrapper if it is trying to break
   out to full browser width */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article .entry-content > div, html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article .entry-content > section{
width:100%!important;
max-width:100%!important;
margin-left:0!important;
margin-right:0!important;
left:auto!important;
right:auto!important;
box-sizing:border-box!important;
}
/* Neutralise WordPress full-width blocks on these pages */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article .alignfull{
width:100%!important;
max-width:100%!important;
margin-left:0!important;
margin-right:0!important;
}
/* Catch inline width:100vw rules */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article [style*="100vw"]{
width:100%!important;
max-width:100%!important;
margin-left:0!important;
margin-right:0!important;
}
/* Images cannot escape the content shell */
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article img{
max-width:100%;
height:auto;
}
/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
.sw-entry{
width:calc(100% - 32px)!important;
}
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article{
width:calc(100% - 32px)!important;
}
}
/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */
@media (max-width: 768px) {
.sw-entry{
width:calc(100% - 24px)!important;
}
html:has( head link[rel="canonical"]:is( [href*="/magic/spell-arcane-eye/"], [href*="/magic/spell-resilient-sphere/"] ) ) body .site-main article{
width:calc(100% - 24px)!important;
}
}
/* BEGIN SPIRALWORLDS CANONICAL ENTRIES — 1.0.0, 2026-09-08
 * One site-wide stylesheet; HTML entries contain no style blocks.
 * Scope: .sw-entry and its own WordPress title/container only.
 * Repeated .sw-entry specificity deliberately wins against older page CSS.
 * Canonical class contract: September 2026 rendering standard.
 * Existing generic component aliases are supported during migration.
 */
/* Shared dark palette is explicit, independent of device theme settings. */
.sw-entry.sw-entry{
--sw-c-bg: #121117;
--sw-c-panel: #1b1a20;
--sw-c-raised: #25232b;
--sw-c-text: #e8e6eb;
--sw-c-heading: #f2eff5;
--sw-c-muted: #b9b4c1;
--sw-c-border: #55505e;
--sw-c-link: #e6c68e;
--sw-c-hover: #ffe1a9;
--sw-c-active: #e6c68e;
--sw-c-active-text: #17130c;
--sw-c-focus: #ffe1a9;
/* Map existing generic tokens once; stop old per-page palette switches. */
--sw-bg: var(--sw-c-bg) !important;
--sw-panel: var(--sw-c-panel) !important;
--sw-panel-2: var(--sw-c-raised) !important;
--sw-bg-soft: var(--sw-c-panel) !important;
--sw-bg-panel: var(--sw-c-panel) !important;
--sw-bg-panel-strong: var(--sw-c-raised) !important;
--sw-text: var(--sw-c-text) !important;
--sw-heading: var(--sw-c-heading) !important;
--sw-heading-strong: var(--sw-c-heading) !important;
--sw-muted: var(--sw-c-muted) !important;
--sw-text-soft: var(--sw-c-text) !important;
--sw-text-muted: var(--sw-c-muted) !important;
--sw-border: var(--sw-c-border) !important;
--sw-border-strong: var(--sw-c-border) !important;
--sw-accent: var(--sw-c-link) !important;
--sw-accent-2: var(--sw-c-link) !important;
--sw-accent-strong: var(--sw-c-hover) !important;
--sw-link: var(--sw-c-link) !important;
--sw-link-hover: var(--sw-c-hover) !important;
--sw-focus: var(--sw-c-focus) !important;
width:calc(100% - 32px)!important;
max-width:1180px!important;
min-width:0!important;
margin:0 auto!important;
padding:24px clamp(0px, 1vw, 12px) 40px!important;
box-sizing:border-box!important;
background:var(--sw-c-bg)!important;
color:var(--sw-c-text)!important;
line-height:1.68;
font-size:1rem;
overflow-wrap:anywhere;
isolation:auto;
}
.sw-entry.sw-entry *, .sw-entry.sw-entry *::before, .sw-entry.sw-entry *::after{
box-sizing:border-box;
}
.sw-entry.sw-entry :is(section, div, figure, dl, fieldset){
min-width:0;
}
.sw-entry.sw-entry :is(p, li, dd, dt, td, th, blockquote, summary){
color:var(--sw-c-text)!important;
}
.sw-entry.sw-entry :is(strong, b){
color:var(--sw-c-heading)!important;
}
.sw-entry.sw-entry :is(h1, h2, h3, h4, h5, h6, .sw-display-title, .sw-entry-title){
color:var(--sw-c-heading)!important;
line-height:1.2;
text-wrap:balance;
}
.sw-entry.sw-entry :is(h1, .sw-display-title, header > .sw-entry-title){
font-size:clamp(2rem, 4.5vw, 3.5rem);
line-height:1.1;
margin:0 auto 1.25rem;
font-weight:750;
}
.sw-entry.sw-entry h2{
font-size:clamp(1.5rem, 2.8vw, 2.15rem);
margin:2.4rem 0 1rem;
}
/* Monster Workflow: readable headings on dark entry backgrounds, globally. */
html body .sw-entry.sw-monster-entry h2, html body .sw-entry.sw-monster-entry h3, html body .sw-entry.sw-monster-entry h4{
color:#efe3d2!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-facts h2{
color:#f5e7ce!important;
}
.sw-entry.sw-entry h3{
font-size:clamp(1.2rem, 2vw, 1.5rem);
margin:1.65rem 0 .65rem;
}
.sw-entry.sw-entry h4{
font-size:1.08rem;
margin:1.3rem 0 .55rem;
}
.sw-entry.sw-entry p{
margin-top:0;
margin-bottom:1.1rem;
}
.sw-entry.sw-entry :is(ul, ol){
padding-left:1.4rem;
margin-top:.75rem;
margin-bottom:1.25rem;
}
.sw-entry.sw-entry li + li{
margin-top:.4rem;
}
/* Shared deity stat-block table overflow: keep six ability scores on-screen on phones. */
@media (max-width: 782px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-god-entry .sw-tab-panel .sw-statblock{
max-width:100%!important;
overflow-x:auto!important;
box-sizing:border-box;
-webkit-overflow-scrolling:touch;
}
}
.sw-entry.sw-entry :is(section, .sw-statblock, .sw-tab-panel, .sw-card) > :is(h2, h3, h4):first-child{
margin-top:0;
}
.sw-entry.sw-entry :is(.sw-kicker, .sw-eyebrow, .sw-panel-kicker, .sw-rule-label){
color:var(--sw-c-muted)!important;
font-size:.82rem;
font-weight:700;
letter-spacing:.055em;
margin-bottom:.5rem;
}
.sw-entry.sw-entry :is(.sw-caption, figcaption, .sw-small, .sw-edition-note, .sw-source-note){
color:var(--sw-c-muted)!important;
font-size:.9rem;
line-height:1.5;
}
/* A wide shell for rules/images, a narrower column for reading. */
.sw-entry.sw-entry > :is(header, h1, h2, h3, h4, p, ul, ol, blockquote, dl), .sw-entry.sw-entry :is(.sw-prose, .sw-lead, .sw-lede, .sw-deck, .sw-dek, .sw-opening, .sw-section-narrow, .sw-hooks, .sw-related, .sw-source-note, .sw-source-list, .sw-sources, .sw-license, .sw-history, .sw-now, .sw-rumours, .sw-rulings, .sw-rules-text, .sw-flavour), .sw-entry.sw-entry > section:not(:has(.sw-tabs, .sw-tabset, .sw-scroll, .sw-table-wrap, .sw-map, .sw-grid, .sw-card-grid, .sw-cards, .sw-place-grid, .sw-person-grid, .sw-faction-grid, .sw-related-grid, .sw-pressure-grid, .sw-two-col)):not(.sw-glance){
max-width:850px!important;
margin-left:auto!important;
margin-right:auto!important;
}
.sw-entry.sw-entry :is(.sw-lead, .sw-lede, .sw-deck, .sw-dek){
font-size:1.1rem;
line-height:1.74;
}
.sw-entry.sw-entry :is(.sw-prose, .sw-section, .sw-section-narrow, .sw-now, .sw-related, .sw-hooks, .sw-history){
margin-top:2.25rem;
margin-bottom:2.25rem;
}
.sw-entry.sw-entry :is(.sw-section, .sw-anchor) > :is(h2, h3, p, ul, ol){
max-width:850px;
margin-left:auto;
margin-right:auto;
}
.sw-entry.sw-entry :is([id], .sw-anchor){
scroll-margin-top:100px;
}
.sw-entry.sw-entry .alignfull{
width:100%!important;
max-width:100%!important;
margin-inline:0!important;
}
/* Hide a duplicate theme H1 only when this SAME content area has its own H1.
 * Do not hide the sole H1 on entries using an H2 or div display title. */
.entry-content:has(.sw-entry h1) > h1.entry-title, article:has(> .entry-content .sw-entry h1) > .entry-header > h1.entry-title{
display:none!important;
}
.entry-content:has(.sw-entry) > h1.entry-title:not(:has(+ .sw-entry h1)), article:has(> .entry-content .sw-entry) > .entry-header > h1.entry-title{
max-width:850px;
margin:1rem auto;
color:#f2eff5!important;
}
/* Images retain their natural proportions; heroes are never full-width banners. */
.sw-entry.sw-entry :is(img, video, iframe, svg){
max-width:100%;
}
.sw-entry.sw-entry img{
height:auto;
}
.sw-entry.sw-entry .sw-figure{
width:auto!important;
max-width:850px!important;
margin:0 auto 1.5rem!important;
text-align:center;
float:none;
}
.sw-entry.sw-entry .sw-figure > a{
display:block;
width:fit-content;
max-width:100%;
margin:auto;
}
.sw-entry.sw-entry .sw-figure img{
display:block!important;
width:auto!important;
height:auto!important;
max-width:min(100%, 650px)!important;
max-height:780px!important;
aspect-ratio:auto!important;
object-fit:contain!important;
margin:0 auto!important;
border-radius:10px;
}
html body .sw-entry.sw-entry figure.sw-hero{
display:block;
width:100%!important;
max-width:100%!important;
margin:0 auto 1.5rem!important;
text-align:center;
float:none;
}
html body .sw-entry.sw-entry figure.sw-hero > a{
display:block;
max-width:100%;
margin:auto;
}
html body .sw-entry.sw-entry figure.sw-hero img{
display:block!important;
width:auto!important;
height:auto!important;
max-width:100%!important;
max-height:720px!important;
aspect-ratio:auto!important;
object-fit:contain!important;
margin:0 auto!important;
border-radius:10px;
}
.sw-entry.sw-entry :is(.sw-hero,.sw-figure,.sw-map) figcaption{
max-width:100%;
height:auto;
max-height:none;
margin:.65rem auto 0;
line-height:1.45;
}
.sw-entry.sw-entry .sw-map{
max-width:100%;
margin:1.5rem auto;
text-align:center;
}
.sw-entry.sw-entry .sw-map img{
width:auto!important;
max-width:100%!important;
height:auto!important;
object-fit:contain;
}
.sw-entry.sw-entry .sw-hero-title{
max-width:850px;
margin:.6rem auto;
font-size:1.15rem;
}
/* Reusable heraldry beside the opening paragraph. Supports current location HTML. */
.sw-entry.sw-entry :is(.sw-opening-grid, .sw-opening-lead), .sw-entry.sw-entry :is(.sw-lead, .sw-opening):has(> .sw-heraldry){
display:grid!important;
grid-template-columns:minmax(0, 1fr) 170px!important;
align-items:start!important;
gap:24px!important;
max-width:930px!important;
margin:1.5rem auto 2rem!important;
}
.sw-entry.sw-entry :is(.sw-opening-lead, .sw-opening-grid) > :first-child{
margin-top:0!important;
}
.sw-entry.sw-entry :is(.sw-arms, .sw-opening-arms, .sw-heraldry, .sw-sigil){
width:170px!important;
max-width:100%!important;
margin:0!important;
padding:0!important;
justify-self:end;
align-self:start;
float:none!important;
text-align:center;
}
.sw-entry.sw-entry :is(.sw-arms, .sw-opening-arms, .sw-heraldry, .sw-sigil) img{
display:block!important;
width:100%!important;
max-width:170px!important;
height:auto!important;
max-height:210px!important;
object-fit:contain!important;
margin:0 auto!important;
}
.sw-entry.sw-entry :is(.sw-arms, .sw-opening-arms, .sw-heraldry, .sw-sigil) figcaption{
margin-top:.55rem;
font-size:.8rem;
}
/* At-a-glance and spell metadata, including unwrapped dt/dd pairs. */
.sw-entry.sw-entry :is(.sw-glance, .sw-quick-rules){
max-width:930px;
margin:1.6rem auto 2.2rem;
padding:1rem;
border:1px solid var(--sw-c-border);
border-radius:8px;
background:var(--sw-c-panel)!important;
}
.sw-entry.sw-entry :is(.sw-glance-grid, .sw-rulegrid, .sw-stat-grid, .sw-quick, .sw-quick-grid){
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:.75rem!important;
max-width:930px;
margin:1rem auto;
padding:0;
}
.sw-entry.sw-entry :is(.sw-rulegrid, .sw-stat-grid){
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-entry.sw-entry :is(.sw-glance-grid, .sw-rulegrid, .sw-stat-grid, .sw-quick, .sw-quick-grid) > div{
padding:.75rem .85rem!important;
margin:0!important;
background:var(--sw-c-panel)!important;
border:1px solid var(--sw-c-border)!important;
border-radius:6px;
}
.sw-entry.sw-entry :is(.sw-glance-grid, .sw-rulegrid, .sw-stat-grid) dt, .sw-entry.sw-entry :is(.sw-quick, .sw-quick-item) :is(b, strong):first-child{
display:block;
color:var(--sw-c-muted)!important;
margin:0 0 .3rem;
font-size:.82rem;
font-weight:700;
}
.sw-entry.sw-entry :is(.sw-glance-grid, .sw-rulegrid, .sw-stat-grid) dd{
margin:0;
}
.sw-entry.sw-entry .sw-glance > dl:has(> dt){
display:grid!important;
grid-template-columns:minmax(100px, 28%) minmax(0, 1fr)!important;
gap:.6rem 1rem;
margin:0;
}
.sw-entry.sw-entry .sw-glance > dl:has(> dt) :is(dt, dd){
margin:0;
padding:.45rem 0;
border-bottom:1px solid var(--sw-c-border);
}
.sw-entry.sw-entry .sw-glance > dl > dt{
color:var(--sw-c-muted)!important;
font-weight:700;
}
/* Native key/value glance tables, including semantic wrappers without a class. */
html body .entry-content .sw-entry :is(.sw-at-a-glance,.sw-glance,section[aria-labelledby$="-glance"]) > table{
display:table!important;
min-width:0!important;
max-width:100%!important;
width:100%!important;
table-layout:fixed;
}
html body .entry-content .sw-entry :is(.sw-at-a-glance,.sw-glance,section[aria-labelledby$="-glance"]) > table :is(th,td){
min-width:0;
overflow-wrap:anywhere;
word-break:normal;
white-space:normal;
}
html body .entry-content .sw-entry section[aria-labelledby$="-glance"] > table th{
width:30%;
}
/* Rules panels, labels, hidden-but-focusable native radio controls. */
.sw-entry.sw-entry :is(.sw-tabs, .sw-tabset){
position:relative;
max-width:100%;
margin:1.25rem auto 2rem;
border:0!important;
background:transparent!important;
padding:0!important;
}
.sw-entry.sw-entry :is(.sw-tab-radio, .sw-tab-input), .sw-entry.sw-entry :is(.sw-tabs, .sw-tabset) > input[type="radio"], .sw-entry.sw-entry .sw-visually-hidden{
position:absolute!important;
display:block!important;
width:1px!important;
height:1px!important;
min-width:0!important;
margin:0!important;
padding:0!important;
border:0!important;
clip:rect(0, 0, 0, 0)!important;
clip-path:inset(50%)!important;
overflow:hidden!important;
white-space:nowrap!important;
opacity:.001!important;
}
.sw-entry.sw-entry .sw-tab-labels{
display:flex!important;
flex-wrap:wrap!important;
gap:.6rem!important;
margin:0 0 1rem!important;
padding:0!important;
border:0!important;
background:transparent!important;
}
.sw-entry.sw-entry .sw-tab-labels label{
display:flex!important;
align-items:center;
justify-content:center;
flex:1 1 160px;
min-height:46px;
padding:.7rem 1rem;
margin:0;
border:1px solid var(--sw-c-border)!important;
border-radius:7px;
background:var(--sw-c-raised)!important;
color:var(--sw-c-text)!important;
cursor:pointer;
text-align:center;
font-size:1rem;
font-weight:700;
}
.sw-entry.sw-entry .sw-tab-labels label:hover{
border-color:var(--sw-c-link)!important;
}
.sw-entry.sw-entry .sw-tab-panels{
padding:0!important;
background:transparent!important;
border:0!important;
}
/* Fail open: unfamiliar markup remains readable instead of disappearing. */
.sw-entry.sw-entry .sw-tab-panel{
display:block!important;
margin:0 0 1.4rem;
}
.sw-entry.sw-entry :is(.sw-tab-panel, .sw-statblock, .sw-mechanics){
padding:clamp(1rem, 2vw, 1.5rem)!important;
background:var(--sw-c-panel)!important;
color:var(--sw-c-text)!important;
border:1px solid var(--sw-c-border)!important;
border-top:3px solid var(--sw-c-link)!important;
border-radius:8px;
}
.sw-entry.sw-entry .sw-tab-panel > :is(.sw-statblock, .sw-mechanics){
border:0!important;
padding:0!important;
}
.sw-entry.sw-entry :is(.sw-tab-panel, .sw-statblock) > :is(p, ul, ol){
max-width:850px;
}
.sw-entry.sw-entry .sw-statline{
margin:.25rem 0!important;
}
.sw-entry.sw-entry .sw-rule{
display:block;
height:1px;
margin:1rem 0;
padding:0;
border:0;
background:var(--sw-c-border);
}
.sw-entry.sw-entry :is(.sw-tabs, .sw-tabset) > :is(input[id$="-55"], input[id$="-2024"], input[id$="-pf"], input[id$="-pf1"], input[id$="-35"]):checked ~ .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
.sw-entry.sw-entry :is(#sw-tab-55, input[id$="-55"], input[id$="-2024"]):checked ~ .sw-tab-panels > .sw-tab-panel:is(#sw-panel-55, [id$="-55"], [id$="-2024"], .sw-panel-2024){
display:block!important;
}
.sw-entry.sw-entry :is(#sw-tab-55, input[id$="-55"], input[id$="-2024"]):checked ~ .sw-tab-labels :is(label[for$="-55"], label[for$="-2024"]){
background:var(--sw-c-active)!important;
border-color:var(--sw-c-active)!important;
color:var(--sw-c-active-text)!important;
}
.sw-entry.sw-entry :is(#sw-tab-55, input[id$="-55"], input[id$="-2024"]):focus-visible ~ .sw-tab-labels :is(label[for$="-55"], label[for$="-2024"]){
outline:3px solid var(--sw-c-focus)!important;
outline-offset:3px;
}
.sw-entry.sw-entry :is(#sw-tab-pf, input[id$="-pf"], input[id$="-pf1"]):checked ~ .sw-tab-panels > .sw-tab-panel:is(#sw-panel-pf, [id$="-pf"], [id$="-pf1"], .sw-panel-pf1){
display:block!important;
}
.sw-entry.sw-entry :is(#sw-tab-pf, input[id$="-pf"], input[id$="-pf1"]):checked ~ .sw-tab-labels :is(label[for$="-pf"], label[for$="-pf1"]){
background:var(--sw-c-active)!important;
border-color:var(--sw-c-active)!important;
color:var(--sw-c-active-text)!important;
}
.sw-entry.sw-entry :is(#sw-tab-pf, input[id$="-pf"], input[id$="-pf1"]):focus-visible ~ .sw-tab-labels :is(label[for$="-pf"], label[for$="-pf1"]){
outline:3px solid var(--sw-c-focus)!important;
outline-offset:3px;
}
.sw-entry.sw-entry :is(#sw-tab-35, input[id$="-35"]):checked ~ .sw-tab-panels > .sw-tab-panel:is(#sw-panel-35, [id$="-35"], .sw-panel-35){
display:block!important;
}
.sw-entry.sw-entry :is(#sw-tab-35, input[id$="-35"]):checked ~ .sw-tab-labels :is(label[for$="-35"]){
background:var(--sw-c-active)!important;
border-color:var(--sw-c-active)!important;
color:var(--sw-c-active-text)!important;
}
.sw-entry.sw-entry :is(#sw-tab-35, input[id$="-35"]):focus-visible ~ .sw-tab-labels :is(label[for$="-35"]){
outline:3px solid var(--sw-c-focus)!important;
outline-offset:3px;
}
/* Tables remain real tables; only their own wrapper scrolls on small screens. */
.sw-entry.sw-entry :is(.sw-scroll, .sw-table-wrap, .wp-block-table){
display:block;
width:100%;
max-width:100%;
min-width:0;
overflow-x:auto!important;
overscroll-behavior-x:contain;
-webkit-overflow-scrolling:touch;
margin:1rem 0 1.6rem;
}
.sw-entry.sw-entry table{
width:100%;
max-width:100%;
border-collapse:collapse;
color:var(--sw-c-text);
}
.sw-entry.sw-entry :is(.sw-scroll, .sw-table-wrap) > table{
min-width:0;
}
.sw-entry.sw-entry :is(th, td){
padding:.7rem .8rem;
border:1px solid var(--sw-c-border);
vertical-align:top;
text-align:left;
}
.sw-entry.sw-entry th{
background:var(--sw-c-raised)!important;
color:var(--sw-c-heading)!important;
}
.sw-entry.sw-entry td{
background:var(--sw-c-panel)!important;
}
.sw-entry.sw-entry :is(table.sw-abilities,table.sw-ability-scores){
min-width:0!important;
width:100%;
max-width:100%;
table-layout:fixed;
border-collapse:collapse;
}
.sw-entry.sw-entry :is(table.sw-abilities,table.sw-ability-scores) :is(th,td){
min-width:0;
padding:.45rem .15rem;
text-align:center;
font-size:.9rem;
overflow-wrap:anywhere;
}
/* Existing unwrapped comparisons need a scroll container on the table itself. */
.sw-entry.sw-entry .sw-compare{
display:block!important;
overflow-x:auto!important;
max-width:100%!important;
}
.sw-entry.sw-entry .sw-compare thead{
display:table-header-group!important;
position:static!important;
width:auto!important;
height:auto!important;
clip:auto!important;
clip-path:none!important;
overflow:visible!important;
}
.sw-entry.sw-entry .sw-compare tbody{
display:table-row-group!important;
}
.sw-entry.sw-entry .sw-compare tr{
display:table-row!important;
}
.sw-entry.sw-entry .sw-compare :is(td, th){
display:table-cell!important;
width:auto!important;
min-width:150px;
padding:.7rem .8rem!important;
}
.sw-entry.sw-entry .sw-compare td::before{
content:none!important;
display:none!important;
}
/* Ordinary content stays open; boxes are reserved for mechanics and key notes. */
.sw-entry.sw-entry :is(.sw-note, .sw-callout, .sw-context-note, .sw-play-box){
max-width:850px;
margin:1.4rem auto;
padding:1rem 1.1rem;
border:0!important;
border-left:3px solid var(--sw-c-link)!important;
border-radius:0!important;
background:var(--sw-c-panel)!important;
}
.sw-entry.sw-entry :is(.sw-note, .sw-callout) > p:last-child{
margin-bottom:0;
}
.sw-entry.sw-entry :is(.sw-card, .sw-hook){
padding:1rem 0!important;
border:0!important;
border-top:1px solid var(--sw-c-border)!important;
border-radius:0!important;
background:transparent!important;
box-shadow:none!important;
}
.sw-entry.sw-entry :is(.sw-cards, .sw-card-grid, .sw-place-grid, .sw-person-grid, .sw-faction-grid, .sw-related-grid, .sw-pressure-grid, .sw-grid, .sw-two-col){
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1.25rem;
}
.sw-entry.sw-entry .sw-grid-3{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-entry.sw-entry details{
margin:1rem 0;
padding:0!important;
border:1px solid var(--sw-c-border);
border-radius:7px;
background:var(--sw-c-panel)!important;
}
.sw-entry.sw-entry summary{
display:list-item;
padding:.9rem 1rem;
cursor:pointer;
font-weight:700;
}
.sw-entry.sw-entry :is(.sw-license-text, .sw-license-content, .sw-license-body, .sw-ogl-body, .sw-details-body){
padding:0 1rem 1rem;
font-size:.9rem;
line-height:1.58;
overflow-wrap:anywhere;
}
/* CSS-only lightboxes: all existing close-link patterns are supported. */
.sw-entry.sw-entry .sw-lightbox, :is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]){
position:fixed!important;
inset:0!important;
width:auto!important;
max-width:none!important;
height:auto!important;
margin:0!important;
z-index:999999;
display:none!important;
align-items:center;
justify-content:center;
padding:60px 20px 24px!important;
background:rgba(0, 0, 0, .94)!important;
opacity:0!important;
visibility:hidden!important;
pointer-events:none!important;
}
.sw-entry.sw-entry .sw-lightbox:target, :is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]):target{
display:flex!important;
opacity:1!important;
visibility:visible!important;
pointer-events:auto!important;
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) .sw-lightbox-backdrop{
position:absolute;
inset:0;
display:grid;
place-items:center;
padding:60px 20px 24px;
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) .sw-lightbox-inner{
display:block;
position:relative;
max-width:94vw;
max-height:calc(100dvh - 96px);
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) img{
display:block;
width:auto!important;
height:auto!important;
max-width:94vw!important;
max-height:calc(100dvh - 120px)!important;
margin:auto!important;
object-fit:contain!important;
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) .sw-lightbox-close{
position:absolute;
top:-48px;
right:0;
display:flex;
align-items:center;
justify-content:center;
width:auto!important;
min-width:44px;
height:44px;
padding:0 12px;
border:1px solid #b9b4c1;
border-radius:6px;
background:#1b1a20!important;
font-size:1rem;
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) .sw-lightbox-close-text{
display:block;
text-align:center;
padding:.5rem;
color:#fff!important;
}
/* Links, including strong text inside links, always keep their link colour. */
.sw-entry.sw-entry a, .sw-entry.sw-entry a:visited{
color:var(--sw-c-link)!important;
text-decoration:underline;
text-underline-offset:.16em;
text-decoration-thickness:.08em;
}
.sw-entry.sw-entry a :is(strong, b, em, span){
color:inherit!important;
}
.sw-entry.sw-entry :is(strong, b) a{
color:var(--sw-c-link)!important;
}
.sw-entry.sw-entry a:hover{
color:var(--sw-c-hover)!important;
}
.sw-entry.sw-entry :is(a, summary, button, [tabindex="0"]):focus-visible{
outline:3px solid var(--sw-c-focus);
outline-offset:3px;
}
:is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) a.sw-lightbox-close, :is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]) a.sw-lightbox-backdrop{
color:#fff!important;
text-decoration:none!important;
}
@media (max-width: 760px) {
.sw-entry.sw-entry{
width:calc(100% - 32px)!important;
padding:18px 0 30px!important;
}
.sw-entry.sw-entry :is(.sw-glance-grid, .sw-rulegrid, .sw-stat-grid, .sw-quick, .sw-quick-grid, .sw-cards, .sw-card-grid, .sw-place-grid, .sw-person-grid, .sw-faction-grid, .sw-related-grid, .sw-pressure-grid, .sw-grid, .sw-grid-3, .sw-two-col){
grid-template-columns:1fr!important;
}
.sw-entry.sw-entry .sw-tab-labels label{
flex-basis:100%;
}
.sw-entry.sw-entry :is(.sw-opening-grid, .sw-opening-lead), .sw-entry.sw-entry :is(.sw-lead, .sw-opening):has(> .sw-heraldry){
grid-template-columns:minmax(0, 1fr) 112px!important;
gap:16px!important;
}
.sw-entry.sw-entry :is(.sw-arms, .sw-opening-arms, .sw-heraldry, .sw-sigil){
width:112px!important;
}
.sw-entry.sw-entry .sw-glance > dl:has(> dt){
grid-template-columns:1fr!important;
gap:0;
}
.sw-entry.sw-entry .sw-glance > dl > dt{
border-bottom:0!important;
padding-bottom:.1rem;
}
.sw-entry.sw-entry .sw-glance > dl > dd{
padding-top:0;
padding-bottom:.75rem;
}
}
@media (max-width: 360px) {
.sw-entry.sw-entry :is(.sw-opening-grid, .sw-opening-lead), .sw-entry.sw-entry :is(.sw-lead, .sw-opening):has(> .sw-heraldry){
grid-template-columns:1fr!important;
}
.sw-entry.sw-entry :is(.sw-arms, .sw-opening-arms, .sw-heraldry, .sw-sigil){
justify-self:center;
}
}
@media (prefers-reduced-motion: reduce) {
.sw-entry.sw-entry *{
scroll-behavior:auto!important;
transition:none!important;
animation:none!important;
}
}
@media print {
.sw-entry.sw-entry{
--sw-c-bg: #fff;
--sw-c-panel: #fff;
--sw-c-raised: #eee;
--sw-c-text: #111;
--sw-c-heading: #111;
--sw-c-muted: #333;
--sw-c-link: #111;
--sw-c-border: #888;
width:100%!important;
max-width:none!important;
padding:0!important;
}
.sw-entry.sw-entry :is(.sw-tab-radio, .sw-tab-input, .sw-tab-labels), .sw-entry.sw-entry :is(.sw-tabs, .sw-tabset) > input[type="radio"], .sw-entry.sw-entry .sw-lightbox, :is(.sw-lightbox.sw-lightbox, .sw-entry ~ [class$="-lightbox"][role="dialog"]):target{
display:none!important;
}
.sw-entry.sw-entry :is(.sw-tabs, .sw-tabset) > :is(input[id$="-55"], input[id$="-2024"], input[id$="-pf"], input[id$="-pf1"], input[id$="-35"]):checked ~ .sw-tab-panels > .sw-tab-panel, .sw-entry.sw-entry .sw-tab-panel{
display:block!important;
margin-bottom:1.5rem;
}
.sw-entry.sw-entry :is(.sw-scroll, .sw-table-wrap, .sw-compare){
overflow:visible!important;
}
.sw-entry.sw-entry :is(.sw-scroll, .sw-table-wrap) > table{
min-width:0;
}
.sw-entry.sw-entry .sw-compare :is(td, th){
min-width:0;
}
.sw-entry.sw-entry :is(h1, h2, h3){
break-after:avoid;
}
}
/* END SPIRALWORLDS CANONICAL ENTRIES */
/* SPIRALWORLDS CENTRAL FONT UPDATE — 1.1.0, 2026-09-08
 * User-selected: Cinzel 600 headings; Crimson Pro 400–700 reading text.
 * Crimson Pro includes true italics. Compact UI uses existing system fonts.
 * Prepared for installation; not published by Codex.
 * INSTALL: In Appearance > Customise > Additional CSS, REPLACE any earlier
 * SPIRALWORLDS CENTRAL FONT UPDATE block (through its matching END marker)
 * with this entire file. If no font block is installed, append this ONCE
 * after the existing central entry styles. Keep the other Additional CSS.
 * Preview desktop and mobile, then Publish and clear the page cache.
 * Font loading is included: no plugin, HTML or @import is required.
 * ROLLBACK: Remove this block through its final END marker.
 * Google-hosted WOFF2 fonts use font-display: swap and fallback families.
 * Text size: 20px desktop / 19px narrow screens; headings retain their scale.
 * This changes typography only. Page content and layout widths are retained.
 * Font references:
 * https://fonts.google.com/specimen/Cinzel
 * https://fonts.google.com/specimen/Crimson+Pro
 */
/* latin-ext */
@font-face {
font-family:"Cinzel";
font-style:normal;
font-weight:600;
font-display:swap;
src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIU7ww63mVu7gtR-kwKxNvkNOjw-gjgfYPlDX5Z.woff2) format("woff2");
unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family:"Cinzel";
font-style:normal;
font-weight:600;
font-display:swap;
src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIU7ww63mVu7gtR-kwKxNvkNOjw-gjgfY3lDQ.woff2) format("woff2");
unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
font-family:"Crimson Pro";
font-style:italic;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uBsoa5M_tv7IihmnkabARekYxwDfKi.woff2) format("woff2");
unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family:"Crimson Pro";
font-style:italic;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uBsoa5M_tv7IihmnkabARekY1wDfKi.woff2) format("woff2");
unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family:"Crimson Pro";
font-style:italic;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uBsoa5M_tv7IihmnkabARekYNwDQ.woff2) format("woff2");
unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
font-family:"Crimson Pro";
font-style:normal;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARUoYFoCQ.woff2) format("woff2");
unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family:"Crimson Pro";
font-style:normal;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format("woff2");
unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family:"Crimson Pro";
font-style:normal;
font-weight:400 700;
font-display:swap;
src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format("woff2");
unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   SPIRALWORLDS LOCATION IDENTITY BLOCK — 1.0.0
   H1 → Hero → 2/3 At a Glance + 1/3 Heraldry
   ============================================================ */
/* The complete identity block uses the full canonical entry width. */
.sw-entry.sw-entry > .sw-location-identity{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
align-items:start!important;
gap:28px!important;
width:100%!important;
max-width:100%!important;
margin:1.5rem auto 2.25rem!important;
padding:0!important;
}
/* LEFT COLUMN — AT A GLANCE */
.sw-entry.sw-entry > .sw-location-identity > .sw-at-a-glance, .sw-entry.sw-entry > .sw-location-identity > .sw-glance, .sw-entry.sw-entry > .sw-location-identity > .sw-location-glance{
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
min-width:0!important;
}
/* Heading starts level with the top of the heraldry. */
.sw-entry.sw-entry > .sw-location-identity > .sw-at-a-glance > h2, .sw-entry.sw-entry > .sw-location-identity > .sw-glance > h2, .sw-entry.sw-entry > .sw-location-identity > .sw-location-glance > h2{
margin-top:0!important;
}
/* Table fills only its two-thirds column. */
.sw-entry.sw-entry > .sw-location-identity > .sw-at-a-glance table, .sw-entry.sw-entry > .sw-location-identity > .sw-glance table, .sw-entry.sw-entry > .sw-location-identity > .sw-location-glance table{
width:100%!important;
max-width:100%!important;
margin:0!important;
}
/* RIGHT COLUMN — HERALDRY */
.sw-entry.sw-entry > .sw-location-identity > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ){
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
justify-self:stretch!important;
align-self:start!important;
float:none!important;
text-align:center!important;
}
/* Nested figure inside the heraldry column must fill the one-third column. */
.sw-entry.sw-entry > .sw-location-identity > :is(.sw-heraldry, .sw-location-heraldry) > :is(.sw-arms, .sw-location-heraldry-figure){
width:100%!important;
max-width:100%!important;
margin:0!important;
padding:0!important;
}
/* Heraldry is always presented as a true square. */
.sw-entry.sw-entry > .sw-location-identity > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ) img{
display:block!important;
width:100%!important;
max-width:100%!important;
aspect-ratio:1 / 1!important;
height:auto!important;
max-height:none!important;
object-fit:cover!important;
margin:0 auto!important;
}
/* Caption belongs directly beneath the heraldry. */
.sw-entry.sw-entry > .sw-location-identity > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ) figcaption{
margin:.55rem auto 0!important;
text-align:center!important;
}
/* MOBILE — glance first, heraldry immediately below. */
@media (max-width: 760px) {
.sw-entry.sw-entry > .sw-location-identity{
grid-template-columns:1fr!important;
gap:1.25rem!important;
}
.sw-entry.sw-entry > .sw-location-identity > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ){
width:min(100%, 320px)!important;
max-width:320px!important;
justify-self:center!important;
margin:0 auto!important;
}
}
/* BEGIN SPIRALWORLDS TYPOGRAPHY RULES — 1.1.0 */
:root{
--sw-font-heading: "Cinzel", Georgia, "Times New Roman", serif;
--sw-font-body: "Crimson Pro", Georgia, "Times New Roman", serif;
--sw-font-ui: "Segoe UI", Arial, sans-serif;
}
/* Public site defaults. Target text elements, keeping icon fonts intact. */
body:not(.wp-admin){
font-family:var(--sw-font-body)!important;
font-weight:400;
font-size:max(1rem, 20px);
line-height:1.65;
}
body:not(.wp-admin) :is( .entry-content, .sw-entry, .sw-lightbox, p, li, dt, dd, th, td, figcaption, summary, .sw-tab-labels label, .sw-kicker, .sw-eyebrow, .sw-panel-kicker, .sw-rule-label, .sw-caption, .sw-small, .sw-edition-note, .sw-source-note, .sw-lightbox-close ){
font-family:var(--sw-font-body)!important;
}
body:not(.wp-admin) .footer-adv .widget > :not( h1, h2, h3, h4, h5, h6, .widget-title ){
font-family:var(--sw-font-body)!important;
}
/* Headings follow the text rules so heading classes always take precedence. */
body:not(.wp-admin) :is( h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .widget-title, .sw-display-title, .sw-entry-title ){
font-family:var(--sw-font-heading)!important;
font-weight:600!important;
font-optical-sizing:auto;
font-synthesis:none;
}
body:not(.wp-admin) :is( h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .widget-title, .sw-display-title, .sw-entry-title ) :is(a, strong, b, em){
font-family:inherit!important;
font-weight:inherit!important;
}
/* The compact internal header has its own existing family declarations. */
body:not(.home):not(.wp-admin) #masthead .site-title a{
font-family:var(--sw-font-heading)!important;
font-weight:600!important;
}
body:not(.home):not(.wp-admin) #masthead .ast-site-title-wrap::after{
font-family:var(--sw-font-body);
font-weight:400;
}
body:not(.home):not(.wp-admin) #masthead :is( .main-header-menu > .menu-item > .menu-link, .ast-masthead-custom-menu-items ){
font-family:var(--sw-font-ui)!important;
}
/* Compact menus and form controls retain clear system lettering. */
body:not(.wp-admin) :is( button, input, select, textarea, .ast-button, .ast-custom-button, .wp-element-button, .wp-block-button__link, .menu-link, .ast-masthead-custom-menu-items ){
font-family:var(--sw-font-ui)!important;
}
/* The shared entry stylesheet sets its own size; define the reading size here. */
body:not(.wp-admin) .sw-entry.sw-entry{
font-size:max(1rem, 20px);
font-weight:400;
line-height:1.65;
}
body:not(.wp-admin) .sw-entry.sw-entry :is(strong, b){
font-weight:700;
}
body:not(.wp-admin) .sw-entry.sw-entry :is( h1, h2, h3, h4, h5, h6, .sw-display-title, .sw-entry-title ){
font-weight:600!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-tab-labels label{
font-weight:600;
font-size:max(1rem, 17px);
}
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-lead, .sw-lede, .sw-deck, .sw-dek ){
font-size:1.05em;
line-height:1.65;
}
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-kicker, .sw-eyebrow, .sw-panel-kicker, .sw-rule-label ), body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-glance-grid, .sw-rulegrid, .sw-stat-grid ) dt{
font-size:max(.82rem, 14px);
}
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-caption, figcaption, .sw-small, .sw-edition-note, .sw-source-note ), body:not(.wp-admin) .sw-entry.sw-entry .sw-abilities :is(th, td){
font-size:max(.9rem, 16px);
}
body:not(.wp-admin) .sw-entry.sw-entry table{
font-variant-numeric:lining-nums tabular-nums;
}
@media (max-width: 544px) {
body:not(.wp-admin), body:not(.wp-admin) .sw-entry.sw-entry{
font-size:max(1rem, 19px);
}
}
/* END SPIRALWORLDS TYPOGRAPHY RULES */
/* END SPIRALWORLDS CENTRAL FONT UPDATE */
/* ============================================================
   SPIRALWORLDS — LOCATION FACTS, TAGS & VIDEO GRID
   Publication support
   ============================================================ */
.sw-entry.sw-entry .sw-location-glance-grid > .sw-fact{
display:block;
min-width:0;
padding:.75rem .85rem;
border:1px solid var(--sw-c-border);
border-radius:6px;
background:var(--sw-c-panel);
}
.sw-entry.sw-entry .sw-location-glance-grid > .sw-fact > strong{
display:block;
margin:0 0 .3rem;
color:var(--sw-c-muted)!important;
font-size:.82rem;
font-weight:700;
line-height:1.35;
}
.sw-entry.sw-entry .sw-tags{
display:flex;
flex-wrap:wrap;
gap:.5rem;
max-width:850px;
margin:1rem auto 1.6rem;
}
.sw-entry.sw-entry .sw-tag{
display:inline-flex;
align-items:center;
padding:.35rem .7rem;
border:1px solid var(--sw-c-border);
border-radius:999px;
background:var(--sw-c-panel);
color:var(--sw-c-text)!important;
font-size:.9rem;
line-height:1.25;
overflow-wrap:normal;
}
.sw-entry.sw-entry .sw-video-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1.25rem;
max-width:850px;
margin:1.5rem auto 2rem;
}
.sw-entry.sw-entry .sw-video-grid figure{
min-width:0;
margin:0;
}
.sw-entry.sw-entry .sw-video-grid iframe{
display:block;
width:100%;
height:auto;
aspect-ratio:16 / 9;
border:0;
background:#000;
}
.sw-entry.sw-entry .sw-video-grid figcaption{
margin-top:.55rem;
}
@media (max-width: 760px) {
.sw-entry.sw-entry .sw-video-grid{
grid-template-columns:1fr;
}
}
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — ACCESSIBILITY + HOMEPAGE FOOTER CLEANUP — 2026-09-17
   Global low-risk pass: distinguish prose links, enlarge mobile/header targets,
   and suppress Astra's duplicate footer on the custom homepage.
   ============================================================ */
/* The homepage supplies its own branded footer. */
body.home #colophon, body.home .site-footer{
display:none!important;
}
/* Keep the custom homepage footer visible. */
body.home .swh-footer{
display:block!important;
}
/* Homepage navigation and footer links meet a practical 44px target size. */
body.home .swh-main-nav a, body.home .swh-search-jump, body.home .swh-mobile-menu a, body.home .swh-footer-nav a{
min-height:44px;
display:inline-flex;
align-items:center;
}
body.home .swh-mobile-menu a{
width:100%;
}
/* Legacy prose links must not rely on colour alone. Canonical .sw-entry
   pages already carry their own stronger link treatment. */
body:not(.home) .entry-content :is(p, li, dd, blockquote, figcaption) a:not(.wp-element-button):not(.ast-button):not([class*="button"]), body:not(.home) .entry-content table a:not(.wp-element-button):not(.ast-button):not([class*="button"]){
text-decoration:underline!important;
text-decoration-thickness:.08em!important;
text-underline-offset:.16em!important;
}
/* Internal Astra navigation gets usable touch targets at the mobile breakpoint. */
@media (max-width: 921px) {
body:not(.home) #masthead .main-header-menu .menu-link, body:not(.home) #masthead .ast-masthead-custom-menu-items, body:not(.home) #masthead .menu-toggle{
min-height:44px!important;
}
body:not(.home) #masthead .main-header-menu .menu-link{
display:flex!important;
align-items:center!important;
}
}
/* END SPIRALWORLDS ACCESSIBILITY + HOMEPAGE FOOTER CLEANUP */
/* --- WPWriter addition --- */
/* SpiralWorlds accessibility repair — 2026-09-20 */
body .skip-link.screen-reader-text:focus{
color:#ffffff!important;
background:#3a2b00!important;
}
body .site-footer a{
text-decoration:underline!important;
text-underline-offset:.15em;
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — SUPPORT / REVENUE CALLOUT
   Shared site-wide component; no per-page CSS.
   ============================================================ */
body:not(.wp-admin) .sw-support-note{
max-width:850px;
margin:2.25rem auto;
padding:1.2rem 1.35rem;
border:1px solid var(--sw-c-border, var(--ast-border-color, #b9b9b9));
border-left:5px solid var(--sw-c-accent, var(--ast-global-color-0, #7a4d22));
border-radius:8px;
background:var(--sw-c-panel, var(--ast-global-color-7, #f5f5f5));
color:var(--sw-c-text, inherit);
}
body:not(.wp-admin) .sw-support-note h2, body:not(.wp-admin) .sw-support-note h3{
margin-top:0!important;
margin-bottom:.45rem!important;
}
body:not(.wp-admin) .sw-support-note p{
margin:.35rem 0 .85rem;
}
body:not(.wp-admin) .sw-support-note .sw-support-button{
display:inline-block;
padding:.65rem 1rem;
border-radius:6px;
background:var(--sw-c-accent, var(--ast-global-color-0, #7a4d22));
color:#fff!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-weight:700;
line-height:1.2;
text-decoration:none!important;
}
body:not(.wp-admin) .sw-support-note .sw-support-button:hover, body:not(.wp-admin) .sw-support-note .sw-support-button:focus{
filter:brightness(.92);
}
@media (max-width: 544px) {
body:not(.wp-admin) .sw-support-note{
margin:1.5rem auto;
padding:1rem;
}
body:not(.wp-admin) .sw-support-note .sw-support-button{
display:block;
width:100%;
text-align:center;
}
}
/* END SPIRALWORLDS SUPPORT / REVENUE CALLOUT */
/* --- WPWriter addition --- */
/* SpiralWorlds breadcrumb correction — 2026-09-20
   Restore the genuine Home breadcrumb hidden by the retired /index/ cleanup,
   while continuing to suppress only actual legacy /index/ breadcrumb links. */
body .ast-breadcrumbs .trail-item:has(> a[href="https://spiralworlds.com/"]), body .ast-breadcrumbs .trail-item:has(> a[href="/"]), body .breadcrumb-trail .trail-item:has(> a[href="https://spiralworlds.com/"]), body .breadcrumb-trail .trail-item:has(> a[href="/"]), body .rank-math-breadcrumb :is(span, li):has(> a[href="https://spiralworlds.com/"]), body .rank-math-breadcrumb :is(span, li):has(> a[href="/"]){
display:inline!important;
}
body .rank-math-breadcrumb a[href="https://spiralworlds.com/"], body .rank-math-breadcrumb a[href="/"], body .rank-math-breadcrumb .separator:has(+ a[href="https://spiralworlds.com/"]), body .rank-math-breadcrumb .separator:has(+ a[href="/"]), body .rank-math-breadcrumb a[href="https://spiralworlds.com/"] + .separator, body .rank-math-breadcrumb a[href="/"] + .separator{
display:inline!important;
}
body .ast-breadcrumbs .trail-item:has(> a[href*="/index/"]), body .breadcrumb-trail .trail-item:has(> a[href*="/index/"]), body .rank-math-breadcrumb :is(span, li):has(> a[href*="/index/"]){
display:none!important;
}
body .rank-math-breadcrumb a[href*="/index/"], body .rank-math-breadcrumb .separator:has(+ a[href*="/index/"]), body .rank-math-breadcrumb a[href*="/index/"] + .separator{
display:none!important;
}
/* END SpiralWorlds breadcrumb correction */
/* --- WPWriter addition --- */
/* Player Resources owns its own header/footer. Suppress duplicate theme/Elementor chrome. */
body.page-id-239093 #masthead, body.page-id-239093 .site-header, body.page-id-239093 .elementor-location-header, body.page-id-239093 header[data-elementor-type="header"], body.page-id-239093 #colophon, body.page-id-239093 .site-footer, body.page-id-239093 .elementor-location-footer, body.page-id-239093 footer[data-elementor-type="footer"]{
display:none!important;
}
/* END Player Resources duplicate chrome fix */
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — REUSABLE FULL-PAGE DARK ENTRY
   Add .sw-dark-page anywhere inside an entry to opt that page in.
   ============================================================ */
body:has(.entry-content .sw-dark-page){
background:#121117!important;
}
body:has(.entry-content .sw-dark-page) .site-content, body:has(.entry-content .sw-dark-page) .site-content > .ast-container, body:has(.entry-content .sw-dark-page) .content-area, body:has(.entry-content .sw-dark-page) .site-main, body:has(.entry-content .sw-dark-page) article, body:has(.entry-content .sw-dark-page) .entry-header, body:has(.entry-content .sw-dark-page) .entry-content{
background:#121117!important;
}
body:has(.entry-content .sw-dark-page) .entry-title, body:has(.entry-content .sw-dark-page) .entry-content :is(h1,h2,h3,h4,h5,h6){
color:#f2eff5!important;
}
body:has(.entry-content .sw-dark-page) .entry-content :is(p,li,dd,dt,td,th,blockquote,figcaption){
color:#e8e6eb!important;
}
body:has(.entry-content .sw-dark-page) .entry-content a{
color:#e6c68e!important;
}
body:has(.entry-content .sw-dark-page) .entry-content a:hover{
color:#ffe1a9!important;
}
body:has(.entry-content .sw-dark-page) .entry-content table{
background:#1b1a20!important;
color:#e8e6eb!important;
border-color:#55505e!important;
}
body:has(.entry-content .sw-dark-page) .entry-content :is(th,td){
border-color:#55505e!important;
}
body:has(.entry-content .sw-dark-page) .entry-content thead th{
background:#25232b!important;
color:#f2eff5!important;
}
body:has(.entry-content .sw-dark-page) .entry-content .is-style-stripes tbody tr:nth-child(odd){
background:#1b1a20!important;
}
body:has(.entry-content .sw-dark-page) .entry-content .is-style-stripes tbody tr:nth-child(even){
background:#25232b!important;
}
body:has(.entry-content .sw-dark-page) :is(.ast-breadcrumbs,.breadcrumb-trail,.rank-math-breadcrumb){
color:#b9b4c1!important;
}
/* END SPIRALWORLDS REUSABLE FULL-PAGE DARK ENTRY */
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS MONSTER SHOWCASE — reusable monster-page presentation */
.sw-entry.sw-monster-entry > .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(0, .92fr) minmax(0, 1.35fr)!important;
width:100%!important;
max-width:1180px!important;
min-height:430px;
margin:0 auto 1.4rem!important;
overflow:hidden;
border:1px solid rgba(230,198,142,.38);
border-radius:10px;
background:#070a0c!important;
box-shadow:0 18px 42px rgba(0,0,0,.36);
}
.sw-entry.sw-monster-entry .sw-monster-hero-copy{
position:relative;
z-index:2;
display:flex;
flex-direction:column;
justify-content:center;
min-width:0;
padding:clamp(1.5rem, 4vw, 3.4rem);
background:linear-gradient(90deg, rgba(8,10,12,.99) 0%, rgba(8,10,12,.95) 74%, rgba(8,10,12,.68) 100%), radial-gradient(circle at 15% 10%, rgba(173,112,48,.16), transparent 52%);
}
.sw-entry.sw-monster-entry .sw-monster-hero-copy .sw-kicker{
margin:0 0 .7rem!important;
color:#d8aa55!important;
font-family:var(--sw-font-ui)!important;
font-size:.78rem!important;
font-weight:700!important;
letter-spacing:.16em!important;
text-transform:uppercase;
}
.sw-entry.sw-monster-entry .sw-monster-hero h1{
max-width:none!important;
margin:0 0 .35rem!important;
color:#f4e7cf!important;
font-size:clamp(2.7rem, 6.2vw, 5.7rem)!important;
line-height:.95!important;
letter-spacing:.015em;
text-shadow:0 4px 22px rgba(0,0,0,.55);
}
.sw-entry.sw-monster-entry .sw-monster-subtitle{
margin:.25rem 0 .8rem!important;
color:#eadbc5!important;
font-family:var(--sw-font-heading)!important;
font-size:clamp(1.1rem, 2vw, 1.55rem);
line-height:1.3;
}
.sw-entry.sw-monster-entry .sw-monster-tagline{
margin:.15rem 0 1rem!important;
color:#d8d0c4!important;
font-size:1.05rem;
}
.sw-entry.sw-monster-entry .sw-monster-tags{
display:flex;
flex-wrap:wrap;
gap:.45rem;
margin-top:.3rem;
}
.sw-entry.sw-monster-entry .sw-monster-tags > span{
display:inline-flex;
align-items:center;
min-height:32px;
padding:.28rem .72rem;
border:1px solid rgba(230,198,142,.46);
border-radius:999px;
background:rgba(8,11,13,.76);
color:#eadfce!important;
font-family:var(--sw-font-ui)!important;
font-size:.78rem;
line-height:1.2;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media{
position:relative;
min-height:430px;
overflow:hidden;
background:#090c0d;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg, rgba(7,10,12,.72) 0%, rgba(7,10,12,.18) 28%, rgba(7,10,12,0) 58%), linear-gradient(0deg, rgba(7,10,12,.52) 0%, transparent 35%);
pointer-events:none;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media img{
display:block!important;
width:100%!important;
max-width:none!important;
height:100%!important;
min-height:430px!important;
max-height:none!important;
margin:0!important;
object-fit:cover!important;
object-position:center!important;
border-radius:0!important;
}
.sw-entry.sw-monster-entry > .sw-monster-intro-grid{
display:grid!important;
grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr)!important;
gap:1.35rem;
align-items:start;
width:100%!important;
max-width:1080px!important;
margin:1.25rem auto 2rem!important;
}
.sw-entry.sw-monster-entry .sw-monster-intro-copy{
min-width:0;
padding:1.15rem 1.2rem .25rem;
border-top:1px solid rgba(230,198,142,.36);
}
.sw-entry.sw-monster-entry .sw-monster-intro-copy .sw-lead{
max-width:none!important;
margin:0 0 1.1rem!important;
font-size:1.08em;
}
.sw-entry.sw-monster-entry .sw-monster-intro-copy .sw-callout{
max-width:none!important;
margin:0!important;
border-left-color:#d8aa55!important;
background:linear-gradient(90deg, rgba(216,170,85,.09), rgba(128,128,128,.035))!important;
}
.sw-entry.sw-monster-entry .sw-monster-glance{
max-width:none!important;
margin:0!important;
padding:1rem!important;
border-color:rgba(230,198,142,.38)!important;
background:linear-gradient(180deg, rgba(36,31,24,.76), rgba(20,19,22,.96))!important;
box-shadow:0 14px 32px rgba(0,0,0,.2);
}
.sw-entry.sw-monster-entry .sw-monster-glance > h2{
margin:0 0 .9rem!important;
color:#e7d3af!important;
font-size:clamp(1.3rem, 2vw, 1.7rem)!important;
letter-spacing:.02em;
}
.sw-entry.sw-monster-entry .sw-monster-glance .sw-glance-grid{
grid-template-columns:1fr!important;
gap:0!important;
margin:0!important;
}
.sw-entry.sw-monster-entry .sw-monster-glance .sw-glance-grid > div{
display:grid;
grid-template-columns:minmax(120px, .75fr) minmax(0, 1.25fr);
gap:.75rem;
padding:.7rem 0!important;
border:0!important;
border-top:1px solid rgba(230,198,142,.18)!important;
border-radius:0!important;
background:transparent!important;
}
.sw-entry.sw-monster-entry .sw-monster-glance .sw-glance-grid > div:first-child{
border-top:0!important;
}
.sw-entry.sw-monster-entry .sw-monster-glance .sw-glance-grid strong{
margin:0!important;
color:#d8aa55!important;
font-size:.78rem;
}
.sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
gap:.55rem!important;
margin-bottom:1.1rem!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels label{
flex-direction:column;
min-height:78px;
padding:.75rem 1rem!important;
border-color:rgba(230,198,142,.34)!important;
border-radius:5px!important;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels label:nth-child(1){
background:linear-gradient(180deg, rgba(94,43,26,.98), rgba(53,29,22,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels label:nth-child(2){
background:linear-gradient(180deg, rgba(10,52,72,.98), rgba(5,30,44,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels label:nth-child(3){
background:linear-gradient(180deg, rgba(15,65,52,.98), rgba(8,37,31,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs .sw-edition-title{
display:block;
color:#f2e8d8!important;
font-family:var(--sw-font-heading)!important;
font-size:1.03rem;
line-height:1.2;
}
.sw-entry.sw-monster-entry .sw-monster-tabs .sw-edition-note-card{
display:block;
margin-top:.3rem;
color:rgba(242,232,216,.72)!important;
font-family:var(--sw-font-body)!important;
font-size:.78rem;
line-height:1.2;
}
.sw-entry.sw-monster-entry .sw-monster-tabs > input[id$="-55"]:checked ~ .sw-tab-labels label[for$="-55"], .sw-entry.sw-monster-entry .sw-monster-tabs > input[id$="-pf"]:checked ~ .sw-tab-labels label[for$="-pf"], .sw-entry.sw-monster-entry .sw-monster-tabs > input[id$="-35"]:checked ~ .sw-tab-labels label[for$="-35"]{
border-color:#e6c68e!important;
box-shadow:inset 0 0 0 1px #e6c68e, 0 0 0 2px rgba(230,198,142,.16)!important;
}
.sw-entry.sw-monster-entry .sw-folklore-figure{
margin-top:1.2rem!important;
padding:.7rem;
border:1px solid rgba(230,198,142,.32);
background:#17130f!important;
box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.sw-entry.sw-monster-entry .sw-folklore-figure img{
border-radius:4px!important;
}
.sw-entry.sw-monster-entry .sw-folklore-figure figcaption{
color:#d4c3a6!important;
}
@media (max-width: 900px) {
.sw-entry.sw-monster-entry > .sw-monster-hero{
grid-template-columns:1fr!important;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media{
min-height:300px;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media img{
min-height:300px!important;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media::after{
background:linear-gradient(0deg, rgba(7,10,12,.7), rgba(7,10,12,.08) 50%);
}
.sw-entry.sw-monster-entry > .sw-monster-intro-grid{
grid-template-columns:1fr!important;
}
}
@media (max-width: 560px) {
.sw-entry.sw-monster-entry .sw-monster-hero-copy{
padding:1.35rem 1rem;
}
.sw-entry.sw-monster-entry .sw-monster-hero h1{
font-size:clamp(2.4rem, 16vw, 4rem)!important;
}
.sw-entry.sw-monster-entry .sw-monster-hero-media, .sw-entry.sw-monster-entry .sw-monster-hero-media img{
min-height:240px!important;
}
.sw-entry.sw-monster-entry .sw-monster-glance .sw-glance-grid > div{
grid-template-columns:1fr!important;
gap:.2rem;
}
}
/* END SPIRALWORLDS MONSTER SHOWCASE */
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* Four-card monster palette: only pages that actually expose four edition tabs.
   Three-tab pages keep the 5.5e / PF1e / 3.5e palette defined above. */
.sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(4)) > .sw-tab-labels label:nth-child(1){
background:linear-gradient(180deg, rgba(94,43,26,.98), rgba(53,29,22,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(4)) > .sw-tab-labels label:nth-child(2){
background:linear-gradient(180deg, rgba(86,40,52,.98), rgba(48,23,31,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(4)) > .sw-tab-labels label:nth-child(3){
background:linear-gradient(180deg, rgba(10,52,72,.98), rgba(5,30,44,.98))!important;
}
.sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(4)) > .sw-tab-labels label:nth-child(4){
background:linear-gradient(180deg, rgba(15,65,52,.98), rgba(8,37,31,.98))!important;
}
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* SPIRALWORLDS MONSTER PAGE SHELL — dark background */
body:has(.sw-entry.sw-monster-entry){
background:#0b0b0d!important;
}
body:has(.sw-entry.sw-monster-entry) :is( #page, .site, .site-content, .ast-container, #primary, .content-area, .site-main, article, .entry-content ){
background-color:#0b0b0d!important;
}
body:has(.sw-entry.sw-monster-entry) .site-content{
background:radial-gradient(circle at 50% 0%, rgba(92,67,38,.10), transparent 34rem), #0b0b0d!important;
}
body:has(.sw-entry.sw-monster-entry) article{
box-shadow:none!important;
}
body:has(.sw-entry.sw-monster-entry) .entry-content{
margin-top:0!important;
color:#e8e6eb!important;
}
body:has(.sw-entry.sw-monster-entry) .sw-entry.sw-monster-entry{
background:linear-gradient(180deg, #101014 0%, #121117 34%, #0d0d10 100%)!important;
border-left:1px solid rgba(230,198,142,.10);
border-right:1px solid rgba(230,198,142,.10);
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — CANONICAL ENTRY SHELL + EDITION TABS — 2.0.0
   Authoritative global layer. Replaces page-level dark-canvas fixes
   and overlapping tab-lock patches for canonical .sw-entry pages.
   ============================================================ */
/* Canonical entries always sit on the shared dark canvas. */
body:has(.entry-content .sw-entry), body:has(.entry-content .sw-entry) #page, body:has(.entry-content .sw-entry) .site, body:has(.entry-content .sw-entry) .site-content, body:has(.entry-content .sw-entry) .site-content > .ast-container, body:has(.entry-content .sw-entry) #primary, body:has(.entry-content .sw-entry) .content-area, body:has(.entry-content .sw-entry) .site-main, body:has(.entry-content .sw-entry) .site-main > article, body:has(.entry-content .sw-entry) .ast-article-single, body:has(.entry-content .sw-entry) .entry-header, body:has(.entry-content .sw-entry) .entry-content{
background-color:#0b0b0d!important;
background-image:none!important;
}
body:has(.entry-content .sw-entry) .site-main > article, body:has(.entry-content .sw-entry) .ast-article-single{
box-shadow:none!important;
}
body:has(.entry-content .sw-entry) .entry-title{
color:#f2eff5!important;
}
body:has(.entry-content :is(.sw-entry,.sw-sm)) :is(.ast-breadcrumbs-wrapper,.ast-breadcrumbs,.breadcrumb-trail,.rank-math-breadcrumb){
background:#0b0b0d!important;
color:#b9b4c1!important;
}
body:has(.entry-content :is(.sw-entry,.sw-sm)) :is(.ast-breadcrumbs,.breadcrumb-trail,.rank-math-breadcrumb) a{
color:#e6c68e!important;
}
/* Canonical tab inputs stay accessible but off-canvas. */
/* SpiralWorlds hard-locked edition tabs — 2026-09-27.
   Simple direct-child selectors deliberately avoid fragile :has() dependencies. */
.sw-entry .sw-tabs > input.sw-tab-radio[type="radio"]{
position:absolute!important;
width:1px!important;
height:1px!important;
margin:-1px!important;
padding:0!important;
overflow:hidden!important;
clip:rect(0 0 0 0)!important;
clip-path:inset(50%)!important;
white-space:nowrap!important;
border:0!important;
opacity:0!important;
}
.sw-entry .sw-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
gap:.55rem!important;
margin:0 0 1rem!important;
}
.sw-entry .sw-tabs > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-height:3rem!important;
padding:.65rem .8rem!important;
border:1px solid var(--sw-c-border, #5a4c60)!important;
border-radius:.45rem!important;
background:var(--sw-c-panel, #18141d)!important;
color:var(--sw-c-text, #e8e0d6)!important;
cursor:pointer!important;
font-weight:700!important;
line-height:1.25!important;
text-align:center!important;
}
.sw-entry .sw-tabs > .sw-tab-labels > label:hover{
border-color:var(--sw-c-link, #d8ad64)!important;
}
.sw-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
.sw-entry .sw-tabs > input[id$="-55"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-55"], .sw-entry .sw-tabs > input[id$="-2024"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2024"], .sw-entry .sw-tabs > input[id$="-2014"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2014"], .sw-entry .sw-tabs > input[id$="-5e"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-5e"], .sw-entry .sw-tabs > input[id$="-pf"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf"], .sw-entry .sw-tabs > input[id$="-pf1"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf1"], .sw-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
}
.sw-entry .sw-tabs > input[id$="-55"]:checked ~ .sw-tab-labels > label[for$="-55"], .sw-entry .sw-tabs > input[id$="-2024"]:checked ~ .sw-tab-labels > label[for$="-2024"], .sw-entry .sw-tabs > input[id$="-2014"]:checked ~ .sw-tab-labels > label[for$="-2014"], .sw-entry .sw-tabs > input[id$="-5e"]:checked ~ .sw-tab-labels > label[for$="-5e"], .sw-entry .sw-tabs > input[id$="-pf"]:checked ~ .sw-tab-labels > label[for$="-pf"], .sw-entry .sw-tabs > input[id$="-pf1"]:checked ~ .sw-tab-labels > label[for$="-pf1"], .sw-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-labels > label[for$="-35"]{
background:var(--sw-c-active, #4d183f)!important;
border-color:var(--sw-c-link, #d8ad64)!important;
color:#fff!important;
}
@media (max-width: 780px) {
.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 520px) {
.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > input[type="radio"], .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[type="radio"], .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[type="radio"]{
position:absolute!important;
inline-size:1px!important;
block-size:1px!important;
opacity:0!important;
overflow:hidden!important;
clip-path:inset(50%)!important;
white-space:nowrap!important;
}
/* DIRECT CANONICAL MARKUP: once a supported radio exists, hide every panel. */
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > input[type="radio"]:checked ~ .sw-tab-panels > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
/* Restore only the checked direct panel. */
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-55"],[id$="-2024"],.sw-panel-2024), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-5e"],[id$="-2014"],.sw-panel-2014), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-pf"],[id$="-pf1"],.sw-panel-pf1), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-35"],.sw-panel-35){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem, 2vw, 1.5rem)!important;
overflow:visible!important;
border:1px solid var(--sw-c-border)!important;
border-top:3px solid var(--sw-c-link)!important;
border-radius:8px!important;
background:var(--sw-c-panel)!important;
}
/* GUTENBERG GROUP MARKUP: WordPress may wrap radios/panels in inner containers. */
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[type="radio"]:checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel, .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[type="radio"]:checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-55"],[id$="-2024"],.sw-panel-2024), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-5e"],[id$="-2014"],.sw-panel-2014), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-pf"],[id$="-pf1"],.sw-panel-pf1), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[id$="-35"]:checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-35"],.sw-panel-35), .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-55"],[id$="-2024"],.sw-panel-2024), .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-5e"],[id$="-2014"],.sw-panel-2014), .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-pf"],[id$="-pf1"],.sw-panel-pf1), .sw-entry.sw-entry:is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[id$="-35"]:checked ~ .sw-tab-panels > .wp-block-group__inner-container > .sw-tab-panel:is([id$="-35"],.sw-panel-35){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem, 2vw, 1.5rem)!important;
overflow:visible!important;
border:1px solid var(--sw-c-border)!important;
border-top:3px solid var(--sw-c-link)!important;
border-radius:8px!important;
background:var(--sw-c-panel)!important;
}
/* Active tab label follows the checked edition in both DOM shapes. */
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-labels :is(label[for$="-55"],label[for$="-2024"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-labels :is(label[for$="-5e"],label[for$="-2014"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-labels :is(label[for$="-pf"],label[for$="-pf1"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > input[id$="-35"]:checked ~ .sw-tab-labels label[for$="-35"], .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-labels :is(label[for$="-55"],label[for$="-2024"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-labels :is(label[for$="-5e"],label[for$="-2014"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-labels :is(label[for$="-pf"],label[for$="-pf1"]), .sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) > .wp-block-group__inner-container > input[id$="-35"]:checked ~ .sw-tab-labels label[for$="-35"]{
background:var(--sw-c-active)!important;
border-color:var(--sw-c-active)!important;
color:var(--sw-c-active-text)!important;
}
/* Print deliberately shows all editions. */
@media print {
.sw-entry.sw-entry :is(.sw-tabs,.sw-tabset) .sw-tab-panel{
display:block!important;
visibility:visible!important;
height:auto!important;
margin-bottom:1.5rem!important;
padding:1rem!important;
overflow:visible!important;
}
}
/* END SPIRALWORLDS CANONICAL ENTRY SHELL + EDITION TABS — 2.0.0 */
/* --- WPWriter addition --- */
/* SpiralWorlds semantic site-title repair — 2026-09-23
   Use WordPress's real site title instead of hiding it and recreating it with ::after. */
body:not(.home) #masthead .site-title a{
font-size:28px!important;
}
body:not(.home) #masthead .site-title a::after{
content:none!important;
display:none!important;
}
@media (max-width: 1120px) and (min-width: 922px) {
body:not(.home) #masthead .site-title a{
font-size:23px!important;
}
html body:not(.home):not(.wp-admin) #masthead :is(.ast-main-header-bar-alignment,.main-header-bar-navigation,.main-navigation,.site-navigation){
min-width:0!important;
}
html body:not(.home):not(.wp-admin) #masthead .main-header-menu{
flex-wrap:wrap!important;
min-width:0!important;
max-width:100%!important;
}
}
@media (max-width: 921px) {
body:not(.home) #masthead .site-title a{
font-size:22px!important;
}
}
/* --- WPWriter addition --- */
/* Temporary compatibility restore — remove after LiteSpeed/full-page cache purge.
   Some cached pages still carry the old HTML site title. */
body:not(.home) #masthead .site-title a{
font-size:0!important;
}
body:not(.home) #masthead .site-title a::after{
content:"SpiralWorlds"!important;
display:inline!important;
font-size:28px!important;
}
@media (max-width: 1120px) and (min-width: 922px) {
body:not(.home) #masthead .site-title a::after{
font-size:23px!important;
}
}
@media (max-width: 921px) {
body:not(.home) #masthead .site-title a::after{
font-size:22px!important;
}
}
/* --- WPWriter addition --- */
/* Shared dark canvas for legacy entries that style their own inner content. */
body:has(.entry-content .sw-dark-shell){
background-color:#06141b!important;
}
body:has(.entry-content .sw-dark-shell) :is( .site-content, .site-content > .ast-container, #primary, .site-main, .site-main > article, .site-main > article > .entry-content ){
background-color:#06141b!important;
background-image:none!important;
}
body:has(.entry-content .sw-dark-shell) .ast-breadcrumbs{
color:#b7c9cc!important;
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — LOCATION IDENTITY BLOCK 50:50 — 2026-09-25
   Canonical site-wide rule for At a Glance + heraldry/emblems.
   Supports both current .sw-identity and legacy .sw-location-identity.
   ============================================================ */
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity){
display:grid!important;
grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)!important;
align-items:start!important;
gap:32px!important;
width:100%!important;
max-width:100%!important;
margin:1.5rem auto 2.25rem!important;
padding:0!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ){
width:100%!important;
max-width:none!important;
min-width:0!important;
margin:0!important;
padding:0!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) > h2{
margin-top:0!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) table{
width:100%!important;
max-width:100%!important;
margin:0!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ){
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
justify-self:stretch!important;
align-self:start!important;
float:none!important;
text-align:center!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ) img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:none!important;
aspect-ratio:1 / 1!important;
object-fit:contain!important;
margin:0 auto!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ) figcaption{
margin:.65rem auto 0!important;
text-align:center!important;
}
@media (max-width: 900px) {
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity){
grid-template-columns:1fr!important;
gap:1.4rem!important;
}
.sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-heraldry, .sw-location-heraldry, .sw-arms, .sw-opening-arms, .sw-sigil ){
width:min(100%, 420px)!important;
max-width:420px!important;
justify-self:center!important;
margin:0 auto!important;
}
}
/* END SPIRALWORLDS LOCATION IDENTITY BLOCK 50:50 */
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS — GLOBAL WORD-WRAP REPAIR — 2026-09-26
   Prevent mid-word breaks caused by inherited overflow-wrap:anywhere.
   ============================================================ */
/* Normal reading text should wrap between words, not through them. */
body:not(.wp-admin) .sw-entry.sw-entry :is( p, li, dd, dt, td, th, blockquote, summary, figcaption ){
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:auto;
}
/* At-a-Glance labels must remain whole words. */
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) table{
width:100%!important;
table-layout:auto!important;
}
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) th{
width:30%!important;
min-width:9.5rem!important;
white-space:normal!important;
word-break:keep-all!important;
overflow-wrap:normal!important;
hyphens:none!important;
vertical-align:top!important;
}
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) td{
white-space:normal!important;
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:auto!important;
vertical-align:top!important;
}
/* Long technical strings and URLs may still break safely when necessary. */
body:not(.wp-admin) .sw-entry.sw-entry :is( code, pre, a[href^="http"] ){
overflow-wrap:anywhere;
}
@media (max-width: 900px) {
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) th{
width:34%!important;
min-width:8rem!important;
}
}
@media (max-width: 640px) {
body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) th{
width:38%!important;
min-width:7rem!important;
}
}
/* END SPIRALWORLDS GLOBAL WORD-WRAP REPAIR */
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS DUNGEONS HUB — migrated from page content 2026-09-26 */
/* ============================================================
   SPIRALWORLDS — MODERN PAGE OUTER BACKGROUND FIX
   Removes Astra's white frame around rebuilt .sw-entry pages.
   Does not widen the article or alter legacy page geometry.
   ============================================================ */
body:has(.sw-entry.sw-dungeons) .site-content, body:has(.sw-entry.sw-dungeons) .site-content > .ast-container, body:has(.sw-entry.sw-dungeons) .ast-container, body:has(.sw-entry.sw-dungeons) #primary, body:has(.sw-entry.sw-dungeons) .content-area, body:has(.sw-entry.sw-dungeons) .site-main, body:has(.sw-entry.sw-dungeons) .ast-article-single, body:has(.sw-entry.sw-dungeons) .entry-content, body:has(.sw-entry.sw-dungeons) .ast-breadcrumbs-wrapper, body:has(.sw-entry.sw-dungeons) .ast-breadcrumbs{
background:transparent!important;
}
body:has(.sw-entry.sw-dungeons) .ast-article-single{
padding-left:0!important;
padding-right:0!important;
box-shadow:none!important;
}
/* ============================================================
   SPIRALWORLDS — DUNGEONS HUB
   Definitive publication build · August 2026

   WIDTH LOCK
   - One centred article shell
   - Maximum width 1400px
   - No 100vw
   - No negative viewport margins
   - No alignfull
   - Hero fills article, never browser viewport

   TABS
   - Genuine CSS-only 5.5e / PF1e / 3.5e tabs
   - No JavaScript required
   ============================================================ */
.sw-entry.sw-dungeons{
--sw-bg: #0d1117;
--sw-surface: #141b24;
--sw-surface-2: #19222d;
--sw-surface-3: #202b37;
--sw-border: #354352;
--sw-border-soft: #283541;
--sw-text: #e8edf2;
--sw-muted: #b5c0ca;
--sw-faint: #8795a2;
--sw-link: #7fd6e8;
--sw-link-hover: #b8edf7;
--sw-gold: #d7b56d;
--sw-gold-light: #f0d99a;
--sw-green: #94c7a4;
--sw-red: #dc8d82;
--sw-shadow: 0 18px 45px rgba(0, 0, 0, 0.3);
margin:0 auto;
padding:clamp(18px, 3vw, 42px);
background:var(--sw-bg);
color:var(--sw-text);
font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size:17px;
line-height:1.72;
border:1px solid #1e2933;
border-radius:20px;
}
.sw-entry.sw-dungeons *, .sw-entry.sw-dungeons *::before, .sw-entry.sw-dungeons *::after{

}
.sw-entry.sw-dungeons h1, .sw-entry.sw-dungeons h2, .sw-entry.sw-dungeons h3, .sw-entry.sw-dungeons h4{
color:#ffffff;
line-height:1.18;
text-wrap:balance;
}
.sw-entry.sw-dungeons h1{
margin:0 0 1rem;
font-size:clamp(2.55rem, 6vw, 5rem);
letter-spacing:-0.045em;
}
.sw-entry.sw-dungeons h2{
margin:0 0 1rem;
font-size:clamp(1.75rem, 3.5vw, 2.65rem);
letter-spacing:-0.025em;
}
.sw-entry.sw-dungeons h3{
margin:0 0 0.55rem;
font-size:clamp(1.12rem, 2vw, 1.38rem);
}
.sw-entry.sw-dungeons h4{
margin:1.25rem 0 0.4rem;
font-size:1.08rem;
}
.sw-entry.sw-dungeons p{
margin:0 0 1rem;
}
.sw-entry.sw-dungeons ul, .sw-entry.sw-dungeons ol{
margin-top:0.45rem;
margin-bottom:1rem;
padding-left:1.35rem;
}
.sw-entry.sw-dungeons li + li{
margin-top:0.38rem;
}
.sw-entry.sw-dungeons strong{
color:#ffffff;
}
.sw-entry.sw-dungeons a{
color:var(--sw-link);
text-decoration-thickness:1px;
text-underline-offset:0.18em;
}
.sw-entry.sw-dungeons a:hover, .sw-entry.sw-dungeons a:focus{
color:var(--sw-link-hover);
}
.sw-entry.sw-dungeons img{
display:block;
max-width:100%;
height:auto;
}
/* ------------------------------------------------------------
   HEADER
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-kicker{
margin:0 0 0.55rem;
color:var(--sw-gold);
font-size:0.8rem;
font-weight:800;
letter-spacing:0.14em;
text-transform:uppercase;
}
.sw-dungeons .sw-dun-subtitle{
max-width:950px;
margin:0 0 1.3rem;
color:var(--sw-muted);
font-size:clamp(1.08rem, 2vw, 1.32rem);
}
/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-hero{
margin:0;
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:18px;
background:#080b0e;
box-shadow:var(--sw-shadow);
}
.sw-dungeons .sw-dun-hero > a{
display:block;
background:#080b0e;
}
.sw-dungeons .sw-dun-hero img{
width:100%;
max-height:900px;
object-fit:cover;
object-position:center;
cursor:zoom-in;
}
.sw-dungeons .sw-dun-hero figcaption, .sw-dungeons .sw-dun-history-image figcaption{
padding:0.78rem 1rem;
background:#101720;
color:var(--sw-muted);
font-size:0.88rem;
line-height:1.5;
}
/* ------------------------------------------------------------
   CSS-ONLY LIGHTBOXES
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-lightbox{
position:fixed;
z-index:99999;
inset:0;
display:none;
align-items:center;
justify-content:center;
padding:28px;
}
.sw-dungeons .sw-dun-lightbox:target{
display:flex;
}
.sw-dungeons .sw-dun-lightbox-backdrop{
position:absolute;
inset:0;
background:rgba(3, 6, 9, 0.94);
cursor:zoom-out;
}
.sw-dungeons .sw-dun-lightbox-dialog{
position:relative;
z-index:2;
max-width:min(96vw, 1700px);
max-height:94vh;
}
.sw-dungeons .sw-dun-lightbox-dialog img{
max-width:100%;
max-height:90vh;
width:auto;
height:auto;
border:1px solid #607080;
border-radius:10px;
box-shadow:0 25px 80px rgba(0, 0, 0, 0.7);
}
.sw-dungeons .sw-dun-lightbox-close{
position:absolute;
z-index:3;
top:-18px;
right:-10px;
display:inline-flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
border:1px solid #71808d;
border-radius:50%;
background:#111922;
color:#ffffff!important;
font-size:1.7rem;
font-weight:800;
line-height:1;
text-decoration:none!important;
}
.sw-dungeons .sw-dun-lightbox-image-close{
display:block;
cursor:zoom-out;
text-decoration:none!important;
}
.sw-dungeons .sw-dun-lightbox-image-close img{
cursor:zoom-out;
}
/* ------------------------------------------------------------
   INTRO / NAVIGATION
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-lede{
max-width:1050px;
margin:1.55rem auto 0;
padding:clamp(1.2rem, 3vw, 1.8rem);
border:1px solid var(--sw-border);
border-radius:16px;
background:linear-gradient( 135deg, rgba(215, 181, 109, 0.08), rgba(127, 214, 232, 0.035) ), var(--sw-surface);
font-size:1.05rem;
}
.sw-dungeons .sw-dun-lede p:last-child{
margin-bottom:0;
}
.sw-dungeons .sw-dun-toc{
margin:1.25rem 0 0;
padding:1rem 1.1rem;
border:1px solid var(--sw-border-soft);
border-radius:14px;
background:var(--sw-surface);
}
.sw-dungeons .sw-dun-toc strong{
display:block;
margin-bottom:0.55rem;
}
.sw-dungeons .sw-dun-toc-list{
display:flex;
flex-wrap:wrap;
gap:0.45rem 1rem;
margin:0;
padding:0;
list-style:none;
}
.sw-dungeons .sw-dun-toc-list li{
margin:0;
}
/* ------------------------------------------------------------
   SECTION
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-section{
margin-top:clamp(2.4rem, 6vw, 4.7rem);
scroll-margin-top:24px;
}
.sw-dungeons .sw-dun-section-head{
max-width:960px;
margin-bottom:1.35rem;
}
.sw-dungeons .sw-dun-eyebrow{
margin:0 0 0.4rem;
color:var(--sw-gold);
font-size:0.76rem;
font-weight:850;
letter-spacing:0.13em;
text-transform:uppercase;
}
.sw-dungeons .sw-dun-section-intro{
color:var(--sw-muted);
font-size:1.03rem;
}
/* ------------------------------------------------------------
   GRIDS / CARDS
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-grid-2, .sw-dungeons .sw-dun-grid-3, .sw-dungeons .sw-dun-grid-4, .sw-dungeons .sw-dun-build-grid, .sw-dungeons .sw-dun-link-grid{
display:grid;
gap:1rem;
}
.sw-dungeons .sw-dun-grid-2{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-grid-3{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-grid-4{
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-build-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-link-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-card, .sw-dungeons .sw-dun-step, .sw-dungeons .sw-dun-link-card{
min-width:0;
padding:1.15rem;
border:1px solid var(--sw-border);
border-radius:14px;
background:var(--sw-surface);
}
.sw-dungeons .sw-dun-card p:last-child, .sw-dungeons .sw-dun-step p:last-child, .sw-dungeons .sw-dun-link-card p:last-child{
margin-bottom:0;
}
.sw-dungeons .sw-dun-step{
position:relative;
padding-left:4.45rem;
}
.sw-dungeons .sw-dun-step-number{
position:absolute;
top:1.1rem;
left:1.1rem;
display:flex;
align-items:center;
justify-content:center;
width:2.45rem;
height:2.45rem;
border:1px solid #806d43;
border-radius:50%;
background:#211d16;
color:var(--sw-gold-light);
font-weight:850;
}
.sw-dungeons .sw-dun-type-card{
display:flex;
flex-direction:column;
height:100%;
}
.sw-dungeons .sw-dun-type-card .sw-dun-card-link{
margin-top:auto;
padding-top:0.4rem;
font-weight:750;
}
.sw-dungeons .sw-dun-link-card{
display:block;
text-decoration:none!important;
transition:transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
.sw-dungeons .sw-dun-link-card:hover, .sw-dungeons .sw-dun-link-card:focus{
transform:translateY(-2px);
border-color:#5e8192;
background:var(--sw-surface-2);
}
.sw-dungeons .sw-dun-link-card strong{
display:block;
margin-bottom:0.35rem;
color:var(--sw-link-hover);
}
.sw-dungeons .sw-dun-link-card span{
display:block;
color:var(--sw-muted);
}
/* ------------------------------------------------------------
   CALLOUTS
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-callout{
margin:1.3rem 0;
padding:1.1rem 1.2rem;
border-left:5px solid var(--sw-gold);
border-radius:0 12px 12px 0;
background:#191a19;
}
.sw-dungeons .sw-dun-callout--blue{
border-left-color:var(--sw-link);
background:#121c23;
}
.sw-dungeons .sw-dun-callout--green{
border-left-color:var(--sw-green);
background:#141d18;
}
.sw-dungeons .sw-dun-callout--red{
border-left-color:var(--sw-red);
background:#211616;
}
.sw-dungeons .sw-dun-callout p:last-child{
margin-bottom:0;
}
/* ------------------------------------------------------------
   CSS-ONLY EDITION TABS
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-tabs{
margin-top:1.25rem;
}
.sw-dungeons .sw-dun-tab-input{
position:absolute;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}
.sw-dungeons .sw-dun-tab-labels{
display:flex;
flex-wrap:wrap;
gap:0.55rem;
margin-bottom:1rem;
}
.sw-dungeons .sw-dun-tab-labels label{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:105px;
min-height:46px;
padding:0.7rem 1rem;
border:1px solid #536575;
border-radius:999px;
background:#131a22;
color:var(--sw-text);
font-weight:800;
cursor:pointer;
user-select:none;
}
#sw-dun-edition-55:checked ~ .sw-dun-tab-labels label[for="sw-dun-edition-55"], #sw-dun-edition-pf:checked ~ .sw-dun-tab-labels label[for="sw-dun-edition-pf"], #sw-dun-edition-35:checked ~ .sw-dun-tab-labels label[for="sw-dun-edition-35"]{
border-color:#d2b675;
background:#3a3221;
color:#ffffff;
}
#sw-dun-edition-55:focus-visible ~ .sw-dun-tab-labels label[for="sw-dun-edition-55"], #sw-dun-edition-pf:focus-visible ~ .sw-dun-tab-labels label[for="sw-dun-edition-pf"], #sw-dun-edition-35:focus-visible ~ .sw-dun-tab-labels label[for="sw-dun-edition-35"]{
outline:3px solid #8ad8e8;
outline-offset:3px;
}
.sw-dungeons .sw-dun-tab-panel{
display:none;
padding:clamp(1.15rem, 3vw, 1.8rem);
border:1px solid var(--sw-border);
border-radius:16px;
background:var(--sw-surface);
box-shadow:var(--sw-shadow);
}
#sw-dun-edition-55:checked ~ .sw-dun-tab-panels .sw-dun-panel-55, #sw-dun-edition-pf:checked ~ .sw-dun-tab-panels .sw-dun-panel-pf, #sw-dun-edition-35:checked ~ .sw-dun-tab-panels .sw-dun-panel-35{
display:block;
}
.sw-dungeons .sw-dun-rules-note{
margin-bottom:1.2rem;
padding:0.9rem 1rem;
border:1px solid var(--sw-border-soft);
border-radius:10px;
background:#10171f;
color:var(--sw-muted);
}
/* ------------------------------------------------------------
   TABLES
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-table-wrap{
width:100%;
margin:1rem 0 1.45rem;
overflow-x:auto;
border:1px solid var(--sw-border);
border-radius:12px;
background:#10161d;
-webkit-overflow-scrolling:touch;
}
.sw-dungeons table{
width:100%;
min-width:680px;
border-collapse:collapse;
color:var(--sw-text);
}
.sw-dungeons th, .sw-dungeons td{
padding:0.75rem 0.85rem;
border-bottom:1px solid var(--sw-border-soft);
text-align:left;
vertical-align:top;
}
.sw-dungeons th{
background:#202b36;
color:#ffffff;
font-size:0.9rem;
}
.sw-dungeons tr:last-child td{
border-bottom:0;
}
.sw-dungeons tbody tr:nth-child(even){
background:rgba(255, 255, 255, 0.018);
}
.sw-dungeons .sw-dun-small{
color:var(--sw-muted);
font-size:0.9rem;
}
/* ------------------------------------------------------------
   PROCEDURE / TRACKER
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-procedure{
counter-reset:sw-dun-procedure;
margin:0;
padding:0;
list-style:none;
}
.sw-dungeons .sw-dun-procedure li{
position:relative;
margin:0 0 0.85rem;
padding:0.9rem 1rem 0.9rem 3.55rem;
border:1px solid var(--sw-border-soft);
border-radius:12px;
background:var(--sw-surface);
}
.sw-dungeons .sw-dun-procedure li::before{
counter-increment:sw-dun-procedure;
content:counter(sw-dun-procedure);
position:absolute;
top:0.82rem;
left:0.9rem;
display:flex;
align-items:center;
justify-content:center;
width:1.95rem;
height:1.95rem;
border-radius:50%;
background:#263440;
color:#ffffff;
font-weight:850;
}
/* ------------------------------------------------------------
   HISTORY IMAGE
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-history-image{
max-width:900px;
margin:1.35rem auto 0;
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:16px;
background:#0c1015;
}
.sw-dungeons .sw-dun-history-image > a{
display:block;
}
.sw-dungeons .sw-dun-history-image img{
width:100%;
max-height:700px;
object-fit:contain;
background:#0b0e12;
cursor:zoom-in;
}
/* ------------------------------------------------------------
   SOURCES / LICENCE
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-sources{
padding:clamp(1.1rem, 3vw, 1.6rem);
border:1px solid var(--sw-border);
border-radius:15px;
background:var(--sw-surface);
}
.sw-dungeons .sw-dun-source-row + .sw-dun-source-row{
margin-top:1.15rem;
padding-top:1.15rem;
border-top:1px solid var(--sw-border-soft);
}
.sw-dungeons .sw-dun-licence{
margin-top:1.2rem;
border:1px solid var(--sw-border);
border-radius:12px;
background:#10161d;
}
.sw-dungeons .sw-dun-licence summary{
padding:1rem 1.1rem;
color:#ffffff;
font-weight:800;
cursor:pointer;
}
.sw-dungeons .sw-dun-licence-content{
padding:0 1.1rem 1.2rem;
color:var(--sw-muted);
font-size:0.9rem;
}
.sw-dungeons .sw-dun-licence-content li{
margin-bottom:0.75rem;
}
/* ------------------------------------------------------------
   BOTTOM NAV
   ------------------------------------------------------------ */
.sw-dungeons .sw-dun-bottom{
margin-top:2.5rem;
padding-top:1.5rem;
border-top:1px solid var(--sw-border);
}
.sw-dungeons .sw-dun-bottom-title{
margin-bottom:0.8rem;
color:var(--sw-gold);
font-size:0.78rem;
font-weight:850;
letter-spacing:0.12em;
text-transform:uppercase;
}
/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */
@media (max-width: 1050px) {
.sw-dungeons .sw-dun-grid-4, .sw-dungeons .sw-dun-grid-3, .sw-dungeons .sw-dun-link-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 760px) {
.sw-entry.sw-dungeons{
padding:16px;
border-radius:14px;
}
.sw-dungeons .sw-dun-grid-2, .sw-dungeons .sw-dun-grid-3, .sw-dungeons .sw-dun-grid-4, .sw-dungeons .sw-dun-build-grid, .sw-dungeons .sw-dun-link-grid{
grid-template-columns:1fr;
}
.sw-dungeons .sw-dun-step{
padding-left:1.1rem;
padding-top:4.15rem;
}
.sw-dungeons .sw-dun-step-number{
top:1rem;
left:1.1rem;
}
.sw-dungeons .sw-dun-tab-labels{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-dungeons .sw-dun-tab-labels label{
min-width:0;
padding-left:0.5rem;
padding-right:0.5rem;
}
.sw-dungeons .sw-dun-lightbox{
padding:12px;
}
}
@media (max-width: 480px) {
.sw-dungeons .sw-dun-tab-labels{
grid-template-columns:1fr;
}
.sw-dungeons .sw-dun-toc-list{
display:block;
}
.sw-dungeons .sw-dun-toc-list li + li{
margin-top:0.35rem;
}
}
/* END SPIRALWORLDS DUNGEONS HUB */
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS BRITISH ISLES HUB — migrated from page 10691, 2026-09-28 */
/* =========================================================
   SPIRALWORLDS — THE BRITISH ISLES
   Reader-first location hub · Campaign present 1454 CE
   Astra / Spectra compatible · CSS only · No JavaScript
   ========================================================= */
.sw-entry.sw-british-isles{
--sw-line: rgba(128, 128, 128, 0.30);
--sw-soft: rgba(128, 128, 128, 0.08);
--sw-link: #6b451f;
--sw-link-hover: #4e3115;
--sw-table: rgba(128, 128, 128, 0.08);
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
color:inherit;
font-size:17px;
line-height:1.72;
}
.sw-british-isles *, .sw-british-isles *::before, .sw-british-isles *::after{
box-sizing:border-box;
}
.sw-british-isles h1, .sw-british-isles h2, .sw-british-isles h3, .sw-british-isles h4{
font-family:"Cinzel", Georgia, "Times New Roman", serif;
color:inherit;
line-height:1.2;
text-wrap:balance;
}
.sw-british-isles h1{
margin:0 0 24px;
text-align:center;
font-size:clamp(2.25rem, 5vw, 4rem);
letter-spacing:0.015em;
}
.sw-british-isles h2{
margin:54px 0 18px;
font-size:clamp(1.7rem, 3.1vw, 2.45rem);
}
.sw-british-isles h3{
margin:32px 0 10px;
font-size:clamp(1.24rem, 2vw, 1.55rem);
}
.sw-british-isles h4{
margin:22px 0 8px;
font-size:1.08rem;
}
.sw-british-isles p{
margin:0 0 1.15em;
}
.sw-british-isles a{
color:var(--sw-link);
text-decoration-thickness:1px;
text-underline-offset:0.16em;
}
.sw-british-isles a:hover, .sw-british-isles a:focus-visible{
color:var(--sw-link-hover);
}
.sw-british-isles a:focus-visible{
outline:2px solid currentColor;
outline-offset:3px;
}
.sw-british-isles strong{
font-weight:700;
}
.sw-british-isles .sw-lead{
font-size:clamp(1.08rem, 1.65vw, 1.25rem);
line-height:1.72;
}
.sw-british-isles .sw-rule{
border:0;
border-top:1px solid var(--sw-line);
margin:46px 0;
}
/* Hero */
.sw-british-isles .sw-hero{
margin:0 0 26px;
}
.sw-british-isles .sw-hero a, .sw-british-isles .sw-map-figure a, .sw-british-isles .sw-heraldry a{
display:block;
}
.sw-british-isles .sw-hero img{
display:block;
width:100%;
aspect-ratio:16 / 9;
object-fit:cover;
border-radius:4px;
}
.sw-british-isles figcaption{
margin-top:8px;
color:inherit;
opacity:0.74;
font-size:0.88rem;
line-height:1.45;
text-align:center;
}
/* =========================================================
   IDENTITY BLOCK
   Desktop = exact 50% / 50%
   ========================================================= */
.sw-british-isles .sw-identity{
display:flex!important;
flex-direction:row!important;
align-items:flex-start!important;
gap:28px!important;
margin:0 0 36px!important;
width:100%!important;
}
.sw-british-isles .sw-identity > .sw-glance{
flex:0 0 calc(50% - 14px)!important;
width:calc(50% - 14px)!important;
max-width:calc(50% - 14px)!important;
min-width:0;
margin:0!important;
align-self:flex-start!important;
}
.sw-british-isles .sw-identity > .sw-heraldry{
flex:0 0 calc(50% - 14px)!important;
width:calc(50% - 14px)!important;
max-width:calc(50% - 14px)!important;
min-width:0;
margin:0!important;
align-self:flex-start!important;
}
.sw-british-isles .sw-glance, .sw-british-isles .sw-heraldry{
margin:0!important;
padding:0!important;
align-self:flex-start!important;
}
.sw-british-isles .sw-glance h2{
margin:0 0 14px!important;
}
.sw-british-isles .sw-heraldry a{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0!important;
}
.sw-british-isles .sw-table-wrap{
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
.sw-british-isles .sw-glance table{
width:100%;
border-collapse:collapse;
margin:0;
font-size:0.96rem;
}
.sw-british-isles .sw-glance th, .sw-british-isles .sw-glance td{
padding:10px 12px;
border-bottom:1px solid var(--sw-line);
text-align:left;
vertical-align:top;
}
.sw-british-isles .sw-glance th{
width:30%;
font-weight:700;
background:var(--sw-table);
}
.sw-british-isles .sw-heraldry img{
display:block!important;
width:100%!important;
max-width:none!important;
height:auto!important;
aspect-ratio:1 / 1;
object-fit:cover;
border-radius:4px;
margin:0!important;
}
/* Plain campaign gateway columns — deliberately not box-heavy */
.sw-british-isles .sw-region-grid, .sw-british-isles .sw-two-col{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:24px 36px;
}
.sw-british-isles .sw-region{
padding-left:18px;
border-left:3px solid var(--sw-line);
}
.sw-british-isles .sw-region h3{
margin-top:0;
}
.sw-british-isles .sw-link-row{
margin:18px 0 0;
font-size:0.95rem;
}
/* Adventure hooks */
.sw-british-isles .sw-hook-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px 34px;
margin-top:20px;
}
.sw-british-isles .sw-hook{
padding:18px 0;
border-top:1px solid var(--sw-line);
}
.sw-british-isles .sw-hook h3{
margin:0 0 8px;
}
.sw-british-isles .sw-hook p:last-child{
margin-bottom:0;
}
/* Inline campaign note */
.sw-british-isles .sw-note{
margin:28px 0;
padding:18px 22px;
border-left:4px solid currentColor;
background:var(--sw-soft);
}
.sw-british-isles .sw-note p:last-child{
margin-bottom:0;
}
/* Map */
.sw-british-isles .sw-map-figure{
margin:26px auto 40px;
}
.sw-british-isles .sw-map-figure img{
display:block;
width:100%;
height:auto;
border-radius:4px;
}
/* Videos */
.sw-british-isles .sw-video-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:22px;
margin-top:20px;
}
.sw-british-isles .sw-video{
margin:0;
}
.sw-british-isles .sw-video-frame{
position:relative;
padding-top:56.25%;
overflow:hidden;
background:#111;
border-radius:4px;
}
.sw-british-isles .sw-video-frame iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
.sw-british-isles .sw-video h3{
margin:10px 0 4px;
font-size:1rem;
}
/* Related links */
.sw-british-isles .sw-related{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px 28px;
margin-top:18px;
}
.sw-british-isles .sw-related > div{
padding-top:12px;
border-top:1px solid var(--sw-line);
}
.sw-british-isles .sw-related strong{
display:block;
margin-bottom:3px;
}
/* FAQ */
.sw-british-isles .sw-faq{
border-top:1px solid var(--sw-line);
}
.sw-british-isles .sw-faq h3{
margin-bottom:5px;
}
.sw-british-isles .sw-faq-item{
padding:18px 0 8px;
border-bottom:1px solid var(--sw-line);
}
/* Sources */
.sw-british-isles .sw-sources{
font-size:0.94rem;
opacity:0.86;
}
.sw-british-isles .sw-sources a{
color:inherit;
}
/* =========================================================
   CSS-ONLY LIGHTBOX
   ========================================================= */
.sw-british-isles .sw-lightbox{
display:none;
position:fixed;
z-index:999999;
inset:0;
align-items:center;
justify-content:center;
padding:28px;
background:rgba(5, 6, 8, 0.95);
}
.sw-british-isles .sw-lightbox:target{
display:flex;
}
.sw-british-isles .sw-lightbox img{
display:block;
max-width:min(96vw, 1800px);
max-height:90vh;
width:auto;
height:auto;
object-fit:contain;
box-shadow:0 18px 60px rgba(0,0,0,.55);
}
.sw-british-isles .sw-lightbox__close{
position:absolute;
top:14px;
right:20px;
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
color:#fff!important;
font-size:2rem;
line-height:1;
text-decoration:none;
background:rgba(0,0,0,.55);
border:1px solid rgba(255,255,255,.34);
border-radius:50%;
}
/* Dark-mode fallbacks.
   Main text inherits from Astra/Spectra so the component cannot force
   dark text onto a dark site merely because the visitor's OS is light. */
@media (prefers-color-scheme: dark) {
.sw-entry.sw-british-isles{
--sw-line: rgba(226, 214, 194, 0.20);
--sw-soft: rgba(255, 255, 255, 0.05);
--sw-link: #d7b47b;
--sw-link-hover: #f0d09a;
--sw-table: rgba(255,255,255,.05);
}
}
body.dark-mode .sw-entry.sw-british-isles, body.ast-dark-mode .sw-entry.sw-british-isles, body.wp-dark-mode-active .sw-entry.sw-british-isles, html[data-theme="dark"] .sw-entry.sw-british-isles, body[data-theme="dark"] .sw-entry.sw-british-isles{
--sw-line: rgba(226, 214, 194, 0.20);
--sw-soft: rgba(255, 255, 255, 0.05);
--sw-link: #d7b47b;
--sw-link-hover: #f0d09a;
--sw-table: rgba(255,255,255,.05);
}
/* Mobile */
@media (max-width: 860px) {
.sw-british-isles .sw-identity{
flex-direction:column!important;
gap:24px!important;
}
.sw-british-isles .sw-identity > .sw-glance{
flex:0 0 100%!important;
width:100%!important;
max-width:100%!important;
}
.sw-british-isles .sw-identity > .sw-heraldry{
flex:0 0 auto!important;
width:min(100%, 430px)!important;
max-width:430px!important;
margin:0 auto!important;
}
.sw-british-isles .sw-region-grid, .sw-british-isles .sw-two-col, .sw-british-isles .sw-hook-grid, .sw-british-isles .sw-video-grid, .sw-british-isles .sw-related{
grid-template-columns:1fr;
}
.sw-british-isles h2{
margin-top:42px;
}
}
@media (max-width: 560px) {
.sw-entry.sw-british-isles{
width:calc(100% - 24px);
font-size:16px;
}
.sw-british-isles .sw-glance th, .sw-british-isles .sw-glance td{
padding:9px;
}
.sw-british-isles .sw-glance th{
width:36%;
}
}
/* END SPIRALWORLDS BRITISH ISLES HUB */
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS CLICKABLE MAP — IRELAND 1454, 2026-09-28 */
.sw-entry .sw-clickmap{
position:relative;
width:100%;
max-width:1223px;
margin:0 auto;
}
.sw-entry .sw-clickmap > img{
display:block;
width:100%;
height:auto;
}
.sw-entry .sw-clickmap-hotspot{
position:absolute;
z-index:3;
display:block;
overflow:hidden;
border:1px solid transparent;
border-radius:5px;
background:transparent;
color:transparent!important;
font-size:0;
line-height:0;
text-decoration:none!important;
}
.sw-entry .sw-clickmap-hotspot:hover, .sw-entry .sw-clickmap-hotspot:focus-visible{
border-color:var(--sw-c-link, #e6c68e);
background:rgba(230,198,142,.18);
box-shadow:0 0 0 2px rgba(18,17,23,.78);
outline:none;
}
/* Hotspots align to the labels already painted onto ireland-political-map-1454.png. */
.sw-entry .sw-clickmap--ireland .sw-hotspot--derry{
left:57.2%;
top:11.0%;
width:7.4%;
height:3.6%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--ulster{
left:61.8%;
top:18.2%;
width:12.4%;
height:5.0%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--clogher{
left:58.6%;
top:23.8%;
width:8.8%;
height:3.7%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--downpatrick{
left:79.8%;
top:28.7%;
width:13.0%;
height:3.7%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--meath{
left:66.9%;
top:37.3%;
width:8.5%;
height:3.8%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--connacht{
left:37.7%;
top:41.9%;
width:11.3%;
height:4.0%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--pale{
left:72.1%;
top:44.0%;
width:11.5%;
height:6.0%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--dublin{
left:80.2%;
top:47.0%;
width:8.7%;
height:3.8%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--galway{
left:27.1%;
top:49.3%;
width:8.8%;
height:3.8%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--leinster{
left:67.9%;
top:54.0%;
width:9.2%;
height:3.9%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--kilkenny{
left:58.5%;
top:64.8%;
width:9.0%;
height:3.8%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--limerick{
left:36.5%;
top:62.4%;
width:9.0%;
height:3.8%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--waterford{
left:59.4%;
top:71.9%;
width:10.8%;
height:3.9%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--desmond{
left:40.1%;
top:76.2%;
width:10.4%;
height:3.9%;
}
.sw-entry .sw-clickmap--ireland .sw-hotspot--cork{
left:40.2%;
top:80.4%;
width:6.6%;
height:3.8%;
}
@media (max-width: 700px) {
.sw-entry .sw-clickmap-hotspot:hover, .sw-entry .sw-clickmap-hotspot:focus-visible{
background:rgba(230,198,142,.24);
}
}
/* END SPIRALWORLDS CLICKABLE MAP — IRELAND 1454 */
/* --- WPWriter addition --- */
/* IRELAND CLICKMAP GAP FIX — 2026-09-28
   Lock wrapper to the source image ratio so no empty height can survive
   below a responsive map. */
.sw-entry.sw-entry .sw-map--clickable{
margin:1.5rem auto!important;
padding:0!important;
}
.sw-entry.sw-entry .sw-clickmap.sw-clickmap--ireland{
position:relative!important;
display:block!important;
width:min(100%, 1223px)!important;
max-width:1223px!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:1223 / 1286!important;
margin:0 auto!important;
padding:0!important;
overflow:hidden!important;
line-height:0!important;
}
.sw-entry.sw-entry .sw-clickmap.sw-clickmap--ireland > img{
position:absolute!important;
inset:0!important;
display:block!important;
width:100%!important;
max-width:none!important;
height:100%!important;
max-height:none!important;
margin:0!important;
padding:0!important;
object-fit:contain!important;
}
.sw-entry.sw-entry .sw-map--clickable > figcaption{
display:block!important;
margin:.65rem auto 0!important;
padding:0!important;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL DIRECTORY + TAB LAYOUT — 2026-09-28
   One final layout authority. Earlier component colours/panel visibility remain intact. */
/* Pantheon directories: full-width section, four cards desktop, two tablet, one mobile. */
.sw-entry.sw-pantheon > .sw-section:has(> .sw-grid), .sw-entry.sw-asgardian > .sw-section:has(> .sw-grid){
width:100%!important;
max-width:none!important;
margin-left:auto!important;
margin-right:auto!important;
}
html body .sw-entry.sw-pantheon > .sw-section > .sw-grid, html body .sw-entry.sw-asgardian > .sw-section > .sw-grid{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
gap:1.25rem!important;
align-items:stretch!important;
width:100%!important;
max-width:none!important;
}
html body .sw-entry.sw-pantheon > .sw-section > .sw-grid > .sw-card, html body .sw-entry.sw-asgardian > .sw-section > .sw-grid > .sw-card{
display:flex!important;
flex-direction:column!important;
min-width:0!important;
height:100%!important;
}
/* Directory media uses one level frame regardless of source artwork proportions. */
.sw-entry.sw-entry .sw-card-media{
display:block!important;
width:100%!important;
aspect-ratio:4 / 3!important;
height:auto!important;
margin:0 0 .85rem!important;
overflow:hidden!important;
background:var(--sw-c-panel)!important;
}
.sw-entry.sw-entry .sw-card-media img{
display:block!important;
width:100%!important;
height:100%!important;
max-width:none!important;
max-height:none!important;
margin:0!important;
aspect-ratio:auto!important;
object-fit:cover!important;
object-position:center!important;
}
html body .sw-entry.sw-pantheon > .sw-section > .sw-grid > .sw-card > h3, html body .sw-entry.sw-asgardian > .sw-section > .sw-grid > .sw-card > h3{
margin-top:0!important;
}
/* Existing compact related-link grids remain independent of deity directories. */
.sw-entry.sw-entry .sw-related-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
gap:.75rem;
max-width:850px;
margin:1rem auto 1.5rem;
}
.sw-entry.sw-entry .sw-related-grid > a{
min-width:0;
padding:.75rem .85rem;
border-top:1px solid var(--sw-c-border);
color:var(--sw-c-link)!important;
text-decoration:none!important;
}
.sw-entry.sw-entry .sw-related-grid > a:hover, .sw-entry.sw-entry .sw-related-grid > a:focus{
color:var(--sw-c-hover)!important;
}
/* Edition tabs: use flex so the number of labels defines the number of columns.
   Hide wpautop <br> nodes that otherwise become extra grid/flex items. */
html body .sw-tab-labels{
display:flex!important;
flex-flow:row nowrap!important;
align-items:stretch!important;
justify-content:stretch!important;
width:100%!important;
max-width:none!important;
gap:.6rem!important;
margin:0 0 1rem!important;
}
html body .sw-tab-labels > br, html body .sw-entry.sw-entry .sw-tabs.sw-tabs > br{
display:none!important;
}
html body .sw-tab-labels > label{
display:flex!important;
flex:1 1 0!important;
flex-basis:0!important;
width:auto!important;
max-width:none!important;
min-width:0!important;
min-height:48px!important;
align-items:center!important;
justify-content:center!important;
box-sizing:border-box!important;
}
/* Tablet/mobile directory response. */
@media (max-width: 900px) {
html body .sw-entry.sw-pantheon > .sw-section > .sw-grid, html body .sw-entry.sw-asgardian > .sw-section > .sw-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 620px) {
html body .sw-entry.sw-pantheon > .sw-section > .sw-grid, html body .sw-entry.sw-asgardian > .sw-section > .sw-grid{
grid-template-columns:1fr!important;
}
html body .sw-tab-labels{
flex-wrap:wrap!important;
}
html body .sw-tab-labels > label{
flex:1 1 calc(50% - .3rem)!important;
flex-basis:calc(50% - .3rem)!important;
}
}
@media (max-width: 420px) {
html body .sw-tab-labels > label{
flex:1 1 100%!important;
flex-basis:100%!important;
}
}
/* END SPIRALWORLDS CANONICAL DIRECTORY + TAB LAYOUT */
/* --- WPWriter addition --- */
/* SPIRALWORLDS DEITY HUB CARDS — reusable across pantheon hubs */
.sw-entry.sw-entry .sw-deity-hub-grid{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:1.5rem!important;
width:100%!important;
max-width:100%!important;
margin:1.5rem auto 2.5rem!important;
}
.sw-entry.sw-entry .sw-deity-card{
min-width:0!important;
margin:0!important;
padding:0 0 1rem!important;
border:1px solid var(--sw-c-border)!important;
border-radius:10px!important;
background:var(--sw-c-panel)!important;
overflow:hidden!important;
}
.sw-entry.sw-entry .sw-deity-card-image{
display:block!important;
width:100%!important;
aspect-ratio:1 / 1!important;
overflow:hidden!important;
text-decoration:none!important;
}
.sw-entry.sw-entry .sw-deity-card-image img{
display:block!important;
width:100%!important;
height:100%!important;
max-width:none!important;
max-height:none!important;
aspect-ratio:1 / 1!important;
object-fit:cover!important;
}
.sw-entry.sw-entry .sw-deity-card h3{
margin:1rem 1rem .35rem!important;
text-align:center!important;
}
.sw-entry.sw-entry .sw-deity-card p{
margin:0 1rem!important;
color:var(--sw-c-muted)!important;
text-align:center!important;
}
@media (max-width: 900px) {
.sw-entry.sw-entry .sw-deity-hub-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 600px) {
.sw-entry.sw-entry .sw-deity-hub-grid{
grid-template-columns:1fr!important;
gap:1rem!important;
}
.sw-entry.sw-entry .sw-deity-card{
max-width:520px!important;
width:100%!important;
margin-inline:auto!important;
}
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL SUPPLEMENTAL ENTRY COMPONENTS — 2026-09-29
 * Migrates reusable legacy deity components into the single global stylesheet.
 * No page-specific selectors. */
.sw-entry.sw-entry .sw-anchor-nav{
display:flex;
flex-wrap:wrap;
gap:.5rem;
max-width:850px;
margin:1.25rem auto 1.75rem;
}
.sw-entry.sw-entry .sw-anchor-nav a{
display:inline-flex;
align-items:center;
min-height:40px;
padding:.45rem .75rem;
border:1px solid var(--sw-c-border);
border-radius:6px;
background:var(--sw-c-panel);
color:var(--sw-c-link)!important;
text-decoration:none;
}
.sw-entry.sw-entry .sw-anchor-nav a:hover, .sw-entry.sw-entry .sw-anchor-nav a:focus-visible{
border-color:var(--sw-c-link);
color:var(--sw-c-hover)!important;
}
.sw-entry.sw-entry .sw-profile-grid, .sw-entry.sw-entry .sw-three-col{
display:grid;
gap:1.25rem;
max-width:850px;
margin:1.25rem auto;
}
.sw-entry.sw-entry .sw-profile-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-entry.sw-entry .sw-three-col{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.sw-entry.sw-entry .sw-profile-list{
list-style:none;
padding:0;
margin:0;
}
.sw-entry.sw-entry .sw-profile-list li{
padding:.55rem 0;
border-bottom:1px solid var(--sw-c-border);
}
.sw-entry.sw-entry .sw-profile-list li:last-child{
border-bottom:0;
}
.sw-entry.sw-entry .sw-number{
display:inline-grid;
place-items:center;
width:2rem;
height:2rem;
margin-bottom:.65rem;
border:1px solid var(--sw-c-link);
border-radius:50%;
color:var(--sw-c-link)!important;
font-weight:700;
}
.sw-entry.sw-entry .sw-domain, .sw-entry.sw-entry .sw-domain-spells, .sw-entry.sw-entry .sw-artifact{
max-width:850px;
margin:1.35rem auto;
padding:1rem 1.1rem;
background:var(--sw-c-panel);
border:1px solid var(--sw-c-border);
border-radius:7px;
}
.sw-entry.sw-entry .sw-domain{
border-left:4px solid var(--sw-c-link);
}
.sw-entry.sw-entry .sw-artifact{
border-top:4px solid var(--sw-c-link);
}
.sw-entry.sw-entry .sw-secondary-image, .sw-entry.sw-entry .sw-artifact-image{
max-width:720px;
margin:1.4rem auto 1.75rem;
padding:.5rem;
border:1px solid var(--sw-c-border);
border-radius:9px;
background:var(--sw-c-panel);
text-align:center;
}
.sw-entry.sw-entry :is(.sw-secondary-image,.sw-artifact-image) img{
display:block;
width:auto!important;
max-width:100%!important;
max-height:820px!important;
height:auto!important;
margin:0 auto!important;
object-fit:contain!important;
}
.sw-entry.sw-entry .sw-relation, .sw-entry.sw-entry .sw-plane-step{
padding:1rem;
border-left:3px solid var(--sw-c-border);
background:var(--sw-c-panel);
}
.sw-entry.sw-entry .sw-plane-step .sw-plane-name{
color:var(--sw-c-link)!important;
font-weight:700;
}
.sw-entry.sw-entry .sw-source{
padding:.85rem 0;
border-bottom:1px solid var(--sw-c-border);
}
.sw-entry.sw-entry .sw-source:last-child{
border-bottom:0;
}
@media (max-width:760px) {
.sw-entry.sw-entry :is(.sw-profile-grid,.sw-three-col){
grid-template-columns:1fr!important;
}
}
/* END SPIRALWORLDS CANONICAL SUPPLEMENTAL ENTRY COMPONENTS */
/* --- WPWriter addition --- */
/* ============================================================
   HIDDEN MAGICAL REALMS HUB — global component rules
   Migrated from page-local CSS 2026-09-30.
   ============================================================ */
.sw-entry.sw-hidden-realms .sw-glance{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:1px;
margin:1.6rem 0 2rem;
padding:1px;
border:1px solid var(--sw-c-border);
border-radius:10px;
overflow:hidden;
background:var(--sw-c-border);
}
.sw-entry.sw-hidden-realms .sw-glance > div{
min-width:0;
padding:1.15rem 1.2rem;
background:var(--sw-c-panel);
color:var(--sw-c-text);
line-height:1.65;
}
.sw-entry.sw-hidden-realms .sw-glance strong{
display:block;
margin-bottom:.45rem;
color:var(--sw-c-link)!important;
font-size:1rem;
font-weight:700;
}
.sw-entry.sw-hidden-realms .sw-realms{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
column-gap:2.2rem;
row-gap:0;
margin-top:1.4rem;
}
.sw-entry.sw-hidden-realms .sw-realm{
padding:1.2rem 0;
border-top:1px solid var(--sw-c-border);
}
.sw-entry.sw-hidden-realms .sw-realm p:last-child{
margin-bottom:0;
}
.sw-entry.sw-hidden-realms .sw-type{
display:inline-block;
margin-bottom:.55rem;
color:var(--sw-c-muted)!important;
font-size:.82rem;
font-weight:700;
letter-spacing:.04em;
text-transform:uppercase;
}
.sw-entry.sw-hidden-realms .sw-links{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:.8rem 1.4rem;
margin:1rem 0;
}
.sw-entry.sw-hidden-realms .sw-video-wrap{
margin:1.5rem 0 2.2rem;
}
.sw-entry.sw-hidden-realms .sw-video{
position:relative;
width:100%;
aspect-ratio:16/9;
overflow:hidden;
border:1px solid var(--sw-c-border);
border-radius:10px;
background:#000;
}
.sw-entry.sw-hidden-realms .sw-video iframe{
display:block;
width:100%;
height:100%;
border:0;
}
.sw-entry.sw-hidden-realms .sw-video-note{
margin:.65rem 0 0;
color:var(--sw-c-muted)!important;
font-size:.92rem;
}
@media (max-width:900px) {
.sw-entry.sw-hidden-realms .sw-glance{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width:820px) {
.sw-entry.sw-hidden-realms .sw-realms, .sw-entry.sw-hidden-realms .sw-links{
grid-template-columns:1fr;
}
}
@media (max-width:560px) {
.sw-entry.sw-hidden-realms .sw-glance{
grid-template-columns:1fr;
}
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS RESPONSIVE CLICKABLE IMAGE MAP — 1.0.0
   Reusable percentage-positioned hotspots for maps/diagrams.
   ============================================================ */
.sw-image-map{
position:relative;
display:block;
width:100%;
max-width:100%;
margin:0;
}
.sw-image-map > img{
display:block;
width:100%!important;
height:auto!important;
max-width:100%!important;
}
.sw-image-map > .sw-image-map-link{
position:absolute;
z-index:3;
display:block;
overflow:hidden;
background:transparent;
clip-path:ellipse(50% 50% at 50% 50%);
cursor:pointer;
text-decoration:none!important;
-webkit-tap-highlight-color:rgba(230, 198, 142, .22);
}
.sw-image-map > .sw-image-map-link:hover, .sw-image-map > .sw-image-map-link:focus-visible{
background:rgba(230, 198, 142, .09);
box-shadow:inset 0 0 0 2px rgba(255, 225, 169, .92), inset 0 0 24px rgba(230, 198, 142, .18);
outline:0!important;
}
.sw-image-map > .sw-image-map-link--label{
clip-path:inset(0 round 10px);
}
@media (hover: none) {
.sw-image-map > .sw-image-map-link:hover{
background:transparent;
box-shadow:none;
}
}
@media (prefers-reduced-motion: reduce) {
.sw-image-map > .sw-image-map-link{
transition:none!important;
}
}
/* END SPIRALWORLDS RESPONSIVE CLICKABLE IMAGE MAP */
/* --- WPWriter addition --- */
/* SPIRALWORLDS MONSTER STAT SUMMARY — canonical global component */
html body .sw-entry.sw-entry .sw-stat-head{
margin:0 0 .9rem!important;
}
html body .sw-entry.sw-entry .sw-stat-name{
margin:0 0 .25rem!important;
}
html body .sw-entry.sw-entry .sw-type-line{
color:var(--sw-c-muted)!important;
line-height:1.45!important;
}
html body .sw-entry.sw-entry .sw-stat-strip{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
gap:.7rem!important;
margin:1rem 0 1.2rem!important;
}
html body .sw-entry.sw-entry .sw-stat-strip > div{
min-width:0!important;
padding:.7rem .8rem!important;
border:1px solid var(--sw-c-border)!important;
border-radius:6px!important;
background:var(--sw-c-raised)!important;
}
html body .sw-entry.sw-entry .sw-stat-strip > div > small{
display:block!important;
margin:0 0 .2rem!important;
color:var(--sw-c-muted)!important;
font-size:.78em!important;
font-weight:600!important;
line-height:1.2!important;
}
html body .sw-entry.sw-entry .sw-stat-strip > div > strong{
display:block!important;
margin:0!important;
color:var(--sw-c-heading)!important;
font-size:1.02em!important;
line-height:1.25!important;
}
@media (max-width: 760px) {
html body .sw-entry.sw-entry .sw-stat-strip{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 420px) {
html body .sw-entry.sw-entry .sw-stat-strip{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* SpiralWorlds — Planes of Existence hub */
#sw-planes-hub, #sw-planes-hub *{
box-sizing:border-box;
}
#sw-planes-hub{
--sw-black: #070706;
--sw-black-soft: #0e0c09;
--sw-panel: #12100c;
--sw-panel-raised: #18140e;
--sw-gold: #c9a052;
--sw-gold-bright: #e1bd70;
--sw-gold-dark: #765b2d;
--sw-cream: #eee4ce;
--sw-cream-muted: #cfc2a8;
--sw-line: rgba(201, 160, 82, 0.38);
--sw-shadow: rgba(0, 0, 0, 0.72);
width:100%;
max-width:1440px;
margin:0 auto;
overflow-x:clip;
color:var(--sw-cream)!important;
background:radial-gradient(circle at 50% 0%, rgba(132, 98, 43, 0.13), transparent 31rem), var(--sw-black);
border:1px solid var(--sw-gold-dark);
box-shadow:0 22px 70px var(--sw-shadow);
font-family:Georgia, "Times New Roman", serif;
line-height:1.68;
}
#sw-planes-hub a, #sw-planes-hub a:visited{
color:var(--sw-gold-bright)!important;
text-decoration-color:rgba(225, 189, 112, 0.52)!important;
text-underline-offset:0.18em;
}
#sw-planes-hub a:hover, #sw-planes-hub a:focus-visible{
color:#fff1c9!important;
text-decoration-color:#fff1c9!important;
}
#sw-planes-hub a:focus-visible{
outline:2px solid var(--sw-gold-bright);
outline-offset:4px;
}
#sw-planes-hub h1, #sw-planes-hub h2, #sw-planes-hub h3, #sw-planes-hub h4, #sw-planes-hub p, #sw-planes-hub li, #sw-planes-hub span, #sw-planes-hub strong, #sw-planes-hub small{
color:inherit!important;
}
#sw-planes-hub h1, #sw-planes-hub h2, #sw-planes-hub h3, #sw-planes-hub h4{
margin:0;
font-family:Georgia, "Times New Roman", serif;
font-weight:600;
line-height:1.12;
}
#sw-planes-hub p{
margin:0 0 1rem;
}
#sw-planes-hub img{
display:block;
max-width:100%;
}
#sw-planes-hub figure{
margin:0;
}
#sw-planes-hub .swh-visually-hidden{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0, 0, 0, 0)!important;
white-space:nowrap!important;
border:0!important;
}
#sw-planes-hub .swh-shell{
width:min(100%, 1280px);
margin:0 auto;
padding:clamp(1.1rem, 2.8vw, 2.5rem);
}
#sw-planes-hub .swh-hero{
position:relative;
isolation:isolate;
padding:clamp(1.2rem, 3.5vw, 3.2rem);
background:linear-gradient(180deg, rgba(7, 7, 6, 0.26), rgba(7, 7, 6, 0.92)), var(--sw-black-soft);
border-bottom:1px solid var(--sw-line);
}
#sw-planes-hub .swh-hero-copy{
width:min(100%, 930px);
margin:0 auto clamp(1.35rem, 2.5vw, 2.25rem);
text-align:center;
}
#sw-planes-hub .swh-kicker{
display:inline-flex;
align-items:center;
gap:0.65rem;
margin-bottom:0.8rem;
color:var(--sw-gold-bright)!important;
font-size:0.78rem;
font-weight:700;
letter-spacing:0.18em;
text-transform:uppercase;
}
#sw-planes-hub .swh-kicker::before, #sw-planes-hub .swh-kicker::after{
width:2.6rem;
height:1px;
content:"";
background:linear-gradient(90deg, transparent, var(--sw-gold));
}
#sw-planes-hub .swh-kicker::after{
background:linear-gradient(90deg, var(--sw-gold), transparent);
}
#sw-planes-hub h1{
color:var(--sw-gold-bright)!important;
font-size:clamp(2.25rem, 6vw, 5rem);
letter-spacing:0.015em;
text-shadow:0 3px 20px rgba(0, 0, 0, 0.95);
}
#sw-planes-hub .swh-hero-lead{
max-width:820px;
margin:1rem auto 0;
color:var(--sw-cream)!important;
font-size:clamp(1.05rem, 2vw, 1.3rem);
}
#sw-planes-hub .swh-hero-note{
max-width:850px;
margin:0.7rem auto 0;
color:var(--sw-cream-muted)!important;
font-size:0.98rem;
}
#sw-planes-hub .swh-hero-figure{
position:relative;
width:min(100%, 1120px);
margin:0 auto;
overflow:hidden;
background:#020202;
border:1px solid var(--sw-gold);
box-shadow:0 0 0 5px rgba(201, 160, 82, 0.08), 0 24px 65px rgba(0, 0, 0, 0.8);
}
#sw-planes-hub .swh-hero-figure::after{
position:absolute;
inset:0;
pointer-events:none;
content:"";
box-shadow:inset 0 0 70px rgba(0, 0, 0, 0.45);
}
#sw-planes-hub .swh-hero-figure img{
width:100%;
height:auto;
}
#sw-planes-hub .swh-hero-actions{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:0.75rem;
margin-top:1.5rem;
}
#sw-planes-hub .swh-button, #sw-planes-hub .swh-button:visited{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:2.8rem;
padding:0.7rem 1rem;
color:#0a0805!important;
background:linear-gradient(180deg, #e4c277, #b98d3f);
border:1px solid #f0d18f;
text-decoration:none!important;
font-size:0.88rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
box-shadow:0 6px 20px rgba(0, 0, 0, 0.45);
}
#sw-planes-hub .swh-button:hover, #sw-planes-hub .swh-button:focus-visible{
color:#000!important;
background:#f0d18f;
transform:translateY(-1px);
}
#sw-planes-hub .swh-button-secondary, #sw-planes-hub .swh-button-secondary:visited{
color:var(--sw-gold-bright)!important;
background:rgba(5, 5, 4, 0.82);
border-color:var(--sw-gold-dark);
}
#sw-planes-hub .swh-button-secondary:hover, #sw-planes-hub .swh-button-secondary:focus-visible{
color:#fff1c9!important;
background:rgba(44, 34, 18, 0.96);
}
#sw-planes-hub .swh-jump-nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:0.35rem 1.15rem;
padding:0.95rem clamp(1rem, 3vw, 2rem);
background:#0a0907;
border-bottom:1px solid var(--sw-line);
text-align:center;
}
#sw-planes-hub .swh-jump-nav a{
display:inline-flex;
min-height:2.25rem;
align-items:center;
font-size:0.82rem;
font-weight:700;
letter-spacing:0.08em;
text-transform:uppercase;
}
#sw-planes-hub .swh-section{
scroll-margin-top:1.25rem;
padding:clamp(2.35rem, 5vw, 4.7rem) 0;
border-bottom:1px solid rgba(201, 160, 82, 0.2);
}
#sw-planes-hub .swh-section:last-child{
border-bottom:0;
}
#sw-planes-hub .swh-section-heading{
max-width:900px;
margin:0 auto clamp(1.4rem, 3vw, 2.4rem);
text-align:center;
}
#sw-planes-hub .swh-section-heading h2{
color:var(--sw-gold-bright)!important;
font-size:clamp(1.7rem, 3.8vw, 2.8rem);
}
#sw-planes-hub .swh-section-heading h2::after{
display:block;
width:6rem;
height:1px;
margin:0.85rem auto 0;
content:"";
background:linear-gradient(90deg, transparent, var(--sw-gold), transparent);
}
#sw-planes-hub .swh-section-heading p{
margin:0.95rem auto 0;
color:var(--sw-cream-muted)!important;
}
#sw-planes-hub .swh-directory-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1rem;
}
#sw-planes-hub .swh-directory-group{
padding:1.15rem 1.2rem 1.25rem;
background:linear-gradient(145deg, rgba(201, 160, 82, 0.06), transparent 42%), var(--sw-panel);
border:1px solid var(--sw-line);
border-top:3px solid var(--sw-gold-dark);
}
#sw-planes-hub .swh-directory-group h3{
color:var(--sw-gold-bright)!important;
font-size:1.18rem;
}
#sw-planes-hub .swh-directory-group > p{
margin:0.55rem 0 0.8rem;
color:var(--sw-cream-muted)!important;
font-size:0.92rem;
}
#sw-planes-hub .swh-link-list{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:0.42rem 1rem;
margin:0;
padding:0;
list-style:none;
}
#sw-planes-hub .swh-link-list li{
position:relative;
min-width:0;
padding-left:0.9rem;
}
#sw-planes-hub .swh-link-list li::before{
position:absolute;
top:0.7em;
left:0;
width:0.3rem;
height:0.3rem;
content:"";
background:var(--sw-gold);
transform:rotate(45deg);
}
#sw-planes-hub .swh-link-list a{
display:inline-block;
min-height:1.8rem;
overflow-wrap:anywhere;
font-size:0.94rem;
}
#sw-planes-hub .swh-collection-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
}
#sw-planes-hub .swh-collection-card{
display:flex;
min-height:100%;
flex-direction:column;
overflow:hidden;
background:var(--sw-panel);
border:1px solid var(--sw-line);
box-shadow:0 10px 30px rgba(0, 0, 0, 0.35);
}
#sw-planes-hub .swh-card-mark{
display:flex;
align-items:center;
justify-content:center;
min-height:5.5rem;
background:radial-gradient(circle at 50% 48%, rgba(201, 160, 82, 0.13), transparent 3.9rem), #0a0907;
border-bottom:1px solid var(--sw-gold-dark);
}
#sw-planes-hub .swh-card-mark span{
display:inline-flex;
width:3.25rem;
height:3.25rem;
align-items:center;
justify-content:center;
color:var(--sw-gold-bright)!important;
background:rgba(7, 7, 6, 0.8);
border:1px solid var(--sw-gold);
border-radius:50%;
box-shadow:0 0 0 5px rgba(201, 160, 82, 0.06), inset 0 0 18px rgba(201, 160, 82, 0.08);
font-size:1.35rem;
line-height:1;
}
#sw-planes-hub .swh-card-body{
display:flex;
flex:1;
flex-direction:column;
padding:1.05rem 1.1rem 1.15rem;
}
#sw-planes-hub .swh-card-body h3{
color:var(--sw-gold-bright)!important;
font-size:1.24rem;
}
#sw-planes-hub .swh-card-body p{
margin:0.55rem 0 0.8rem;
color:var(--sw-cream-muted)!important;
font-size:0.93rem;
}
#sw-planes-hub .swh-card-links{
display:flex;
flex-wrap:wrap;
gap:0.35rem 0.75rem;
margin-top:auto;
padding-top:0.2rem;
}
#sw-planes-hub .swh-card-links a{
font-size:0.88rem;
font-weight:700;
}
#sw-planes-hub .swh-travel-layout{
display:grid;
grid-template-columns:minmax(0, 1.35fr) minmax(17rem, 0.65fr);
gap:1.1rem;
align-items:stretch;
}
#sw-planes-hub .swh-travel-panel, #sw-planes-hub .swh-campaign-panel{
padding:clamp(1.2rem, 3vw, 2rem);
background:var(--sw-panel);
border:1px solid var(--sw-line);
}
#sw-planes-hub .swh-travel-panel h3, #sw-planes-hub .swh-campaign-panel h3{
margin-bottom:0.8rem;
color:var(--sw-gold-bright)!important;
font-size:1.35rem;
}
#sw-planes-hub .swh-travel-list{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:0.7rem;
margin:1rem 0 0;
padding:0;
list-style:none;
}
#sw-planes-hub .swh-travel-list li{
padding:0.85rem;
color:var(--sw-cream-muted)!important;
background:rgba(255, 255, 255, 0.018);
border-left:2px solid var(--sw-gold-dark);
font-size:0.92rem;
}
#sw-planes-hub .swh-travel-list strong{
display:block;
margin-bottom:0.18rem;
color:var(--sw-cream)!important;
}
#sw-planes-hub .swh-campaign-panel{
display:flex;
flex-direction:column;
justify-content:center;
background:radial-gradient(circle at 100% 0%, rgba(201, 160, 82, 0.15), transparent 18rem), var(--sw-panel-raised);
border-top:3px solid var(--sw-gold);
}
#sw-planes-hub .swh-campaign-panel .swh-button{
align-self:flex-start;
margin-top:0.25rem;
}
#sw-planes-hub .swh-video-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1rem;
}
#sw-planes-hub .swh-video-card{
overflow:hidden;
background:var(--sw-panel);
border:1px solid var(--sw-line);
}
#sw-planes-hub .swh-video-thumb{
position:relative;
display:block;
aspect-ratio:16 / 9;
overflow:hidden;
background:#000;
border-bottom:1px solid var(--sw-gold-dark);
}
#sw-planes-hub .swh-video-thumb img{
width:100%;
height:100%;
object-fit:cover;
transition:transform 180ms ease, filter 180ms ease;
}
#sw-planes-hub .swh-video-thumb::after{
position:absolute;
top:50%;
left:50%;
width:4rem;
height:2.8rem;
content:"&#x25b6;";
color:#0a0805;
background:rgba(225, 189, 112, 0.92);
border:1px solid #f5d99c;
box-shadow:0 6px 25px rgba(0, 0, 0, 0.7);
font:700 1.1rem/2.8rem Arial, sans-serif;
text-align:center;
transform:translate(-50%, -50%);
}
#sw-planes-hub .swh-video-thumb:hover img, #sw-planes-hub .swh-video-thumb:focus-visible img{
filter:brightness(1.06);
transform:scale(1.025);
}
#sw-planes-hub .swh-video-copy{
padding:1.05rem 1.15rem 1.2rem;
}
#sw-planes-hub .swh-external-label{
display:inline-block;
margin-bottom:0.45rem;
color:var(--sw-cream-muted)!important;
font:700 0.71rem/1.2 Arial, sans-serif;
letter-spacing:0.12em;
text-transform:uppercase;
}
#sw-planes-hub .swh-video-copy h3{
font-size:1.18rem;
}
#sw-planes-hub .swh-video-copy p{
margin:0.55rem 0 0.7rem;
color:var(--sw-cream-muted)!important;
font-size:0.92rem;
}
#sw-planes-hub .swh-watch-link{
font-size:0.86rem;
font-weight:800;
letter-spacing:0.05em;
text-transform:uppercase;
}
#sw-planes-hub .swh-context-layout{
display:grid;
grid-template-columns:minmax(0, 1.35fr) minmax(17rem, 0.65fr);
gap:1.1rem;
}
#sw-planes-hub .swh-context-copy, #sw-planes-hub .swh-reference-panel{
padding:clamp(1.2rem, 3vw, 2rem);
background:var(--sw-panel);
border:1px solid var(--sw-line);
}
#sw-planes-hub .swh-context-copy p:last-child, #sw-planes-hub .swh-reference-panel p:last-child{
margin-bottom:0;
}
#sw-planes-hub .swh-context-copy strong{
color:var(--sw-gold-bright)!important;
}
#sw-planes-hub .swh-reference-panel h3{
margin-bottom:0.8rem;
color:var(--sw-gold-bright)!important;
font-size:1.28rem;
}
#sw-planes-hub .swh-reference-list{
margin:0;
padding:0;
list-style:none;
}
#sw-planes-hub .swh-reference-list li{
padding:0.72rem 0;
border-top:1px solid rgba(201, 160, 82, 0.18);
}
#sw-planes-hub .swh-reference-list li:first-child{
padding-top:0;
border-top:0;
}
#sw-planes-hub .swh-reference-list a{
font-weight:700;
}
#sw-planes-hub .swh-reference-list small{
display:block;
margin-top:0.15rem;
color:var(--sw-cream-muted)!important;
font-size:0.82rem;
}
#sw-planes-hub .swh-related{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1rem;
}
#sw-planes-hub .swh-related a, #sw-planes-hub .swh-related a:visited{
display:block;
padding:1.1rem 1.2rem;
color:var(--sw-cream)!important;
background:var(--sw-panel);
border:1px solid var(--sw-line);
text-decoration:none!important;
}
#sw-planes-hub .swh-related a:hover, #sw-planes-hub .swh-related a:focus-visible{
color:#fff1c9!important;
background:var(--sw-panel-raised);
border-color:var(--sw-gold);
}
#sw-planes-hub .swh-related strong{
display:block;
margin-bottom:0.25rem;
color:var(--sw-gold-bright)!important;
font-size:1.1rem;
}
#sw-planes-hub .swh-related span{
color:var(--sw-cream-muted)!important;
font-size:0.9rem;
}
/* Small square sigil navigation buttons */
#sw-planes-hub .swh-sigil-inline{
display:flex!important;
flex-wrap:wrap!important;
align-items:center!important;
gap:0.5rem!important;
margin:0.75rem 0 0.9rem!important;
padding:0!important;
}
#sw-planes-hub a.swh-sigil-btn, #sw-planes-hub a.swh-sigil-btn:visited{
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
flex:0 0 44px!important;
width:44px!important;
min-width:44px!important;
max-width:44px!important;
height:44px!important;
min-height:44px!important;
max-height:44px!important;
margin:0!important;
padding:3px!important;
overflow:hidden!important;
color:var(--sw-gold-bright)!important;
background:#090806!important;
border:1px solid rgba(201, 160, 82, 0.48)!important;
border-radius:0!important;
box-shadow:inset 0 0 0 2px rgba(201, 160, 82, 0.06)!important;
text-decoration:none!important;
line-height:1!important;
vertical-align:top!important;
}
#sw-planes-hub a.swh-sigil-btn:hover, #sw-planes-hub a.swh-sigil-btn:focus-visible{
background:#18120b!important;
border-color:var(--sw-gold-bright)!important;
transform:translateY(-1px);
}
#sw-planes-hub .swh-sigil-btn-icon{
display:flex!important;
align-items:center!important;
justify-content:center!important;
flex:0 0 36px!important;
width:36px!important;
min-width:36px!important;
max-width:36px!important;
height:36px!important;
min-height:36px!important;
max-height:36px!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
background:#050504!important;
border:0!important;
border-radius:0!important;
}
#sw-planes-hub .swh-sigil-btn-icon img{
display:block!important;
width:36px!important;
min-width:36px!important;
max-width:36px!important;
height:36px!important;
min-height:36px!important;
max-height:36px!important;
margin:0!important;
padding:0!important;
object-fit:cover!important;
object-position:center!important;
}
@media (max-width: 980px) {
#sw-planes-hub .swh-collection-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
#sw-planes-hub .swh-sigil-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
#sw-planes-hub .swh-travel-layout, #sw-planes-hub .swh-context-layout{
grid-template-columns:1fr;
}
}
@media (max-width: 720px) {
#sw-planes-hub .swh-directory-grid, #sw-planes-hub .swh-collection-grid, #sw-planes-hub .swh-video-grid, #sw-planes-hub .swh-related{
grid-template-columns:1fr;
}
#sw-planes-hub .swh-link-list, #sw-planes-hub .swh-travel-list{
grid-template-columns:1fr;
}
#sw-planes-hub .swh-hero{
padding-right:1rem;
padding-left:1rem;
}
#sw-planes-hub .swh-kicker::before, #sw-planes-hub .swh-kicker::after{
width:1.4rem;
}
#sw-planes-hub .swh-jump-nav{
align-items:center;
flex-direction:column;
gap:0.35rem;
}
}
@media (prefers-reduced-motion: reduce) {
#sw-planes-hub *, #sw-planes-hub *::before, #sw-planes-hub *::after{
scroll-behavior:auto!important;
transition:none!important;
}
}
/* SpiralWorlds Magic Hub — complete scoped styles */
.sw-magic-hub, .sw-magic-hub *{
box-sizing:border-box;
}
.sw-magic-hub{
--sw-bg: #090a10;
--sw-bg-soft: #10121b;
--sw-panel: #141722;
--sw-panel-2: #191b28;
--sw-ink: #f3efe5;
--sw-muted: #c8c1b3;
--sw-gold: #d9b45f;
--sw-gold-bright: #f0d58e;
--sw-gold-dark: #8e6b2d;
--sw-violet: #8d72c7;
--sw-blue: #75aee8;
--sw-border: rgba(217, 180, 95, 0.30);
--sw-shadow: 0 20px 54px rgba(0, 0, 0, 0.34);
width:100%;
margin:0 auto;
color:var(--sw-ink);
background:radial-gradient(circle at 16% 12%, rgba(91, 70, 151, 0.16), transparent 30rem), radial-gradient(circle at 86% 28%, rgba(37, 95, 143, 0.13), transparent 34rem), var(--sw-bg);
font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size:17px;
line-height:1.72;
overflow:hidden;
}
.sw-magic-hub a{
color:var(--sw-gold-bright);
text-decoration-thickness:1px;
text-underline-offset:0.18em;
}
.sw-magic-hub a:hover{
color:#ffffff;
}
.sw-magic-hub a:focus-visible, .sw-magic-hub button:focus-visible, .sw-magic-hub input:focus-visible, .sw-magic-hub summary:focus-visible{
outline:3px solid var(--sw-gold-bright);
outline-offset:4px;
}
.sw-magic-hub img{
display:block;
width:100%;
height:auto;
}
.sw-magic-hub h1, .sw-magic-hub h2, .sw-magic-hub h3{
margin-top:0;
color:#fffaf0;
font-family:Georgia, "Times New Roman", serif;
text-wrap:balance;
}
.sw-magic-hub h1{
max-width:1100px;
margin-right:auto;
margin-bottom:0.42em;
margin-left:auto;
font-size:clamp(2.5rem, 6vw, 5.4rem);
font-weight:600;
line-height:0.99;
letter-spacing:-0.035em;
}
.sw-magic-hub h2{
margin-bottom:0.45em;
font-size:clamp(2rem, 4vw, 3.35rem);
font-weight:600;
line-height:1.08;
letter-spacing:-0.025em;
}
.sw-magic-hub h3{
margin-bottom:0.42em;
font-size:clamp(1.25rem, 2.2vw, 1.62rem);
font-weight:600;
line-height:1.22;
}
.sw-magic-hub p{
margin-top:0;
}
.sw-magic-hub .sw-shell{
width:min(1180px, calc(100% - 36px));
margin:0 auto;
}
.sw-magic-hub .sw-eyebrow, .sw-magic-hub .sw-kicker, .sw-magic-hub .sw-section-number{
color:var(--sw-gold);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.16em;
text-transform:uppercase;
}
.sw-magic-hub .sw-lead{
max-width:840px;
margin-right:auto;
margin-left:auto;
color:#eee7da;
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(1.08rem, 2vw, 1.35rem);
line-height:1.66;
}
.sw-magic-hub .sw-muted{
color:var(--sw-muted);
}
.sw-magic-hub .screen-reader-text{
position:absolute!important;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0, 0, 0, 0);
white-space:nowrap;
border:0;
}
.sw-magic-hub .sw-skip-link{
position:absolute;
z-index:1000;
top:10px;
left:10px;
padding:0.7rem 1rem;
color:#101010;
background:#fff4c8;
border-radius:5px;
transform:translateY(-160%);
}
.sw-magic-hub .sw-skip-link:focus{
transform:translateY(0);
}
/* Hero */
.sw-magic-hub .sw-hero{
position:relative;
min-height:min(790px, 82vh);
display:grid;
place-items:end center;
isolation:isolate;
border-bottom:1px solid var(--sw-border);
}
.sw-magic-hub .sw-hero-media, .sw-magic-hub .sw-hero-media::after{
position:absolute;
inset:0;
}
.sw-magic-hub .sw-hero-media{
z-index:-2;
margin:0;
overflow:hidden;
background:#090a10;
}
.sw-magic-hub .sw-hero-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center 46%;
}
.sw-magic-hub .sw-hero-media::after{
content:"";
z-index:1;
background:linear-gradient(180deg, rgba(5, 7, 12, 0.05) 0%, rgba(5, 7, 12, 0.18) 38%, rgba(5, 7, 12, 0.90) 88%, var(--sw-bg) 100%), linear-gradient(90deg, rgba(5, 7, 12, 0.28), transparent 28%, transparent 72%, rgba(5, 7, 12, 0.28));
}
.sw-magic-hub .sw-hero-content{
width:min(1120px, calc(100% - 36px));
padding:clamp(5rem, 10vw, 8rem) 0 clamp(2.8rem, 7vw, 5.8rem);
text-align:center;
}
.sw-magic-hub .sw-hero-content .sw-eyebrow{
margin-bottom:1rem;
}
.sw-magic-hub .sw-hero-actions, .sw-magic-hub .sw-route-nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:0.75rem;
}
.sw-magic-hub .sw-hero-actions{
margin-top:1.65rem;
}
.sw-magic-hub .sw-button{
display:inline-flex;
min-height:48px;
align-items:center;
justify-content:center;
gap:0.5rem;
padding:0.78rem 1.1rem;
border:1px solid rgba(240, 213, 142, 0.68);
border-radius:999px;
color:#151109;
background:linear-gradient(180deg, #f4dc9a, #c99d48);
box-shadow:0 8px 28px rgba(0, 0, 0, 0.24);
font-weight:800;
text-decoration:none;
}
.sw-magic-hub .sw-button:hover{
color:#090807;
background:#ffe7aa;
transform:translateY(-1px);
}
.sw-magic-hub .sw-button--ghost{
color:var(--sw-ink);
background:rgba(9, 10, 16, 0.62);
backdrop-filter:blur(8px);
}
.sw-magic-hub .sw-button--ghost:hover{
color:#fff;
background:rgba(25, 27, 40, 0.90);
}
/* Route selector */
.sw-magic-hub .sw-route-panel{
position:relative;
z-index:3;
margin-top:-1px;
padding:clamp(2.8rem, 6vw, 5rem) 0;
background:linear-gradient(180deg, rgba(9, 10, 16, 0.96), rgba(16, 18, 27, 0.94));
}
.sw-magic-hub .sw-route-intro{
max-width:820px;
margin:0 auto 1.7rem;
text-align:center;
}
.sw-magic-hub .sw-route-steps{
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:0.75rem;
margin:1.8rem 0;
padding:0;
list-style:none;
counter-reset:route;
}
.sw-magic-hub .sw-route-steps li{
counter-increment:route;
min-height:128px;
padding:1rem;
border:1px solid var(--sw-border);
border-radius:14px;
background:rgba(20, 23, 34, 0.78);
}
.sw-magic-hub .sw-route-steps li::before{
content:"0" counter(route);
display:block;
margin-bottom:0.65rem;
color:var(--sw-gold);
font-family:Georgia, "Times New Roman", serif;
font-size:1.35rem;
font-weight:700;
}
.sw-magic-hub .sw-route-nav a{
display:inline-flex;
min-height:42px;
align-items:center;
padding:0.56rem 0.86rem;
border:1px solid rgba(141, 114, 199, 0.42);
border-radius:999px;
color:#eee9fa;
background:rgba(77, 57, 122, 0.22);
font-weight:700;
text-decoration:none;
}
.sw-magic-hub .sw-route-nav a:hover{
border-color:var(--sw-gold);
background:rgba(141, 114, 199, 0.35);
}
/* Sections */
.sw-magic-hub .sw-section{
padding:clamp(3.7rem, 8vw, 7rem) 0;
border-top:1px solid rgba(217, 180, 95, 0.13);
}
.sw-magic-hub .sw-section:nth-of-type(even){
background:rgba(255, 255, 255, 0.015);
}
.sw-magic-hub .sw-section-heading{
max-width:840px;
margin-bottom:2rem;
}
.sw-magic-hub .sw-section-heading--center{
margin-right:auto;
margin-left:auto;
text-align:center;
}
.sw-magic-hub .sw-section-number{
display:block;
margin-bottom:0.65rem;
}
.sw-magic-hub .sw-feature-image{
margin:0 0 clamp(1.8rem, 4vw, 3rem);
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:20px;
background:#0c0d14;
box-shadow:var(--sw-shadow);
}
.sw-magic-hub .sw-feature-image img{
aspect-ratio:3 / 2;
object-fit:cover;
}
.sw-magic-hub .sw-card-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
}
.sw-magic-hub .sw-card-grid--two{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-magic-hub .sw-card-grid--seven{
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.sw-magic-hub .sw-card{
position:relative;
display:flex;
min-height:100%;
flex-direction:column;
padding:clamp(1.05rem, 2.2vw, 1.45rem);
border:1px solid var(--sw-border);
border-radius:15px;
background:linear-gradient(145deg, rgba(25, 27, 40, 0.97), rgba(15, 17, 26, 0.97));
box-shadow:0 12px 38px rgba(0, 0, 0, 0.20);
}
.sw-magic-hub .sw-card::before{
content:"";
position:absolute;
top:0;
right:1rem;
left:1rem;
height:1px;
background:linear-gradient(90deg, transparent, rgba(240, 213, 142, 0.70), transparent);
}
.sw-magic-hub .sw-card p{
flex:1;
margin-bottom:1rem;
color:var(--sw-muted);
}
.sw-magic-hub .sw-card-link{
display:inline-flex;
align-items:center;
gap:0.4rem;
font-weight:800;
}
.sw-magic-hub .sw-card-link::after{
content:"→";
}
.sw-magic-hub .sw-card-index{
display:block;
margin-bottom:0.55rem;
color:var(--sw-gold);
font-family:Georgia, "Times New Roman", serif;
font-size:1.15rem;
font-weight:700;
}
/* Schools */
.sw-magic-hub .sw-school-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:0.8rem;
margin:0;
padding:0;
list-style:none;
}
.sw-magic-hub .sw-school-grid li{
min-height:100%;
}
.sw-magic-hub .sw-school-grid a, .sw-magic-hub .sw-school-grid .sw-school-universal{
display:block;
min-height:100%;
padding:1rem;
border:1px solid rgba(117, 174, 232, 0.26);
border-radius:13px;
color:var(--sw-ink);
background:rgba(15, 18, 30, 0.78);
text-decoration:none;
}
.sw-magic-hub .sw-school-grid a:hover{
border-color:var(--sw-gold);
background:rgba(25, 29, 46, 0.96);
transform:translateY(-2px);
}
.sw-magic-hub .sw-school-name{
display:flex;
align-items:center;
justify-content:space-between;
gap:0.65rem;
margin-bottom:0.45rem;
color:#fff8e7;
font-family:Georgia, "Times New Roman", serif;
font-size:1.15rem;
font-weight:700;
}
.sw-magic-hub .sw-school-symbol{
color:var(--sw-gold);
font-size:1.3rem;
}
.sw-magic-hub .sw-school-copy{
display:block;
color:var(--sw-muted);
font-size:0.94rem;
line-height:1.55;
}
/* Link chips */
.sw-magic-hub .sw-chip-list, .sw-magic-hub .sw-directory-list{
display:flex;
flex-wrap:wrap;
gap:0.62rem;
margin:0;
padding:0;
list-style:none;
}
.sw-magic-hub .sw-chip-list a, .sw-magic-hub .sw-directory-list a{
display:inline-flex;
min-height:42px;
align-items:center;
padding:0.55rem 0.78rem;
border:1px solid rgba(217, 180, 95, 0.27);
border-radius:9px;
color:#f2ead8;
background:rgba(20, 23, 34, 0.82);
font-size:0.95rem;
font-weight:700;
text-decoration:none;
}
.sw-magic-hub .sw-chip-list a:hover, .sw-magic-hub .sw-directory-list a:hover{
border-color:var(--sw-gold-bright);
color:#fff;
background:rgba(43, 37, 26, 0.96);
}
.sw-magic-hub .sw-directory-group{
margin-top:1.2rem;
padding:1.2rem;
border:1px solid var(--sw-border);
border-radius:15px;
background:rgba(17, 19, 29, 0.83);
}
.sw-magic-hub .sw-directory-group h3{
margin-bottom:1rem;
}
.sw-magic-hub .sw-directory-list--spaced, .sw-magic-hub .sw-card-grid--spaced{
margin-top:1rem;
}
.sw-magic-hub .sw-directory-note{
margin-bottom:0;
padding:0.9rem 1rem;
border-left:3px solid var(--sw-gold);
color:var(--sw-muted);
background:rgba(217, 180, 95, 0.06);
}
/* Magic-item categories */
.sw-magic-hub .sw-item-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:0.85rem;
margin:0;
padding:0;
list-style:none;
}
.sw-magic-hub .sw-item-grid li{
min-height:100%;
}
.sw-magic-hub .sw-item-card{
display:flex;
min-height:100%;
flex-direction:column;
gap:0.42rem;
padding:1rem;
border:1px solid rgba(217, 180, 95, 0.28);
border-radius:13px;
color:var(--sw-ink);
background:rgba(15, 18, 28, 0.86);
text-decoration:none;
}
.sw-magic-hub .sw-item-card:hover{
border-color:var(--sw-gold-bright);
color:#fff;
background:rgba(37, 31, 21, 0.96);
transform:translateY(-2px);
}
.sw-magic-hub .sw-item-card strong{
color:#fff8e7;
font-family:Georgia, "Times New Roman", serif;
font-size:1.08rem;
line-height:1.25;
}
.sw-magic-hub .sw-item-card span{
color:var(--sw-muted);
font-size:0.92rem;
line-height:1.5;
}
/* Linked video cards — thumbnails only, no embedded iframes */
.sw-magic-hub .sw-video-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
}
.sw-magic-hub .sw-video-card{
display:flex;
min-height:100%;
flex-direction:column;
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:15px;
color:var(--sw-ink);
background:linear-gradient(145deg, rgba(25, 27, 40, 0.98), rgba(15, 17, 26, 0.98));
text-decoration:none;
box-shadow:0 12px 38px rgba(0, 0, 0, 0.20);
}
.sw-magic-hub .sw-video-card:hover{
border-color:var(--sw-gold-bright);
color:#fff;
transform:translateY(-2px);
}
.sw-magic-hub .sw-video-thumb{
position:relative;
aspect-ratio:16 / 9;
overflow:hidden;
background:#07080d;
}
.sw-magic-hub .sw-video-thumb img{
width:100%;
height:100%;
object-fit:cover;
}
.sw-magic-hub .sw-video-thumb::after{
content:"&#x25b6;";
position:absolute;
top:50%;
left:50%;
display:grid;
width:58px;
height:58px;
place-items:center;
padding-left:3px;
border:1px solid rgba(255, 255, 255, 0.72);
border-radius:50%;
color:#16110a;
background:rgba(240, 213, 142, 0.92);
box-shadow:0 8px 24px rgba(0, 0, 0, 0.38);
transform:translate(-50%, -50%);
}
.sw-magic-hub .sw-video-body{
display:flex;
flex:1;
flex-direction:column;
padding:1rem;
}
.sw-magic-hub .sw-video-body h3{
margin-bottom:0.48rem;
font-size:1.18rem;
}
.sw-magic-hub .sw-video-body p{
flex:1;
margin-bottom:0.8rem;
color:var(--sw-muted);
font-size:0.93rem;
line-height:1.55;
}
.sw-magic-hub .sw-video-source{
color:var(--sw-gold-bright);
font-size:0.82rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
}
/* Search */
.sw-magic-hub .sw-search-panel{
padding:clamp(3rem, 7vw, 5.5rem) 0;
border-top:1px solid var(--sw-border);
background:radial-gradient(circle at 50% 0%, rgba(141, 114, 199, 0.14), transparent 30rem), #0d0f17;
}
.sw-magic-hub .sw-search-box{
max-width:850px;
margin:0 auto;
padding:clamp(1.35rem, 3vw, 2.2rem);
border:1px solid var(--sw-border);
border-radius:18px;
background:rgba(20, 23, 34, 0.95);
text-align:center;
box-shadow:var(--sw-shadow);
}
.sw-magic-hub .sw-search-form{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:0.7rem;
margin-top:1.2rem;
}
.sw-magic-hub .sw-search-form input{
width:100%;
min-height:50px;
padding:0.78rem 0.95rem;
border:1px solid rgba(240, 213, 142, 0.42);
border-radius:10px;
color:#fff;
background:#090a10;
font:inherit;
}
.sw-magic-hub .sw-search-form button{
min-height:50px;
padding:0.75rem 1.15rem;
border:1px solid #f0d58e;
border-radius:10px;
color:#151109;
background:linear-gradient(180deg, #f4dc9a, #c99d48);
font:inherit;
font-weight:800;
cursor:pointer;
}
.sw-magic-hub .sw-source-note{
margin-top:1.2rem;
color:var(--sw-muted);
font-size:0.92rem;
}
@media (max-width: 1020px) {
.sw-magic-hub .sw-route-steps{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-magic-hub .sw-card-grid, .sw-magic-hub .sw-card-grid--seven, .sw-magic-hub .sw-item-grid, .sw-magic-hub .sw-video-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-magic-hub .sw-school-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 680px) {
.sw-magic-hub{
font-size:16px;
}
.sw-magic-hub .sw-shell, .sw-magic-hub .sw-hero-content{
width:min(100% - 24px, 1180px);
}
.sw-magic-hub .sw-hero{
min-height:700px;
}
.sw-magic-hub .sw-hero-media img{
object-position:center center;
}
.sw-magic-hub .sw-route-steps, .sw-magic-hub .sw-card-grid, .sw-magic-hub .sw-card-grid--two, .sw-magic-hub .sw-card-grid--seven, .sw-magic-hub .sw-school-grid, .sw-magic-hub .sw-item-grid, .sw-magic-hub .sw-video-grid, .sw-magic-hub .sw-search-form{
grid-template-columns:1fr;
}
.sw-magic-hub .sw-route-steps li{
min-height:auto;
}
.sw-magic-hub .sw-button{
width:100%;
}
}
@media (prefers-reduced-motion: no-preference) {
.sw-magic-hub a, .sw-magic-hub .sw-button, .sw-magic-hub .sw-school-grid a, .sw-magic-hub .sw-item-card, .sw-magic-hub .sw-video-card{
transition:color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
}
.swg{
--swg-black: #040709;
--swg-black-soft: #080d11;
--swg-panel: #0d1419;
--swg-panel-raised: #111a20;
--swg-gold: #d6a52d;
--swg-gold-light: #f0cf76;
--swg-cream: #f4ecdd;
--swg-text: #f7f3eb;
--swg-muted: #c5bcaf;
--swg-line: rgba(214, 165, 45, 0.58);
--swg-line-soft: rgba(214, 165, 45, 0.18);
--swg-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
--swg-sans: "Segoe UI", Tahoma, Arial, sans-serif;
--swg-site-header-offset: 73px;
--swg-map-image: url("https://spiralworlds.com/wp-content/uploads/2026/07/spiralworlds-home-geography.webp");
position:relative;
overflow:clip;
color:var(--swg-text);
background:var(--swg-black);
font-family:var(--swg-serif);
font-size:16px;
line-height:1.55;
}
.swg *, .swg *::before, .swg *::after{
box-sizing:border-box;
}
.swg h1, .swg h2, .swg h3, .swg p{
margin-top:0;
}
.swg h1, .swg h2, .swg h3, .swg p, .swg span, .swg a, .swg li{
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
.swg a{
color:inherit;
}
.swg a:focus-visible, .swg input:focus-visible, .swg button:focus-visible{
outline:3px solid #fff;
outline-offset:3px;
box-shadow:0 0 0 6px #8b650e;
}
.swg [id]{
scroll-margin-top:102px;
}
.swg-shell{
width:min(1420px, calc(100% - 38px));
margin-inline:auto;
}
.swg-kicker{
margin-bottom:10px;
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.76rem;
font-weight:800;
letter-spacing:0.12em;
line-height:1.3;
text-transform:uppercase;
}
.swg-hero{
position:relative;
isolation:isolate;
overflow:hidden;
min-height:clamp(610px, 68vw, 790px);
border-bottom:1px solid var(--swg-line-soft);
background:linear-gradient(90deg, rgba(2, 5, 7, 0.72) 0%, rgba(3, 6, 8, 0.48) 29%, rgba(4, 8, 11, 0.16) 52%, rgba(4, 8, 11, 0.02) 82%, rgba(4, 8, 11, 0) 100%), linear-gradient(180deg, rgba(255, 238, 191, 0.18) 0%, rgba(255, 238, 191, 0.10) 58%, rgba(255, 238, 191, 0.04) 100%), linear-gradient(180deg, rgba(4, 7, 9, 0) 55%, rgba(4, 7, 9, 0.24) 100%), var(--swg-map-image) 60% center / cover no-repeat, linear-gradient(135deg, #1a252c, #080d10 62%, #030506);
}
.swg-hero::after{
content:"";
position:absolute;
z-index:-1;
inset:0;
background:radial-gradient(circle at 74% 34%, rgba(239, 202, 105, 0.17), transparent 23%), repeating-linear-gradient(90deg, transparent 0 139px, rgba(214, 165, 45, 0.035) 140px);
pointer-events:none;
}
.swg-hero-inner{
display:flex;
min-height:inherit;
align-items:center;
padding-top:clamp(76px, 9vw, 120px);
padding-bottom:clamp(132px, 15vw, 180px);
}
.swg-hero-copy{
width:min(690px, 58%);
}
.swg-hero h1{
max-width:760px;
margin-bottom:20px;
color:#fff;
font-size:clamp(3.5rem, 7vw, 6.65rem);
font-weight:700;
letter-spacing:-0.052em;
line-height:0.91;
text-shadow:0 5px 30px rgba(0, 0, 0, 0.74);
}
.swg-hero-lede{
max-width:640px;
margin-bottom:28px;
color:#f1eadf;
font-size:clamp(1.05rem, 1.55vw, 1.29rem);
line-height:1.54;
text-shadow:0 2px 18px rgba(0, 0, 0, 0.84);
}
.swg-button-row{
display:flex;
flex-wrap:wrap;
gap:12px;
}
.swg-button{
display:inline-flex;
min-height:49px;
align-items:center;
justify-content:center;
padding:12px 22px;
border:1px solid var(--swg-gold);
border-radius:3px;
font-family:var(--swg-sans);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.055em;
line-height:1.2;
text-decoration:none;
text-transform:uppercase;
transition:transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.swg-button:hover, .swg-button:focus-visible{
transform:translateY(-2px);
}
.swg-button-primary{
color:#171006;
background:linear-gradient(180deg, #f0ce73, #d4a334);
}
.swg-button-secondary{
color:var(--swg-cream);
background:rgba(4, 7, 9, 0.76);
}
.swg-hero-facts{
position:absolute;
right:0;
bottom:0;
left:0;
border-top:1px solid var(--swg-line-soft);
background:rgba(3, 6, 8, 0.88);
backdrop-filter:blur(8px);
}
.swg-fact-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.swg-fact{
min-height:92px;
padding:18px 21px;
border-right:1px solid var(--swg-line-soft);
}
.swg-fact:last-child{
border-right:0;
}
.swg-fact strong{
display:block;
margin-bottom:4px;
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.74rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
}
.swg-fact span{
display:block;
color:#eee6da;
font-size:0.91rem;
line-height:1.34;
}
.swg-jump-nav{
position:sticky;
z-index:40;
top:var(--swg-site-header-offset);
border-bottom:1px solid var(--swg-line-soft);
background:rgba(4, 7, 9, 0.97);
backdrop-filter:blur(10px);
}
.swg-jump-nav .swg-shell{
display:flex;
overflow-x:auto;
gap:6px;
align-items:center;
padding-top:9px;
padding-bottom:9px;
scrollbar-width:thin;
}
.swg-jump-nav a{
flex:0 0 auto;
padding:8px 12px;
border:1px solid transparent;
border-radius:2px;
color:#e4dccf;
font-family:var(--swg-sans);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
}
.swg-jump-nav a:hover, .swg-jump-nav a:focus-visible{
border-color:var(--swg-line);
color:var(--swg-gold-light);
background:rgba(214, 165, 45, 0.08);
}
.swg-section{
padding:clamp(68px, 8vw, 112px) 0;
}
.swg-section-dark{
background:radial-gradient(circle at 50% 0%, rgba(214, 165, 45, 0.065), transparent 33%), var(--swg-black);
}
.swg-section-raised{
border-top:1px solid var(--swg-line-soft);
border-bottom:1px solid var(--swg-line-soft);
background:var(--swg-black-soft);
}
.swg-heading-row{
display:grid;
grid-template-columns:minmax(0, 0.75fr) minmax(320px, 1.25fr);
gap:clamp(30px, 6vw, 86px);
align-items:end;
margin-bottom:34px;
}
.swg-heading-row h2{
margin-bottom:0;
color:#fff;
font-size:clamp(2.25rem, 4.5vw, 4.2rem);
letter-spacing:-0.04em;
line-height:0.98;
}
.swg-heading-row > p{
max-width:760px;
margin-bottom:2px;
color:var(--swg-muted);
font-size:1.03rem;
line-height:1.62;
}
.swg-europe-panel{
display:grid;
grid-template-columns:minmax(300px, 0.72fr) minmax(0, 1.28fr);
gap:clamp(30px, 5vw, 76px);
padding:clamp(30px, 5vw, 66px);
border:1px solid var(--swg-line);
border-radius:5px;
background:radial-gradient(circle at 0 0, rgba(214, 165, 45, 0.1), transparent 34%), var(--swg-panel);
box-shadow:0 26px 70px rgba(0, 0, 0, 0.32);
}
.swg-europe-intro{
display:flex;
flex-direction:column;
justify-content:center;
}
.swg-europe-intro h3{
margin-bottom:15px;
color:#fff;
font-size:clamp(2.5rem, 4.3vw, 4.4rem);
letter-spacing:-0.045em;
line-height:0.96;
}
.swg-europe-intro > p:not(.swg-kicker){
margin-bottom:24px;
color:#ddd5ca;
font-size:1rem;
line-height:1.62;
}
.swg-route-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:9px;
}
.swg-route{
display:flex;
min-height:66px;
gap:13px;
align-items:center;
justify-content:space-between;
padding:13px 15px;
border:1px solid var(--swg-line-soft);
border-radius:3px;
color:#eee7dc;
background:rgba(255, 255, 255, 0.018);
font-family:var(--swg-sans);
font-size:0.77rem;
font-weight:800;
letter-spacing:0.025em;
line-height:1.28;
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.swg-route:hover, .swg-route:focus-visible{
border-color:var(--swg-gold-light);
background:rgba(214, 165, 45, 0.08);
transform:translateY(-2px);
}
.swg-route span:last-child{
flex:0 0 auto;
color:var(--swg-gold-light);
font-size:1rem;
}
.swg-card-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:13px;
}
.swg-card{
position:relative;
display:flex;
min-height:285px;
flex-direction:column;
justify-content:space-between;
overflow:hidden;
padding:24px;
border:1px solid var(--swg-line-soft);
border-radius:4px;
background:linear-gradient(155deg, rgba(214, 165, 45, 0.055), transparent 44%), var(--swg-panel);
text-decoration:none;
transition:transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.swg-card::before{
content:"";
position:absolute;
top:-42px;
right:-42px;
width:132px;
height:132px;
border:1px solid rgba(214, 165, 45, 0.11);
border-radius:50%;
box-shadow:0 0 0 25px rgba(214, 165, 45, 0.025), 0 0 0 50px rgba(214, 165, 45, 0.018);
pointer-events:none;
}
.swg-card:hover, .swg-card:focus-visible{
border-color:var(--swg-gold-light);
background:var(--swg-panel-raised);
box-shadow:0 18px 38px rgba(0, 0, 0, 0.34);
transform:translateY(-4px);
}
.swg-card-number{
display:block;
margin-bottom:34px;
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.7rem;
font-weight:800;
letter-spacing:0.1em;
text-transform:uppercase;
}
.swg-card h3{
margin-bottom:11px;
color:#fff;
font-size:clamp(1.48rem, 2.15vw, 2.05rem);
letter-spacing:-0.03em;
line-height:1.03;
}
.swg-card p{
margin-bottom:0;
color:var(--swg-muted);
font-size:0.92rem;
line-height:1.52;
}
.swg-card-footer{
display:flex;
gap:12px;
align-items:center;
justify-content:space-between;
margin-top:25px;
padding-top:16px;
border-top:1px solid var(--swg-line-soft);
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.05em;
text-transform:uppercase;
}
.swg-card-arrow{
display:grid;
width:30px;
height:30px;
flex:0 0 30px;
place-items:center;
border:1px solid var(--swg-gold);
border-radius:50%;
font-size:0.95rem;
}
.swg-wide-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:13px;
}
.swg-wide-card{
position:relative;
overflow:hidden;
min-height:290px;
padding:29px;
border:1px solid var(--swg-line-soft);
border-radius:4px;
background:var(--swg-panel);
}
.swg-wide-card h3{
margin-bottom:11px;
color:#fff;
font-size:clamp(1.7rem, 2.4vw, 2.35rem);
letter-spacing:-0.03em;
line-height:1.03;
}
.swg-wide-card > p:not(.swg-kicker){
margin-bottom:22px;
color:var(--swg-muted);
font-size:0.95rem;
line-height:1.58;
}
.swg-link-stack{
display:flex;
flex-wrap:wrap;
gap:11px 18px;
}
.swg-text-link{
display:inline-flex;
gap:9px;
align-items:center;
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.75rem;
font-weight:800;
letter-spacing:0.045em;
text-decoration:none;
text-transform:uppercase;
}
.swg-text-link:hover, .swg-text-link:focus-visible{
color:#fff1b8;
}
.swg-connection-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:13px;
}
.swg-connection{
min-height:245px;
padding:28px;
border-left:3px solid var(--swg-gold);
background:rgba(255, 255, 255, 0.025);
}
.swg-connection h3{
margin-bottom:10px;
color:#fff;
font-size:1.45rem;
line-height:1.08;
}
.swg-connection p{
margin-bottom:14px;
color:var(--swg-muted);
font-size:0.94rem;
line-height:1.55;
}
.swg-video-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
}
.swg-video-card{
display:flex;
overflow:hidden;
min-height:100%;
flex-direction:column;
border:1px solid var(--swg-line-soft);
border-radius:4px;
color:inherit;
background:#0a1014;
text-decoration:none;
transition:transform 160ms ease, border-color 160ms ease, background 160ms ease;
}
.swg-video-card:hover, .swg-video-card:focus-visible{
transform:translateY(-3px);
border-color:var(--swg-line);
background:#10181e;
}
.swg-video-thumb{
position:relative;
overflow:hidden;
aspect-ratio:16 / 9;
border-bottom:1px solid var(--swg-line-soft);
background:linear-gradient(135deg, #1b252b, #070b0e);
}
.swg-video-thumb img{
display:block;
width:100%;
height:100%;
object-fit:cover;
filter:saturate(0.82) contrast(1.04) brightness(0.82);
transition:transform 220ms ease, filter 220ms ease;
}
.swg-video-card:hover .swg-video-thumb img, .swg-video-card:focus-visible .swg-video-thumb img{
transform:scale(1.025);
filter:saturate(0.92) contrast(1.04) brightness(0.9);
}
.swg-video-play{
position:absolute;
top:50%;
left:50%;
display:grid;
width:52px;
height:52px;
place-items:center;
transform:translate(-50%, -50%);
border:1px solid rgba(240, 207, 118, 0.82);
border-radius:50%;
color:#191006;
background:rgba(240, 207, 118, 0.92);
font-family:var(--swg-sans);
font-size:1.05rem;
line-height:1;
box-shadow:0 8px 24px rgba(0, 0, 0, 0.45);
}
.swg-video-copy{
display:flex;
flex:1;
flex-direction:column;
padding:22px;
}
.swg-video-copy h3{
margin-bottom:9px;
color:#fff;
font-size:1.32rem;
line-height:1.15;
}
.swg-video-copy p{
margin-bottom:18px;
color:var(--swg-muted);
font-size:0.92rem;
line-height:1.54;
}
.swg-video-meta{
display:flex;
gap:10px;
align-items:center;
justify-content:space-between;
margin-top:auto;
color:var(--swg-gold-light);
font-family:var(--swg-sans);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.055em;
text-transform:uppercase;
}
.swg-search{
border-top:1px solid var(--swg-line-soft);
background:radial-gradient(circle at 75% 50%, rgba(214, 165, 45, 0.09), transparent 27%), #060a0d;
}
.swg-search-box{
display:grid;
grid-template-columns:minmax(0, 0.85fr) minmax(380px, 1.15fr);
gap:clamp(30px, 6vw, 85px);
align-items:center;
padding-top:clamp(58px, 7vw, 92px);
padding-bottom:clamp(58px, 7vw, 92px);
}
.swg-search h2{
margin-bottom:9px;
color:#fff;
font-size:clamp(2rem, 3.7vw, 3.5rem);
letter-spacing:-0.04em;
line-height:1;
}
.swg-search p{
margin-bottom:0;
color:var(--swg-muted);
font-size:0.98rem;
}
.swg-search-form{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:9px;
}
.swg-search-form input{
min-width:0;
min-height:52px;
padding:12px 15px;
border:1px solid var(--swg-line);
border-radius:3px;
color:#fff;
background:#0b1115;
font:inherit;
}
.swg-search-form input::placeholder{
color:#938a7f;
}
.swg-search-form button{
min-height:52px;
padding:12px 22px;
border:1px solid var(--swg-gold);
border-radius:3px;
color:#171006;
background:linear-gradient(180deg, #f0ce73, #d4a334);
font-family:var(--swg-sans);
font-size:0.76rem;
font-weight:800;
letter-spacing:0.055em;
text-transform:uppercase;
cursor:pointer;
}
.swg .screen-reader-text{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0, 0, 0, 0)!important;
white-space:nowrap!important;
border:0!important;
}
@media (max-width: 1160px) {
.swg-hero-copy{
width:min(660px, 65%);
}
.swg-card-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.swg-connection-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swg-video-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.swg{
--swg-site-header-offset: 65px;
}
.swg-shell{
width:min(100% - 30px, 1420px);
}
.swg-hero{
min-height:790px;
background:linear-gradient(180deg, rgba(255, 238, 191, 0.10) 0%, rgba(3, 6, 8, 0.12) 34%, rgba(3, 6, 8, 0.82) 69%, #030608 100%), var(--swg-map-image) 59% 11% / auto 56% no-repeat, linear-gradient(135deg, #182028, #070b0e 62%, #030506);
}
.swg-hero-inner{
align-items:end;
padding-top:300px;
padding-bottom:200px;
}
.swg-hero-copy{
width:100%;
}
.swg-hero h1{
max-width:760px;
font-size:clamp(3.2rem, 10vw, 5.7rem);
}
.swg-fact-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swg-fact:nth-child(2){
border-right:0;
}
.swg-fact:nth-child(-n+2){
border-bottom:1px solid var(--swg-line-soft);
}
.swg-heading-row, .swg-search-box, .swg-europe-panel{
grid-template-columns:1fr;
}
.swg-card-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swg-wide-grid{
grid-template-columns:1fr;
}
.swg-video-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 580px) {
.swg-shell{
width:min(100% - 24px, 1420px);
}
.swg-hero{
min-height:785px;
background-size:auto 45%, cover;
background-position:58% 7%, center;
}
.swg-hero-inner{
padding-top:265px;
padding-bottom:215px;
}
.swg-hero h1{
font-size:clamp(3rem, 17vw, 4.55rem);
}
.swg-hero-lede{
font-size:1rem;
}
.swg-button-row, .swg-button{
width:100%;
}
.swg-fact{
min-height:108px;
padding:15px;
}
.swg-fact span{
font-size:0.83rem;
}
.swg-jump-nav .swg-shell{
width:100%;
padding-inline:12px;
}
.swg-section{
padding:62px 0;
}
.swg-heading-row{
margin-bottom:26px;
}
.swg-europe-panel{
padding:27px 21px;
}
.swg-route-grid, .swg-card-grid, .swg-connection-grid{
grid-template-columns:1fr;
}
.swg-card{
min-height:240px;
}
.swg-connection{
min-height:auto;
}
.swg-search-form{
grid-template-columns:1fr;
}
.swg-search-form button{
width:100%;
}
}
@media (prefers-reduced-motion: reduce) {
.swg *, .swg *::before, .swg *::after{
scroll-behavior:auto!important;
transition-duration:0.01ms!important;
}
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS MONSTER TABS — supported-edition count */
html body .sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(2):last-child) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(3):last-child) > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels{
grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media (max-width:780px) {
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:520px) {
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
.sw-pharaoh{
--ink:#eef1f5;
--muted:#b8bec8;
--gold:#d8b15a;
--gold2:#f0d58c;
--night:#070b12;
--panel:#101722;
--panel2:#151e2b;
--line:rgba(216,177,90,.28);
max-width:1240px;
margin:0 auto;
color:var(--ink);
background:var(--night);
font-family:Quicksand,system-ui,-apple-system,"Segoe UI",sans-serif;
line-height:1.72;
}
.sw-pharaoh *{
box-sizing:border-box;
}
.sw-pharaoh a{
color:var(--gold2);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-pharaoh a:hover{
color:#fff;
}
.sw-pharaoh img{
display:block;
max-width:100%;
}
.sw-pharaoh h1,.sw-pharaoh h2,.sw-pharaoh h3{
font-family:Georgia,"Times New Roman",serif;
line-height:1.14;
margin:0;
color:#fff;
}
.sw-pharaoh h1{
font-size:clamp(2.35rem,6vw,5rem);
font-weight:500;
letter-spacing:-.035em;
}
.sw-pharaoh h2{
font-size:clamp(1.85rem,4vw,3rem);
font-weight:600;
}
.sw-pharaoh h3{
font-size:1.28rem;
font-weight:600;
}
.sw-pharaoh p{
margin:0 0 1rem;
}
.sw-pharaoh .eyebrow{
margin:0 0 .7rem;
color:var(--gold2);
font-size:.78rem;
font-weight:800;
letter-spacing:.18em;
text-transform:uppercase;
}
.sw-pharaoh .hero{
position:relative;
min-height:610px;
display:flex;
align-items:flex-end;
overflow:hidden;
border:1px solid var(--line);
background:#05070b;
}
.sw-pharaoh .hero>img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 44%;
opacity:.7;
}
.sw-pharaoh .hero:after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(3,5,9,.08) 5%,rgba(3,5,9,.45) 48%,rgba(3,5,9,.98) 100%),linear-gradient(90deg,rgba(3,5,9,.75),transparent 72%);
}
.sw-pharaoh .hero-copy{
position:relative;
z-index:1;
width:min(880px,100%);
padding:clamp(2rem,6vw,5rem);
}
.sw-pharaoh .hero-copy h1 span{
display:block;
margin-top:.35rem;
color:var(--gold2);
font-size:.31em;
font-family:Quicksand,system-ui,sans-serif;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}
.sw-pharaoh .lede{
max-width:780px;
margin:1.25rem 0 0;
color:#e5e8ed;
font-size:clamp(1.05rem,2vw,1.28rem);
}
.sw-pharaoh .hero-links{
display:flex;
flex-wrap:wrap;
gap:.7rem;
margin-top:1.35rem;
}
.sw-pharaoh .pill{
display:inline-flex;
align-items:center;
gap:.4rem;
padding:.55rem .8rem;
border:1px solid var(--line);
border-radius:999px;
background:rgba(7,11,18,.72);
color:#f7e7bb;
text-decoration:none;
font-size:.88rem;
font-weight:700;
}
.sw-pharaoh .intro{
padding:clamp(2.4rem,6vw,5.3rem);
background:linear-gradient(180deg,#0b111a,#070b12);
}
.sw-pharaoh .intro-grid{
display:grid;
grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
gap:clamp(2rem,5vw,4.8rem);
align-items:start;
}
.sw-pharaoh .intro p:first-of-type{
font-size:1.15rem;
color:#f0f2f6;
}
.sw-pharaoh .profile{
padding:1.2rem 1.3rem;
border:1px solid var(--line);
border-radius:14px;
background:linear-gradient(145deg,var(--panel2),var(--panel));
}
.sw-pharaoh .profile ul{
list-style:none;
margin:0;
padding:0;
}
.sw-pharaoh .profile li{
padding:.68rem 0;
border-bottom:1px solid rgba(255,255,255,.08);
}
.sw-pharaoh .profile li:last-child{
border-bottom:0;
}
.sw-pharaoh .profile strong{
display:block;
color:var(--gold2);
font-size:.72rem;
letter-spacing:.1em;
text-transform:uppercase;
}
.sw-pharaoh .section{
padding:clamp(2.5rem,6vw,5.3rem);
border-top:1px solid var(--line);
}
.sw-pharaoh .section-head{
max-width:820px;
margin-bottom:2rem;
}
.sw-pharaoh .section-head p{
margin-top:.85rem;
color:var(--muted);
}
.sw-pharaoh .deity-group+.deity-group{
margin-top:2.8rem;
}
.sw-pharaoh .deity-group-head{
display:flex;
justify-content:space-between;
gap:1rem;
align-items:end;
margin-bottom:1rem;
padding:1.15rem 1.25rem;
border:1px solid var(--line);
border-radius:14px;
background:linear-gradient(100deg,#182337,#0b111a);
}
.sw-pharaoh .deity-group-head h3{
font-size:clamp(1.25rem,2.5vw,1.75rem);
color:#fff;
}
.sw-pharaoh .deity-group-head span{
color:var(--gold2);
font-size:.72rem;
font-weight:800;
letter-spacing:.1em;
text-align:right;
text-transform:uppercase;
}
.sw-pharaoh .deity-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:1rem;
}
.sw-pharaoh .deity-card{
position:relative;
overflow:hidden;
border:1px solid var(--line);
border-radius:14px;
background:linear-gradient(180deg,#131b27,#0c121b);
box-shadow:0 16px 36px rgba(0,0,0,.2);
}
.sw-pharaoh .deity-card>a{
display:flex;
height:100%;
flex-direction:column;
color:inherit;
text-decoration:none;
}
.sw-pharaoh .deity-media{
position:relative;
aspect-ratio:3/4;
overflow:hidden;
background:radial-gradient(circle at 50% 35%,#263143,#080c12 72%);
}
.sw-pharaoh .deity-media:after{
content:"";
position:absolute;
inset:auto 0 0;
height:40%;
background:linear-gradient(transparent,rgba(7,11,18,.86));
}
.sw-pharaoh .deity-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:var(--focus,50% 22%);
transition:transform .35s ease,filter .35s ease;
}
.sw-pharaoh .deity-card.landscape .deity-media img{
object-fit:contain;
object-position:center;
}
.sw-pharaoh .deity-card.text-only .deity-media{
display:grid;
place-items:center;
padding:1.2rem;
background:radial-gradient(circle at 50% 35%,#34435b,#090e16 76%);
}
.sw-pharaoh .deity-nameplate{
width:100%;
padding:1.2rem .85rem;
border:1px solid var(--line);
border-radius:12px;
text-align:center;
background:rgba(6,10,16,.72);
}
.sw-pharaoh .deity-nameplate strong{
display:block;
color:#fff;
font-family:Georgia,"Times New Roman",serif;
font-size:1.45rem;
font-weight:600;
}
.sw-pharaoh .deity-nameplate span{
display:block;
margin-top:.55rem;
color:var(--gold2);
font-size:.66rem;
font-weight:800;
letter-spacing:.09em;
text-transform:uppercase;
}
.sw-pharaoh .deity-card>a:hover .deity-media img{
transform:scale(1.035);
filter:saturate(1.08);
}
.sw-pharaoh .deity-copy{
display:flex;
flex:1;
flex-direction:column;
padding:1rem 1.05rem 1.15rem;
}
.sw-pharaoh .deity-copy h3{
color:#fff;
}
.sw-pharaoh .deity-copy p{
margin:.48rem 0 0;
color:var(--muted);
font-size:.9rem;
line-height:1.5;
}
.sw-pharaoh .deity-copy .type{
margin-top:auto;
padding-top:.8rem;
color:var(--gold2);
font-size:.68rem;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
}
.sw-pharaoh .deity-card.adversary{
border-color:rgba(181,67,55,.55);
}
.sw-pharaoh .deity-card.adversary .type{
color:#ef9a8d;
}
.sw-pharaoh .minor-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:.8rem;
margin-top:1.25rem;
}
.sw-pharaoh .minor-card{
min-height:180px;
padding:1.15rem;
border:1px solid var(--line);
border-radius:13px;
background:radial-gradient(circle at 50% 0,#263143,#0b111a 72%);
}
.sw-pharaoh .minor-card h3{
color:var(--gold2);
font-size:1.12rem;
}
.sw-pharaoh .minor-card p{
margin:.55rem 0 0;
color:var(--muted);
font-size:.86rem;
line-height:1.5;
}
.sw-pharaoh .minor-card .type{
display:block;
margin-top:.75rem;
color:#d9c58f;
font-size:.65rem;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
}
.sw-pharaoh .split{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
.sw-pharaoh .panel{
padding:clamp(1.4rem,3vw,2.2rem);
border:1px solid var(--line);
border-radius:14px;
background:linear-gradient(145deg,var(--panel2),var(--panel));
}
.sw-pharaoh .panel h3{
margin-bottom:.75rem;
color:var(--gold2);
}
.sw-pharaoh .panel ul{
margin:.5rem 0 0;
padding-left:1.15rem;
}
.sw-pharaoh .panel li+li{
margin-top:.55rem;
}
.sw-pharaoh .timeline{
display:grid;
gap:.9rem;
margin-top:1.5rem;
}
.sw-pharaoh .timeline-item{
display:grid;
grid-template-columns:52px 1fr;
gap:1rem;
align-items:start;
}
.sw-pharaoh .timeline-item b{
display:grid;
place-items:center;
width:52px;
height:52px;
border:1px solid var(--line);
border-radius:50%;
color:var(--gold2);
background:#111927;
}
.sw-pharaoh .timeline-item h3{
font-size:1.08rem;
margin:.1rem 0 .25rem;
}
.sw-pharaoh .timeline-item p{
color:var(--muted);
}
.sw-pharaoh .beast-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:1rem;
}
.sw-pharaoh .beast-card{
overflow:hidden;
border:1px solid var(--line);
border-radius:14px;
background:var(--panel);
}
.sw-pharaoh .beast-card>a{
display:flex;
height:100%;
flex-direction:column;
color:inherit;
text-decoration:none;
}
.sw-pharaoh .beast-media{
display:grid;
place-items:center;
aspect-ratio:4/3;
overflow:hidden;
background:radial-gradient(circle,#29364a,#080c12 75%);
}
.sw-pharaoh .beast-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center 28%;
transition:transform .3s ease;
}
.sw-pharaoh .beast-card.object .beast-media img{
object-fit:contain;
padding:1rem;
}
.sw-pharaoh .beast-card>a:hover .beast-media img{
transform:scale(1.03);
}
.sw-pharaoh .beast-copy{
padding:1.1rem;
}
.sw-pharaoh .beast-copy p{
margin:.5rem 0 0;
color:var(--muted);
font-size:.9rem;
}
.sw-pharaoh .beast-copy .type{
color:var(--gold2);
font-size:.67rem;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
}
.sw-pharaoh .feature{
display:grid;
grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
overflow:hidden;
border:1px solid var(--line);
border-radius:16px;
background:linear-gradient(145deg,var(--panel2),var(--panel));
}
.sw-pharaoh .feature-media{
min-height:420px;
background:#05080c;
}
.sw-pharaoh .feature-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}
.sw-pharaoh .feature-body{
padding:clamp(1.6rem,4vw,3.2rem);
align-self:center;
}
.sw-pharaoh .feature-body h2{
margin-bottom:1rem;
}
.sw-pharaoh .duality{
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem;
}
.sw-pharaoh .duality>div{
padding:clamp(1.5rem,4vw,2.7rem);
border:1px solid var(--line);
border-radius:15px;
}
.sw-pharaoh .maat{
background:linear-gradient(145deg,#263249,#111a28);
}
.sw-pharaoh .isfet{
background:linear-gradient(145deg,#351b1a,#160d10);
border-color:rgba(181,67,55,.5)!important;
}
.sw-pharaoh .duality h3{
margin-bottom:.7rem;
color:var(--gold2);
}
.sw-pharaoh .judgement{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:.8rem;
counter-reset:judgement;
}
.sw-pharaoh .judgement-step{
position:relative;
padding:1.15rem;
border:1px solid var(--line);
border-radius:13px;
background:var(--panel);
}
.sw-pharaoh .judgement-step:before{
counter-increment:judgement;
content:counter(judgement);
display:grid;
place-items:center;
width:34px;
height:34px;
margin-bottom:.8rem;
border:1px solid var(--line);
border-radius:50%;
color:var(--gold2);
font-weight:800;
}
.sw-pharaoh .judgement-step p{
margin:.45rem 0 0;
color:var(--muted);
font-size:.87rem;
}
.sw-pharaoh .judgement-art{
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem;
margin-top:1rem;
}
.sw-pharaoh .judgement-art figure{
display:grid;
grid-template-columns:180px 1fr;
align-items:center;
margin:0;
overflow:hidden;
border:1px solid var(--line);
border-radius:14px;
background:var(--panel);
}
.sw-pharaoh .judgement-art img{
width:180px;
height:220px;
object-fit:cover;
object-position:center 22%;
}
.sw-pharaoh .judgement-art figcaption{
padding:1.2rem;
color:var(--muted);
}
.sw-pharaoh .video-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
.sw-pharaoh .video-card{
overflow:hidden;
border:1px solid var(--line);
border-radius:14px;
background:var(--panel);
}
.sw-pharaoh .video-lite{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
background:#000;
}
.sw-pharaoh .video-lite>img{
width:100%;
height:100%;
object-fit:cover;
opacity:.86;
transition:transform .3s ease,opacity .3s ease;
}
.sw-pharaoh .video-lite:hover>img{
transform:scale(1.025);
opacity:1;
}
.sw-pharaoh .video-play{
position:absolute;
inset:0;
display:grid;
place-items:center;
color:#fff!important;
text-decoration:none;
background:linear-gradient(transparent,rgba(0,0,0,.25));
}
.sw-pharaoh .video-play span{
display:grid;
place-items:center;
width:72px;
height:52px;
border-radius:14px;
background:#c92d28;
box-shadow:0 8px 25px rgba(0,0,0,.45);
font-size:1.65rem;
line-height:1;
}
.sw-pharaoh .video-lite iframe{
display:block;
width:100%;
height:100%;
border:0;
}
.sw-pharaoh .video-card h3{
padding:1rem;
font-family:Quicksand,system-ui,sans-serif;
font-size:.98rem;
line-height:1.4;
}
.sw-pharaoh .video-card>p{
margin:-.55rem 1rem 1rem;
font-size:.82rem;
}
.sw-pharaoh .link-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.7rem;
margin-top:1.25rem;
}
.sw-pharaoh .link-grid a{
display:flex;
align-items:center;
min-height:54px;
padding:.8rem 1rem;
border:1px solid var(--line);
border-radius:12px;
background:var(--panel);
text-decoration:none;
font-weight:700;
}
.sw-pharaoh .sources{
font-size:.92rem;
color:var(--muted);
}
.sw-pharaoh .sources ul{
margin:.8rem 0 0;
padding-left:1.1rem;
}
.sw-pharaoh .return{
display:flex;
flex-wrap:wrap;
gap:.7rem;
margin-top:1.4rem;
}
@media(max-width:1000px){
.sw-pharaoh .deity-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.sw-pharaoh .minor-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.sw-pharaoh .judgement{
grid-template-columns:repeat(3,minmax(0,1fr));
}
}
@media(max-width:760px){
.sw-pharaoh .hero{
min-height:560px;
}
.sw-pharaoh .hero-copy{
padding:2rem 1.25rem;
}
.sw-pharaoh .intro,.sw-pharaoh .section{
padding:2.5rem 1.15rem;
}
.sw-pharaoh .intro-grid,.sw-pharaoh .split,.sw-pharaoh .video-grid,.sw-pharaoh .beast-grid,.sw-pharaoh .feature,.sw-pharaoh .duality,.sw-pharaoh .judgement-art{
grid-template-columns:1fr;
}
.sw-pharaoh .deity-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-pharaoh .deity-group-head{
display:block;
}
.sw-pharaoh .deity-group-head span{
display:block;
margin-top:.55rem;
text-align:left;
}
.sw-pharaoh .feature-media{
min-height:320px;
}
.sw-pharaoh .judgement{
grid-template-columns:1fr 1fr;
}
.sw-pharaoh .link-grid{
grid-template-columns:1fr 1fr;
}
.sw-pharaoh .judgement-art figure{
grid-template-columns:130px 1fr;
}
.sw-pharaoh .judgement-art img{
width:130px;
height:180px;
}
}
@media(max-width:470px){
.sw-pharaoh .deity-grid,.sw-pharaoh .minor-grid,.sw-pharaoh .judgement,.sw-pharaoh .link-grid{
grid-template-columns:1fr;
}
.sw-pharaoh .deity-media{
aspect-ratio:4/5;
}
}
@media(prefers-reduced-motion:reduce){
.sw-pharaoh .deity-media img{
transition:none;
}
}
/* =========================================================
   SPIRALWORLDS — CELTIC PANTHEON
   FINAL ILLUSTRATED HUB
   ========================================================= */
.sw-celtic{
--swc-panel: #17211b;
--swc-panel-2: #1d2922;
--swc-panel-3: #243129;
--swc-text: #edf1e9;
--swc-muted: #bdc8ba;
--swc-gold: #d5b36a;
--swc-gold-bright: #efd38f;
--swc-green: #8eae85;
--swc-border: rgba(213,179,106,.28);
--swc-shadow: 0 16px 40px rgba(0,0,0,.25);
max-width:1180px;
margin:0 auto;
padding:0 18px 56px;
color:var(--swc-text);
font-family:Georgia, "Times New Roman", serif;
line-height:1.7;
}
.sw-celtic *, .sw-celtic *::before, .sw-celtic *::after{
box-sizing:border-box;
}
.sw-celtic a{
color:var(--swc-gold-bright);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-celtic a:hover, .sw-celtic a:focus{
color:#fff;
}
.sw-celtic h1, .sw-celtic h2, .sw-celtic h3{
margin-top:0;
color:#fff;
font-family:Georgia, "Times New Roman", serif;
font-weight:400;
line-height:1.16;
}
.sw-celtic h1{
margin-bottom:0;
font-size:clamp(2.5rem,6vw,4.6rem);
letter-spacing:-.025em;
}
.sw-celtic h2{
margin-bottom:14px;
font-size:clamp(1.8rem,4vw,2.7rem);
}
.sw-celtic h3{
font-size:1.2rem;
}
.sw-celtic p:last-child{
margin-bottom:0;
}
/* =========================================================
   PARENT NAVIGATION
   ========================================================= */
.sw-celtic .swc-back{
margin:0 0 14px;
}
.sw-celtic .swc-back a{
display:inline-flex;
align-items:center;
gap:7px;
padding:7px 11px;
border:1px solid rgba(213,179,106,.24);
border-radius:999px;
background:rgba(23,33,27,.74);
color:var(--swc-gold-bright);
font-family:Arial, Helvetica, sans-serif;
font-size:.82rem;
font-weight:700;
letter-spacing:.04em;
text-decoration:none;
}
.sw-celtic .swc-back a:hover, .sw-celtic .swc-back a:focus{
border-color:var(--swc-gold);
background:var(--swc-panel);
color:#fff;
}
.sw-celtic .swc-back-arrow{
font-size:1rem;
line-height:1;
}
/* =========================================================
   HERO
   ========================================================= */
.sw-celtic .swc-hero{
overflow:hidden;
margin:0 0 30px;
border:1px solid var(--swc-border);
border-radius:22px;
background:radial-gradient(circle at 15% 0%,rgba(142,174,133,.18),transparent 36%), linear-gradient(145deg,#1a261e 0%,#0d130f 100%);
box-shadow:var(--swc-shadow);
}
.sw-celtic .swc-hero-copy{
padding:clamp(30px,5vw,58px);
}
.sw-celtic .swc-kicker{
display:inline-block;
margin:0 0 12px;
color:var(--swc-gold);
font-family:Arial,Helvetica,sans-serif;
font-size:.76rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase;
}
.sw-celtic .swc-lead{
max-width:870px;
margin:18px 0 0;
color:#dce5d9;
font-size:clamp(1.05rem,2.2vw,1.25rem);
}
.sw-celtic .swc-hero-figure{
margin:0;
border-top:1px solid var(--swc-border);
background:#090d0a;
}
.sw-celtic .swc-hero-figure img{
display:block;
width:100%;
height:auto;
margin:0;
}
.sw-celtic .swc-hero-figure figcaption{
padding:9px 16px 12px;
color:#96a294;
font-family:Arial,Helvetica,sans-serif;
font-size:.76rem;
}
/* =========================================================
   CONTENT PANELS
   ========================================================= */
.sw-celtic .swc-section, .sw-celtic .swc-tradition{
margin:30px 0;
padding:clamp(22px,4vw,36px);
border:1px solid var(--swc-border);
border-radius:18px;
background:var(--swc-panel);
box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.sw-celtic .swc-tradition{
scroll-margin-top:90px;
}
.sw-celtic .swc-section-intro{
max-width:900px;
color:var(--swc-muted);
}
/* =========================================================
   SECTION NAVIGATION
   ========================================================= */
.sw-celtic .swc-nav{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:22px;
}
.sw-celtic .swc-nav a{
display:inline-block;
padding:9px 14px;
border:1px solid var(--swc-border);
border-radius:999px;
background:rgba(255,255,255,.025);
color:#f1e3bc;
font-family:Arial,Helvetica,sans-serif;
font-size:.84rem;
font-weight:700;
text-decoration:none;
}
.sw-celtic .swc-nav a:hover, .sw-celtic .swc-nav a:focus{
border-color:var(--swc-gold);
background:rgba(213,179,106,.1);
color:#fff;
}
/* =========================================================
   TRADITIONS
   ========================================================= */
.sw-celtic .swc-tradition-head{
margin-bottom:22px;
padding-bottom:17px;
border-bottom:1px solid var(--swc-border);
}
.sw-celtic .swc-tradition-head p{
max-width:920px;
margin:7px 0 0;
color:var(--swc-muted);
}
/* =========================================================
   DEITY DIRECTORY
   ========================================================= */
.sw-celtic .swc-directory{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px;
}
.sw-celtic .swc-deity{
display:flex;
flex-direction:column;
min-width:0;
overflow:hidden;
border:1px solid rgba(213,179,106,.27);
border-radius:16px;
background:var(--swc-panel-2);
box-shadow:0 8px 22px rgba(0,0,0,.16);
color:inherit;
text-decoration:none;
transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sw-celtic .swc-deity:hover, .sw-celtic .swc-deity:focus{
transform:translateY(-3px);
border-color:rgba(239,211,143,.72);
box-shadow:0 14px 30px rgba(0,0,0,.26);
color:inherit;
}
.sw-celtic .swc-deity-media{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:250px;
overflow:hidden;
border-bottom:1px solid rgba(213,179,106,.2);
background:radial-gradient(circle at 50% 28%,#2d4033 0%,#18231c 45%,#0e1511 100%);
}
.sw-celtic .swc-deity-media img{
display:block;
width:100%;
height:100%;
margin:0;
padding:7px;
object-fit:contain;
object-position:center;
transition:transform .25s ease;
}
.sw-celtic .swc-deity-media--cover img{
padding:0;
object-fit:cover;
}
.sw-celtic .swc-deity-media--top img{
object-position:center top;
}
.sw-celtic .swc-deity:hover .swc-deity-media img, .sw-celtic .swc-deity:focus .swc-deity-media img{
transform:scale(1.025);
}
.sw-celtic .swc-deity-media--symbolic{
background:linear-gradient(rgba(7,12,9,.28),rgba(7,12,9,.68)), url("https://spiralworlds.com/wp-content/uploads/2023/04/Celtic-Pantheon.png") center / cover no-repeat;
}
.sw-celtic .swc-deity-media--symbolic::after{
position:absolute;
inset:0;
content:"";
background:radial-gradient(circle at center,transparent 15%,rgba(3,7,5,.48) 100%);
}
.sw-celtic .swc-symbol{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:center;
width:96px;
height:96px;
border:1px solid rgba(239,211,143,.72);
border-radius:50%;
background:rgba(8,14,10,.78);
color:var(--swc-gold-bright);
font-family:Georgia,"Times New Roman",serif;
font-size:2.15rem;
box-shadow:0 8px 28px rgba(0,0,0,.4);
}
.sw-celtic .swc-deity-copy{
display:flex;
flex:1;
flex-direction:column;
padding:17px 17px 18px;
}
.sw-celtic .swc-deity-name{
display:block;
margin-bottom:7px;
color:#fff;
font-size:1.2rem;
line-height:1.22;
}
.sw-celtic .swc-deity-desc{
display:block;
flex:1;
color:var(--swc-muted);
font-size:.92rem;
line-height:1.48;
}
.sw-celtic .swc-tag{
align-self:flex-start;
display:inline-block;
margin-top:14px;
padding:4px 8px;
border:1px solid rgba(142,174,133,.32);
border-radius:999px;
color:#c2d5bc;
font-family:Arial,Helvetica,sans-serif;
font-size:.66rem;
font-weight:700;
letter-spacing:.05em;
text-transform:uppercase;
}
.sw-celtic .swc-deity--fomorian{
border-color:rgba(183,106,82,.42);
}
.sw-celtic .swc-deity--fomorian .swc-tag{
border-color:rgba(192,112,88,.42);
color:#e2b6a7;
}
/* =========================================================
   USING THE PANTHEON
   ========================================================= */
.sw-celtic .swc-use-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
margin-top:20px;
}
.sw-celtic .swc-use{
padding:20px;
border:1px solid rgba(213,179,106,.2);
border-radius:14px;
background:var(--swc-panel-2);
}
.sw-celtic .swc-use h3{
margin-bottom:7px;
color:var(--swc-gold-bright);
}
.sw-celtic .swc-use p{
margin:0;
color:var(--swc-muted);
font-size:.94rem;
}
/* =========================================================
   HISTORICAL CONTEXT
   ========================================================= */
.sw-celtic .swc-context{
display:grid;
grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);
gap:24px;
align-items:start;
}
.sw-celtic .swc-source-box{
padding:19px;
border:1px solid var(--swc-border);
border-radius:14px;
background:#111914;
}
.sw-celtic .swc-source-box h3{
margin-bottom:10px;
color:var(--swc-gold-bright);
}
.sw-celtic .swc-source-box ul{
margin:0;
padding-left:19px;
}
.sw-celtic .swc-source-box li{
margin:9px 0;
color:var(--swc-muted);
}
/* =========================================================
   VIDEOS
   ========================================================= */
.sw-celtic .swc-videos{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px;
margin-top:20px;
}
.sw-celtic .swc-video{
overflow:hidden;
border:1px solid var(--swc-border);
border-radius:15px;
background:var(--swc-panel-2);
}
.sw-celtic .swc-video a{
display:block;
height:100%;
color:inherit;
text-decoration:none;
}
.sw-celtic .swc-video-thumb{
position:relative;
overflow:hidden;
aspect-ratio:16 / 9;
border-bottom:1px solid var(--swc-border);
background:#090d0a;
}
.sw-celtic .swc-video-thumb img{
display:block;
width:100%;
height:100%;
margin:0;
object-fit:cover;
}
.sw-celtic .swc-video-play{
position:absolute;
top:50%;
left:50%;
display:flex;
align-items:center;
justify-content:center;
width:60px;
height:60px;
padding-left:4px;
border:1px solid rgba(239,211,143,.78);
border-radius:50%;
background:rgba(8,14,10,.82);
color:var(--swc-gold-bright);
font-family:Arial,Helvetica,sans-serif;
font-size:1.25rem;
transform:translate(-50%,-50%);
transition:transform .18s ease, background .18s ease;
}
.sw-celtic .swc-video a:hover .swc-video-play, .sw-celtic .swc-video a:focus .swc-video-play{
background:rgba(213,179,106,.94);
color:#101713;
transform:translate(-50%,-50%) scale(1.08);
}
.sw-celtic .swc-video-copy{
padding:17px 18px 19px;
}
.sw-celtic .swc-video-copy strong{
display:block;
margin-bottom:6px;
color:#fff;
font-size:1.05rem;
font-weight:400;
}
.sw-celtic .swc-video-copy span{
display:block;
color:var(--swc-muted);
font-size:.88rem;
line-height:1.5;
}
/* =========================================================
   CLOSE
   ========================================================= */
.sw-celtic .swc-close{
margin-top:30px;
padding:23px 25px;
border:1px solid var(--swc-border);
border-left:4px solid var(--swc-gold);
border-radius:13px;
background:#17211b;
color:#d9e1d6;
box-shadow:0 8px 22px rgba(0,0,0,.12);
}
.sw-celtic .swc-close strong{
color:var(--swc-gold-bright);
}
.sw-celtic .swc-close p{
margin:15px 0 0;
padding-top:14px;
border-top:1px solid rgba(213,179,106,.18);
}
.sw-celtic .swc-close a{
font-family:Arial,Helvetica,sans-serif;
font-size:.9rem;
font-weight:700;
text-decoration:none;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px) {
.sw-celtic .swc-directory{
grid-template-columns:repeat(3,minmax(0,1fr));
}
}
@media (max-width:850px) {
.sw-celtic .swc-directory{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-celtic .swc-context{
grid-template-columns:1fr;
}
}
@media (max-width:680px) {
.sw-celtic{
padding-left:12px;
padding-right:12px;
}
.sw-celtic .swc-use-grid, .sw-celtic .swc-videos{
grid-template-columns:1fr;
}
.sw-celtic .swc-hero, .sw-celtic .swc-section, .sw-celtic .swc-tradition{
border-radius:14px;
}
}
@media (max-width:540px) {
.sw-celtic .swc-directory{
grid-template-columns:1fr;
}
.sw-celtic .swc-deity-media{
height:auto;
aspect-ratio:4 / 3;
}
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS MONSTER HERO — long-title safeguard */
html body .sw-entry.sw-monster-entry .sw-monster-hero h1.sw-monster-title-long{
font-size:clamp(2.55rem, 4.1vw, 3.65rem)!important;
line-height:1.02!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
text-wrap:balance;
}
@media (max-width:560px) {
html body .sw-entry.sw-monster-entry .sw-monster-hero h1.sw-monster-title-long{
font-size:clamp(2.2rem, 12vw, 3.15rem)!important;
}
}
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — edition visibility + long-title stability */
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels > label{
display:flex!important;
visibility:visible!important;
opacity:1!important;
min-width:0!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels > label .sw-edition-title, html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels > label .sw-edition-note-card{
display:block!important;
visibility:visible!important;
opacity:1!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-hero h1.sw-monster-title-long{
max-width:100%!important;
font-size:clamp(2.4rem, 3.25vw, 3.2rem)!important;
line-height:1.02!important;
letter-spacing:0!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .sw-entry.sw-monster-entry.sw-mountain-giant > .sw-monster-hero{
grid-template-columns:minmax(0, 1.05fr) minmax(0, 1.35fr)!important;
}
html body .sw-entry.sw-monster-entry.sw-mountain-giant .sw-monster-hero-copy{
padding-left:clamp(1.5rem, 3vw, 2.6rem)!important;
padding-right:clamp(1.5rem, 3vw, 2.6rem)!important;
}
@media (min-width: 901px) {
html body .sw-entry.sw-monster-entry.sw-mountain-giant .sw-monster-hero h1.sw-monster-title-long{
white-space:nowrap!important;
}
}
@media (max-width: 900px) {
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
html body .sw-entry.sw-monster-entry.sw-mountain-giant .sw-monster-hero h1.sw-monster-title-long{
white-space:normal!important;
}
}
@media (max-width: 520px) {
html body .sw-entry.sw-monster-entry .sw-monster-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* ============================================================
   MONSTER WORKFLOW 3.0 — authoritative global presentation
   One shared shell; edition-native stat-block hierarchy inside.
   ============================================================ */
/* ---------- Edition controls: always usable ---------- */
html body .sw-entry.sw-monster-entry .sw-tabs > input[type="radio"]{
position:absolute!important;
inline-size:1px!important;
block-size:1px!important;
margin:-1px!important;
padding:0!important;
overflow:hidden!important;
clip:rect(0 0 0 0)!important;
clip-path:inset(50%)!important;
white-space:nowrap!important;
border:0!important;
opacity:0!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
display:grid!important;
gap:.65rem!important;
width:100%!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(1):last-child) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(2):last-child) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(3):last-child) > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels{
grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label{
display:flex!important;
visibility:visible!important;
opacity:1!important;
flex-direction:column!important;
justify-content:center!important;
align-items:center!important;
min-width:0!important;
min-height:76px!important;
padding:.72rem .8rem!important;
text-align:center!important;
cursor:pointer!important;
border:1px solid rgba(230,198,142,.42)!important;
border-radius:7px!important;
background:#222127!important;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label .sw-edition-title, html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label .sw-edition-note-card{
display:block!important;
visibility:visible!important;
opacity:1!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label .sw-edition-title{
color:#f5ead8!important;
font-family:var(--sw-font-heading, Georgia, serif)!important;
font-weight:700!important;
line-height:1.15!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label .sw-edition-note-card{
margin-top:.3rem!important;
color:#d5c9b8!important;
font-size:.78rem!important;
line-height:1.2!important;
}
/* Four-edition colour cue: 2024 / 2014 / PF1e / 3.5e. */
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels > label:nth-child(1){
background:linear-gradient(180deg,#5b2b1d,#352018)!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels > label:nth-child(2){
background:linear-gradient(180deg,#55303c,#321f28)!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels > label:nth-child(3){
background:linear-gradient(180deg,#123d52,#092a3a)!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels > label:nth-child(4){
background:linear-gradient(180deg,#144b3d,#0b3028)!important;
}
/* Hide every panel by default — supports both current and older monster markup. */
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel, html body .sw-entry.sw-monster-entry .sw-tabs > .sw-panels > .sw-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
/* Current markup: panel IDs carry the edition suffix. */
html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-55"],[id$="-2024"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-5e"],[id$="-2014"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > .sw-tab-panel:is([id$="-pf"],[id$="-pf1"]), html body .sw-entry.sw-monster-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.5rem!important;
padding:clamp(1rem,2vw,1.45rem)!important;
overflow:visible!important;
border:1px solid rgba(230,198,142,.34)!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#19191e!important;
}
/* Older markup: panels use sw-55 / sw-5e / sw-pf / sw-35 classes. */
html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-panels > :is(.sw-55,.sw-2024), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-panels > :is(.sw-5e,.sw-2014), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-panels > :is(.sw-pf,.sw-pf1), html body .sw-entry.sw-monster-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-panels > .sw-35{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.5rem!important;
padding:clamp(1rem,2vw,1.45rem)!important;
overflow:visible!important;
border:1px solid rgba(230,198,142,.34)!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#19191e!important;
}
/* Active edition control. */
html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-55"],input[id$="-2024"]):checked ~ .sw-tab-labels > :is(label[for$="-55"],label[for$="-2024"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-labels > :is(label[for$="-5e"],label[for$="-2014"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-labels > :is(label[for$="-pf"],label[for$="-pf1"]), html body .sw-entry.sw-monster-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-labels > label[for$="-35"]{
border-color:#efd18d!important;
box-shadow:inset 0 0 0 1px #efd18d,0 0 0 2px rgba(239,209,141,.16)!important;
}
/* ---------- Hero/title stability ---------- */
html body .sw-entry.sw-monster-entry .sw-monster-hero h1{
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
@media (min-width:901px) {
html body .sw-entry.sw-monster-entry .sw-monster-hero:has(h1.sw-monster-title-long){
grid-template-columns:minmax(390px,1.05fr) minmax(0,1.35fr)!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-hero h1.sw-monster-title-long{
max-width:100%!important;
font-size:clamp(2.35rem,3.25vw,3.25rem)!important;
line-height:1.02!important;
letter-spacing:0!important;
white-space:normal!important;
text-wrap:balance!important;
}
}
@media (max-width:900px) {
html body .sw-entry.sw-monster-entry .sw-monster-hero h1.sw-monster-title-long{
font-size:clamp(2.2rem,9vw,3.2rem)!important;
line-height:1.03!important;
white-space:normal!important;
}
}
/* ---------- Shared stat-block readability ---------- */
html body .sw-entry.sw-monster-entry :is(.sw-statblock,.sw-stat){
max-width:none!important;
color:#eee8df!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-statblock,.sw-stat) > h3:first-child{
margin-top:0!important;
margin-bottom:.25rem!important;
font-size:clamp(1.45rem,2.4vw,2rem)!important;
}
html body .sw-entry.sw-monster-entry .sw-creature-line{
margin:0 0 .85rem!important;
color:#dbcaa9!important;
font-style:italic;
}
html body .sw-entry.sw-monster-entry :is(.sw-stat-table,.sw-statblock table,.sw-stat table){
width:100%!important;
border-collapse:collapse!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-stat-table,.sw-statblock table,.sw-stat table) th, html body .sw-entry.sw-monster-entry :is(.sw-stat-table,.sw-statblock table,.sw-stat table) td{
padding:.42rem .55rem!important;
vertical-align:top!important;
border-bottom:1px solid rgba(230,198,142,.15)!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-stat-table,.sw-statblock table,.sw-stat table) th{
color:#e1bd76!important;
text-align:left!important;
}
/* 2024 / 2014 compact combat header. */
html body .sw-entry.sw-monster-entry :is( .sw-tab-panel[id$="-55"],.sw-tab-panel[id$="-2024"], .sw-tab-panel[id$="-5e"],.sw-tab-panel[id$="-2014"], .sw-panel.sw-55,.sw-panel.sw-2024,.sw-panel.sw-5e,.sw-panel.sw-2014 ) .sw-stat-strip{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:0!important;
margin:.8rem 0 1rem!important;
border-top:2px solid #b84832!important;
border-bottom:2px solid #b84832!important;
background:transparent!important;
}
html body .sw-entry.sw-monster-entry :is( .sw-tab-panel[id$="-55"],.sw-tab-panel[id$="-2024"], .sw-tab-panel[id$="-5e"],.sw-tab-panel[id$="-2014"], .sw-panel.sw-55,.sw-panel.sw-2024,.sw-panel.sw-5e,.sw-panel.sw-2014 ) .sw-stat-strip > div{
min-width:0!important;
padding:.58rem .7rem!important;
border:0!important;
border-right:1px solid rgba(184,72,50,.35)!important;
border-radius:0!important;
background:transparent!important;
}
html body .sw-entry.sw-monster-entry :is( .sw-tab-panel[id$="-55"],.sw-tab-panel[id$="-2024"], .sw-tab-panel[id$="-5e"],.sw-tab-panel[id$="-2014"], .sw-panel.sw-55,.sw-panel.sw-2024,.sw-panel.sw-5e,.sw-panel.sw-2014 ) .sw-stat-strip > div:last-child{
border-right:0!important;
}
html body .sw-entry.sw-monster-entry .sw-ability-grid{
display:grid!important;
grid-template-columns:repeat(6,minmax(0,1fr))!important;
gap:.35rem!important;
margin:.75rem 0 1rem!important;
}
html body .sw-entry.sw-monster-entry .sw-ability-grid > .sw-ability{
min-width:0!important;
padding:.48rem .35rem!important;
text-align:center!important;
border-top:1px solid rgba(230,198,142,.26)!important;
border-bottom:1px solid rgba(230,198,142,.26)!important;
background:transparent!important;
}
html body .sw-entry.sw-monster-entry .sw-ability-grid > .sw-ability strong, html body .sw-entry.sw-monster-entry .sw-ability-grid > .sw-ability span{
display:block!important;
}
/* Pathfinder 1e: preserve Bestiary section hierarchy. */
html body .sw-entry.sw-monster-entry :is( .sw-tab-panel[id$="-pf"],.sw-tab-panel[id$="-pf1"], .sw-panel.sw-pf,.sw-panel.sw-pf1 ) h4{
margin:1.05rem 0 .45rem!important;
padding:.34rem .55rem!important;
color:#f2e8d8!important;
font-family:var(--sw-font-ui, system-ui, sans-serif)!important;
font-size:.9rem!important;
font-weight:800!important;
letter-spacing:.09em!important;
text-transform:uppercase!important;
border-left:4px solid #2d7898!important;
background:linear-gradient(90deg,rgba(45,120,152,.22),transparent)!important;
}
/* D&D 3.5e: dense reference hierarchy, clearly separated from PF1e. */
html body .sw-entry.sw-monster-entry :is( .sw-tab-panel[id$="-35"],.sw-panel.sw-35 ) h4{
margin:1.05rem 0 .45rem!important;
padding:.34rem .55rem!important;
color:#f2e8d8!important;
font-family:var(--sw-font-ui, system-ui, sans-serif)!important;
font-size:.9rem!important;
font-weight:800!important;
letter-spacing:.09em!important;
text-transform:uppercase!important;
border-left:4px solid #38826d!important;
background:linear-gradient(90deg,rgba(56,130,109,.22),transparent)!important;
}
/* ---------- Responsive ---------- */
@media (max-width:780px) {
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-ability-grid{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-stat-strip{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:520px) {
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-monster-entry .sw-ability-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-stat-strip{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-stat-table,.sw-statblock table,.sw-stat table){
font-size:.92rem!important;
}
}
/* END MONSTER WORKFLOW 3.0 */
/* --- WPWriter addition --- */
/* migrated from Aboleth legacy page-local CSS */
.sw-entry{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.68;
}
.sw-entry img{
max-width:100%;
height:auto;
}
.sw-entry .sw-page-title{
font-size:clamp(2.1rem,5vw,3.7rem);
line-height:1.08;
margin:0 0 1rem;
text-align:center;
}
.sw-entry .sw-hero{
margin:0 0 1.35rem;
}
.sw-entry .sw-hero img{
display:block;
width:100%;
aspect-ratio:16/9;
object-fit:cover;
border-radius:14px;
}
.sw-entry .sw-lead{
font-size:1.12rem;
}
.sw-entry .sw-glance{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.75rem;
margin:1.25rem 0;
}
.sw-entry .sw-glance>div{
padding:.85rem 1rem;
border:1px solid rgba(128,128,128,.28);
border-radius:10px;
}
.sw-entry .sw-glance strong{
display:block;
margin-bottom:.2rem;
}
.sw-entry .sw-callout{
padding:1rem 1.1rem;
margin:1.25rem 0;
border-left:4px solid currentColor;
background:rgba(128,128,128,.08);
}
.sw-entry .sw-grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem;
}
.sw-entry .sw-stat{
padding:1rem;
border:1px solid rgba(128,128,128,.3);
border-radius:12px;
margin:.75rem 0;
overflow-x:auto;
}
.sw-entry .sw-stat h3,.sw-entry .sw-stat h4{
margin-top:.2rem;
}
.sw-entry table{
width:100%;
border-collapse:collapse;
}
.sw-entry th,.sw-entry td{
padding:.45rem .55rem;
border-bottom:1px solid rgba(128,128,128,.25);
vertical-align:top;
}
.sw-entry .sw-ability{
text-align:center;
}
.sw-entry .sw-tabs{
margin:1.5rem 0;
}
.sw-entry .sw-tabs>input{
position:absolute;
opacity:0;
pointer-events:none;
}
.sw-entry .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:.5rem;
margin-bottom:.85rem;
}
.sw-entry .sw-tab-labels label{
cursor:pointer;
padding:.6rem .9rem;
border:1px solid rgba(128,128,128,.35);
border-radius:999px;
font-weight:700;
}
.sw-entry .sw-panel{
display:none;
}
#aboleth-55:checked~.sw-tab-labels label[for="aboleth-55"], #aboleth-pf:checked~.sw-tab-labels label[for="aboleth-pf"], #aboleth-35:checked~.sw-tab-labels label[for="aboleth-35"]{
outline:2px solid currentColor;
outline-offset:2px;
}
#aboleth-55:checked~.sw-panels .sw-55, #aboleth-pf:checked~.sw-panels .sw-pf, #aboleth-35:checked~.sw-panels .sw-35{
display:block;
}
.sw-entry .sw-hooks td:first-child{
font-weight:700;
width:28%;
}
.sw-entry .sw-muted{
opacity:.82;
}
.sw-entry .sw-license{
margin-top:1rem;
}
.sw-entry .sw-video-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
margin:1.25rem 0;
}
.sw-entry .sw-video{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
border-radius:12px;
background:#000;
}
.sw-entry .sw-video iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
.sw-entry .sw-figure{
margin:1.35rem 0;
}
.sw-entry .sw-figure img{
display:block;
width:100%;
border-radius:12px;
}
.sw-entry .sw-figure figcaption{
margin:.5rem 0 0;
font-size:.92rem;
opacity:.82;
}
.sw-entry .sw-lightbox{
display:none;
position:fixed;
inset:0;
z-index:99999;
background:rgba(0,0,0,.92);
padding:2rem;
align-items:center;
justify-content:center;
}
.sw-entry .sw-lightbox:target{
display:flex;
}
.sw-entry .sw-lightbox img{
max-width:min(96vw,1500px);
max-height:90vh;
width:auto;
height:auto;
border-radius:8px;
}
.sw-entry .sw-lightbox-close{
position:absolute;
top:1rem;
right:1.25rem;
font-size:2rem;
line-height:1;
color:#fff;
text-decoration:none;
}
@media(max-width:760px){
.sw-entry .sw-glance,.sw-entry .sw-grid-2{
grid-template-columns:1fr;
}
.sw-entry .sw-video-grid{
grid-template-columns:1fr;
}
.sw-entry{
width:calc(100% - 24px);
}
}
/* migrated from Elder Treant legacy page-local CSS */
.sw-entry{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.68;
}
.sw-entry img{
max-width:100%;
height:auto;
}
.sw-entry .sw-page-title{
font-size:clamp(2.1rem,5vw,3.7rem);
line-height:1.08;
margin:0 0 1rem;
text-align:center;
}
.sw-entry .sw-lead{
font-size:1.12rem;
}
.sw-entry .sw-glance{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.75rem;
margin:1.25rem 0;
}
.sw-entry .sw-glance>div{
padding:.85rem 1rem;
border:1px solid rgba(128,128,128,.28);
border-radius:10px;
}
.sw-entry .sw-glance strong{
display:block;
margin-bottom:.2rem;
}
.sw-entry .sw-callout{
padding:1rem 1.1rem;
margin:1.25rem 0;
border-left:4px solid currentColor;
background:rgba(128,128,128,.08);
}
.sw-entry .sw-grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem;
}
.sw-entry .sw-stat{
padding:1rem;
border:1px solid rgba(128,128,128,.3);
border-radius:12px;
margin:.75rem 0;
}
.sw-entry .sw-stat h3,.sw-entry .sw-stat h4{
margin-top:.2rem;
}
.sw-entry table{
width:100%;
border-collapse:collapse;
}
.sw-entry th,.sw-entry td{
padding:.45rem .55rem;
border-bottom:1px solid rgba(128,128,128,.25);
vertical-align:top;
}
.sw-entry .sw-ability{
text-align:center;
}
.sw-entry .sw-tabs{
margin:1.5rem 0;
}
.sw-entry .sw-tabs>input{
position:absolute;
opacity:0;
pointer-events:none;
}
.sw-entry .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:.5rem;
margin-bottom:.85rem;
}
.sw-entry .sw-tab-labels label{
cursor:pointer;
padding:.6rem .9rem;
border:1px solid rgba(128,128,128,.35);
border-radius:999px;
font-weight:700;
}
.sw-entry .sw-panel{
display:none;
}
#elder-55:checked~.sw-tab-labels label[for="elder-55"], #elder-pf:checked~.sw-tab-labels label[for="elder-pf"], #elder-35:checked~.sw-tab-labels label[for="elder-35"]{
outline:2px solid currentColor;
outline-offset:2px;
}
#elder-55:checked~.sw-panels .sw-55, #elder-pf:checked~.sw-panels .sw-pf, #elder-35:checked~.sw-panels .sw-35{
display:block;
}
.sw-entry .sw-muted{
opacity:.82;
}
.sw-entry .sw-hooks td:first-child{
font-weight:700;
width:28%;
}
.sw-entry .sw-license{
margin-top:1rem;
}
.sw-entry .sw-hero{
margin:0 0 1.35rem;
}
.sw-entry .sw-hero img{
display:block;
width:100%;
aspect-ratio:16/9;
object-fit:cover;
border-radius:14px;
}
.sw-entry .sw-figure{
margin:1.35rem 0;
}
.sw-entry .sw-figure img{
display:block;
width:100%;
border-radius:12px;
}
.sw-entry .sw-figure figcaption{
margin:.5rem 0 0;
font-size:.92rem;
opacity:.82;
}
.sw-entry .sw-lightbox{
display:none;
position:fixed;
inset:0;
z-index:99999;
background:rgba(0,0,0,.92);
padding:2rem;
align-items:center;
justify-content:center;
}
.sw-entry .sw-lightbox:target{
display:flex;
}
.sw-entry .sw-lightbox img{
max-width:min(96vw,1500px);
max-height:90vh;
width:auto;
height:auto;
border-radius:8px;
}
.sw-entry .sw-lightbox-close{
position:absolute;
top:1rem;
right:1.25rem;
font-size:2rem;
line-height:1;
color:#fff;
text-decoration:none;
}
@media(max-width:760px){
.sw-entry .sw-glance,.sw-entry .sw-grid-2{
grid-template-columns:1fr;
}
.sw-entry{
width:calc(100% - 24px);
}
.sw-entry .sw-stat{
overflow-x:auto;
}
}
/* migrated from Treant legacy page-local CSS */
.sw-entry{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.68;
}
.sw-entry *{
box-sizing:border-box;
}
.sw-entry h1, .sw-entry h2, .sw-entry h3, .sw-entry h4{
line-height:1.22;
}
.sw-entry h1{
text-align:center;
margin:0 0 1rem;
}
.sw-entry h2{
margin-top:2.2rem;
}
.sw-entry h3{
margin-top:1.55rem;
}
.sw-entry a{
text-underline-offset:2px;
}
.sw-lead{
font-size:1.12rem;
max-width:920px;
margin:1.25rem auto 1.5rem;
}
.sw-hero, .sw-figure{
margin:1.25rem auto 1.6rem;
text-align:center;
}
.sw-hero img, .sw-figure img{
display:block;
width:100%;
height:auto;
border-radius:10px;
}
.sw-figure{
max-width:960px;
}
.sw-hero figcaption, .sw-figure figcaption{
margin-top:.55rem;
font-size:.92rem;
opacity:.82;
}
.sw-image-slot{
min-height:360px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:2rem;
margin:1.1rem 0 1.6rem;
border:1px dashed currentColor;
border-radius:10px;
opacity:.72;
}
.sw-image-slot strong{
display:block;
font-size:1.1rem;
margin-bottom:.35rem;
}
.sw-card{
border:1px solid rgba(127,127,127,.35);
border-radius:10px;
padding:1.1rem 1.2rem;
margin:1.25rem 0;
}
.sw-at-glance{
width:100%;
border-collapse:collapse;
margin:1.15rem 0 1.7rem;
}
.sw-at-glance th, .sw-at-glance td{
text-align:left;
vertical-align:top;
padding:.68rem .75rem;
border-bottom:1px solid rgba(127,127,127,.28);
}
.sw-at-glance th{
width:28%;
}
.sw-rules-tabs{
margin:1.25rem 0 1.8rem;
}
.sw-rules-tabs>input{
position:absolute;
opacity:0;
pointer-events:none;
}
.sw-tab-labels{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
}
.sw-tab-labels label{
display:flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:.65rem .5rem;
margin:0;
border:1px solid rgba(127,127,127,.38);
border-bottom:0;
cursor:pointer;
font-weight:700;
text-align:center;
}
.sw-tab-labels label+label{
border-left:0;
}
#sw-treant-55e:checked~.sw-tab-labels label[for="sw-treant-55e"], #sw-treant-pf1:checked~.sw-tab-labels label[for="sw-treant-pf1"], #sw-treant-35:checked~.sw-tab-labels label[for="sw-treant-35"]{
border-bottom:3px solid currentColor;
}
.sw-tab-labels label:focus-visible, .sw-entry a:focus-visible{
outline:3px solid currentColor;
outline-offset:3px;
}
.sw-tab-panels{
border:1px solid rgba(127,127,127,.38);
border-top:0;
padding:1.2rem;
}
.sw-panel{
display:none;
}
#sw-treant-55e:checked~.sw-tab-panels .sw-panel-55e{
display:block;
}
#sw-treant-pf1:checked~.sw-tab-panels .sw-panel-pf1{
display:block;
}
#sw-treant-35:checked~.sw-tab-panels .sw-panel-35{
display:block;
}
.sw-statblock{
max-width:960px;
margin:0 auto;
}
.sw-statblock .sw-creature-line{
font-style:italic;
margin-top:-.35rem;
}
.sw-statblock hr{
border:0;
border-top:1px solid rgba(127,127,127,.32);
margin:1rem 0;
}
.sw-ability-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:.45rem;
margin:1rem 0;
}
.sw-ability{
border:1px solid rgba(127,127,127,.35);
border-radius:7px;
padding:.55rem .35rem;
text-align:center;
}
.sw-ability strong, .sw-ability span{
display:block;
}
.sw-stat-table{
width:100%;
border-collapse:collapse;
margin:.7rem 0 1rem;
}
.sw-stat-table th, .sw-stat-table td{
text-align:left;
vertical-align:top;
padding:.48rem .55rem;
border-bottom:1px solid rgba(127,127,127,.25);
}
.sw-stat-table th{
width:27%;
}
.sw-source-note, .sw-campaign-note{
font-size:.94rem;
padding:.85rem 1rem;
margin:1rem 0;
border-left:4px solid currentColor;
background:rgba(127,127,127,.08);
}
.sw-columns{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
margin:1rem 0;
}
.sw-columns .sw-card{
margin:0;
}
.sw-hook{
margin:1rem 0;
padding-bottom:.8rem;
border-bottom:1px solid rgba(127,127,127,.22);
}
.sw-hook:last-child{
border-bottom:0;
}
.sw-related{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.8rem;
margin:1rem 0;
}
.sw-related a{
display:block;
padding:.85rem 1rem;
border:1px solid rgba(127,127,127,.32);
border-radius:8px;
text-decoration:none;
}
.sw-related a:hover, .sw-related a:focus{
text-decoration:underline;
}
.sw-source-list li{
margin:.45rem 0;
}
.sw-small{
font-size:.92rem;
}
.sw-entry{
overflow-wrap:anywhere;
}
.sw-video-wrap{
max-width:920px;
margin:1.1rem auto 1.8rem;
}
.sw-video{
position:relative;
width:100%;
padding-top:56.25%;
overflow:hidden;
border-radius:10px;
}
.sw-video iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
.sw-lightbox{
display:none;
position:fixed;
inset:0;
z-index:9999;
padding:3vw;
background:rgba(0,0,0,.9);
align-items:center;
justify-content:center;
}
.sw-lightbox:target{
display:flex;
}
.sw-lightbox img{
max-width:94vw;
max-height:88vh;
width:auto;
height:auto;
}
.sw-lightbox-close{
position:absolute;
top:1rem;
right:1.25rem;
font-size:2rem;
color:#fff!important;
text-decoration:none;
}
@media (max-width:760px){
.sw-entry{
width:calc(100% - 22px);
}
.sw-image-slot{
min-height:230px;
}
.sw-ability-grid{
grid-template-columns:repeat(3,1fr);
}
.sw-columns, .sw-related{
grid-template-columns:1fr;
}
.sw-at-glance th, .sw-stat-table th{
width:38%;
}
.sw-tab-labels label{
font-size:.88rem;
padding:.6rem .25rem;
}
.sw-tab-panels{
padding:.9rem;
}
}
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW 3.1 — final cascade lock */
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
display:grid!important;
gap:.65rem!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(1):last-child) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(2):last-child) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(3):last-child) > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs:has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels{
grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels > label{
display:flex!important;
visibility:visible!important;
opacity:1!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel, html body .sw-entry.sw-monster-entry .sw-tabs > .sw-panels > .sw-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-55"],input[id$="-55e"],input[id$="-2024"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-55"],.sw-tab-panel[id$="-55e"],.sw-tab-panel[id$="-2024"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-5e"],.sw-tab-panel[id$="-2014"]), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-pf"],.sw-tab-panel[id$="-pf1"]), html body .sw-entry.sw-monster-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"], html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-55"],input[id$="-55e"],input[id$="-2024"]):checked ~ .sw-panels > :is(.sw-55,.sw-55e,.sw-2024), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-panels > :is(.sw-5e,.sw-2014), html body .sw-entry.sw-monster-entry .sw-tabs > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-panels > :is(.sw-pf,.sw-pf1), html body .sw-entry.sw-monster-entry .sw-tabs > input[id$="-35"]:checked ~ .sw-panels > .sw-35{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.5rem!important;
padding:clamp(1rem,2vw,1.45rem)!important;
overflow:visible!important;
border:1px solid rgba(230,198,142,.34)!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#19191e!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-hero h1, html body .sw-entry.sw-monster-entry h1.sw-monster-title-long{
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
@media(max-width:780px){
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:520px){
html body .sw-entry.sw-monster-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END MONSTER WORKFLOW 3.1 */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW 3.2 — supports both current and legacy tab wrappers */
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > input[type="radio"]{
position:absolute!important;
inline-size:1px!important;
block-size:1px!important;
margin:-1px!important;
padding:0!important;
overflow:hidden!important;
clip:rect(0 0 0 0)!important;
clip-path:inset(50%)!important;
white-space:nowrap!important;
border:0!important;
opacity:0!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-tab-labels{
display:grid!important;
gap:.65rem!important;
width:100%!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs):has(> .sw-tab-labels > label:nth-child(1):last-child) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs):has(> .sw-tab-labels > label:nth-child(2):last-child) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs):has(> .sw-tab-labels > label:nth-child(3):last-child) > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs):has(> .sw-tab-labels > label:nth-child(4):last-child) > .sw-tab-labels{
grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-tab-labels > label{
display:flex!important;
visibility:visible!important;
opacity:1!important;
flex-direction:column!important;
justify-content:center!important;
align-items:center!important;
min-width:0!important;
min-height:76px!important;
padding:.72rem .8rem!important;
text-align:center!important;
cursor:pointer!important;
border:1px solid rgba(230,198,142,.42)!important;
border-radius:7px!important;
background:#222127!important;
}
/* All known panel containers and panel class generations. */
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-tab-panels > :is(.sw-tab-panel,.sw-panel), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-panels > .sw-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
/* 5.5e / 2024 */
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-55"],input[id$="-55e"],input[id$="-2024"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-55"],.sw-tab-panel[id$="-55e"],.sw-tab-panel[id$="-2024"],.sw-panel-55,.sw-panel-55e,.sw-panel-2024), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-55"],input[id$="-55e"],input[id$="-2024"]):checked ~ .sw-panels > :is(.sw-55,.sw-55e,.sw-2024,.sw-panel-55,.sw-panel-55e,.sw-panel-2024), /* 5e / 2014 */ html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-5e"],.sw-tab-panel[id$="-2014"],.sw-panel-5e,.sw-panel-2014), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-panels > :is(.sw-5e,.sw-2014,.sw-panel-5e,.sw-panel-2014), /* PF1e */ html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-pf"],.sw-tab-panel[id$="-pf1"],.sw-panel-pf,.sw-panel-pf1), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-panels > :is(.sw-pf,.sw-pf1,.sw-panel-pf,.sw-panel-pf1), /* 3.5e */ html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > input[id$="-35"]:checked ~ .sw-tab-panels > :is(.sw-tab-panel[id$="-35"],.sw-panel-35), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > input[id$="-35"]:checked ~ .sw-panels > :is(.sw-35,.sw-panel-35){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.5rem!important;
padding:clamp(1rem,2vw,1.45rem)!important;
overflow:visible!important;
border:1px solid rgba(230,198,142,.34)!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#19191e!important;
}
/* Active controls for both wrappers. */
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-55"],input[id$="-55e"],input[id$="-2024"]):checked ~ .sw-tab-labels > :is(label[for$="-55"],label[for$="-55e"],label[for$="-2024"]), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-5e"],input[id$="-2014"]):checked ~ .sw-tab-labels > :is(label[for$="-5e"],label[for$="-2014"]), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > :is(input[id$="-pf"],input[id$="-pf1"]):checked ~ .sw-tab-labels > :is(label[for$="-pf"],label[for$="-pf1"]), html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > input[id$="-35"]:checked ~ .sw-tab-labels > label[for$="-35"]{
border-color:#efd18d!important;
box-shadow:inset 0 0 0 1px #efd18d,0 0 0 2px rgba(239,209,141,.16)!important;
}
@media(max-width:780px){
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:520px){
html body .sw-entry.sw-monster-entry :is(.sw-tabs,.sw-rules-tabs) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END MONSTER WORKFLOW 3.2 */
/* --- WPWriter addition --- */
/* SpiralWorlds deity tabs: three-edition layout */
html body .sw-entry.sw-entry .sw-tabs.sw-tabs-3 > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media (max-width:780px) {
html body .sw-entry.sw-entry .sw-tabs.sw-tabs-3 > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:520px) {
html body .sw-entry.sw-entry .sw-tabs.sw-tabs-3 > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* ============================================================
   MONSTER WORKFLOW 3.3 — AT A GLANCE REPAIR
   Prevent legacy .sw-glance grid rules from turning the outer
   section into columns and crushing the actual facts grid.
   ============================================================ */
html body .sw-entry.sw-monster-entry section.sw-monster-glance{
display:block!important;
width:100%!important;
max-width:1180px!important;
margin:1.5rem auto 2rem!important;
padding:clamp(1rem, 2vw, 1.35rem)!important;
box-sizing:border-box!important;
}
html body .sw-entry.sw-monster-entry section.sw-monster-glance > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.8rem!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid > div{
display:block!important;
min-width:0!important;
width:auto!important;
padding:.9rem 1rem!important;
margin:0!important;
border:1px solid rgba(230,198,142,.24)!important;
border-radius:8px!important;
background:rgba(255,255,255,.025)!important;
}
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid > div > strong{
display:block!important;
margin:0 0 .28rem!important;
color:#d9ad4f!important;
font-size:.78rem!important;
line-height:1.25!important;
letter-spacing:.02em!important;
}
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid > div > span{
display:block!important;
min-width:0!important;
color:#f2ece3!important;
font-size:1rem!important;
line-height:1.48!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
/* Monsters whose At a Glance is itself the facts grid. */
html body .sw-entry.sw-monster-entry > .sw-glance:not(section){
width:100%!important;
max-width:1180px!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.8rem!important;
margin:1rem auto 2rem!important;
}
html body .sw-entry.sw-monster-entry > .sw-glance:not(section) > div{
min-width:0!important;
padding:.9rem 1rem!important;
}
/* If a legacy monster uses section.sw-glance without the
   sw-monster-glance class but contains a nested glance grid,
   treat it as an outer panel too. */
html body .sw-entry.sw-monster-entry section.sw-glance:has(> .sw-glance-grid){
display:block!important;
width:100%!important;
max-width:1180px!important;
}
html body .sw-entry.sw-monster-entry section.sw-glance:has(> .sw-glance-grid) > .sw-glance-grid{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
width:100%!important;
max-width:none!important;
margin:0!important;
}
@media (max-width: 900px) {
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid, html body .sw-entry.sw-monster-entry section.sw-glance:has(> .sw-glance-grid) > .sw-glance-grid, html body .sw-entry.sw-monster-entry > .sw-glance:not(section){
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 620px) {
html body .sw-entry.sw-monster-entry section.sw-monster-glance > .sw-glance-grid, html body .sw-entry.sw-monster-entry section.sw-glance:has(> .sw-glance-grid) > .sw-glance-grid, html body .sw-entry.sw-monster-entry > .sw-glance:not(section){
grid-template-columns:1fr!important;
}
}
/* END MONSTER WORKFLOW 3.3 — AT A GLANCE */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW 3.3.1 — all At-a-Glance wrapper elements */
html body .sw-entry.sw-monster-entry .sw-monster-glance:has(> .sw-glance-grid), html body .sw-entry.sw-monster-entry .sw-glance:has(> .sw-glance-grid){
display:block!important;
width:100%!important;
max-width:1180px!important;
margin:1.5rem auto 2rem!important;
padding:clamp(1rem,2vw,1.35rem)!important;
box-sizing:border-box!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance:has(> .sw-glance-grid) > h2, html body .sw-entry.sw-monster-entry .sw-glance:has(> .sw-glance-grid) > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance:has(> .sw-glance-grid) > .sw-glance-grid, html body .sw-entry.sw-monster-entry .sw-glance:has(> .sw-glance-grid) > .sw-glance-grid{
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:.8rem!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
}
@media (max-width:900px) {
html body .sw-entry.sw-monster-entry .sw-monster-glance:has(> .sw-glance-grid) > .sw-glance-grid, html body .sw-entry.sw-monster-entry .sw-glance:has(> .sw-glance-grid) > .sw-glance-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:620px) {
html body .sw-entry.sw-monster-entry .sw-monster-glance:has(> .sw-glance-grid) > .sw-glance-grid, html body .sw-entry.sw-monster-entry .sw-glance:has(> .sw-glance-grid) > .sw-glance-grid{
grid-template-columns:1fr!important;
}
}
/* END MONSTER WORKFLOW 3.3.1 */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW 3.4 — canonical At a Glance wrapper */
html body .sw-entry.sw-monster-entry .sw-monster-glance{
display:block!important;
width:100%!important;
max-width:1180px!important;
margin:1.5rem auto 2rem!important;
padding:clamp(1rem,2vw,1.35rem)!important;
border:1px solid rgba(230,198,142,.34)!important;
border-radius:10px!important;
background:rgba(42,34,24,.72)!important;
box-sizing:border-box!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid{
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:.8rem!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid > div{
display:block!important;
min-width:0!important;
width:auto!important;
margin:0!important;
padding:.9rem 1rem!important;
border:1px solid rgba(230,198,142,.24)!important;
border-radius:8px!important;
background:rgba(0,0,0,.16)!important;
box-sizing:border-box!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid > div > strong{
display:block!important;
margin:0 0 .3rem!important;
color:#d9ad4f!important;
font-size:.8rem!important;
line-height:1.25!important;
}
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid > div > span{
display:block!important;
min-width:0!important;
max-width:none!important;
color:#f2ece3!important;
font-size:1rem!important;
line-height:1.5!important;
white-space:normal!important;
overflow-wrap:break-word!important;
word-break:normal!important;
hyphens:auto!important;
}
@media(max-width:900px){
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:620px){
html body .sw-entry.sw-monster-entry .sw-monster-glance > .sw-glance-grid{
grid-template-columns:1fr!important;
}
}
/* END MONSTER WORKFLOW 3.4 */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — Diprotodon hero render QA fix */
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(360px,.9fr) minmax(0,1.45fr)!important;
gap:0!important;
align-items:center!important;
overflow:hidden!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.4vw,2.6rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-diprotodon h1#diprotodon-title{
margin:0 0 .8rem!important;
max-width:100%!important;
font-size:clamp(3rem,4.6vw,4.9rem)!important;
line-height:.98!important;
letter-spacing:-.025em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
text-wrap:balance!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-subtitle{
margin:0 0 1rem!important;
max-width:25ch!important;
font-size:clamp(1.08rem,1.35vw,1.45rem)!important;
line-height:1.38!important;
text-transform:none!important;
letter-spacing:0!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-tagline{
margin:0 0 1.15rem!important;
max-width:32ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-tags{
display:flex!important;
flex-wrap:wrap!important;
gap:.65rem!important;
margin:0!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-media{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
padding:clamp(.7rem,1.2vw,1rem)!important;
overflow:hidden!important;
background:#0d0e0f!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:auto!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:auto!important;
max-height:none!important;
min-height:0!important;
aspect-ratio:16 / 9!important;
object-fit:contain!important;
object-position:center center!important;
margin:0!important;
}
@media(max-width:1100px){
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero{
grid-template-columns:minmax(330px,1fr) minmax(0,1.2fr)!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-diprotodon h1#diprotodon-title{
font-size:clamp(2.8rem,5vw,4.2rem)!important;
}
}
@media(max-width:820px){
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero{
grid-template-columns:1fr!important;
align-items:start!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-copy{
order:1!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-media{
order:2!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-subtitle, html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-tagline{
max-width:none!important;
}
html body .sw-entry.sw-monster-entry.sw-diprotodon .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
aspect-ratio:16 / 9!important;
object-fit:contain!important;
}
}
/* END Diprotodon hero render QA fix */
/* --- WPWriter addition --- */
/* Outsider family illustrated cards */
.sw-bestiary-hub #families .sw-grid{
align-items:stretch;
}
.sw-bestiary-hub #families .sw-family-card{
display:flex;
flex-direction:column;
padding:0;
overflow:hidden;
min-height:100%;
}
.sw-bestiary-hub #families .sw-family-card .sw-card-image{
display:block;
width:100%;
aspect-ratio:3/2;
object-fit:cover;
margin:0;
}
.sw-bestiary-hub #families .sw-family-card h3{
margin:0;
padding:1rem 1rem .35rem;
}
.sw-bestiary-hub #families .sw-family-card p{
margin:0;
padding:0 1rem 1rem;
}
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — Megalania hero render QA fix */
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(390px,.95fr) minmax(0,1.45fr)!important;
gap:0!important;
align-items:center!important;
overflow:hidden!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.3vw,2.5rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-megalania h1#megalania-title{
margin:0 0 .8rem!important;
max-width:100%!important;
font-size:clamp(2.9rem,4vw,4.35rem)!important;
line-height:.98!important;
letter-spacing:-.025em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
text-wrap:balance!important;
position:relative!important;
z-index:1!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-subtitle{
margin:0 0 1rem!important;
max-width:28ch!important;
font-size:clamp(1.05rem,1.28vw,1.38rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-tagline{
margin:0 0 1.15rem!important;
max-width:34ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-tags{
display:flex!important;
flex-wrap:wrap!important;
gap:.65rem!important;
margin:0!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-media{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
overflow:hidden!important;
padding:clamp(.7rem,1.1vw,1rem)!important;
background:#0d0e0f!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:auto!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:16 / 9!important;
object-fit:contain!important;
object-position:center center!important;
margin:0!important;
}
@media(max-width:1100px){
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero{
grid-template-columns:minmax(350px,1fr) minmax(0,1.2fr)!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-megalania h1#megalania-title{
font-size:clamp(2.7rem,4.6vw,3.9rem)!important;
}
}
@media(max-width:820px){
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero{
grid-template-columns:1fr!important;
align-items:start!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-copy{
order:1!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-media{
order:2!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-subtitle, html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-tagline{
max-width:none!important;
}
html body .sw-entry.sw-monster-entry.sw-megalania .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
aspect-ratio:16 / 9!important;
object-fit:contain!important;
object-position:center center!important;
}
}
/* END Megalania hero render QA fix */
/* --- WPWriter addition --- */
/* OUTSIDER FAMILY GRID — isolated from global .sw-card rules */
html body .sw-entry.sw-bestiary-hub #families.sw-outsider-families{
margin-top:2.5rem!important;
}
html body .sw-entry.sw-bestiary-hub #families.sw-outsider-families > h2{
margin:0 0 .45rem!important;
}
html body .sw-entry.sw-bestiary-hub #families.sw-outsider-families > .sw-family-intro{
max-width:1050px!important;
margin:0 0 1.4rem!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-grid{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:1.25rem!important;
align-items:stretch!important;
width:100%!important;
margin:0!important;
padding:0!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-tile{
display:flex!important;
flex-direction:column!important;
min-width:0!important;
min-height:0!important;
height:auto!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:1px solid #3f4550!important;
border-radius:8px!important;
background:#10151d!important;
box-shadow:none!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-image-link{
display:block!important;
width:100%!important;
margin:0!important;
padding:0!important;
border:0!important;
line-height:0!important;
text-decoration:none!important;
overflow:hidden!important;
flex:0 0 auto!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-image-link img{
display:block!important;
position:static!important;
float:none!important;
width:100%!important;
max-width:none!important;
height:auto!important;
aspect-ratio:16 / 9!important;
object-fit:cover!important;
object-position:center!important;
margin:0!important;
padding:0!important;
border:0!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-copy{
display:flex!important;
flex-direction:column!important;
flex:1 1 auto!important;
gap:.45rem!important;
min-height:0!important;
margin:0!important;
padding:.95rem 1rem 1.05rem!important;
background:#10151d!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-copy h3{
position:static!important;
margin:0!important;
padding:0 0 .45rem!important;
border-bottom:1px solid rgba(230,198,142,.26)!important;
line-height:1.15!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-copy h3 a{
display:inline!important;
position:static!important;
margin:0!important;
padding:0!important;
color:var(--sw-c-link)!important;
text-decoration:underline!important;
text-underline-offset:.14em!important;
}
html body .sw-entry.sw-bestiary-hub #families .sw-family-copy p{
position:static!important;
margin:0!important;
padding:0!important;
line-height:1.45!important;
}
@media (max-width: 1050px) {
html body .sw-entry.sw-bestiary-hub #families .sw-family-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 700px) {
html body .sw-entry.sw-bestiary-hub #families .sw-family-grid{
grid-template-columns:1fr!important;
gap:1rem!important;
}
}
/* --- WPWriter addition --- */
/* OUTSIDER LOWER SHOWCASE GRIDS — same visual system as Major Families */
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-grid{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:1.25rem!important;
align-items:stretch!important;
width:100%!important;
margin:1.25rem 0 0!important;
padding:0!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-tile{
display:flex!important;
flex-direction:column!important;
min-width:0!important;
min-height:0!important;
height:auto!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:1px solid #3f4550!important;
border-radius:8px!important;
background:#10151d!important;
box-shadow:none!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-image{
display:block!important;
position:static!important;
width:100%!important;
margin:0!important;
padding:0!important;
border:0!important;
line-height:0!important;
overflow:hidden!important;
text-decoration:none!important;
flex:0 0 auto!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-image img{
display:block!important;
position:static!important;
float:none!important;
width:100%!important;
max-width:none!important;
height:auto!important;
aspect-ratio:16 / 9!important;
object-fit:cover!important;
object-position:center!important;
margin:0!important;
padding:0!important;
border:0!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-copy{
display:flex!important;
flex-direction:column!important;
flex:1 1 auto!important;
gap:.45rem!important;
margin:0!important;
padding:.95rem 1rem 1.05rem!important;
background:#10151d!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-copy h3{
position:static!important;
margin:0!important;
padding:0 0 .45rem!important;
border-bottom:1px solid rgba(230,198,142,.26)!important;
line-height:1.15!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-copy h3 a{
position:static!important;
display:inline!important;
margin:0!important;
padding:0!important;
color:var(--sw-c-link)!important;
text-decoration:underline!important;
text-underline-offset:.14em!important;
}
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-copy p{
position:static!important;
margin:0!important;
padding:0!important;
line-height:1.45!important;
}
@media (max-width: 1050px) {
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 700px) {
html body .sw-entry.sw-bestiary-hub .sw-outsider-showcase .sw-showcase-grid{
grid-template-columns:1fr!important;
gap:1rem!important;
}
}
/* --- WPWriter addition --- */
/* PRESTIGE CLASS AT-A-GLANCE HARDENING — 2026-09-30
   Fixes narrow/shrunk cards and mid-word breaking while keeping the rule global. */
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance{
display:block!important;
width:min(930px, 100%)!important;
max-width:930px!important;
min-width:0!important;
margin:1.6rem auto 2.2rem!important;
padding:1rem!important;
box-sizing:border-box!important;
}
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
}
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance > .sw-glance-grid{
display:grid!important;
width:100%!important;
max-width:none!important;
min-width:0!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.85rem!important;
margin:0!important;
padding:0!important;
}
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance > .sw-glance-grid > div{
min-width:0!important;
width:auto!important;
}
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance :is(dt, dd, p, strong, a){
word-break:normal!important;
overflow-wrap:normal!important;
hyphens:none!important;
}
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance .sw-glance-grid dt{
white-space:normal!important;
}
@media (max-width: 900px) {
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance > .sw-glance-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 620px) {
body:not(.wp-admin) .sw-entry.sw-prestige-class > .sw-glance > .sw-glance-grid{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — Aoandon hero render QA fix */
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(360px,.92fr) minmax(0,1.48fr)!important;
gap:0!important;
align-items:center!important;
overflow:hidden!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.3vw,2.5rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-aoandon h1#aoandon-title{
margin:0 0 .8rem!important;
max-width:100%!important;
font-size:clamp(3rem,4.3vw,4.7rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle{
margin:0 0 1rem!important;
max-width:29ch!important;
font-size:clamp(1.05rem,1.3vw,1.4rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
margin:0 0 1.15rem!important;
max-width:34ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
overflow:hidden!important;
padding:clamp(.7rem,1.1vw,1rem)!important;
background:#0d0e0f!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:auto!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:1672 / 941!important;
object-fit:contain!important;
object-position:center center!important;
margin:0!important;
}
@media(max-width:1100px){
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:minmax(330px,1fr) minmax(0,1.25fr)!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero h1, html body .sw-entry.sw-monster-entry.sw-aoandon h1#aoandon-title{
font-size:clamp(2.8rem,4.7vw,4.1rem)!important;
}
}
@media(max-width:820px){
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:1fr!important;
align-items:start!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
order:1!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
order:2!important;
padding:0!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle, html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
max-width:none!important;
}
html body .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
aspect-ratio:1672 / 941!important;
object-fit:contain!important;
object-position:center center!important;
}
}
/* END Aoandon hero render QA fix */
/* --- WPWriter addition --- */
/* AOANDON HERO HOTFIX — final rendered containment */
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(380px, 0.95fr) minmax(0, 1.35fr)!important;
align-items:center!important;
gap:0!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
min-width:0!important;
max-width:100%!important;
padding:clamp(1.4rem,2vw,2.2rem)!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy h1#aoandon-title{
display:block!important;
width:auto!important;
max-width:100%!important;
margin:0 0 .75rem!important;
padding:0!important;
font-size:clamp(2.8rem,3.8vw,4rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
text-transform:none!important;
position:relative!important;
z-index:2!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle{
display:block!important;
max-width:27ch!important;
margin:0 0 1rem!important;
font-size:clamp(1rem,1.15vw,1.28rem)!important;
line-height:1.45!important;
letter-spacing:0!important;
text-transform:none!important;
font-variant:normal!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
max-width:31ch!important;
font-size:.98rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
min-width:0!important;
overflow:hidden!important;
padding:.8rem!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:auto!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:1672 / 941!important;
object-fit:contain!important;
object-position:center center!important;
margin:0!important;
}
@media (max-width:1100px) {
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:minmax(340px,1fr) minmax(0,1.15fr)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy h1#aoandon-title{
font-size:clamp(2.6rem,4.2vw,3.6rem)!important;
}
}
@media (max-width:820px) {
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:1fr!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
overflow:visible!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle, html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
max-width:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
padding:0!important;
}
}
/* END AOANDON HERO HOTFIX */
/* --- WPWriter addition --- */
/* =========================================================
   AOANDON — FINAL MONSTER HERO
   Focal crop: face + horns + blue lantern
   ========================================================= */
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(360px,.9fr) minmax(0,1.5fr)!important;
gap:0!important;
align-items:stretch!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
min-width:0!important;
max-width:100%!important;
padding:clamp(1.4rem,2vw,2.2rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-kicker{
margin-bottom:.8rem!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon h1#aoandon-title{
display:block!important;
width:auto!important;
max-width:100%!important;
margin:0 0 .75rem!important;
padding:0!important;
font-size:clamp(2.8rem,3.8vw,4rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle{
display:block!important;
max-width:27ch!important;
margin:0 0 1rem!important;
font-size:clamp(1rem,1.15vw,1.25rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
font-variant:normal!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
max-width:31ch!important;
margin:0 0 1.15rem!important;
font-size:.98rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tags{
display:flex!important;
flex-wrap:wrap!important;
gap:.65rem!important;
margin:0!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
min-width:0!important;
display:flex!important;
align-items:stretch!important;
justify-content:stretch!important;
overflow:hidden!important;
padding:0!important;
background:#0d0e0f!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:100%!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:100%!important;
min-height:560px!important;
max-height:690px!important;
aspect-ratio:auto!important;
object-fit:cover!important;
object-position:76% 47%!important;
margin:0!important;
}
@media(max-width:1100px){
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:minmax(335px,1fr) minmax(0,1.25fr)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon h1#aoandon-title{
font-size:clamp(2.6rem,4.2vw,3.6rem)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
min-height:500px!important;
max-height:620px!important;
object-position:76% 46%!important;
}
}
@media(max-width:820px){
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero{
grid-template-columns:1fr!important;
align-items:start!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-copy{
order:1!important;
overflow:visible!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media{
order:2!important;
min-height:0!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-subtitle, html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-tagline{
max-width:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-aoandon .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:16 / 10!important;
object-fit:cover!important;
object-position:73% 43%!important;
}
}
/* END AOANDON — FINAL MONSTER HERO */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — Jakotsubaba historical-plate hero */
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(390px,1.2fr) minmax(300px,.8fr)!important;
gap:0!important;
align-items:center!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.3vw,2.5rem)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba h1#jakotsubaba-title{
margin:0 0 .8rem!important;
max-width:100%!important;
font-size:clamp(2.8rem,4vw,4.2rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-subtitle{
max-width:31ch!important;
margin:0 0 1rem!important;
font-size:clamp(1.05rem,1.25vw,1.35rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-tagline{
max-width:34ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
min-height:560px!important;
padding:1.4rem!important;
overflow:hidden!important;
background:rgba(8,9,10,.96)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media a{
display:flex!important;
align-items:center!important;
justify-content:center!important;
width:100%!important;
height:100%!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media img{
display:block!important;
width:auto!important;
height:auto!important;
max-width:min(100%,378px)!important;
max-height:532px!important;
min-height:0!important;
object-fit:contain!important;
object-position:center!important;
margin:0 auto!important;
border:1px solid rgba(230,198,142,.28)!important;
box-shadow:0 14px 34px rgba(0,0,0,.42)!important;
}
@media(max-width:820px){
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero{
grid-template-columns:1fr!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media{
min-height:0!important;
padding:1rem!important;
}
}
/* END Jakotsubaba historical-plate hero */
/* --- WPWriter addition --- */
/* =========================================================
   JAKOTSUBABA — FINAL MONSTER HERO
   Focal crop: hag + blue serpent + red serpent
   ========================================================= */
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(370px,.9fr) minmax(0,1.5fr)!important;
gap:0!important;
align-items:stretch!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-copy{
min-width:0!important;
max-width:100%!important;
padding:clamp(1.4rem,2vw,2.2rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba h1#jakotsubaba-title{
display:block!important;
width:auto!important;
max-width:100%!important;
margin:0 0 .75rem!important;
padding:0!important;
font-size:clamp(2.65rem,3.5vw,3.8rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
text-transform:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-subtitle{
display:block!important;
max-width:29ch!important;
margin:0 0 1rem!important;
font-size:clamp(1rem,1.15vw,1.25rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
font-variant:normal!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-tagline{
max-width:32ch!important;
margin:0 0 1.15rem!important;
font-size:.98rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-tags{
display:flex!important;
flex-wrap:wrap!important;
gap:.65rem!important;
margin:0!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media{
display:flex!important;
align-items:stretch!important;
justify-content:stretch!important;
min-width:0!important;
min-height:0!important;
padding:0!important;
overflow:hidden!important;
background:#0d0e0f!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:100%!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:100%!important;
min-height:560px!important;
max-height:690px!important;
max-width:none!important;
aspect-ratio:auto!important;
object-fit:cover!important;
object-position:76% 48%!important;
margin:0!important;
border:0!important;
box-shadow:none!important;
}
@media(max-width:1100px){
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero{
grid-template-columns:minmax(340px,1fr) minmax(0,1.25fr)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba h1#jakotsubaba-title{
font-size:clamp(2.45rem,4vw,3.35rem)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media img{
min-height:500px!important;
max-height:620px!important;
object-position:76% 47%!important;
}
}
@media(max-width:820px){
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero{
grid-template-columns:1fr!important;
align-items:start!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-copy{
order:1!important;
overflow:visible!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media{
order:2!important;
min-height:0!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-subtitle, html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-tagline{
max-width:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jakotsubaba .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:16 / 10!important;
object-fit:cover!important;
object-position:72% 45%!important;
}
}
/* END JAKOTSUBABA — FINAL MONSTER HERO */
/* --- WPWriter addition --- */
/* MONSTER WORKFLOW — Jikininki temporary square-hero QA */
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(390px,1.15fr) minmax(340px,.85fr)!important;
gap:0!important;
align-items:center!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.3vw,2.5rem)!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki h1#jikininki-title{
margin:0 0 .8rem!important;
max-width:100%!important;
font-size:clamp(2.9rem,4.1vw,4.4rem)!important;
line-height:.98!important;
letter-spacing:-.02em!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-subtitle{
max-width:30ch!important;
margin:0 0 1rem!important;
font-size:clamp(1.05rem,1.25vw,1.35rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-tagline{
max-width:33ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
min-height:560px!important;
padding:1.25rem!important;
overflow:hidden!important;
background:#0d0e0f!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media a{
display:flex!important;
align-items:center!important;
justify-content:center!important;
width:100%!important;
height:100%!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media img{
display:block!important;
width:auto!important;
height:auto!important;
max-width:min(100%,560px)!important;
max-height:560px!important;
min-height:0!important;
object-fit:contain!important;
object-position:center!important;
margin:0 auto!important;
}
@media(max-width:820px){
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero{
grid-template-columns:1fr!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media{
min-height:0!important;
padding:1rem!important;
}
}
/* END Jikininki temporary square-hero QA */
/* --- WPWriter addition --- */
/* JIKININKI — final landscape hero + folklore art, Monster Workflow image QA */
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero{
display:grid!important;
grid-template-columns:minmax(360px,.9fr) minmax(0,1.35fr)!important;
align-items:stretch!important;
gap:0!important;
overflow:hidden!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-copy{
min-width:0!important;
padding:clamp(1.5rem,2.4vw,2.6rem)!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki h1#jikininki-title{
max-width:100%!important;
margin:0 0 .8rem!important;
font-size:clamp(2.8rem,4vw,4.25rem)!important;
line-height:.98!important;
white-space:normal!important;
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-subtitle{
max-width:30ch!important;
margin:0 0 1rem!important;
font-size:clamp(1.05rem,1.25vw,1.35rem)!important;
line-height:1.42!important;
text-transform:none!important;
letter-spacing:0!important;
word-break:normal!important;
hyphens:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-tagline{
max-width:34ch!important;
font-size:1rem!important;
line-height:1.45!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media{
display:flex!important;
align-items:stretch!important;
justify-content:stretch!important;
min-width:0!important;
min-height:520px!important;
padding:0!important;
overflow:hidden!important;
background:#0d0e0f!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media a{
display:block!important;
width:100%!important;
height:100%!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media img{
display:block!important;
width:100%!important;
height:100%!important;
min-height:520px!important;
max-width:none!important;
max-height:650px!important;
margin:0!important;
object-fit:cover!important;
object-position:center center!important;
border:0!important;
box-shadow:none!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-jikininki-folklore-art{
width:100%!important;
max-width:850px!important;
margin:1.5rem auto!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-jikininki-folklore-art > a{
width:100%!important;
max-width:850px!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-jikininki-folklore-art img{
width:100%!important;
max-width:850px!important;
height:auto!important;
max-height:none!important;
object-fit:contain!important;
}
@media(max-width:820px){
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero{
grid-template-columns:1fr!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-copy{
order:1!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media{
order:2!important;
min-height:0!important;
}
html body .site-content .sw-entry.sw-monster-entry.sw-jikininki .sw-monster-hero-media img{
width:100%!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
aspect-ratio:16/9!important;
object-fit:cover!important;
object-position:center center!important;
}
}
/* END JIKININKI final image QA */
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL ENTRY TOP-SPACING REPAIR — 2026-09-30
   Global rule for canonical .sw-entry pages only. Removes Astra's oversized
   single-page top gap without introducing per-page CSS. */
body:not(.home):has(.entry-content .sw-entry) #primary{
margin-top:1.25rem!important;
padding-top:0!important;
}
body:not(.home):has(.entry-content .sw-entry) article.ast-article-single{
padding-top:0!important;
}
body:not(.home):has(.entry-content .sw-entry) .ast-breadcrumbs-wrapper{
margin-top:0!important;
padding-top:0!important;
margin-bottom:.75rem!important;
}
body:not(.home):has(.entry-content .sw-entry) .entry-header.ast-no-title{
margin:0!important;
padding:0!important;
min-height:0!important;
}
body:not(.home):has(.entry-content .sw-entry) .entry-content{
margin-top:0!important;
padding-top:0!important;
}
body:not(.home):has(.entry-content .sw-entry) .entry-content > h1.entry-title{
margin-top:.35rem!important;
margin-bottom:1rem!important;
}
@media (max-width: 921px) {
body:not(.home):has(.entry-content .sw-entry) #primary{
margin-top:.75rem!important;
}
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL WORD-WRAP REPAIR — 2026-09-30
   Keep ordinary words intact. Only genuinely unbreakable technical strings
   may break to protect the layout. */
.sw-entry.sw-entry{
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
.sw-entry.sw-entry :is(p, li, dd, dt, blockquote, figcaption, h1, h2, h3, h4, h5, h6, th, td){
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
.sw-entry.sw-entry :is(pre, code, kbd, samp){
overflow-wrap:anywhere!important;
word-break:break-word!important;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL BREADCRUMB DE-DUPLICATION — 2026-10-01
   Canonical entries already display the page H1. Keep breadcrumb ancestry,
   but suppress the current-page title so the heading is not shown twice. */
body:not(.home):has(.entry-content .sw-entry) .ast-breadcrumbs .trail-end, body:not(.home):has(.entry-content .sw-entry) .breadcrumb-trail .trail-end, body:not(.home):has(.entry-content .sw-entry) .rank-math-breadcrumb .last, body:not(.home):has(.entry-content .sw-entry) .rank-math-breadcrumb .current{
display:none!important;
}
/* --- WPWriter addition --- */
/* Finish canonical breadcrumb de-duplication: remove the separator that
   previously pointed to the now-hidden current-page crumb. */
body:not(.home):has(.entry-content .sw-entry) .ast-breadcrumbs .trail-item:has(+ .trail-end)::after, body:not(.home):has(.entry-content .sw-entry) .breadcrumb-trail .trail-item:has(+ .trail-end)::after, body:not(.home):has(.entry-content .sw-entry) .ast-breadcrumbs .trail-item:has(+ .trail-end) > .ast-breadcrumbs-separator, body:not(.home):has(.entry-content .sw-entry) .breadcrumb-trail .trail-item:has(+ .trail-end) > .ast-breadcrumbs-separator{
display:none!important;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS CANONICAL TITLE DE-DUPLICATION — 2026-10-01
   Some canonical pages render Astra's normal entry title plus a second
   indexing-only H1. Keep the genuine visible page title and suppress the
   indexing duplicate. */
body:not(.home):has(.entry-content .sw-entry) h1.entry-title.sw-indexing-title{
display:none!important;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS INDEXING H1 VISIBILITY FIX — 2026-10-01
   sw-indexing-title exists only as an indexing duplicate and must never be
   visually rendered. The real Astra entry-title remains visible. */
h1.sw-indexing-title, .entry-content > h1.sw-indexing-title, .entry-content h1.entry-title.sw-indexing-title{
display:none!important;
margin:0!important;
padding:0!important;
height:0!important;
overflow:hidden!important;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS INDEXING TITLE HARD HIDE — 2026-10-01
   The indexing duplicate is rendered as a custom <heading> element, not H1. */
.sw-indexing-title, heading.sw-indexing-title, .entry-content > .sw-indexing-title{
display:none!important;
visibility:hidden!important;
margin:0!important;
padding:0!important;
height:0!important;
min-height:0!important;
overflow:hidden!important;
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS GLOBAL AT-A-GLANCE CANONICAL — 2026-10-01
   One final rendering contract for location, monster, class,
   spell, deity and legacy At-a-Glance markup.
   ============================================================ */
/* Outer At-a-Glance panel: applies when the wrapper contains
   structured facts rather than being the facts grid itself. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, section.sw-glance ):has(> :is(.sw-glance-grid, .sw-location-glance-grid, dl, table)){
display:block!important;
width:min(930px, 100%)!important;
max-width:930px!important;
min-width:0!important;
margin:1.5rem auto 2.2rem!important;
padding:clamp(1rem, 2vw, 1.25rem)!important;
border:1px solid var(--sw-c-border, #55505e)!important;
border-radius:8px!important;
background:var(--sw-c-panel, #1b1a20)!important;
box-shadow:none!important;
box-sizing:border-box!important;
}
/* Monsters use the full rules width. */
html body:not(.wp-admin) .sw-entry.sw-monster-entry .sw-monster-glance, html body:not(.wp-admin) .sw-entry.sw-monster-entry section.sw-glance:has(> .sw-glance-grid){
width:100%!important;
max-width:1180px!important;
}
/* In a location identity block the parent already controls the
   50:50 layout, so the glance panel fills only its own column. */
html body:not(.wp-admin) .sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ){
display:block!important;
width:100%!important;
max-width:none!important;
min-width:0!important;
margin:0!important;
padding:clamp(.9rem, 1.6vw, 1.15rem)!important;
border:1px solid var(--sw-c-border, #55505e)!important;
border-radius:8px!important;
background:var(--sw-c-panel, #1b1a20)!important;
box-sizing:border-box!important;
}
/* Heading contract. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
padding:0!important;
}
/* Nested card/fact grids. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-glance-grid, .sw-location-glance-grid){
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.8rem!important;
width:100%!important;
max-width:none!important;
min-width:0!important;
margin:0!important;
padding:0!important;
}
/* Half-width location identity panels need fewer columns. */
html body:not(.wp-admin) .sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ) > :is(.sw-glance-grid, .sw-location-glance-grid){
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
/* Legacy markup where .sw-glance itself is the fact grid. */
html body:not(.wp-admin) .sw-entry.sw-entry > .sw-glance:not(section):not(:has(> :is(dl, table, .sw-glance-grid, .sw-location-glance-grid))){
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.8rem!important;
width:min(930px, 100%)!important;
max-width:930px!important;
min-width:0!important;
margin:1.5rem auto 2.2rem!important;
padding:0!important;
border:0!important;
background:transparent!important;
}
/* Individual fact cards, regardless of which generation made them. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-glance-grid, .sw-location-glance-grid, .sw-glance:not(section):not(:has(> :is(dl, table, .sw-glance-grid, .sw-location-glance-grid))) ) > :is(div, .sw-fact){
display:block!important;
min-width:0!important;
width:auto!important;
margin:0!important;
padding:.82rem .9rem!important;
border:1px solid var(--sw-c-border, #55505e)!important;
border-radius:6px!important;
background:rgba(255,255,255,.025)!important;
box-shadow:none!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-glance-grid, .sw-location-glance-grid, .sw-glance:not(section):not(:has(> :is(dl, table, .sw-glance-grid, .sw-location-glance-grid))) ) > :is(div, .sw-fact) > :is(strong, b, dt):first-child{
display:block!important;
margin:0 0 .28rem!important;
color:var(--sw-c-link, #e6c68e)!important;
font-size:.82rem!important;
line-height:1.3!important;
font-weight:700!important;
}
/* Definition-list form: aligned label/value pairs without crushed text. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt){
display:grid!important;
grid-template-columns:minmax(130px, 30%) minmax(0, 1fr)!important;
gap:0 1rem!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt) > :is(dt, dd){
min-width:0!important;
margin:0!important;
padding:.55rem 0!important;
border-bottom:1px solid rgba(230,198,142,.18)!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt) > dt{
color:var(--sw-c-link, #e6c68e)!important;
font-weight:700!important;
}
/* Table form. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > table{
display:table!important;
width:100%!important;
max-width:100%!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > table :is(th, td){
min-width:0!important;
padding:.58rem .65rem!important;
vertical-align:top!important;
border-bottom:1px solid rgba(230,198,142,.18)!important;
}
/* No mid-word shredding in any At-a-Glance format. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance, .sw-glance-grid, .sw-location-glance-grid ) :is(p, span, strong, b, a, dt, dd, th, td){
min-width:0!important;
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:none!important;
}
/* Responsive contract. */
@media (max-width: 900px) {
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-glance-grid, .sw-location-glance-grid), html body:not(.wp-admin) .sw-entry.sw-entry > .sw-glance:not(section):not(:has(> :is(dl, table, .sw-glance-grid, .sw-location-glance-grid))){
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 760px) {
html body:not(.wp-admin) .sw-entry.sw-entry > :is(.sw-identity, .sw-location-identity) > :is( .sw-at-a-glance, .sw-glance, .sw-location-glance ){
width:100%!important;
max-width:none!important;
margin:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt){
grid-template-columns:1fr!important;
gap:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt) > dt{
padding-bottom:.12rem!important;
border-bottom:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > dl:has(> dt) > dd{
padding-top:0!important;
}
}
@media (max-width: 620px) {
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-glance-grid, .sw-location-glance-grid), html body:not(.wp-admin) .sw-entry.sw-entry > .sw-glance:not(section):not(:has(> :is(dl, table, .sw-glance-grid, .sw-location-glance-grid))){
grid-template-columns:1fr!important;
}
}
/* END SPIRALWORLDS GLOBAL AT-A-GLANCE CANONICAL */
/* --- WPWriter addition --- */
/* SHARED DOMAIN AND DEITY DIRECTORY TABLES — 2026-10-01 */
html body .sw-entry.sw-entry .sw-table-wrap:has(> .sw-directory-table){
overflow-x:visible!important;
}
html body .sw-entry.sw-entry table.sw-directory-table{
width:100%!important;
min-width:0!important;
table-layout:fixed!important;
}
html body .sw-entry.sw-entry .sw-directory-table th:first-child{
width:28%;
}
html body .sw-entry.sw-entry .sw-directory-table :is(th,td){
white-space:normal!important;
overflow-wrap:break-word!important;
word-break:normal!important;
}
@media (max-width: 600px) {
html body .sw-entry.sw-entry .sw-directory-table thead{
display:none!important;
}
html body .sw-entry.sw-entry .sw-directory-table, html body .sw-entry.sw-entry .sw-directory-table tbody, html body .sw-entry.sw-entry .sw-directory-table tr, html body .sw-entry.sw-entry .sw-directory-table :is(th,td){
display:block!important;
width:100%!important;
min-width:0!important;
}
html body .sw-entry.sw-entry .sw-directory-table tr{
margin-bottom:.85rem;
}
html body .sw-entry.sw-entry .sw-directory-table td{
border-top:0!important;
}
}
/* --- WPWriter addition --- */
/* Shared directory reading size */
html body .sw-entry.sw-entry .sw-directory-table :is(th,td){
font-size:max(1rem, 18px)!important;
line-height:1.55!important;
}
/* --- WPWriter addition --- */
/* GLOBAL CANONICAL ENTRY TITLE FIX — 2026-10-02
   Astra supplies the visible entry-header H1. The injected indexing H1 inside
   entry-content is a duplicate and must never render visually. */
html body:not(.wp-admin) .entry-content.clear > h1.entry-title.sw-indexing-title, html body:not(.wp-admin) .entry-content > h1.sw-indexing-title, html body:not(.wp-admin) h1.sw-indexing-title{
display:none!important;
visibility:hidden!important;
position:absolute!important;
width:1px!important;
height:1px!important;
margin:-1px!important;
padding:0!important;
overflow:hidden!important;
clip:rect(0 0 0 0)!important;
white-space:nowrap!important;
border:0!important;
}
/* SW Character Classes hub — 2026-10-02 */
.swclass{
--bg:#070b0e;
--panel:#0d1419;
--panel2:#121b21;
--text:#f5f0e6;
--muted:#d7cec1;
--gold:#d6a52d;
--gold2:#f4d989;
--line:rgba(214,165,45,.42);
--soft:rgba(214,165,45,.18);
color:var(--text);
background:var(--bg);
font:16px/1.62 Georgia,"Times New Roman",serif;
padding:30px 0 56px;
}
.page-id-23846 .entry-header,.page-id-23846 .entry-title{
display:none!important;
}
.swclass *{
box-sizing:border-box;
}
.swclass .in{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
}
.swclass h1,.swclass h2,.swclass h3{
font-family:"Segoe UI",Tahoma,Arial,sans-serif;
color:#fff;
letter-spacing:-.02em;
}
.swclass h1{
font-size:clamp(2.6rem,5vw,4.7rem);
line-height:1;
margin:0 0 12px;
}
.swclass h2{
font-size:clamp(1.7rem,3vw,2.6rem);
line-height:1.08;
margin:0 0 12px;
}
.swclass h3{
font-size:1.14rem;
margin:0 0 8px;
}
.swclass p{
margin:0 0 15px;
}
.swclass a{
color:var(--gold2);
text-decoration:underline;
text-underline-offset:2px;
}
.swclass .kicker,.swclass .eyebrow{
font:800 .74rem "Segoe UI",Tahoma,Arial,sans-serif;
letter-spacing:.09em;
text-transform:uppercase;
color:var(--gold2);
}
.swclass .subtitle{
font:700 1.08rem "Segoe UI",Tahoma,Arial,sans-serif;
color:#e6ddd0;
}
.swclass .lede{
font-size:1.08rem;
max-width:900px;
color:#f0e8dc;
}
.swclass .hero{
margin:22px 0 28px;
border:1px solid var(--line);
background:#0b1014;
}
.swclass .hero img{
display:block;
width:100%;
aspect-ratio:16/9;
object-fit:cover;
}
.swclass .hero figcaption{
padding:9px 12px;
border-top:1px solid var(--soft);
color:#e1d7ca;
font-size:.8rem;
}
.swclass section{
padding:34px 0;
border-top:1px solid var(--soft);
}
.swclass .rule{
border-left:4px solid var(--gold);
background:#17150f;
padding:14px 17px;
margin:17px 0;
}
.swclass .roles{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:10px;
}
.swclass .role,.swclass .class-card{
border:1px solid var(--line);
background:var(--panel);
padding:16px;
}
.swclass .role strong{
display:block;
color:var(--gold2);
font:800 .76rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
margin-bottom:4px;
}
.swclass .class-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
}
.swclass .class-card{
display:flex;
min-height:220px;
flex-direction:column;
}
.swclass .class-card p{
color:var(--muted);
font-size:.9rem;
}
.swclass .class-card .type{
display:inline-block;
align-self:flex-start;
margin-bottom:10px;
padding:3px 8px;
border:1px solid var(--line);
border-radius:999px;
color:var(--gold2);
font:800 .64rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
letter-spacing:.04em;
}
.swclass .class-card .go{
margin-top:auto;
font:800 .75rem "Segoe UI",Tahoma,Arial,sans-serif;
}
.swclass .tabs>input{
position:absolute;
opacity:0;
pointer-events:none;
}
.swclass .labels{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:14px 0 10px;
}
.swclass .labels label{
cursor:pointer;
border:1px solid var(--line);
background:var(--panel);
padding:10px 15px;
border-radius:3px;
font:800 .78rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
}
.swclass .panels{
border:1px solid var(--line);
background:var(--panel);
}
.swclass .panel{
display:none;
padding:24px;
}
.swclass #c55:checked~.labels label[for=c55],.swclass #cpf:checked~.labels label[for=cpf],.swclass #c35:checked~.labels label[for=c35]{
background:linear-gradient(#f0cf76,#d6a52d);
color:#171006;
}
.swclass #c55:checked~.panels .s55,.swclass #cpf:checked~.panels .spf,.swclass #c35:checked~.panels .s35{
display:block;
}
.swclass table{
width:100%;
border-collapse:collapse;
margin:14px 0;
}
.swclass th,.swclass td{
padding:9px 10px;
border:1px solid rgba(214,165,45,.22);
vertical-align:top;
text-align:left;
}
.swclass th{
background:#151d22;
color:#fff;
font:800 .75rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
}
.swclass .scroll{
overflow-x:auto;
}
.swclass .record{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:0 22px;
}
.swclass .record div{
padding:12px 0;
border-top:1px solid var(--soft);
}
.swclass .record strong{
display:block;
color:var(--gold2);
font:800 .76rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
margin-bottom:3px;
}
.swclass .check{
columns:2;
column-gap:30px;
padding-left:1.2rem;
}
.swclass .check li{
break-inside:avoid;
margin:0 0 9px;
}
.swclass details{
border:1px solid var(--line);
background:#090e12;
padding:14px 16px;
margin-top:14px;
}
.swclass summary{
cursor:pointer;
color:var(--gold2);
font:800 .82rem "Segoe UI",Tahoma,Arial,sans-serif;
}
.swclass .nav{
display:flex;
flex-wrap:wrap;
gap:9px;
margin-top:18px;
}
.swclass .btn{
display:inline-flex;
padding:10px 15px;
border:1px solid var(--gold);
border-radius:3px;
background:linear-gradient(#f0cf76,#d6a52d);
color:#171006!important;
text-decoration:none!important;
font:900 .75rem "Segoe UI",Tahoma,Arial,sans-serif;
text-transform:uppercase;
}
.swclass .btn.alt{
background:var(--panel);
color:#fff!important;
}
@media(max-width:900px){
.swclass .roles{
grid-template-columns:repeat(2,1fr);
}
.swclass .class-grid{
grid-template-columns:repeat(2,1fr);
}
.swclass .record{
grid-template-columns:1fr;
}
.swclass .check{
columns:1;
}
}
@media(max-width:560px){
.swclass .roles,.swclass .class-grid{
grid-template-columns:1fr;
}
.swclass .labels{
display:grid;
}
.swclass .labels label{
text-align:center;
}
.swclass th,.swclass td{
padding:8px;
}
}
/* --- WPWriter addition --- */
/* no-op intentionally omitted */
/* --- WPWriter addition --- */
/* Drugs workflow batch via WPWriter */
/* Canonical tabs: legacy edition and source variants — 2026-10-02 */
html body .sw-entry.sw-entry .sw-tabs > input[id$="-3x"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-3x"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-30"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-30"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-community"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-community"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-olympus"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-olympus"]{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid var(--sw-c-border)!important;
border-top:3px solid var(--sw-c-link)!important;
border-radius:8px!important;
background:var(--sw-c-panel)!important;
color:var(--sw-c-text)!important;
}
html body .sw-entry.sw-entry .sw-tabs > input[id$="-3x"]:checked ~ .sw-tab-labels > label[for$="-3x"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-30"]:checked ~ .sw-tab-labels > label[for$="-30"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-community"]:checked ~ .sw-tab-labels > label[for$="-community"] , html body .sw-entry.sw-entry .sw-tabs > input[id$="-olympus"]:checked ~ .sw-tab-labels > label[for$="-olympus"]{
background:var(--sw-c-active)!important;
border-color:var(--sw-c-active)!important;
color:var(--sw-c-active-text)!important;
}
/* --- WPWriter addition --- */
/* noop */
/* --- WPWriter addition --- */
/* SpiralWorlds robust tab fallback: map radio order to panel order.
   This keeps legacy and rebuilt spell tabs working even when old panel IDs differ. */
/* Tabs: checked inputs must reveal their matching edition, not hide every panel. */
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio[type="radio"]:checked ~ .sw-tab-panels > .sw-tab-panel[hidden]{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(5):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(5){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid #55505e!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-of-type(1), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-of-type(2), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-of-type(3), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-of-type(4), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(5):checked ~ .sw-tab-labels > label:nth-of-type(5){
background:#e6c68e!important;
border-color:#e6c68e!important;
color:#17130c!important;
}
/* --- WPWriter addition --- */
/* SpiralWorlds NPC edition tabs — canonical 3-edition layout */
html body .sw-entry.sw-entry.sw-npc .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media (max-width:780px) {
html body .sw-entry.sw-entry.sw-npc .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media (max-width:520px) {
html body .sw-entry.sw-entry.sw-npc .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* Timeline hero title: visual title only; the WordPress page title remains the single H1. */
.sw-timeline-entry .sw-page-title{
margin:.2em 0 .28em;
color:#fff7e6;
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(2.4rem,6vw,4.8rem);
font-weight:700;
line-height:1.05;
}
/* --- WPWriter addition --- */
/* ============================================================
   SPIRALWORLDS HERO -> AT-A-GLANCE ORDER LOCK — 2026-10-06
   Global rendering rule: H1 -> main hero -> At a Glance -> lead/links/content.
   Covers modern .sw-entry pages while leaving location identity blocks intact.
   ============================================================ */
/* Pages whose hero lives inside a top-level header (common on Gods pages). */
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)){
display:flex!important;
flex-direction:column!important;
align-items:stretch!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header{
display:contents!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header > .sw-kicker{
order:10;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header > :is(h1, .sw-entry-title, .sw-page-title, .sw-display-title){
order:20;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header > .sw-hero{
order:30;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance){
order:40;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header > :not(.sw-kicker):not(h1):not(.sw-entry-title):not(.sw-page-title):not(.sw-display-title):not(.sw-hero){
order:50;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header > .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :not(header):not(.sw-glance):not(.sw-at-a-glance):not(.sw-monster-glance){
order:60;
}
/* Pages where H1, hero and At-a-Glance are already direct children. */
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)){
display:flex!important;
flex-direction:column!important;
align-items:stretch!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :is(.sw-kicker){
order:10;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :is(h1, .sw-entry-title, .sw-page-title, .sw-display-title){
order:20;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > .sw-hero{
order:30;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance){
order:40;
}
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > :not(.sw-kicker):not(h1):not(.sw-entry-title):not(.sw-page-title):not(.sw-display-title):not(.sw-hero):not(.sw-glance):not(.sw-at-a-glance):not(.sw-monster-glance){
order:60;
}
/* Wrapped-table At-a-Glance repair.
   Some legacy/Gods pages use .sw-table-wrap around the table; include that
   structure in the canonical panel contract and make the table fill it. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, section.sw-glance ):has(> :is(.sw-table-wrap, .sw-scroll)){
display:block!important;
width:min(930px, 100%)!important;
max-width:930px!important;
min-width:0!important;
margin:1.5rem auto 2.2rem!important;
padding:clamp(1rem, 2vw, 1.25rem)!important;
border:1px solid var(--sw-c-border, #55505e)!important;
border-radius:8px!important;
background:var(--sw-c-panel, #1b1a20)!important;
box-shadow:none!important;
box-sizing:border-box!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-table-wrap, .sw-scroll){
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:0!important;
padding:0!important;
overflow-x:auto!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-table-wrap, .sw-scroll) > table{
display:table!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-table-wrap, .sw-scroll) > table th{
width:30%!important;
white-space:normal!important;
}
@media (max-width: 760px) {
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-table-wrap, .sw-scroll) > table th{
width:36%!important;
}
}
/* END SPIRALWORLDS HERO -> AT-A-GLANCE ORDER LOCK */
/* --- WPWriter addition --- */
/* HERO -> GLANCE ORDER LOCK — direct-hero refinement, 2026-10-06
   On entries without an internal H1/header, contextual kickers stay after
   the hero + At-a-Glance pair rather than jumping above the hero. */
html body:not(.wp-admin) .sw-entry.sw-entry:has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > .sw-kicker{
order:60!important;
}
/* Deity/card-form At-a-Glance repair.
   Roman and other newer deity pages often use a nested .sw-card-grid. */
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, section.sw-glance ):has(> :is(.sw-card-grid, .sw-cards, .sw-quick-grid)){
display:block!important;
width:min(930px, 100%)!important;
max-width:930px!important;
min-width:0!important;
margin:1.5rem auto 2.2rem!important;
padding:clamp(1rem, 2vw, 1.25rem)!important;
border:1px solid var(--sw-c-border, #55505e)!important;
border-radius:8px!important;
background:var(--sw-c-panel, #1b1a20)!important;
box-shadow:none!important;
box-sizing:border-box!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry :is( .sw-at-a-glance, .sw-location-glance, .sw-monster-glance, .sw-glance ) > :is(.sw-card-grid, .sw-cards, .sw-quick-grid){
width:100%!important;
max-width:none!important;
min-width:0!important;
margin:0!important;
}
/* END direct-hero/card-form refinement */
/* --- WPWriter addition --- */
/* BEGIN Gods & Pantheons hub — migrated from page-level CSS */
.sw-gods-hub{
--sw-black: #070706;
--sw-black-soft: #0c0b09;
--sw-panel: #12100d;
--sw-panel-light: #191610;
--sw-gold: #c9a45a;
--sw-gold-bright: #e4c47a;
--sw-gold-dark: #806127;
--sw-cream: #f1e7d3;
--sw-text: #d8cfbd;
--sw-muted: #aaa08e;
--sw-line: rgba(201, 164, 90, 0.28);
--sw-line-strong: rgba(201, 164, 90, 0.56);
background:var(--sw-black)!important;
color:var(--sw-text)!important;
font-family:Arial, Helvetica, sans-serif;
font-size:17px;
line-height:1.7;
overflow:hidden;
}
.sw-gods-hub, .sw-gods-hub *{
box-sizing:border-box;
}
.sw-gods-hub h1, .sw-gods-hub h2, .sw-gods-hub h3, .sw-gods-hub p, .sw-gods-hub figure{
margin-top:0;
}
.sw-gods-hub h1, .sw-gods-hub h2, .sw-gods-hub h3{
color:var(--sw-cream)!important;
}
.sw-gods-hub a, .sw-gods-hub a:visited{
color:inherit!important;
}
.sw-gods-hub img{
display:block;
max-width:100%;
}
.sw-gods-shell{
margin:0 auto;
max-width:1260px;
padding-left:30px;
padding-right:30px;
}
.sw-gods-section{
border-top:1px solid var(--sw-line);
padding:80px 0;
scroll-margin-top:32px;
}
.sw-gods-section--soft{
background:linear-gradient(180deg, rgba(255,255,255,0.014), transparent 18rem), var(--sw-black-soft);
}
.sw-gods-section--pattern{
background:linear-gradient(rgba(7,7,6,0.965), rgba(7,7,6,0.965)), repeating-linear-gradient(45deg, transparent, transparent 22px, rgba(201,164,90,0.025) 22px, rgba(201,164,90,0.025) 23px);
}
.sw-gods-kicker{
color:var(--sw-gold-bright)!important;
font-size:0.74rem;
font-weight:700;
letter-spacing:0.22em;
margin-bottom:12px;
text-transform:uppercase;
}
.sw-gods-heading{
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(2rem, 4.3vw, 3.55rem);
font-weight:500;
letter-spacing:-0.03em;
line-height:1.08;
margin-bottom:0;
}
.sw-gods-heading::after{
background:linear-gradient(90deg, var(--sw-gold), transparent);
content:"";
display:block;
height:2px;
margin-top:21px;
width:92px;
}
.sw-gods-intro{
color:var(--sw-muted)!important;
font-size:1.04rem;
margin:23px 0 0;
max-width:830px;
}
/* HERO */
.sw-gods-hero{
background:radial-gradient(circle at 22% 18%, rgba(201,164,90,0.12), transparent 31rem), #050504;
border-bottom:1px solid var(--sw-line-strong);
position:relative;
}
.sw-gods-hero::after{
background:linear-gradient(90deg, transparent, var(--sw-gold), transparent);
bottom:0;
content:"";
height:2px;
left:8%;
opacity:0.7;
position:absolute;
width:84%;
}
.sw-gods-hero__layout{
align-items:center;
display:grid;
gap:56px;
grid-template-columns:minmax(0, 0.9fr) minmax(440px, 1.1fr);
min-height:670px;
padding-bottom:70px;
padding-top:70px;
}
.sw-gods-hero__sigil{
align-items:center;
border:1px solid var(--sw-line-strong);
border-radius:50%;
color:var(--sw-gold-bright)!important;
display:flex;
font-family:Georgia, "Times New Roman", serif;
font-size:2rem;
height:72px;
justify-content:center;
margin-bottom:26px;
position:relative;
width:72px;
}
.sw-gods-hero__sigil::before, .sw-gods-hero__sigil::after{
border:1px solid rgba(201,164,90,0.23);
border-radius:50%;
content:"";
inset:7px;
position:absolute;
}
.sw-gods-hero__sigil::after{
inset:14px;
}
.sw-gods-hero h1{
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(3.4rem, 6vw, 6.1rem);
font-weight:500;
letter-spacing:-0.058em;
line-height:0.92;
white-space:nowrap;
margin-bottom:0;
text-shadow:0 6px 30px rgba(0,0,0,0.72);
}
.sw-gods-hero__lead{
color:var(--sw-cream)!important;
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(1.2rem, 2.4vw, 1.6rem);
line-height:1.45;
margin:26px 0 0;
max-width:670px;
}
.sw-gods-hero__body{
color:#c9c0ae!important;
margin:18px 0 0;
max-width:680px;
}
.sw-gods-hero__art{
background:#0b0907;
border:1px solid var(--sw-line-strong);
box-shadow:0 24px 70px rgba(0,0,0,0.52);
margin:0;
padding:10px;
position:relative;
}
.sw-gods-hero__art::before{
border:1px solid rgba(228,196,122,0.34);
content:"";
inset:19px;
pointer-events:none;
position:absolute;
z-index:2;
}
.sw-gods-hero__art img{
aspect-ratio:3 / 2;
height:auto;
object-fit:cover;
width:100%;
}
.sw-gods-actions{
display:flex;
flex-wrap:wrap;
gap:13px;
margin-top:30px;
}
.sw-gods-button, .sw-gods-button:visited{
align-items:center;
border:1px solid var(--sw-gold)!important;
display:inline-flex;
font-size:0.76rem;
font-weight:700;
justify-content:center;
letter-spacing:0.12em;
min-height:48px;
padding:12px 22px;
text-decoration:none!important;
text-transform:uppercase;
transition:background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.sw-gods-button--primary, .sw-gods-button--primary:visited{
background:var(--sw-gold);
color:#100d08!important;
}
.sw-gods-button--secondary, .sw-gods-button--secondary:visited{
background:transparent;
color:var(--sw-cream)!important;
}
.sw-gods-button:hover, .sw-gods-button:focus-visible{
background:var(--sw-gold-bright)!important;
border-color:var(--sw-gold-bright)!important;
color:#100d08!important;
transform:translateY(-2px);
}
/* SECTION NAVIGATION */
.sw-gods-nav{
background:#0a0907;
border-bottom:1px solid var(--sw-line);
}
.sw-gods-nav__inner{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.sw-gods-nav a, .sw-gods-nav a:visited{
border-left:1px solid var(--sw-line);
color:#c8bea9!important;
font-size:0.72rem;
font-weight:700;
letter-spacing:0.13em;
padding:18px 14px;
text-align:center;
text-decoration:none!important;
text-transform:uppercase;
}
.sw-gods-nav a:last-child{
border-right:1px solid var(--sw-line);
}
.sw-gods-nav a:hover, .sw-gods-nav a:focus-visible{
background:rgba(201,164,90,0.09);
color:var(--sw-gold-bright)!important;
}
/* DIRECT COLLECTION INDEX */
.sw-gods-index{
background:linear-gradient(110deg, rgba(201,164,90,0.08), transparent 50%), var(--sw-panel);
border:1px solid var(--sw-line-strong);
margin-top:38px;
padding:28px;
}
.sw-gods-index h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1.45rem;
font-weight:500;
margin-bottom:18px;
}
.sw-gods-index__links{
display:grid;
gap:10px;
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-gods-index__links a, .sw-gods-index__links a:visited{
background:#0d0b09;
border:1px solid var(--sw-line);
color:var(--sw-cream)!important;
display:block;
font-size:0.88rem;
font-weight:700;
padding:12px 14px;
text-decoration:none!important;
transition:background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.sw-gods-index__links a:hover, .sw-gods-index__links a:focus-visible{
background:var(--sw-panel-light);
border-color:var(--sw-line-strong);
color:var(--sw-gold-bright)!important;
transform:translateY(-2px);
}
/* COLLECTION CARDS */
.sw-gods-group{
margin-top:58px;
}
.sw-gods-group__head{
margin-bottom:26px;
}
.sw-gods-group__head h3{
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(1.42rem, 2.7vw, 2rem);
font-weight:500;
line-height:1.2;
margin-bottom:8px;
}
.sw-gods-group__head p{
color:var(--sw-muted)!important;
margin-bottom:0;
max-width:800px;
}
.sw-gods-grid{
display:grid;
gap:20px;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.sw-gods-card{
background:linear-gradient(145deg, rgba(255,255,255,0.026), transparent 44%), var(--sw-panel);
border:1px solid var(--sw-line);
box-shadow:0 13px 34px rgba(0,0,0,0.24);
display:flex;
flex-direction:column;
min-height:285px;
overflow:hidden;
padding:26px 24px 23px;
position:relative;
}
.sw-gods-card::before{
background:linear-gradient(90deg, var(--sw-gold-dark), var(--sw-gold-bright), transparent);
content:"";
height:2px;
left:0;
position:absolute;
top:0;
width:74%;
}
.sw-gods-card__top{
align-items:center;
display:flex;
gap:16px;
justify-content:space-between;
margin-bottom:21px;
}
.sw-gods-card__sigil{
align-items:center;
border:1px solid var(--sw-line-strong);
border-radius:50%;
color:var(--sw-gold-bright)!important;
display:flex;
flex:0 0 auto;
font-family:Georgia, "Times New Roman", serif;
font-size:1.18rem;
height:46px;
justify-content:center;
width:46px;
}
.sw-gods-card__label{
color:#91856f!important;
font-size:0.62rem;
font-weight:700;
letter-spacing:0.12em;
line-height:1.35;
text-align:right;
text-transform:uppercase;
}
.sw-gods-card h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1.34rem;
font-weight:500;
line-height:1.24;
margin-bottom:11px;
}
.sw-gods-card h3 a, .sw-gods-card h3 a:visited{
color:var(--sw-cream)!important;
text-decoration:none!important;
}
.sw-gods-card h3 a:hover, .sw-gods-card h3 a:focus-visible{
color:var(--sw-gold-bright)!important;
}
.sw-gods-card p{
color:var(--sw-muted)!important;
font-size:0.9rem;
line-height:1.61;
margin-bottom:22px;
}
.sw-gods-card__link, .sw-gods-card__link:visited{
color:var(--sw-gold-bright)!important;
font-size:0.68rem;
font-weight:700;
letter-spacing:0.12em;
margin-top:auto;
text-decoration:none!important;
text-transform:uppercase;
}
.sw-gods-card__link:hover, .sw-gods-card__link:focus-visible{
color:var(--sw-cream)!important;
}
/* CONTEXT */
.sw-gods-context{
display:grid;
gap:36px;
grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
margin-top:38px;
}
.sw-gods-context__text{
background:var(--sw-panel);
border:1px solid var(--sw-line);
padding:30px;
}
.sw-gods-context__text h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1.5rem;
font-weight:500;
margin-bottom:14px;
}
.sw-gods-context__text p{
color:var(--sw-text)!important;
margin-bottom:16px;
}
.sw-gods-context__text p:last-child{
margin-bottom:0;
}
.sw-gods-principles{
background:linear-gradient(140deg, rgba(201,164,90,0.08), transparent 50%), var(--sw-panel);
border:1px solid var(--sw-line-strong);
padding:30px;
}
.sw-gods-principles h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1.45rem;
font-weight:500;
margin-bottom:14px;
}
.sw-gods-principles ul{
margin:0;
padding-left:19px;
}
.sw-gods-principles li{
color:var(--sw-muted)!important;
margin-bottom:9px;
}
.sw-gods-principles li:last-child{
margin-bottom:0;
}
/* REFERENCES */
.sw-gods-reference-grid{
display:grid;
gap:14px;
grid-template-columns:repeat(2, minmax(0, 1fr));
margin-top:38px;
}
.sw-gods-reference, .sw-gods-reference:visited{
align-items:center;
background:var(--sw-panel);
border:1px solid var(--sw-line);
display:grid;
gap:17px;
grid-template-columns:44px minmax(0, 1fr) auto;
min-height:95px;
padding:17px 19px;
text-decoration:none!important;
transition:background-color 170ms ease, border-color 170ms ease, transform 170ms ease;
}
.sw-gods-reference:hover, .sw-gods-reference:focus-visible{
background:var(--sw-panel-light);
border-color:var(--sw-line-strong);
transform:translateX(3px);
}
.sw-gods-reference__icon{
align-items:center;
border:1px solid var(--sw-line);
color:var(--sw-gold-bright)!important;
display:flex;
font-family:Georgia, "Times New Roman", serif;
font-size:1.05rem;
height:44px;
justify-content:center;
width:44px;
}
.sw-gods-reference__source{
color:#918570!important;
display:block;
font-size:0.62rem;
font-weight:700;
letter-spacing:0.11em;
margin-bottom:3px;
text-transform:uppercase;
}
.sw-gods-reference h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1rem;
font-weight:500;
line-height:1.32;
margin-bottom:0;
}
.sw-gods-reference__open{
color:var(--sw-gold-bright)!important;
font-size:1rem;
}
/* VIDEOS — THUMBNAIL LINKS TO EXTERNAL YOUTUBE PAGES */
.sw-gods-video-grid{
display:grid;
gap:22px;
grid-template-columns:repeat(2, minmax(0, 1fr));
margin-top:38px;
}
.sw-gods-video{
background:var(--sw-panel);
border:1px solid var(--sw-line);
box-shadow:0 15px 38px rgba(0,0,0,0.28);
overflow:hidden;
transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.sw-gods-video:hover, .sw-gods-video:focus-within{
border-color:var(--sw-line-strong);
box-shadow:0 22px 50px rgba(0,0,0,0.42);
transform:translateY(-4px);
}
.sw-gods-video__image, .sw-gods-video__image:visited{
background:#000;
display:block;
overflow:hidden;
position:relative;
}
.sw-gods-video__image::after{
background:linear-gradient(180deg, transparent 52%, rgba(0,0,0,0.58));
content:"";
inset:0;
pointer-events:none;
position:absolute;
}
.sw-gods-video__image img{
aspect-ratio:16 / 9;
height:auto;
object-fit:cover;
transition:transform 220ms ease, filter 220ms ease;
width:100%;
}
.sw-gods-video:hover .sw-gods-video__image img, .sw-gods-video:focus-within .sw-gods-video__image img{
filter:brightness(1.06);
transform:scale(1.025);
}
.sw-gods-video__play{
align-items:center;
background:rgba(7,7,6,0.84);
border:1px solid var(--sw-gold-bright);
border-radius:50%;
color:var(--sw-gold-bright)!important;
display:flex;
font-size:1.15rem;
height:56px;
justify-content:center;
left:50%;
padding-left:3px;
position:absolute;
top:50%;
transform:translate(-50%, -50%);
width:56px;
z-index:2;
}
.sw-gods-video__body{
padding:23px 24px 25px;
}
.sw-gods-video__badge{
color:#918570!important;
display:block;
font-size:0.63rem;
font-weight:700;
letter-spacing:0.12em;
margin-bottom:9px;
text-transform:uppercase;
}
.sw-gods-video h3{
font-family:Georgia, "Times New Roman", serif;
font-size:1.35rem;
font-weight:500;
line-height:1.25;
margin-bottom:10px;
}
.sw-gods-video h3 a, .sw-gods-video h3 a:visited{
color:var(--sw-cream)!important;
text-decoration:none!important;
}
.sw-gods-video h3 a:hover, .sw-gods-video h3 a:focus-visible{
color:var(--sw-gold-bright)!important;
}
.sw-gods-video p{
color:var(--sw-muted)!important;
font-size:0.9rem;
margin-bottom:18px;
}
.sw-gods-video__watch, .sw-gods-video__watch:visited{
color:var(--sw-gold-bright)!important;
font-size:0.69rem;
font-weight:700;
letter-spacing:0.11em;
text-decoration:none!important;
text-transform:uppercase;
}
.sw-gods-video__watch:hover, .sw-gods-video__watch:focus-visible{
color:var(--sw-cream)!important;
}
.sw-gods-hub a:focus-visible{
outline:2px solid var(--sw-gold-bright);
outline-offset:3px;
}
@media (max-width: 1080px) {
.sw-gods-hero__layout{
gap:38px;
grid-template-columns:minmax(0, 1fr) minmax(370px, 0.9fr);
}
.sw-gods-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 820px) {
.sw-gods-shell{
padding-left:21px;
padding-right:21px;
}
.sw-gods-section{
padding:64px 0;
}
.sw-gods-hero__layout{
grid-template-columns:1fr;
min-height:auto;
padding-bottom:58px;
padding-top:62px;
}
.sw-gods-nav__inner{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-gods-nav a, .sw-gods-nav a:last-child{
border-bottom:1px solid var(--sw-line);
border-right:1px solid var(--sw-line);
}
.sw-gods-index__links{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-gods-context{
grid-template-columns:1fr;
}
.sw-gods-reference-grid, .sw-gods-video-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 560px) {
.sw-gods-hub{
font-size:16px;
}
.sw-gods-grid, .sw-gods-index__links{
grid-template-columns:1fr;
}
.sw-gods-card{
min-height:250px;
}
.sw-gods-actions{
align-items:stretch;
flex-direction:column;
}
.sw-gods-button{
width:100%;
}
.sw-gods-reference{
grid-template-columns:42px minmax(0, 1fr);
padding:16px;
}
.sw-gods-reference__open{
display:none;
}
}
@media (prefers-reduced-motion: reduce) {
.sw-gods-hub *, .sw-gods-hub *::before, .sw-gods-hub *::after{
scroll-behavior:auto!important;
transition:none!important;
}
}
/* END Gods & Pantheons hub */
/* --- WPWriter addition --- */
/* GNOMES — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   GNOMES — PLAYABLE PEOPLE
   Page-scoped CSS
   ========================================================= */
#sw-gnomes{
--sw-panel: #fffaf0;
--sw-panel-2: #eee3cf;
--sw-border: #b99b68;
--sw-text: #24211d;
--sw-muted: #665d50;
--sw-accent: #6e4f24;
--sw-accent-2: #8b6837;
--sw-link: #674616;
--sw-shadow: rgba(0,0,0,.14);
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
color:var(--sw-text);
line-height:1.72;
}
#sw-gnomes *, #sw-gnomes *::before, #sw-gnomes *::after{
box-sizing:border-box;
}
#sw-gnomes h1, #sw-gnomes h2, #sw-gnomes h3, #sw-gnomes h4{
line-height:1.22;
color:var(--sw-text);
}
#sw-gnomes h1{
margin:0 0 1.1rem;
font-size:clamp(2.1rem, 5vw, 3.6rem);
}
#sw-gnomes h2{
margin-top:2.65rem;
padding-bottom:.42rem;
border-bottom:1px solid var(--sw-border);
}
#sw-gnomes h3{
margin-top:1.8rem;
}
#sw-gnomes h4{
margin-top:1.4rem;
}
#sw-gnomes a{
color:var(--sw-link);
text-decoration-thickness:.08em;
text-underline-offset:.15em;
}
#sw-gnomes .sw-lead{
font-size:1.12rem;
margin:1.45rem 0 1.8rem;
}
#sw-gnomes .sw-note, #sw-gnomes .sw-rule-note{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-left:5px solid var(--sw-accent-2);
padding:1rem 1.15rem;
margin:1.35rem 0;
border-radius:4px;
}
/* =========================================================
   IMAGES
   ========================================================= */
#sw-gnomes figure{
margin:1.5rem 0 2rem;
}
#sw-gnomes figure img{
display:block;
width:100%;
height:auto;
border-radius:5px;
box-shadow:0 4px 18px var(--sw-shadow);
}
#sw-gnomes figcaption{
margin-top:.62rem;
color:var(--sw-muted);
font-size:.93rem;
line-height:1.5;
}
#sw-gnomes .sw-hero img{
max-height:760px;
object-fit:cover;
}
#sw-gnomes .sw-supporting-image{
max-width:980px;
margin-left:auto;
margin-right:auto;
}
#sw-gnomes .sw-lightbox{
display:none!important;
position:fixed;
inset:0;
z-index:999999;
padding:3vh 3vw;
background:rgba(0,0,0,.92);
align-items:center;
justify-content:center;
}
#sw-gnomes .sw-lightbox:target{
display:flex!important;
}
#sw-gnomes .sw-lightbox img{
max-width:96vw;
max-height:88vh;
width:auto;
height:auto;
object-fit:contain;
}
#sw-gnomes .sw-lightbox-close{
position:fixed;
top:12px;
right:20px;
z-index:1000000;
color:#fff!important;
font-size:2rem;
text-decoration:none;
line-height:1;
padding:.35rem .55rem;
}
/* =========================================================
   TABLES
   ========================================================= */
#sw-gnomes .sw-table-wrap{
width:100%;
overflow-x:auto;
margin:1.2rem 0 1.8rem;
-webkit-overflow-scrolling:touch;
}
#sw-gnomes table{
width:100%;
min-width:620px;
border-collapse:collapse;
background:var(--sw-panel);
border:1px solid var(--sw-border);
}
#sw-gnomes th, #sw-gnomes td{
padding:.72rem .82rem;
vertical-align:top;
border:1px solid var(--sw-border);
text-align:left;
}
#sw-gnomes th{
background:var(--sw-panel-2);
font-weight:700;
}
#sw-gnomes tbody tr:nth-child(even) td{
background:rgba(139,104,55,.055);
}
#sw-gnomes .sw-at-glance th:first-child{
width:25%;
}
/* =========================================================
   CSS-ONLY EDITION TABS
   ========================================================= */
#sw-gnomes .sw-tabs{
margin:1.4rem 0 2rem;
}
#sw-gnomes .sw-tab-input{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0,0,0,0)!important;
white-space:nowrap!important;
border:0!important;
opacity:0!important;
}
#sw-gnomes .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.45rem;
margin-bottom:.65rem;
}
#sw-gnomes .sw-tab-labels label{
display:flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:.65rem .55rem;
text-align:center;
cursor:pointer;
background:var(--sw-panel-2);
border:1px solid var(--sw-border);
border-radius:4px;
font-weight:700;
line-height:1.3;
}
#sw-gnomes .sw-tab-labels label:hover{
filter:brightness(.98);
}
#sw-gnomes .sw-tab-panel{
display:none!important;
background:var(--sw-panel);
border:1px solid var(--sw-border);
padding:clamp(1rem,3vw,1.6rem);
border-radius:4px;
}
#sw-gnome-tab-55:checked ~ .sw-tab-panels .sw-panel-55, #sw-gnome-tab-5e:checked ~ .sw-tab-panels .sw-panel-5e, #sw-gnome-tab-pf:checked ~ .sw-tab-panels .sw-panel-pf, #sw-gnome-tab-35:checked ~ .sw-tab-panels .sw-panel-35{
display:block!important;
}
#sw-gnome-tab-55:checked ~ .sw-tab-labels label[for="sw-gnome-tab-55"], #sw-gnome-tab-5e:checked ~ .sw-tab-labels label[for="sw-gnome-tab-5e"], #sw-gnome-tab-pf:checked ~ .sw-tab-labels label[for="sw-gnome-tab-pf"], #sw-gnome-tab-35:checked ~ .sw-tab-labels label[for="sw-gnome-tab-35"]{
background:var(--sw-accent);
color:#fff;
border-color:var(--sw-accent);
}
#sw-gnomes .sw-stat-list{
padding-left:1.25rem;
}
#sw-gnomes .sw-stat-list li{
margin-bottom:.55rem;
}
/* =========================================================
   ADVENTURE HOOKS
   ========================================================= */
#sw-gnomes .sw-hooks th:first-child{
width:27%;
}
/* =========================================================
   VIDEOS
   ========================================================= */
#sw-gnomes .sw-video-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
margin:1.2rem 0;
}
#sw-gnomes .sw-video{
background:var(--sw-panel);
border:1px solid var(--sw-border);
padding:.8rem;
border-radius:4px;
}
#sw-gnomes .sw-video-frame{
position:relative;
width:100%;
padding-top:56.25%;
overflow:hidden;
background:#000;
}
#sw-gnomes .sw-video-frame iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
#sw-gnomes .sw-video p{
margin-bottom:0;
}
/* =========================================================
   FAQ / LICENSING
   ========================================================= */
#sw-gnomes details{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:4px;
margin:.8rem 0;
padding:.85rem 1rem;
}
#sw-gnomes summary{
cursor:pointer;
font-weight:700;
}
#sw-gnomes .sw-license{
font-size:.92rem;
line-height:1.58;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:820px) {
#sw-gnomes .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
#sw-gnomes .sw-video-grid{
grid-template-columns:1fr;
}
}
@media (max-width:520px) {
#sw-gnomes{
width:calc(100% - 20px);
}
#sw-gnomes .sw-tab-labels{
grid-template-columns:1fr;
}
}
/* =========================================================
   DARK MODE
   ========================================================= */
@media (prefers-color-scheme:dark) {
#sw-gnomes{
--sw-panel: #211f1b;
--sw-panel-2: #302b23;
--sw-border: #76613f;
--sw-text: #f0e9dd;
--sw-muted: #c9bda9;
--sw-accent: #8c6734;
--sw-accent-2: #bc945b;
--sw-link: #e1bb7a;
}
}
.astra-dark-mode-enable #sw-gnomes{
--sw-panel: #211f1b;
--sw-panel-2: #302b23;
--sw-border: #76613f;
--sw-text: #f0e9dd;
--sw-muted: #c9bda9;
--sw-accent: #8c6734;
--sw-accent-2: #bc945b;
--sw-link: #e1bb7a;
}
/* END GNOMES */
/* --- WPWriter addition --- */
/* LIMBO — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — LIMBO
   The Unfixed Realm
   FINAL BESTIARY-INTEGRATED PUBLICATION BUILD
   ========================================================= */
.sw-limbo{
--sw-bg: #080a0f;
--sw-bg-soft: #0e121a;
--sw-panel: #111722;
--sw-panel-2: #171d29;
--sw-gold: #d7b65e;
--sw-gold-soft: #f0d991;
--sw-purple: #a38ac8;
--sw-blue: #82b8cf;
--sw-text: #e8e7e2;
--sw-muted: #aeb2ba;
--sw-border: rgba(215,182,94,.27);
--sw-border-soft: rgba(255,255,255,.09);
--sw-radius: 16px;
--sw-shadow: 0 18px 44px rgba(0,0,0,.28);
background:radial-gradient(circle at 12% 4%, rgba(105,72,150,.13), transparent 30rem), radial-gradient(circle at 93% 17%, rgba(47,126,155,.10), transparent 32rem), linear-gradient(180deg, #080a0f 0%, #0b0e14 46%, #080a0f 100%);
color:var(--sw-text);
font-family:"Quicksand", system-ui, sans-serif;
line-height:1.72;
padding:clamp(14px,3vw,40px);
border-radius:18px;
overflow:hidden;
}
.sw-limbo *, .sw-limbo *::before, .sw-limbo *::after{
box-sizing:border-box;
}
.sw-limbo .sw-shell{
max-width:1180px;
margin:0 auto;
}
.sw-limbo a{
color:var(--sw-gold-soft);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-limbo a:hover, .sw-limbo a:focus{
color:#fff2c5;
}
.sw-limbo h1, .sw-limbo h2, .sw-limbo h3, .sw-limbo h4{
color:#fff;
line-height:1.15;
margin-top:0;
}
.sw-limbo h1{
font-size:clamp(2.45rem,6vw,4.8rem);
font-weight:500;
letter-spacing:-.035em;
margin-bottom:15px;
}
.sw-limbo h2{
font-size:clamp(1.65rem,3.2vw,2.4rem);
font-weight:600;
margin-bottom:17px;
}
.sw-limbo h3{
font-size:clamp(1.14rem,2vw,1.42rem);
font-weight:650;
margin-bottom:9px;
}
.sw-limbo h4{
font-size:.95rem;
font-weight:700;
letter-spacing:.085em;
text-transform:uppercase;
color:var(--sw-gold-soft);
margin-bottom:8px;
}
.sw-limbo p{
margin:0 0 1.1em;
}
.sw-limbo ul, .sw-limbo ol{
margin-top:0;
padding-left:1.25rem;
}
.sw-limbo li + li{
margin-top:.38rem;
}
.sw-limbo strong{
color:#fff;
}
.sw-limbo .sw-eyebrow{
color:var(--sw-gold);
font-size:.74rem;
font-weight:700;
letter-spacing:.15em;
text-transform:uppercase;
margin-bottom:11px;
}
.sw-limbo .sw-eyebrow a{
color:var(--sw-gold);
text-decoration:none;
font-weight:700;
}
.sw-limbo .sw-eyebrow a:hover, .sw-limbo .sw-eyebrow a:focus{
color:var(--sw-gold-soft);
text-decoration:underline;
text-underline-offset:3px;
}
.sw-limbo .sw-eyebrow-separator{
display:inline-block;
margin:0 .35em;
color:rgba(240,217,145,.58);
}
.sw-limbo .sw-lead{
max-width:890px;
font-size:clamp(1.08rem,2vw,1.34rem);
color:#d8d9dc;
margin-bottom:22px;
}
/* ================= HERO ================= */
.sw-limbo .sw-hero{
position:relative;
padding:clamp(25px,5vw,56px);
border:1px solid var(--sw-border);
border-radius:22px;
background:linear-gradient(135deg,rgba(22,29,42,.96),rgba(9,13,19,.95));
box-shadow:var(--sw-shadow);
margin-bottom:22px;
overflow:hidden;
}
.sw-limbo .sw-hero::after{
content:"";
position:absolute;
width:330px;
height:330px;
right:-145px;
top:-155px;
border:1px solid rgba(215,182,94,.17);
border-radius:43% 57% 66% 34% / 35% 44% 56% 65%;
transform:rotate(27deg);
box-shadow:0 0 0 30px rgba(215,182,94,.02), 0 0 0 65px rgba(130,184,207,.014);
pointer-events:none;
}
.sw-limbo .sw-hero-quote{
max-width:800px;
padding:15px 19px;
border-left:3px solid var(--sw-gold);
background:rgba(0,0,0,.18);
border-radius:0 10px 10px 0;
font-size:1.04rem;
color:#f1eee6;
}
/* ================= IMAGES ================= */
.sw-limbo .sw-figure{
margin:24px 0;
}
.sw-limbo .sw-image-frame{
overflow:hidden;
border-radius:14px;
border:1px solid var(--sw-border);
background:#05070b;
box-shadow:0 15px 35px rgba(0,0,0,.24);
}
.sw-limbo .sw-image-frame img{
display:block;
width:100%;
height:auto;
}
.sw-limbo .sw-hero-image img{
aspect-ratio:3 / 2;
object-fit:cover;
}
.sw-limbo .sw-sigil-image img{
aspect-ratio:1 / 1;
object-fit:cover;
}
.sw-limbo .sw-chart-image img{
aspect-ratio:4 / 3;
object-fit:cover;
}
.sw-limbo figcaption{
padding:10px 3px 0;
font-size:.82rem;
line-height:1.5;
color:var(--sw-muted);
}
/* ================= PROFILE ================= */
.sw-limbo .sw-profile-wrap{
display:grid;
grid-template-columns:minmax(0,1.6fr) minmax(240px,.7fr);
gap:18px;
align-items:stretch;
margin-top:22px;
}
.sw-limbo .sw-profile{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:9px;
}
.sw-limbo .sw-profile-item{
padding:13px 14px;
background:rgba(255,255,255,.034);
border:1px solid var(--sw-border-soft);
border-radius:10px;
}
.sw-limbo .sw-profile-label{
display:block;
font-size:.65rem;
text-transform:uppercase;
letter-spacing:.09em;
color:var(--sw-gold);
margin-bottom:4px;
}
.sw-limbo .sw-profile-value{
display:block;
color:#fff;
font-size:.9rem;
}
.sw-limbo .sw-sigil-card{
padding:13px;
background:rgba(255,255,255,.025);
border:1px solid var(--sw-border-soft);
border-radius:12px;
}
.sw-limbo .sw-sigil-card h3{
font-size:1.02rem;
margin:10px 0 5px;
}
.sw-limbo .sw-sigil-card p{
font-size:.82rem;
color:var(--sw-muted);
margin-bottom:0;
}
/* ================= NAV ================= */
.sw-limbo .sw-jump{
display:flex;
flex-wrap:wrap;
gap:7px;
padding:12px;
margin:0 0 24px;
background:rgba(255,255,255,.022);
border:1px solid var(--sw-border-soft);
border-radius:12px;
}
.sw-limbo .sw-jump a{
display:inline-block;
padding:6px 10px;
background:rgba(215,182,94,.06);
border:1px solid rgba(215,182,94,.16);
border-radius:999px;
text-decoration:none;
font-size:.8rem;
}
/* ================= SECTIONS ================= */
.sw-limbo .sw-section{
margin-top:27px;
padding:clamp(20px,4vw,37px);
background:linear-gradient( 180deg, rgba(18,23,34,.94), rgba(12,16,24,.95) );
border:1px solid var(--sw-border-soft);
border-radius:var(--sw-radius);
box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.sw-limbo .sw-section-intro{
max-width:890px;
color:#d2d3d7;
margin-bottom:19px;
}
.sw-limbo .sw-callout{
padding:17px 19px;
margin:19px 0;
background:rgba(215,182,94,.055);
border:1px solid var(--sw-border);
border-radius:12px;
}
.sw-limbo .sw-callout p:last-child, .sw-limbo .sw-callout ul:last-child{
margin-bottom:0;
}
.sw-limbo .sw-rule{
border:0;
border-top:1px solid var(--sw-border-soft);
margin:25px 0;
}
/* ================= CARDS ================= */
.sw-limbo .sw-grid-2, .sw-limbo .sw-grid-3, .sw-limbo .sw-grid-4{
display:grid;
gap:13px;
}
.sw-limbo .sw-grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-limbo .sw-grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}
.sw-limbo .sw-grid-4{
grid-template-columns:repeat(4,minmax(0,1fr));
}
.sw-limbo .sw-card{
padding:17px;
background:rgba(255,255,255,.024);
border:1px solid var(--sw-border-soft);
border-radius:11px;
}
.sw-limbo .sw-card p:last-child, .sw-limbo .sw-card ul:last-child{
margin-bottom:0;
}
.sw-limbo .sw-card-kicker{
color:var(--sw-gold);
font-size:.69rem;
text-transform:uppercase;
letter-spacing:.1em;
font-weight:700;
margin-bottom:7px;
}
/* ================= TABS ================= */
.sw-limbo .sw-tabs{
margin-top:17px;
}
.sw-limbo .sw-tab-buttons{
display:flex;
flex-wrap:wrap;
gap:7px;
margin-bottom:14px;
}
.sw-limbo .sw-tab-button{
appearance:none;
border:1px solid var(--sw-border);
background:#10151e;
color:#ddd;
padding:10px 14px;
border-radius:9px;
cursor:pointer;
font:inherit;
font-size:.84rem;
font-weight:650;
}
.sw-limbo .sw-tab-button:hover, .sw-limbo .sw-tab-button:focus-visible, .sw-limbo .sw-tab-button.is-active{
background:var(--sw-gold);
border-color:var(--sw-gold);
color:#111;
}
.sw-limbo .sw-tab-panel{
padding:19px;
margin-bottom:11px;
background:rgba(0,0,0,.16);
border:1px solid var(--sw-border-soft);
border-radius:11px;
}
.sw-limbo.sw-js .sw-tab-panel{
display:none;
}
.sw-limbo.sw-js .sw-tab-panel.is-active{
display:block;
}
/* ================= TABLES ================= */
.sw-limbo .sw-table-wrap{
overflow-x:auto;
margin:15px 0 18px;
}
.sw-limbo .sw-rule-table{
width:100%;
min-width:590px;
border-collapse:collapse;
font-size:.89rem;
}
.sw-limbo .sw-rule-table th, .sw-limbo .sw-rule-table td{
padding:10px 11px;
border:1px solid var(--sw-border-soft);
text-align:left;
vertical-align:top;
}
.sw-limbo .sw-rule-table th{
color:var(--sw-gold-soft);
background:rgba(215,182,94,.05);
font-weight:650;
}
/* ================= TIMELINE ================= */
.sw-limbo .sw-timeline{
position:relative;
padding-left:25px;
margin-top:21px;
}
.sw-limbo .sw-timeline::before{
content:"";
position:absolute;
left:6px;
top:6px;
bottom:4px;
width:1px;
background:linear-gradient( var(--sw-gold), rgba(215,182,94,.08) );
}
.sw-limbo .sw-time-item{
position:relative;
padding:0 0 23px 12px;
}
.sw-limbo .sw-time-item:last-child{
padding-bottom:0;
}
.sw-limbo .sw-time-item::before{
content:"";
position:absolute;
left:-24px;
top:6px;
width:11px;
height:11px;
border-radius:50%;
background:var(--sw-gold);
box-shadow:0 0 0 4px rgba(215,182,94,.11);
}
.sw-limbo .sw-time-label{
color:var(--sw-gold);
font-size:.72rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:.1em;
margin-bottom:5px;
}
/* ================= REGIONS ================= */
.sw-limbo .sw-region-head{
display:flex;
align-items:flex-start;
gap:13px;
margin-bottom:16px;
}
.sw-limbo .sw-region-number{
flex:0 0 auto;
width:38px;
height:38px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(215,182,94,.09);
border:1px solid var(--sw-border);
color:var(--sw-gold-soft);
font-weight:700;
}
.sw-limbo .sw-feature-list{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:9px;
margin:17px 0;
}
.sw-limbo .sw-feature{
padding:12px 13px;
border-left:2px solid rgba(215,182,94,.62);
background:rgba(255,255,255,.023);
}
.sw-limbo .sw-feature strong{
display:block;
margin-bottom:4px;
}
/* ================= FLUX ================= */
.sw-limbo .sw-flux{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px;
margin-top:14px;
}
.sw-limbo .sw-flux > div{
padding:12px 13px;
background:rgba(255,255,255,.023);
border:1px solid var(--sw-border-soft);
border-radius:9px;
}
.sw-limbo .sw-flux strong{
color:var(--sw-gold-soft);
}
/* ================= ADVENTURE HOOKS ================= */
.sw-limbo .sw-hooks{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:11px;
counter-reset:limbohook;
}
.sw-limbo .sw-hook{
counter-increment:limbohook;
position:relative;
padding:17px 17px 17px 53px;
background:rgba(255,255,255,.023);
border:1px solid var(--sw-border-soft);
border-radius:11px;
}
.sw-limbo .sw-hook::before{
content:counter(limbohook,decimal-leading-zero);
position:absolute;
left:15px;
top:16px;
color:var(--sw-gold);
font-weight:700;
font-size:.87rem;
}
/* ================= VIDEO ================= */
.sw-limbo .sw-video{
position:relative;
aspect-ratio:16 / 9;
overflow:hidden;
border-radius:12px;
background:#000;
border:1px solid var(--sw-border-soft);
margin-top:14px;
}
.sw-limbo .sw-video iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
/* ================= RELATED ================= */
.sw-limbo .sw-related{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:9px;
}
.sw-limbo .sw-related a{
display:block;
height:100%;
padding:14px;
text-decoration:none;
background:rgba(255,255,255,.023);
border:1px solid var(--sw-border-soft);
border-radius:9px;
}
.sw-limbo .sw-related a:hover, .sw-limbo .sw-related a:focus{
background:rgba(215,182,94,.055);
border-color:var(--sw-border);
}
.sw-limbo .sw-related strong{
display:block;
color:var(--sw-gold-soft);
margin-bottom:3px;
}
.sw-limbo .sw-related span{
display:block;
font-size:.82rem;
color:var(--sw-muted);
}
/* ================= FAQ ================= */
.sw-limbo details{
background:rgba(255,255,255,.021);
border:1px solid var(--sw-border-soft);
border-radius:9px;
padding:0 14px;
margin-bottom:7px;
}
.sw-limbo summary{
cursor:pointer;
padding:12px 0;
color:#fff;
font-weight:650;
}
.sw-limbo details p{
padding-bottom:12px;
color:#d3d4d7;
}
/* ================= RESPONSIVE ================= */
@media (max-width: 900px) {
.sw-limbo .sw-profile-wrap{
grid-template-columns:1fr;
}
.sw-limbo .sw-profile{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-limbo .sw-sigil-card{
max-width:430px;
}
.sw-limbo .sw-grid-3, .sw-limbo .sw-related{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width: 650px) {
.sw-limbo{
padding:11px;
border-radius:10px;
}
.sw-limbo .sw-hero, .sw-limbo .sw-section{
padding:19px 15px;
}
.sw-limbo .sw-profile, .sw-limbo .sw-grid-2, .sw-limbo .sw-grid-3, .sw-limbo .sw-grid-4, .sw-limbo .sw-feature-list, .sw-limbo .sw-flux, .sw-limbo .sw-hooks, .sw-limbo .sw-related{
grid-template-columns:1fr;
}
.sw-limbo .sw-tab-button{
flex:1 1 auto;
}
}
/* END LIMBO */
/* --- WPWriter addition --- */
/* ASTRAL PLANE — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — ASTRAL PLANE
   Dark Chronicle / Silver Expanse
   Page-scoped to .sw-astral
   No JavaScript required
   ========================================================= */
.sw-astral{
--astral-bg: #070a12;
--astral-bg-soft: #0b101c;
--astral-panel: rgba(18, 24, 40, 0.88);
--astral-panel-soft: rgba(27, 34, 55, 0.68);
--astral-text: #e7ebf3;
--astral-muted: #aab3c5;
--astral-silver: #dce2ee;
--astral-bright: #f8faff;
--astral-violet: #aaa4d9;
--astral-violet-soft: rgba(170, 164, 217, 0.14);
--astral-blue: #94b9da;
--astral-gold: #c5af79;
--astral-line: rgba(207, 217, 239, 0.17);
--astral-line-strong: rgba(207, 217, 239, 0.32);
--astral-radius: 16px;
--astral-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
position:relative;
max-width:1180px;
margin:0 auto;
padding:clamp(18px, 3vw, 38px);
color:var(--astral-text);
background:radial-gradient( circle at 84% 4%, rgba(143, 138, 205, 0.14), transparent 31% ), radial-gradient( circle at 11% 31%, rgba(105, 157, 198, 0.09), transparent 29% ), linear-gradient( 180deg, #080b14 0%, #0a0e19 46%, #070a12 100% );
border:1px solid rgba(213, 221, 241, 0.10);
border-radius:18px;
box-shadow:var(--astral-shadow);
overflow:hidden;
font-size:17px;
line-height:1.72;
}
/* =========================================================
   BASE TYPOGRAPHY
   ========================================================= */
.sw-astral, .sw-astral p, .sw-astral li, .sw-astral td, .sw-astral th{
color:var(--astral-text);
}
.sw-astral p{
margin:0 0 1.08em;
}
.sw-astral p:last-child{
margin-bottom:0;
}
.sw-astral strong{
color:var(--astral-bright);
font-weight:700;
}
.sw-astral em{
color:#d4d9e6;
}
.sw-astral a{
color:#bed6ed;
text-decoration-color:rgba(190, 214, 237, 0.38);
text-decoration-thickness:1px;
text-underline-offset:3px;
transition:color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, text-decoration-color 0.18s ease;
}
.sw-astral a:hover, .sw-astral a:focus{
color:#ffffff;
text-decoration-color:var(--astral-violet);
}
.sw-astral h1, .sw-astral h2, .sw-astral h3, .sw-astral h4{
font-family:"Quicksand", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color:var(--astral-bright);
text-wrap:balance;
}
.sw-astral h1{
max-width:960px;
margin:0 0 18px;
font-size:clamp(2.35rem, 5.2vw, 4.4rem);
line-height:1.03;
font-weight:600;
letter-spacing:-0.045em;
}
.sw-astral h2{
margin:0 0 22px;
font-size:clamp(1.7rem, 3.5vw, 2.55rem);
line-height:1.15;
font-weight:620;
letter-spacing:-0.03em;
}
.sw-astral h3{
margin:1.15em 0 0.5em;
font-size:clamp(1.17rem, 2.2vw, 1.48rem);
line-height:1.28;
font-weight:650;
letter-spacing:-0.018em;
color:#eef2fa;
}
.sw-astral h4{
margin:1.1em 0 0.45em;
font-size:1.06rem;
font-weight:700;
}
.sw-astral ul, .sw-astral ol{
padding-left:1.4em;
}
.sw-astral li{
margin-bottom:0.4em;
}
.sw-astral li::marker{
color:var(--astral-violet);
}
/* =========================================================
   HERO
   ========================================================= */
.sw-astral .sw-hero{
position:relative;
padding:clamp(38px, 6vw, 74px) clamp(23px, 5vw, 60px) clamp(32px, 5vw, 58px);
margin:calc(clamp(18px, 3vw, 38px) * -1) calc(clamp(18px, 3vw, 38px) * -1) 0;
background:linear-gradient( 120deg, rgba(6, 9, 18, 0.97), rgba(17, 23, 39, 0.90) );
border-bottom:1px solid var(--astral-line);
overflow:hidden;
}
.sw-astral .sw-hero::before{
content:"";
position:absolute;
inset:-45% -15% auto 37%;
height:450px;
pointer-events:none;
background:radial-gradient( ellipse, rgba(209, 217, 242, 0.13), rgba(155, 149, 209, 0.07) 38%, transparent 70% );
transform:rotate(-8deg);
}
.sw-astral .sw-hero > *{
position:relative;
z-index:1;
}
.sw-astral .sw-kicker, .sw-astral .sw-eyebrow{
display:inline-block;
margin:0 0 15px;
color:var(--astral-violet);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.76rem;
font-weight:700;
line-height:1.4;
letter-spacing:0.16em;
text-transform:uppercase;
}
.sw-astral .sw-lead{
max-width:850px;
margin-bottom:24px;
color:#d0d6e3;
font-size:clamp(1.05rem, 2vw, 1.25rem);
line-height:1.68;
}
.sw-astral .sw-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:24px 0 0;
}
.sw-astral .sw-button, .sw-astral a.sw-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:10px 17px;
border:1px solid rgba(207, 217, 240, 0.27);
border-radius:999px;
color:#f7f9ff;
background:linear-gradient( 180deg, rgba(132, 142, 181, 0.17), rgba(76, 86, 122, 0.09) );
box-shadow:inset 0 1px rgba(255, 255, 255, 0.04);
text-decoration:none;
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.87rem;
font-weight:650;
}
.sw-astral .sw-button:hover, .sw-astral .sw-button:focus{
border-color:rgba(222, 229, 249, 0.48);
background:linear-gradient( 180deg, rgba(151, 157, 205, 0.25), rgba(94, 102, 145, 0.14) );
}
/* =========================================================
   HERO IMAGE
   ========================================================= */
.sw-astral .sw-hero-image{
margin:0 calc(clamp(18px, 3vw, 38px) * -1) 0;
background:#050811;
}
.sw-astral .sw-hero-image img{
display:block;
width:100%;
height:auto;
max-height:720px;
object-fit:cover;
}
.sw-astral .sw-hero-image figcaption{
padding:11px clamp(18px, 3vw, 38px) 13px;
border-bottom:1px solid var(--astral-line);
color:var(--astral-muted);
font-size:0.79rem;
line-height:1.5;
}
/* =========================================================
   JUMP NAVIGATION
   ========================================================= */
.sw-astral .sw-jump-nav{
display:flex;
flex-wrap:wrap;
gap:7px;
padding:15px;
margin:25px 0 8px;
background:rgba(5, 8, 15, 0.58);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-jump-nav a{
display:inline-flex;
padding:7px 11px;
border:1px solid transparent;
border-radius:999px;
color:#bcc6d8;
text-decoration:none;
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.77rem;
font-weight:620;
line-height:1.2;
}
.sw-astral .sw-jump-nav a:hover, .sw-astral .sw-jump-nav a:focus{
color:#ffffff;
background:var(--astral-violet-soft);
border-color:rgba(178, 170, 222, 0.21);
}
/* =========================================================
   SECTIONS
   ========================================================= */
.sw-astral .sw-section{
position:relative;
padding:clamp(36px, 5vw, 58px) 0;
border-top:1px solid var(--astral-line);
scroll-margin-top:90px;
}
.sw-astral .sw-section:first-of-type{
border-top:0;
}
.sw-astral .sw-section-label{
display:inline-block;
margin-bottom:10px;
color:var(--astral-violet);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.73rem;
font-weight:700;
letter-spacing:0.15em;
text-transform:uppercase;
}
/* =========================================================
   GENERIC PANELS / CARDS / GRIDS
   ========================================================= */
.sw-astral .sw-card, .sw-astral .sw-panel, .sw-astral .sw-fact-card{
padding:clamp(18px, 3vw, 26px);
background:linear-gradient( 145deg, rgba(27, 34, 54, 0.82), rgba(12, 17, 29, 0.82) );
border:1px solid var(--astral-line);
border-radius:var(--astral-radius);
box-shadow:0 12px 34px rgba(0, 0, 0, 0.18);
}
.sw-astral .sw-card h3:first-child, .sw-astral .sw-panel h3:first-child{
margin-top:0;
}
.sw-astral .sw-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:16px;
}
.sw-astral .sw-grid-3{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:15px;
}
/* =========================================================
   FACT GRID
   ========================================================= */
.sw-astral .sw-facts{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1px;
overflow:hidden;
margin:24px 0;
background:var(--astral-line);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-fact{
min-width:0;
padding:17px 19px;
background:rgba(11, 15, 26, 0.96);
}
.sw-astral .sw-fact-label{
display:block;
margin-bottom:5px;
color:var(--astral-violet);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.7rem;
font-weight:700;
letter-spacing:0.09em;
text-transform:uppercase;
}
.sw-astral .sw-fact-value{
color:var(--astral-bright);
font-size:0.97rem;
line-height:1.55;
}
/* =========================================================
   IMAGES
   ========================================================= */
.sw-astral figure{
margin:28px 0 32px;
}
.sw-astral figure img, .sw-astral .sw-image img{
display:block;
width:100%;
height:auto;
border:1px solid rgba(205, 214, 236, 0.16);
border-radius:15px;
box-shadow:0 18px 48px rgba(0, 0, 0, 0.32);
}
.sw-astral figcaption{
padding:10px 4px 0;
color:var(--astral-muted);
font-size:0.79rem;
line-height:1.55;
}
.sw-astral .sw-sigil{
display:grid;
grid-template-columns:minmax(190px, 310px) minmax(0, 1fr);
gap:clamp(22px, 4vw, 38px);
align-items:center;
margin:30px 0;
padding:clamp(18px, 3vw, 28px);
background:rgba(12, 17, 29, 0.7);
border:1px solid var(--astral-line);
border-radius:var(--astral-radius);
}
.sw-astral .sw-sigil figure{
margin:0;
}
.sw-astral .sw-sigil img{
aspect-ratio:1 / 1;
object-fit:cover;
}
/* =========================================================
   CHRONOLOGY
   ========================================================= */
.sw-astral .sw-eon-list{
display:grid;
gap:14px;
margin-top:26px;
}
.sw-astral .sw-eon{
position:relative;
padding:22px 22px 22px 76px;
background:rgba(16, 21, 35, 0.70);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-eon::before{
content:"";
position:absolute;
top:23px;
bottom:23px;
left:49px;
width:1px;
background:linear-gradient( var(--astral-violet), rgba(169, 160, 216, 0.08) );
}
.sw-astral .sw-eon-number{
position:absolute;
top:20px;
left:18px;
display:grid;
place-items:center;
width:38px;
height:38px;
border:1px solid rgba(191, 197, 228, 0.30);
border-radius:50%;
color:#e5e6f6;
background:#101526;
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.69rem;
font-weight:700;
text-align:center;
}
.sw-astral .sw-eon h3{
margin-top:0;
}
/* =========================================================
   SIX LAWS
   ========================================================= */
.sw-astral .sw-law-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
margin-top:25px;
}
.sw-astral .sw-law{
padding:21px;
background:rgba(15, 20, 33, 0.72);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-law-number, .sw-astral .sw-region-tag{
display:inline-block;
margin-bottom:7px;
color:var(--astral-blue);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.69rem;
font-weight:700;
letter-spacing:0.11em;
text-transform:uppercase;
}
.sw-astral .sw-law h3{
margin-top:0;
}
/* =========================================================
   CALLOUTS
   ========================================================= */
.sw-astral .sw-callout, .sw-astral blockquote{
margin:28px 0;
padding:21px 23px;
color:#d9deea;
background:linear-gradient( 135deg, rgba(165, 158, 210, 0.09), rgba(31, 38, 60, 0.38) );
border:1px solid rgba(185, 184, 220, 0.18);
border-left:3px solid var(--astral-violet);
border-radius:0 14px 14px 0;
}
.sw-astral .sw-callout strong{
color:#f6f7ff;
}
/* =========================================================
   REGIONS
   ========================================================= */
.sw-astral .sw-region-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:15px;
margin:24px 0;
}
.sw-astral .sw-region{
position:relative;
padding:22px;
background:linear-gradient( 145deg, rgba(25, 31, 50, 0.73), rgba(10, 14, 24, 0.73) );
border:1px solid var(--astral-line);
border-radius:15px;
}
.sw-astral .sw-region h3{
margin-top:0;
}
.sw-astral .sw-region::after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
border-radius:inherit;
box-shadow:inset 0 1px rgba(255, 255, 255, 0.025);
}
.sw-astral .sw-region-wide{
grid-column:1 / -1;
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-astral .sw-table-wrap{
max-width:100%;
margin:22px 0 28px;
overflow-x:auto;
border:1px solid var(--astral-line);
border-radius:14px;
-webkit-overflow-scrolling:touch;
}
.sw-astral table{
width:100%;
min-width:680px;
margin:0;
border-collapse:collapse;
background:rgba(9, 13, 23, 0.92);
font-size:0.91rem;
}
.sw-astral th{
padding:13px 15px;
color:#eef1fa;
background:rgba(37, 43, 64, 0.80);
border-bottom:1px solid var(--astral-line-strong);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.74rem;
font-weight:700;
letter-spacing:0.035em;
text-align:left;
}
.sw-astral td{
padding:13px 15px;
vertical-align:top;
border-bottom:1px solid rgba(202, 212, 234, 0.09);
}
.sw-astral tbody tr:last-child td{
border-bottom:0;
}
.sw-astral tbody tr:hover td{
background:rgba(158, 160, 207, 0.055);
}
/* =========================================================
   EDITION TABS — CSS ONLY
   ========================================================= */
.sw-astral .sw-tab-input{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0, 0, 0, 0)!important;
white-space:nowrap!important;
border:0!important;
clip-path:inset(50%)!important;
}
.sw-astral .sw-tab-shell{
margin:26px 0;
}
.sw-astral .sw-tab-list{
display:flex;
flex-wrap:wrap;
gap:7px;
padding:7px;
background:rgba(7, 10, 18, 0.82);
border:1px solid var(--astral-line);
border-radius:13px;
}
.sw-astral .sw-tab-list label{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:10px 14px;
border:1px solid transparent;
border-radius:9px;
color:#aeb7c9;
background:transparent;
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.82rem;
font-weight:650;
line-height:1.2;
cursor:pointer;
}
.sw-astral .sw-tab-list label:hover{
color:#ffffff;
background:rgba(158, 160, 207, 0.10);
}
.sw-astral .sw-tab-panel{
display:none;
padding:clamp(20px, 3vw, 29px);
margin-top:10px;
background:rgba(13, 18, 30, 0.78);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral #astral-tab-2024:checked ~ .sw-tab-shell .sw-panel-2024, .sw-astral #astral-tab-pf1:checked ~ .sw-tab-shell .sw-panel-pf1, .sw-astral #astral-tab-35:checked ~ .sw-tab-shell .sw-panel-35{
display:block;
}
.sw-astral #astral-tab-2024:checked ~ .sw-tab-shell label[for="astral-tab-2024"], .sw-astral #astral-tab-pf1:checked ~ .sw-tab-shell label[for="astral-tab-pf1"], .sw-astral #astral-tab-35:checked ~ .sw-tab-shell label[for="astral-tab-35"]{
color:#ffffff;
background:linear-gradient( 180deg, rgba(164, 164, 211, 0.23), rgba(105, 108, 151, 0.12) );
border-color:rgba(200, 205, 231, 0.19);
}
.sw-astral #astral-tab-2024:focus-visible ~ .sw-tab-shell label[for="astral-tab-2024"], .sw-astral #astral-tab-pf1:focus-visible ~ .sw-tab-shell label[for="astral-tab-pf1"], .sw-astral #astral-tab-35:focus-visible ~ .sw-tab-shell label[for="astral-tab-35"]{
outline:2px solid #d7d4f3;
outline-offset:3px;
}
/* =========================================================
   RULE FACTS
   ========================================================= */
.sw-astral .sw-rules-facts{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1px;
margin:20px 0 26px;
overflow:hidden;
background:var(--astral-line);
border:1px solid var(--astral-line);
border-radius:12px;
}
.sw-astral .sw-rules-fact{
padding:14px 16px;
background:rgba(8, 12, 21, 0.91);
}
.sw-astral .sw-rules-fact strong{
display:block;
margin-bottom:3px;
color:var(--astral-violet);
font-family:"Quicksand", system-ui, sans-serif;
font-size:0.7rem;
letter-spacing:0.06em;
text-transform:uppercase;
}
/* =========================================================
   INHABITANTS / ADVENTURE HOOKS / FAQ
   ========================================================= */
.sw-astral .sw-entry, .sw-astral .sw-hook, .sw-astral .sw-faq-item{
padding:19px 21px;
margin:0 0 11px;
background:rgba(16, 21, 35, 0.62);
border-left:2px solid rgba(169, 160, 216, 0.55);
border-radius:0 12px 12px 0;
}
.sw-astral .sw-entry h3, .sw-astral .sw-hook h3, .sw-astral .sw-faq-item h3{
margin-top:0;
}
.sw-astral .sw-faq-question{
color:var(--astral-bright);
font-family:"Quicksand", system-ui, sans-serif;
font-weight:700;
}
/* =========================================================
   SOURCES
   ========================================================= */
.sw-astral .sw-sources{
padding:22px;
margin-top:24px;
background:rgba(6, 9, 16, 0.55);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-sources h3{
margin-top:0;
}
.sw-astral .sw-sources ul{
margin-bottom:0;
}
/* =========================================================
   VIDEO CARDS
   ========================================================= */
.sw-astral .sw-video-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:15px;
margin-top:23px;
}
.sw-astral .sw-video-card{
overflow:hidden;
background:rgba(13, 18, 29, 0.84);
border:1px solid var(--astral-line);
border-radius:14px;
}
.sw-astral .sw-video-card > a{
display:block;
text-decoration:none;
}
.sw-astral .sw-video-card img{
display:block;
width:100%;
height:auto;
aspect-ratio:16 / 9;
object-fit:cover;
border:0;
border-radius:0;
box-shadow:none;
transition:opacity 0.18s ease;
}
.sw-astral .sw-video-card > a:hover img{
opacity:0.86;
}
.sw-astral .sw-video-copy{
padding:16px 17px 18px;
}
.sw-astral .sw-video-copy strong{
display:block;
margin-bottom:6px;
font-family:"Quicksand", system-ui, sans-serif;
font-size:1rem;
}
.sw-astral .sw-video-copy p{
color:var(--astral-muted);
font-size:0.88rem;
}
/* =========================================================
   FINAL CONTINUE PANEL
   ========================================================= */
.sw-astral .sw-continue{
position:relative;
padding:clamp(28px, 5vw, 48px);
margin-top:4px;
text-align:center;
background:radial-gradient( circle at 50% 0, rgba(163, 159, 211, 0.13), transparent 52% ), rgba(10, 14, 24, 0.82);
border:1px solid var(--astral-line);
border-radius:16px;
}
.sw-astral .sw-continue h2, .sw-astral .sw-continue h3{
max-width:850px;
margin-left:auto;
margin-right:auto;
}
.sw-astral .sw-continue p{
max-width:760px;
margin-left:auto;
margin-right:auto;
color:#bdc5d5;
}
.sw-astral .sw-continue .sw-actions{
justify-content:center;
}
/* =========================================================
   ACCESSIBILITY
   ========================================================= */
.sw-astral a:focus-visible, .sw-astral label:focus-visible{
outline:2px solid #d7d4f3;
outline-offset:3px;
}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 860px) {
.sw-astral .sw-grid, .sw-astral .sw-grid-3, .sw-astral .sw-region-grid, .sw-astral .sw-law-grid, .sw-astral .sw-video-grid{
grid-template-columns:1fr;
}
.sw-astral .sw-region-wide{
grid-column:auto;
}
.sw-astral .sw-facts, .sw-astral .sw-rules-facts{
grid-template-columns:1fr;
}
.sw-astral .sw-sigil{
grid-template-columns:220px minmax(0, 1fr);
}
.sw-astral .sw-eon{
padding-left:68px;
}
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 620px) {
.sw-astral{
padding:16px;
border-radius:12px;
font-size:16px;
line-height:1.67;
}
.sw-astral .sw-hero{
margin:-16px -16px 0;
padding:30px 18px 32px;
}
.sw-astral .sw-hero-image{
margin:0 -16px;
}
.sw-astral .sw-hero-image figcaption{
padding-left:16px;
padding-right:16px;
}
.sw-astral h1{
font-size:clamp(2rem, 10vw, 2.8rem);
}
.sw-astral h2{
font-size:clamp(1.5rem, 7vw, 2rem);
}
.sw-astral .sw-section{
padding:34px 0;
}
.sw-astral .sw-jump-nav{
gap:5px;
padding:10px;
}
.sw-astral .sw-jump-nav a{
font-size:0.72rem;
padding:6px 9px;
}
.sw-astral .sw-actions{
display:grid;
grid-template-columns:1fr;
}
.sw-astral .sw-button{
width:100%;
}
.sw-astral .sw-sigil{
grid-template-columns:1fr;
}
.sw-astral .sw-sigil figure{
max-width:260px;
margin:0 auto;
}
.sw-astral .sw-eon{
padding:19px;
}
.sw-astral .sw-eon::before{
display:none;
}
.sw-astral .sw-eon-number{
position:static;
display:inline-block;
width:auto;
height:auto;
margin-bottom:9px;
padding:4px 9px;
border-radius:999px;
}
.sw-astral .sw-tab-list{
display:grid;
grid-template-columns:1fr;
}
.sw-astral .sw-tab-list label{
width:100%;
text-align:center;
}
.sw-astral table{
min-width:620px;
}
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
.sw-astral *, .sw-astral *::before, .sw-astral *::after{
scroll-behavior:auto!important;
transition-duration:0.01ms!important;
}
}
/* END ASTRAL PLANE */
/* --- WPWriter addition --- */
/* ELEMENTAL PLANE OF FIRE — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — ELEMENTAL PLANE OF FIRE
   FINAL PUBLICATION BUILD
   Square sigil + scoped dark layout + thumbnail videos
   ========================================================= */
.sw-fire-plane{
--sw-bg: #090b0f;
--sw-bg-soft: #0d1015;
--sw-panel: #12161c;
--sw-panel-2: #171c23;
--sw-border: rgba(213,166,74,.30);
--sw-border-strong: rgba(225,176,73,.62);
--sw-gold: #e1b049;
--sw-gold-bright: #f0c35d;
--sw-flame: #d55a28;
--sw-flame-soft: #ed8442;
--sw-text: #eee9df;
--sw-text-strong: #fffaf0;
--sw-muted: #bdb7ad;
--sw-radius: 14px;
--sw-shadow: 0 14px 34px rgba(0,0,0,.28);
background:radial-gradient( circle at 85% 4%, rgba(171,64,27,.08), transparent 25rem ), var(--sw-bg);
color:var(--sw-text);
border:1px solid rgba(225,176,73,.12);
border-radius:16px;
padding:clamp(1rem,2.5vw,2rem) clamp(1rem,3vw,2.35rem) clamp(2rem,4vw,3.4rem);
line-height:1.68;
overflow:hidden;
}
.sw-fire-plane *, .sw-fire-plane *::before, .sw-fire-plane *::after{
box-sizing:border-box;
}
.sw-fire-plane section, .sw-fire-plane article, .sw-fire-plane nav, .sw-fire-plane div{
color:inherit;
}
.sw-fire-plane p, .sw-fire-plane li, .sw-fire-plane td{
color:var(--sw-text);
}
.sw-fire-plane strong{
color:var(--sw-text-strong);
}
.sw-fire-plane a{
color:var(--sw-gold);
text-decoration-color:rgba(225,176,73,.55);
text-underline-offset:3px;
}
.sw-fire-plane a:hover, .sw-fire-plane a:focus-visible{
color:var(--sw-gold-bright);
text-decoration-color:currentColor;
}
.sw-fire-plane h2, .sw-fire-plane h3, .sw-fire-plane h4{
color:var(--sw-gold);
line-height:1.2;
margin-top:0;
}
.sw-fire-plane h2{
font-size:clamp(1.8rem,3.5vw,2.55rem);
margin-bottom:.65rem;
}
.sw-fire-plane h3{
font-size:clamp(1.25rem,2.4vw,1.7rem);
margin-bottom:.65rem;
}
.sw-fire-plane h4{
font-size:1.08rem;
margin-bottom:.45rem;
}
.sw-fire-plane p:last-child{
margin-bottom:0;
}
/* =========================================================
   PLANAR INTRO
   ========================================================= */
.sw-fire-plane .sw-plane-intro{
display:grid;
grid-template-columns:minmax(0,1fr) 240px;
gap:clamp(1.35rem,3vw,2.6rem);
align-items:center;
background:linear-gradient( 135deg, rgba(213,90,40,.08), rgba(225,176,73,.025) ), var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
padding:clamp(1.25rem,3vw,2rem);
box-shadow:var(--sw-shadow);
margin-bottom:1.25rem;
}
.sw-fire-plane .sw-intro-copy{
min-width:0;
}
.sw-fire-plane .sw-kicker{
display:inline-block;
color:var(--sw-flame-soft);
font-size:.76rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:.13em;
margin-bottom:.55rem;
}
.sw-fire-plane .sw-intro-title{
color:var(--sw-gold-bright);
font-size:clamp(1.7rem,3.3vw,2.45rem);
line-height:1.13;
margin:0 0 .7rem;
}
.sw-fire-plane .sw-intro-lede{
max-width:800px;
font-size:1.08rem;
line-height:1.66;
color:var(--sw-text-strong);
margin:0;
}
/* =========================================================
   SQUARE PLANAR SIGIL
   ========================================================= */
.sw-fire-plane .sw-sigil-wrap{
width:240px;
height:240px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto;
}
.sw-fire-plane .sw-sigil-frame{
display:block;
width:220px!important;
height:220px!important;
min-width:220px!important;
min-height:220px!important;
max-width:220px!important;
max-height:220px!important;
aspect-ratio:1 / 1!important;
background:#0b0d11;
border:1px solid var(--sw-border-strong);
border-radius:12px;
box-shadow:0 14px 32px rgba(0,0,0,.42), 0 0 0 5px rgba(225,176,73,.035);
overflow:hidden;
}
.sw-fire-plane img.sw-sigil{
display:block!important;
width:220px!important;
height:220px!important;
min-width:220px!important;
min-height:220px!important;
max-width:220px!important;
max-height:220px!important;
aspect-ratio:1 / 1!important;
object-fit:contain!important;
object-position:center center!important;
margin:0!important;
padding:0!important;
border:0!important;
border-radius:0!important;
box-shadow:none!important;
background:#0b0d11;
}
/* =========================================================
   PROFILE
   ========================================================= */
.sw-fire-plane .sw-profile{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.25rem 1.6rem;
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
padding:1.05rem 1.25rem;
margin:0 0 1rem;
}
.sw-fire-plane .sw-profile-item{
padding:.58rem 0;
border-bottom:1px solid rgba(225,176,73,.12);
color:var(--sw-text);
}
.sw-fire-plane .sw-profile-item strong{
display:block;
color:var(--sw-gold);
font-size:.84rem;
line-height:1.3;
letter-spacing:.02em;
margin-bottom:.16rem;
}
/* =========================================================
   NAVIGATION
   ========================================================= */
.sw-fire-plane .sw-plane-links{
display:flex;
flex-wrap:wrap;
gap:.55rem;
margin:0 0 2rem;
}
.sw-fire-plane .sw-plane-links a{
display:inline-flex;
align-items:center;
min-height:42px;
padding:.52rem .78rem;
background:rgba(225,176,73,.045);
border:1px solid rgba(225,176,73,.31);
border-radius:999px;
color:var(--sw-gold);
text-decoration:none;
font-size:.91rem;
}
.sw-fire-plane .sw-plane-links a:hover, .sw-fire-plane .sw-plane-links a:focus-visible{
background:rgba(225,176,73,.12);
border-color:var(--sw-border-strong);
}
/* =========================================================
   SECTIONS
   ========================================================= */
.sw-fire-plane .sw-section{
margin:2.6rem 0;
}
.sw-fire-plane .sw-section:last-child{
margin-bottom:0;
}
.sw-fire-plane .sw-section-title{
margin-bottom:1.2rem;
padding-bottom:.55rem;
border-bottom:1px solid var(--sw-border);
}
.sw-fire-plane .sw-lede{
max-width:980px;
font-size:1.12rem;
line-height:1.7;
color:var(--sw-text-strong);
margin-bottom:1.25rem;
}
.sw-fire-plane .sw-muted{
color:var(--sw-muted);
}
/* =========================================================
   CALLOUTS
   ========================================================= */
.sw-fire-plane .sw-callout{
background:linear-gradient( 135deg, rgba(213,90,40,.095), rgba(225,176,73,.035) ), var(--sw-panel);
border:1px solid var(--sw-border);
border-left:4px solid var(--sw-flame);
border-radius:var(--sw-radius);
padding:1.05rem 1.15rem;
margin:1.35rem 0;
box-shadow:0 9px 24px rgba(0,0,0,.18);
}
.sw-fire-plane .sw-callout strong{
color:var(--sw-gold-bright);
}
/* =========================================================
   FIGURES
   ========================================================= */
.sw-fire-plane figure{
margin:1.45rem 0;
}
.sw-fire-plane figure img{
display:block;
width:100%;
height:auto;
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
box-shadow:var(--sw-shadow);
}
.sw-fire-plane figcaption{
padding-top:.5rem;
color:var(--sw-muted);
font-size:.87rem;
line-height:1.5;
}
/* =========================================================
   REGION CARDS
   ========================================================= */
.sw-fire-plane .sw-region-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1.15rem;
}
.sw-fire-plane .sw-region{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.sw-fire-plane .sw-region figure{
margin:0;
}
.sw-fire-plane .sw-region figure img{
width:100%;
aspect-ratio:3 / 2;
object-fit:cover;
border:0;
border-bottom:1px solid var(--sw-border);
border-radius:0;
box-shadow:none;
}
.sw-fire-plane .sw-region-body{
padding:1.08rem 1.15rem 1.2rem;
}
.sw-fire-plane .sw-region-body p{
margin-bottom:.78rem;
}
.sw-fire-plane .sw-region-meta{
padding-top:.72rem;
margin-top:.9rem;
border-top:1px solid rgba(225,176,73,.13);
color:var(--sw-muted);
font-size:.89rem;
}
.sw-fire-plane .sw-region-meta strong{
color:var(--sw-gold);
}
/* =========================================================
   CARD GRIDS
   ========================================================= */
.sw-fire-plane .sw-law-grid, .sw-fire-plane .sw-power-grid, .sw-fire-plane .sw-hook-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:1rem;
}
.sw-fire-plane .sw-law, .sw-fire-plane .sw-power, .sw-fire-plane .sw-hook{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
padding:1rem 1.05rem;
box-shadow:0 8px 22px rgba(0,0,0,.15);
}
.sw-fire-plane .sw-law h3, .sw-fire-plane .sw-power h3, .sw-fire-plane .sw-hook h3{
font-size:1.1rem;
margin-bottom:.5rem;
}
/* =========================================================
   QUICK RULES
   ========================================================= */
.sw-fire-plane .sw-quick-rules{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.65rem;
list-style:none;
padding:0;
margin:1rem 0 0;
}
.sw-fire-plane .sw-quick-rules li{
position:relative;
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:10px;
padding:.72rem .82rem .72rem 2rem;
}
.sw-fire-plane .sw-quick-rules li::before{
content:"◆";
position:absolute;
left:.75rem;
top:.75rem;
color:var(--sw-flame-soft);
font-size:.72rem;
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-fire-plane .sw-table-wrap{
overflow-x:auto;
margin:1rem 0;
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
}
.sw-fire-plane table{
width:100%;
min-width:660px;
border-collapse:collapse;
background:var(--sw-panel);
margin:0;
}
.sw-fire-plane th, .sw-fire-plane td{
padding:.72rem .78rem;
text-align:left;
vertical-align:top;
border-bottom:1px solid rgba(225,176,73,.14);
}
.sw-fire-plane th{
background:rgba(225,176,73,.09);
color:var(--sw-gold);
}
.sw-fire-plane tr:last-child td{
border-bottom:0;
}
/* =========================================================
   EDITION TABS
   ========================================================= */
.sw-fire-plane .sw-tabs{
margin-top:1.1rem;
}
.sw-fire-plane .sw-tab-controls{
display:flex;
flex-wrap:wrap;
gap:.5rem;
margin-bottom:.9rem;
}
.sw-fire-plane .sw-tab-button{
appearance:none;
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:999px;
color:var(--sw-text);
padding:.56rem .9rem;
font:inherit;
font-weight:700;
cursor:pointer;
}
.sw-fire-plane .sw-tab-button:hover, .sw-fire-plane .sw-tab-button:focus-visible{
border-color:var(--sw-border-strong);
}
.sw-fire-plane .sw-tab-button[aria-selected="true"]{
background:var(--sw-gold);
border-color:var(--sw-gold);
color:#17110a;
}
.sw-fire-plane .sw-tab-panel{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
padding:1.15rem;
margin-bottom:1rem;
}
.sw-fire-plane.js-tabs .sw-tab-panel[hidden]{
display:none;
}
/* =========================================================
   VIDEO GUIDES
   Thumbnail-first: iframe is created only after click.
   ========================================================= */
.sw-fire-plane .sw-video-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:1rem;
}
.sw-fire-plane .sw-video{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
overflow:hidden;
box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.sw-fire-plane .sw-video-launcher{
position:relative;
display:block;
width:100%;
aspect-ratio:16 / 9;
padding:0;
margin:0;
background:#000;
border:0;
cursor:pointer;
overflow:hidden;
font:inherit;
color:inherit;
}
.sw-fire-plane .sw-video-launcher img{
display:block!important;
width:100%!important;
height:100%!important;
max-width:none!important;
object-fit:cover!important;
object-position:center!important;
margin:0!important;
padding:0!important;
border:0!important;
border-radius:0!important;
box-shadow:none!important;
transition:transform .25s ease, opacity .25s ease;
}
.sw-fire-plane .sw-video-launcher::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient( 180deg, rgba(0,0,0,.03), rgba(0,0,0,.24) );
pointer-events:none;
}
.sw-fire-plane .sw-video-launcher:hover img, .sw-fire-plane .sw-video-launcher:focus-visible img{
transform:scale(1.025);
opacity:.88;
}
.sw-fire-plane .sw-video-play{
position:absolute;
z-index:3;
left:50%;
top:50%;
width:68px;
height:48px;
transform:translate(-50%,-50%);
display:flex;
align-items:center;
justify-content:center;
background:rgba(197,38,32,.96);
border-radius:13px;
box-shadow:0 6px 22px rgba(0,0,0,.48);
pointer-events:none;
}
.sw-fire-plane .sw-video-play::before{
content:"";
display:block;
width:0;
height:0;
margin-left:4px;
border-top:10px solid transparent;
border-bottom:10px solid transparent;
border-left:17px solid #fff;
}
.sw-fire-plane .sw-video-launcher:focus-visible{
outline:3px solid var(--sw-gold-bright);
outline-offset:-3px;
}
.sw-fire-plane .sw-video-frame{
position:relative;
width:100%;
aspect-ratio:16 / 9;
background:#000;
}
.sw-fire-plane .sw-video-frame iframe{
position:absolute;
inset:0;
display:block;
width:100%;
height:100%;
margin:0;
padding:0;
border:0;
}
.sw-fire-plane .sw-video-copy{
padding:.82rem .9rem .9rem;
}
.sw-fire-plane .sw-video-copy strong{
display:block;
color:var(--sw-gold);
font-size:.98rem;
line-height:1.4;
margin-bottom:.28rem;
}
.sw-fire-plane .sw-video-copy p{
margin:0;
padding:0;
color:var(--sw-muted);
font-size:.89rem;
line-height:1.55;
}
/* =========================================================
   RELATED LINKS
   ========================================================= */
.sw-fire-plane .sw-related{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.6rem .9rem;
list-style:none;
padding:0;
margin:0;
}
.sw-fire-plane .sw-related li{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:9px;
padding:.62rem .76rem;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 960px) {
.sw-fire-plane .sw-plane-intro{
grid-template-columns:minmax(0,1fr) 220px;
}
.sw-fire-plane .sw-sigil-wrap{
width:220px;
height:220px;
}
.sw-fire-plane .sw-law-grid, .sw-fire-plane .sw-power-grid, .sw-fire-plane .sw-hook-grid, .sw-fire-plane .sw-video-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width: 760px) {
.sw-fire-plane{
border-radius:12px;
}
.sw-fire-plane .sw-plane-intro{
grid-template-columns:1fr;
}
.sw-fire-plane .sw-sigil-wrap{
order:-1;
width:200px;
height:200px;
}
.sw-fire-plane .sw-sigil-frame, .sw-fire-plane img.sw-sigil{
width:200px!important;
height:200px!important;
min-width:200px!important;
min-height:200px!important;
max-width:200px!important;
max-height:200px!important;
}
.sw-fire-plane .sw-profile, .sw-fire-plane .sw-region-grid, .sw-fire-plane .sw-law-grid, .sw-fire-plane .sw-power-grid, .sw-fire-plane .sw-hook-grid, .sw-fire-plane .sw-video-grid, .sw-fire-plane .sw-quick-rules, .sw-fire-plane .sw-related{
grid-template-columns:1fr;
}
}
@media (max-width: 480px) {
.sw-fire-plane{
padding:1rem .85rem 2rem;
}
.sw-fire-plane .sw-plane-intro{
padding:1rem;
}
.sw-fire-plane .sw-profile{
padding:.9rem 1rem;
}
.sw-fire-plane .sw-plane-links a{
width:100%;
justify-content:center;
}
.sw-fire-plane .sw-tab-button{
flex:1 1 100%;
text-align:center;
}
}
/* END ELEMENTAL PLANE OF FIRE */
/* --- WPWriter addition --- */
/* ARCADIA — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — ARCADIA
   Publication-lock scoped styles
   ========================================================= */
.sw-arcadia{
--sw-bg:#0c1210;
--sw-bg-soft:#121b17;
--sw-panel:#16211c;
--sw-panel-2:#1b2922;
--sw-green:#31533f;
--sw-green-soft:#79957f;
--sw-gold:#d5b36a;
--sw-gold-soft:#ead7a3;
--sw-blue:#89adba;
--sw-cream:#f1ead8;
--sw-text:#e9e5da;
--sw-muted:#bbb8ad;
--sw-line:rgba(213,179,106,.34);
--sw-shadow:0 16px 45px rgba(0,0,0,.27);
background:radial-gradient(circle at 50% 0%,rgba(64,101,76,.16),transparent 34rem), var(--sw-bg);
color:var(--sw-text);
border:1px solid rgba(213,179,106,.18);
border-radius:22px;
overflow:hidden;
font-size:17px;
line-height:1.72;
}
.sw-arcadia *{
box-sizing:border-box;
}
.sw-arcadia a{
color:var(--sw-gold-soft);
text-decoration-color:rgba(234,215,163,.45);
text-underline-offset:3px;
}
.sw-arcadia a:hover{
color:#fff3c9;
text-decoration-color:#fff3c9;
}
.sw-arcadia img{
display:block;
max-width:100%;
height:auto;
}
.sw-arcadia .sw-wrap{
width:min(1160px,calc(100% - 38px));
margin:0 auto;
}
.sw-arcadia h1, .sw-arcadia h2, .sw-arcadia h3, .sw-arcadia h4{
font-family:Georgia,"Times New Roman",serif;
color:var(--sw-cream);
line-height:1.17;
margin-top:0;
}
.sw-arcadia h1{
font-size:clamp(2.35rem,5.7vw,4.7rem);
font-weight:500;
letter-spacing:-.025em;
margin-bottom:18px;
}
.sw-arcadia h2{
font-size:clamp(1.75rem,3.6vw,2.65rem);
font-weight:500;
margin-bottom:20px;
}
.sw-arcadia h3{
font-size:clamp(1.28rem,2.4vw,1.7rem);
font-weight:600;
margin-bottom:10px;
color:var(--sw-gold-soft);
}
.sw-arcadia h4{
font-size:1.08rem;
color:var(--sw-gold-soft);
margin-bottom:8px;
}
.sw-arcadia p{
margin:0 0 17px;
}
.sw-arcadia strong{
color:#fff7e1;
}
.sw-arcadia .sw-eyebrow{
display:inline-flex;
align-items:center;
gap:8px;
color:var(--sw-gold);
font-size:.78rem;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
margin-bottom:15px;
}
.sw-arcadia .sw-eyebrow:before{
content:"";
display:inline-block;
width:28px;
height:1px;
background:var(--sw-gold);
}
.sw-arcadia .sw-lead{
max-width:850px;
font-family:Georgia,"Times New Roman",serif;
font-size:clamp(1.13rem,2vw,1.34rem);
line-height:1.62;
color:#efe9da;
}
.sw-arcadia .sw-hero{
padding:58px 0 34px;
}
.sw-arcadia .sw-hero-grid{
display:grid;
grid-template-columns:minmax(0,1.5fr) minmax(220px,.6fr);
gap:42px;
align-items:center;
}
.sw-arcadia .sw-sigil{
max-width:345px;
margin-left:auto;
padding:15px;
border-radius:50%;
background:radial-gradient(circle,rgba(213,179,106,.12),transparent 68%);
}
.sw-arcadia .sw-sigil img{
border-radius:50%;
filter:drop-shadow(0 18px 22px rgba(0,0,0,.32));
}
.sw-arcadia .sw-main-image{
margin:34px 0 0;
border-radius:18px;
overflow:hidden;
border:1px solid rgba(213,179,106,.28);
background:#0b0f0d;
box-shadow:var(--sw-shadow);
}
.sw-arcadia .sw-main-image img{
width:100%;
aspect-ratio:3/2;
object-fit:cover;
}
.sw-arcadia figcaption{
padding:11px 15px 13px;
background:rgba(9,14,11,.94);
color:var(--sw-muted);
font-size:.88rem;
line-height:1.5;
}
.sw-arcadia .sw-anchor-nav{
display:flex;
flex-wrap:wrap;
gap:8px;
padding:20px 0 0;
}
.sw-arcadia .sw-anchor-nav a{
display:inline-block;
padding:8px 12px;
border:1px solid var(--sw-line);
border-radius:999px;
background:rgba(213,179,106,.045);
color:#e8dcc0;
font-size:.82rem;
font-weight:700;
text-decoration:none;
}
.sw-arcadia .sw-anchor-nav a:hover{
background:rgba(213,179,106,.12);
border-color:rgba(213,179,106,.7);
color:#fff5d8;
}
.sw-arcadia .sw-section{
padding:54px 0;
border-top:1px solid rgba(213,179,106,.16);
}
.sw-arcadia .sw-section-intro{
max-width:870px;
margin-bottom:27px;
color:#d8d6cc;
}
.sw-arcadia .sw-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
}
.sw-arcadia .sw-grid-3{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
}
.sw-arcadia .sw-card{
background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 40%), var(--sw-panel);
border:1px solid rgba(213,179,106,.19);
border-radius:15px;
padding:22px;
}
.sw-arcadia .sw-card p:last-child, .sw-arcadia .sw-card ul:last-child{
margin-bottom:0;
}
.sw-arcadia .sw-profile{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1px;
border:1px solid var(--sw-line);
border-radius:15px;
overflow:hidden;
background:rgba(213,179,106,.15);
}
.sw-arcadia .sw-profile-item{
background:var(--sw-panel);
padding:15px 18px;
}
.sw-arcadia .sw-profile-label{
display:block;
color:var(--sw-gold);
font-size:.7rem;
font-weight:800;
text-transform:uppercase;
letter-spacing:.11em;
margin-bottom:4px;
}
.sw-arcadia .sw-profile-value{
color:#eee9dd;
line-height:1.45;
}
.sw-arcadia .sw-callout{
margin:26px 0;
padding:22px 24px;
border-left:4px solid var(--sw-gold);
border-radius:0 13px 13px 0;
background:linear-gradient(90deg,rgba(213,179,106,.1),rgba(213,179,106,.025)), var(--sw-panel);
}
.sw-arcadia .sw-callout p:last-child{
margin-bottom:0;
}
.sw-arcadia .sw-rule-list, .sw-arcadia .sw-list{
margin:0;
padding-left:1.25rem;
}
.sw-arcadia .sw-rule-list li, .sw-arcadia .sw-list li{
margin:.45rem 0;
}
.sw-arcadia .sw-region{
padding:20px 0;
border-bottom:1px solid rgba(213,179,106,.12);
}
.sw-arcadia .sw-region:last-child{
border-bottom:0;
}
.sw-arcadia .sw-image-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:17px;
margin-top:25px;
}
.sw-arcadia .sw-image-grid figure, .sw-arcadia .sw-feature-image{
margin:0;
border:1px solid rgba(213,179,106,.2);
border-radius:15px;
overflow:hidden;
background:#0d1310;
}
.sw-arcadia .sw-image-grid img{
width:100%;
aspect-ratio:3/2;
object-fit:cover;
}
.sw-arcadia .sw-feature-image{
margin:25px 0;
box-shadow:var(--sw-shadow);
}
.sw-arcadia .sw-feature-image img{
width:100%;
object-fit:cover;
}
.sw-arcadia .sw-realm{
margin-top:38px;
padding:30px;
background:linear-gradient(135deg,rgba(213,179,106,.08),transparent 40%), var(--sw-bg-soft);
border:1px solid rgba(213,179,106,.3);
border-radius:19px;
}
.sw-arcadia .sw-realm-tag{
display:inline-block;
margin-bottom:12px;
padding:6px 10px;
border-radius:999px;
background:rgba(213,179,106,.11);
color:var(--sw-gold-soft);
border:1px solid rgba(213,179,106,.25);
font-size:.72rem;
font-weight:800;
letter-spacing:.09em;
text-transform:uppercase;
}
.sw-arcadia .sw-mini-profile{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px;
margin:22px 0;
}
.sw-arcadia .sw-mini{
padding:14px;
background:rgba(0,0,0,.16);
border:1px solid rgba(213,179,106,.14);
border-radius:11px;
}
.sw-arcadia .sw-mini b{
display:block;
color:var(--sw-gold);
font-size:.67rem;
text-transform:uppercase;
letter-spacing:.09em;
margin-bottom:4px;
}
.sw-arcadia .sw-route{
display:flex;
gap:12px;
align-items:flex-start;
margin:12px 0;
}
.sw-arcadia .sw-route-mark{
flex:0 0 29px;
width:29px;
height:29px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:rgba(213,179,106,.11);
border:1px solid rgba(213,179,106,.28);
color:var(--sw-gold);
font-weight:900;
}
.sw-arcadia .sw-hook{
display:grid;
grid-template-columns:42px 1fr;
gap:14px;
padding:18px 0;
border-bottom:1px solid rgba(213,179,106,.12);
}
.sw-arcadia .sw-hook:last-child{
border-bottom:0;
}
.sw-arcadia .sw-hook-num{
width:36px;
height:36px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:var(--sw-gold);
color:#101410;
font-family:Georgia,"Times New Roman",serif;
font-weight:700;
}
.sw-arcadia .sw-hook h3{
margin:3px 0 6px;
font-size:1.15rem;
}
/* =========================================================
   PURE CSS EDITION TABS
   ========================================================= */
.sw-arcadia .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:.001;
overflow:hidden;
}
.sw-arcadia .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:0 0 15px;
}
.sw-arcadia .sw-tab-labels label{
cursor:pointer;
padding:10px 15px;
border:1px solid var(--sw-line);
border-radius:10px;
background:var(--sw-panel);
color:#e5dfd0;
font-weight:800;
font-size:.87rem;
}
.sw-arcadia .sw-tab-panels > div{
background:var(--sw-panel);
border:1px solid rgba(213,179,106,.2);
border-radius:15px;
padding:24px;
}
#arcadia-55:checked ~ .sw-tab-labels label[for="arcadia-55"], #arcadia-pf:checked ~ .sw-tab-labels label[for="arcadia-pf"], #arcadia-35:checked ~ .sw-tab-labels label[for="arcadia-35"]{
background:var(--sw-gold);
color:#141711;
border-color:var(--sw-gold);
}
#arcadia-55:checked ~ .sw-tab-panels .sw-panel-55, #arcadia-pf:checked ~ .sw-tab-panels .sw-panel-pf, #arcadia-35:checked ~ .sw-tab-panels .sw-panel-35{
display:block;
}
.sw-arcadia .sw-mech{
margin:18px 0 0;
padding-top:17px;
border-top:1px solid rgba(213,179,106,.14);
}
.sw-arcadia .sw-mech:first-child{
margin-top:0;
padding-top:0;
border-top:0;
}
.sw-arcadia .sw-related{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:13px;
}
.sw-arcadia .sw-related a{
display:block;
height:100%;
padding:18px;
border-radius:13px;
background:var(--sw-panel);
border:1px solid rgba(213,179,106,.19);
text-decoration:none;
}
.sw-arcadia .sw-related a:hover{
border-color:rgba(213,179,106,.62);
background:var(--sw-panel-2);
}
.sw-arcadia .sw-related b{
display:block;
color:var(--sw-gold-soft);
font-family:Georgia,"Times New Roman",serif;
font-size:1.06rem;
margin-bottom:5px;
}
.sw-arcadia .sw-related span{
color:var(--sw-muted);
font-size:.87rem;
line-height:1.45;
}
.sw-arcadia .sw-sources{
margin-top:25px;
padding-top:20px;
border-top:1px solid rgba(213,179,106,.14);
}
.sw-arcadia .sw-sources a{
display:block;
margin:8px 0;
font-size:.9rem;
}
@media(max-width:850px){
.sw-arcadia .sw-hero-grid{
grid-template-columns:1fr;
}
.sw-arcadia .sw-sigil{
max-width:270px;
margin:0 auto;
}
.sw-arcadia .sw-grid-3, .sw-arcadia .sw-related{
grid-template-columns:1fr 1fr;
}
.sw-arcadia .sw-mini-profile{
grid-template-columns:1fr 1fr;
}
}
@media(max-width:620px){
.sw-arcadia{
border-radius:14px;
}
.sw-arcadia .sw-wrap{
width:min(100% - 24px,1160px);
}
.sw-arcadia .sw-hero{
padding-top:38px;
}
.sw-arcadia .sw-section{
padding:42px 0;
}
.sw-arcadia .sw-grid, .sw-arcadia .sw-grid-3, .sw-arcadia .sw-image-grid, .sw-arcadia .sw-related, .sw-arcadia .sw-profile{
grid-template-columns:1fr;
}
.sw-arcadia .sw-realm{
padding:21px;
}
.sw-arcadia .sw-mini-profile{
grid-template-columns:1fr;
}
}
/* END ARCADIA */
/* --- WPWriter addition --- */
/* PANDEMONIUM — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   PANDEMONIUM — SCOPED PAGE CSS
   ========================================================= */
.sw-pandemonium{
--swp-bg:#080a0f;
--swp-panel:#10131a;
--swp-panel-2:#151922;
--swp-panel-3:#0c0f15;
--swp-text:#e8e2d7;
--swp-muted:#aaa59c;
--swp-gold:#c9a65d;
--swp-gold-2:#e0c47f;
--swp-line:rgba(201,166,93,.28);
--swp-line-soft:rgba(255,255,255,.075);
background:radial-gradient(circle at 50% 0%,rgba(87,94,114,.13),transparent 36rem), linear-gradient(180deg,#080a0f 0%,#0b0d12 52%,#080a0f 100%);
color:var(--swp-text);
line-height:1.72;
padding:clamp(18px,3vw,38px);
border:1px solid rgba(255,255,255,.045);
border-radius:18px;
box-shadow:0 18px 48px rgba(0,0,0,.34);
overflow:hidden;
}
.sw-pandemonium *, .sw-pandemonium *::before, .sw-pandemonium *::after{
box-sizing:border-box;
}
.sw-pandemonium a{
color:var(--swp-gold-2);
text-decoration-color:rgba(224,196,127,.38);
text-underline-offset:3px;
}
.sw-pandemonium a:hover, .sw-pandemonium a:focus{
color:#ffe4a5;
text-decoration-color:#ffe4a5;
}
.sw-pandemonium h1, .sw-pandemonium h2, .sw-pandemonium h3, .sw-pandemonium h4{
color:#f2e7cf;
line-height:1.2;
scroll-margin-top:110px;
}
.sw-pandemonium h1{
font-size:clamp(2.15rem,5vw,4rem);
font-weight:500;
margin:0;
}
.sw-pandemonium h2{
font-size:clamp(1.55rem,3.2vw,2.3rem);
font-weight:600;
margin:3.2rem 0 1rem;
padding-bottom:.55rem;
border-bottom:1px solid var(--swp-line);
}
.sw-pandemonium h3{
font-size:clamp(1.2rem,2.4vw,1.62rem);
margin:2.15rem 0 .7rem;
}
.sw-pandemonium h4{
font-size:1.08rem;
margin:1.5rem 0 .45rem;
color:#e7cf97;
}
.sw-pandemonium p{
margin:.78rem 0;
}
.sw-pandemonium ul, .sw-pandemonium ol{
padding-left:1.35rem;
}
.sw-pandemonium li{
margin:.32rem 0;
}
/* HERO */
.swp-kicker{
color:var(--swp-gold);
font-size:.77rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase;
margin:0 0 .55rem;
}
.swp-lead{
max-width:64rem;
font-size:clamp(1.06rem,2vw,1.3rem);
color:#ddd6ca;
margin:1rem 0 1.25rem;
}
.swp-hero{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
gap:clamp(24px,4vw,46px);
align-items:center;
}
.swp-hero-image{
margin:0;
}
.swp-hero-image img{
display:block;
width:100%;
height:auto;
border:1px solid var(--swp-line);
border-radius:15px;
box-shadow:0 16px 38px rgba(0,0,0,.42);
}
/* PROFILE */
.swp-profile{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px 18px;
margin:1.4rem 0 0;
padding:1.1rem 1.2rem;
background:linear-gradient(135deg,rgba(201,166,93,.085),rgba(255,255,255,.016));
border:1px solid var(--swp-line);
border-radius:14px;
}
.swp-profile dt{
color:var(--swp-gold);
font-size:.72rem;
font-weight:700;
letter-spacing:.07em;
text-transform:uppercase;
}
.swp-profile dd{
margin:.15rem 0 0;
}
/* NAV */
.swp-local-nav{
position:sticky;
top:70px;
z-index:20;
display:flex;
flex-wrap:wrap;
gap:5px;
margin:1.7rem 0 2rem;
padding:8px;
background:rgba(8,10,15,.95);
border:1px solid var(--swp-line);
border-radius:11px;
box-shadow:0 8px 24px rgba(0,0,0,.3);
backdrop-filter:blur(10px);
}
.swp-local-nav a{
display:inline-flex;
align-items:center;
min-height:34px;
padding:6px 9px;
border-radius:7px;
text-decoration:none;
color:#d8d2c7;
font-size:.82rem;
}
.swp-local-nav a:hover, .swp-local-nav a:focus{
background:rgba(201,166,93,.13);
color:#ffe2a0;
}
/* CALLOUTS */
.swp-callout, .swp-law, .swp-note{
margin:1.3rem 0;
padding:1rem 1.15rem;
background:var(--swp-panel);
border:1px solid var(--swp-line-soft);
border-left:3px solid var(--swp-gold);
border-radius:10px;
}
.swp-callout strong, .swp-law strong{
color:#f0dba9;
}
.swp-quote{
margin:1.35rem 0;
padding:1rem 1.2rem;
background:rgba(201,166,93,.055);
border-left:3px solid var(--swp-gold);
border-radius:0 9px 9px 0;
color:#ddd5c7;
font-style:italic;
}
/* LAYER QUICK CARDS */
.swp-layer-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:12px;
margin:1.35rem 0 2rem;
}
.swp-layer-card{
display:block;
padding:1rem;
background:linear-gradient(180deg,var(--swp-panel),var(--swp-panel-3));
border:1px solid var(--swp-line-soft);
border-radius:12px;
text-decoration:none!important;
}
.swp-layer-card:hover{
border-color:var(--swp-line);
transform:translateY(-1px);
}
.swp-layer-card strong{
display:block;
color:#efdba8;
margin-bottom:.25rem;
}
.swp-layer-card span{
color:var(--swp-muted);
font-size:.89rem;
}
/* FIGURES */
.swp-figure{
margin:1.5rem 0 1.8rem;
}
.swp-figure img{
display:block;
width:100%;
height:auto;
border:1px solid var(--swp-line-soft);
border-radius:13px;
box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.swp-figure figcaption{
margin-top:.55rem;
color:var(--swp-muted);
font-size:.86rem;
line-height:1.5;
}
.swp-map{
padding:7px;
background:#090b0f;
border:1px solid var(--swp-line);
border-radius:15px;
}
.swp-map img{
border-radius:10px;
}
/* LAYER INTRO */
.swp-layer-intro{
margin:1.1rem 0 2rem;
padding:1.2rem 1.3rem;
background:linear-gradient(135deg,rgba(201,166,93,.06),rgba(255,255,255,.018));
border:1px solid var(--swp-line-soft);
border-radius:13px;
}
.swp-layer-intro p:first-child{
margin-top:0;
}
.swp-layer-intro p:last-child{
margin-bottom:0;
}
/* REGIONS */
.swp-region{
margin:2rem 0 2.5rem;
padding:1.25rem;
background:linear-gradient(180deg,var(--swp-panel),var(--swp-panel-3));
border:1px solid var(--swp-line-soft);
border-radius:14px;
}
.swp-region > h3{
margin:.05rem 0 .8rem;
}
.swp-region .swp-figure{
margin:1rem 0 1.2rem;
}
.swp-region-note{
margin-top:1rem;
padding:.85rem 1rem;
background:rgba(255,255,255,.025);
border-left:2px solid var(--swp-gold);
}
/* TABLES */
.swp-table-wrap{
width:100%;
overflow-x:auto;
margin:1.2rem 0 1.7rem;
border:1px solid var(--swp-line-soft);
border-radius:12px;
}
.sw-pandemonium table{
width:100%;
min-width:640px;
border-collapse:collapse;
background:var(--swp-panel-3);
}
.sw-pandemonium th, .sw-pandemonium td{
padding:.78rem .85rem;
border-bottom:1px solid rgba(255,255,255,.065);
text-align:left;
vertical-align:top;
}
.sw-pandemonium th{
color:#e9d4a3;
background:rgba(201,166,93,.08);
font-size:.81rem;
letter-spacing:.04em;
text-transform:uppercase;
}
/* TABS */
.swp-tabs{
margin:1.4rem 0;
}
.swp-tab-buttons{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-bottom:13px;
}
.swp-tab-button{
appearance:none;
padding:.7rem 1rem;
background:var(--swp-panel);
color:#ddd5c8;
border:1px solid var(--swp-line);
border-radius:9px;
cursor:pointer;
font:inherit;
font-weight:700;
}
.swp-tab-button:hover, .swp-tab-button:focus{
color:#ffe3a4;
border-color:var(--swp-gold);
}
.swp-tab-button[aria-selected="true"]{
background:rgba(201,166,93,.15);
color:#ffe3a4;
border-color:var(--swp-gold);
}
.swp-tab-panel{
padding:1.15rem;
background:var(--swp-panel-3);
border:1px solid var(--swp-line-soft);
border-radius:12px;
}
.swp-tabs--js .swp-tab-panel{
display:none;
}
.swp-tabs--js .swp-tab-panel.is-active{
display:block;
}
/* RULE BLOCK */
.swp-rule{
padding:.85rem 0 1rem;
border-bottom:1px solid rgba(255,255,255,.07);
}
.swp-rule:last-child{
border-bottom:0;
}
.swp-rule h4{
margin:.15rem 0 .45rem;
}
/* VIDEOS */
.swp-video-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
margin:1.35rem 0;
}
.swp-video{
overflow:hidden;
background:var(--swp-panel);
border:1px solid var(--swp-line-soft);
border-radius:13px;
}
.swp-video-embed{
position:relative;
width:100%;
aspect-ratio:16 / 9;
background:#000;
overflow:hidden;
}
.swp-video-embed iframe{
position:absolute;
inset:0;
display:block!important;
width:100%!important;
height:100%!important;
min-height:100%!important;
border:0!important;
visibility:visible!important;
opacity:1!important;
}
.swp-video-copy{
padding:1rem;
}
.swp-video-copy h3{
margin:0 0 .4rem;
font-size:1.08rem;
}
.swp-video-link{
display:inline-block;
margin-top:.45rem;
}
/* FAQ */
.swp-faq details{
margin:.65rem 0;
padding:.85rem 1rem;
background:var(--swp-panel);
border:1px solid var(--swp-line-soft);
border-radius:9px;
}
.swp-faq summary{
color:#ead5a6;
font-weight:700;
cursor:pointer;
}
/* FOOTER */
.swp-footer-links{
display:flex;
flex-wrap:wrap;
gap:9px;
margin-top:2rem;
padding-top:1.2rem;
border-top:1px solid var(--swp-line);
}
.swp-footer-links a{
display:inline-block;
padding:.55rem .75rem;
background:rgba(255,255,255,.035);
border:1px solid var(--swp-line-soft);
border-radius:8px;
text-decoration:none;
}
/* RESPONSIVE */
@media (max-width:920px){
.swp-hero{
grid-template-columns:1fr;
}
.swp-hero-image{
max-width:660px;
}
.swp-layer-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width:720px){
.sw-pandemonium{
padding:17px;
border-radius:12px;
}
.swp-profile{
grid-template-columns:1fr;
}
.swp-local-nav{
position:static;
}
.swp-video-grid{
grid-template-columns:1fr;
}
}
@media (max-width:520px){
.swp-layer-grid{
grid-template-columns:1fr;
}
.swp-local-nav{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
/* END PANDEMONIUM */
/* --- WPWriter addition --- */
/* COURT OF MIRACLES — scoped migration from page CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — THE COURT OF MIRACLES
   Final publication build — 1454
   Astra / Spectra friendly
   CSS only — no JavaScript
   ========================================================= */
.sw-court-miracles{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.7;
}
.sw-court-miracles *{
box-sizing:border-box;
}
.sw-court-miracles h1{
margin:0 0 18px;
line-height:1.12;
}
.sw-court-miracles h2{
margin-top:46px;
padding-bottom:9px;
border-bottom:1px solid rgba(128,128,128,.36);
line-height:1.2;
}
.sw-court-miracles h3{
margin-top:30px;
line-height:1.25;
}
.sw-court-miracles h4{
margin-top:24px;
}
.sw-court-miracles p, .sw-court-miracles li{
max-width:82ch;
}
.sw-court-miracles a{
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-kicker{
margin:-5px 0 24px;
font-size:1.08rem;
opacity:.86;
}
.sw-lead{
font-size:1.09rem;
}
.sw-hero, .sw-map, .sw-feature-image, .sw-literary-image{
margin:22px 0 34px;
}
.sw-hero img, .sw-map img, .sw-feature-image img, .sw-literary-image img{
width:100%;
height:auto;
display:block;
border-radius:8px;
}
.sw-image-link{
display:block;
}
.sw-caption{
margin-top:8px;
font-size:.91rem;
opacity:.78;
}
/* =========================================================
   IDENTITY BLOCK
   ========================================================= */
.sw-identity{
display:grid;
grid-template-columns:minmax(0, 2fr) minmax(240px, 1fr);
gap:24px;
align-items:start;
margin:28px 0 36px;
}
.sw-panel{
border:1px solid rgba(128,128,128,.36);
border-radius:8px;
overflow:hidden;
background:rgba(128,128,128,.055);
}
.sw-panel-title{
margin:0!important;
padding:14px 18px!important;
border:0!important;
border-bottom:1px solid rgba(128,128,128,.32)!important;
font-size:1.06rem;
font-weight:700;
}
.sw-panel-body{
padding:18px;
}
.sw-heraldry{
text-align:center;
}
.sw-heraldry-frame{
aspect-ratio:1 / 1;
width:100%;
max-width:330px;
margin:0 auto 13px;
overflow:hidden;
border-radius:8px;
}
.sw-heraldry-frame img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
/* =========================================================
   NOTES / CARDS
   ========================================================= */
.sw-note{
margin:24px 0;
padding:18px 20px;
border-left:4px solid currentColor;
background:rgba(128,128,128,.09);
border-radius:0 7px 7px 0;
}
.sw-warning{
margin:24px 0;
padding:18px 20px;
border:1px solid rgba(128,128,128,.38);
border-radius:8px;
background:rgba(128,128,128,.07);
}
.sw-grid-2, .sw-grid-3{
display:grid;
gap:20px;
margin:22px 0;
}
.sw-grid-2{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-grid-3{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-card{
border:1px solid rgba(128,128,128,.32);
border-radius:8px;
padding:18px;
background:rgba(128,128,128,.05);
}
.sw-card h3, .sw-card h4{
margin-top:0;
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-table-wrap{
width:100%;
overflow-x:auto;
margin:20px 0 28px;
}
.sw-court-miracles table{
width:100%;
border-collapse:collapse;
min-width:620px;
}
.sw-court-miracles th, .sw-court-miracles td{
border:1px solid rgba(128,128,128,.36);
padding:11px 13px;
vertical-align:top;
text-align:left;
}
.sw-court-miracles th{
background:rgba(128,128,128,.18);
font-weight:700;
}
.sw-court-miracles tbody tr:nth-child(even){
background:rgba(128,128,128,.055);
}
/* =========================================================
   HARD-LOCKED CSS-ONLY EDITION TABS
   WordPress / Astra safe
   Input → label → panel
   ========================================================= */
.sw-court-miracles .sw-tabs{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
column-gap:12px;
row-gap:18px;
margin:28px 0 38px;
}
.sw-court-miracles .sw-tab-item{
display:contents;
}
.sw-court-miracles .sw-tab-item > input{
position:absolute;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}
.sw-court-miracles .sw-tab-label{
grid-row:1;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
min-height:64px;
padding:12px 16px;
border:1px solid rgba(128,128,128,.42);
border-radius:9px;
background:rgba(128,128,128,.08);
font-weight:700;
text-align:center;
transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.sw-court-miracles .sw-tab-label-55{
grid-column:1;
}
.sw-court-miracles .sw-tab-label-pf{
grid-column:2;
}
.sw-court-miracles .sw-tab-label-35{
grid-column:3;
}
/* Force every rules panel closed first */
html body .sw-court-miracles .sw-tabs #court-panel-55, html body .sw-court-miracles .sw-tabs #court-panel-pf, html body .sw-court-miracles .sw-tabs #court-panel-35{
display:none!important;
grid-column:1 / -1;
grid-row:2;
padding:26px;
border:1px solid rgba(128,128,128,.42);
border-top:3px solid #e8c98e;
border-radius:10px;
background:rgba(128,128,128,.035);
}
/* Show only the checked edition */
html body .sw-court-miracles #court-tab-55:checked ~ #court-panel-55{
display:block!important;
}
html body .sw-court-miracles #court-tab-pf:checked ~ #court-panel-pf{
display:block!important;
}
html body .sw-court-miracles #court-tab-35:checked ~ #court-panel-35{
display:block!important;
}
/* Explicitly keep unchecked editions closed */
html body .sw-court-miracles #court-tab-55:not(:checked) ~ #court-panel-55{
display:none!important;
}
html body .sw-court-miracles #court-tab-pf:not(:checked) ~ #court-panel-pf{
display:none!important;
}
html body .sw-court-miracles #court-tab-35:not(:checked) ~ #court-panel-35{
display:none!important;
}
/* Selected tab button */
.sw-tab-item > input:checked + .sw-tab-label{
background:#e8c98e;
color:#171717;
border-color:#e8c98e;
}
.sw-tab-item > input:focus-visible + .sw-tab-label{
outline:3px solid currentColor;
outline-offset:3px;
}
/* =========================================================
   CSS-ONLY LIGHTBOX
   ========================================================= */
.sw-lightbox-view{
position:fixed;
inset:0;
z-index:99999;
display:flex;
align-items:center;
justify-content:center;
padding:24px;
background:rgba(0,0,0,.94);
opacity:0;
pointer-events:none;
transition:opacity .18s ease;
}
.sw-lightbox-view:target{
opacity:1;
pointer-events:auto;
}
.sw-lightbox-close{
display:flex;
width:100%;
height:100%;
align-items:center;
justify-content:center;
text-decoration:none;
}
.sw-lightbox-close img{
max-width:96vw;
max-height:92vh;
width:auto;
height:auto;
border-radius:6px;
box-shadow:0 8px 40px rgba(0,0,0,.65);
}
/* =========================================================
   VIDEO
   ========================================================= */
.sw-video{
position:relative;
width:100%;
padding-top:56.25%;
margin:22px 0 32px;
overflow:hidden;
border-radius:8px;
background:#111;
}
.sw-video iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
/* =========================================================
   HOOKS / NAVIGATION
   ========================================================= */
.sw-hook{
margin:20px 0;
padding:17px 19px;
border:1px solid rgba(128,128,128,.32);
border-radius:8px;
background:rgba(128,128,128,.035);
}
.sw-hook h3{
margin-top:0;
}
.sw-continue td:first-child{
white-space:nowrap;
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 760px) {
.sw-court-miracles{
width:calc(100% - 24px);
}
.sw-identity, .sw-grid-2, .sw-grid-3{
grid-template-columns:1fr;
}
.sw-heraldry-frame{
max-width:300px;
}
.sw-court-miracles .sw-tabs{
grid-template-columns:1fr;
row-gap:10px;
}
.sw-court-miracles .sw-tab-label{
grid-column:1!important;
grid-row:auto;
min-height:54px;
}
html body .sw-court-miracles .sw-tabs #court-panel-55, html body .sw-court-miracles .sw-tabs #court-panel-pf, html body .sw-court-miracles .sw-tabs #court-panel-35{
grid-column:1;
grid-row:auto;
padding:18px;
}
.sw-lightbox-view{
padding:10px;
}
}
/* END COURT OF MIRACLES */
/* --- WPWriter addition --- */
/* HOMEPAGE — migrated from page-scoped CSS, 2026-10-06 */
.swh-home{
--swh-black: #05080a;
--swh-black-soft: #0a0f13;
--swh-gold: #d6a52d;
--swh-gold-light: #efd06f;
--swh-cream: #f3ead5;
--swh-text: #f5f1e8;
--swh-muted: #c4bbb0;
--swh-line: rgba(222, 174, 62, 0.72);
--swh-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
--swh-sans: "Segoe UI", Tahoma, Arial, sans-serif;
position:relative;
overflow:hidden;
color:var(--swh-text);
background:var(--swh-black);
font-family:var(--swh-serif);
font-size:16px;
line-height:1.52;
}
.swh-home *, .swh-home *::before, .swh-home *::after{
box-sizing:border-box;
}
.swh-home h1, .swh-home h2, .swh-home h3, .swh-home p{
margin-top:0;
}
.swh-home a{
color:inherit;
}
.swh-shell{
width:min(1500px, calc(100% - 36px));
margin-inline:auto;
}
.swh-home a:focus-visible, .swh-home button:focus-visible, .swh-home input:focus-visible, .swh-home summary:focus-visible{
outline:3px solid #fff;
outline-offset:3px;
box-shadow:0 0 0 6px #9a6e0f;
}
.swh-site-header{
position:sticky;
z-index:50;
top:0;
border-bottom:1px solid rgba(214, 165, 45, 0.2);
background:rgba(4, 7, 9, 0.97);
backdrop-filter:blur(9px);
}
.admin-bar .swh-site-header{
top:32px;
}
.swh-header-inner{
display:grid;
grid-template-columns:auto minmax(0, 1fr) auto;
gap:30px;
align-items:center;
min-height:72px;
}
.swh-brand{
display:inline-flex;
align-items:center;
gap:12px;
text-decoration:none;
white-space:nowrap;
}
.swh-logo-mark{
width:46px;
height:46px;
flex:0 0 46px;
color:var(--swh-gold);
filter:drop-shadow(0 0 8px rgba(214, 165, 45, 0.18));
}
.swh-brand-copy strong{
display:block;
color:var(--swh-cream);
font-size:clamp(1.25rem, 2vw, 1.8rem);
font-weight:700;
letter-spacing:-0.025em;
line-height:1;
}
.swh-brand-copy span{
display:block;
margin-top:5px;
color:var(--swh-gold-light);
font-size:0.67rem;
font-style:italic;
letter-spacing:0.02em;
}
.swh-main-nav{
display:flex;
gap:clamp(13px, 1.7vw, 27px);
align-items:center;
justify-content:center;
}
.swh-main-nav a, .swh-search-jump{
color:#e9dfcb;
font-family:var(--swh-sans);
font-size:0.75rem;
font-weight:700;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
white-space:nowrap;
}
.swh-main-nav a:hover, .swh-main-nav a:focus-visible, .swh-search-jump:hover, .swh-search-jump:focus-visible{
color:var(--swh-gold-light);
}
.swh-search-jump{
display:inline-flex;
gap:8px;
align-items:center;
}
.swh-mobile-nav{
display:none;
position:relative;
}
.swh-mobile-nav summary{
display:inline-flex;
width:44px;
height:42px;
align-items:center;
justify-content:center;
border:1px solid var(--swh-line);
border-radius:3px;
color:var(--swh-gold-light);
cursor:pointer;
list-style:none;
}
.swh-mobile-nav summary::-webkit-details-marker{
display:none;
}
.swh-mobile-menu{
position:absolute;
top:calc(100% + 10px);
right:0;
display:grid;
width:min(310px, calc(100vw - 28px));
padding:10px;
border:1px solid var(--swh-line);
border-radius:4px;
background:#080d11;
box-shadow:0 18px 45px rgba(0, 0, 0, 0.5);
}
.swh-mobile-menu a{
padding:11px 12px;
border-bottom:1px solid rgba(214, 165, 45, 0.14);
color:var(--swh-cream);
font-family:var(--swh-sans);
font-size:0.78rem;
font-weight:700;
letter-spacing:0.04em;
text-decoration:none;
text-transform:uppercase;
}
.swh-hero{
position:relative;
min-height:clamp(520px, 58vw, 690px);
overflow:hidden;
border-bottom:1px solid rgba(214, 165, 45, 0.2);
background:#111;
}
.swh-hero-media{
position:absolute;
inset:0;
}
.swh-hero-media img{
display:block;
width:100%;
height:100%;
object-fit:cover;
object-position:52% center;
}
.swh-hero::before{
content:"";
position:absolute;
z-index:1;
inset:0;
background:linear-gradient( 90deg, rgba(2, 5, 7, 0.98) 0%, rgba(4, 7, 9, 0.93) 28%, rgba(5, 9, 12, 0.60) 50%, rgba(5, 9, 12, 0.12) 78%, rgba(5, 9, 12, 0.04) 100% ), linear-gradient( 180deg, rgba(0, 0, 0, 0.05) 45%, rgba(0, 0, 0, 0.76) 100% );
pointer-events:none;
}
.swh-hero-inner{
position:relative;
z-index:2;
display:flex;
min-height:inherit;
align-items:center;
padding-top:44px;
padding-bottom:122px;
}
.swh-hero-copy{
width:min(610px, 52%);
}
.swh-kicker{
margin-bottom:9px;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:0.76rem;
font-weight:800;
letter-spacing:0.095em;
text-transform:uppercase;
}
.swh-hero h1{
max-width:620px;
margin-bottom:17px;
color:#fff;
font-size:clamp(3rem, 5.4vw, 5.3rem);
font-weight:700;
letter-spacing:-0.045em;
line-height:0.94;
text-shadow:0 4px 24px rgba(0, 0, 0, 0.58);
}
.swh-hero-lede{
max-width:515px;
margin-bottom:22px;
color:#f0eadf;
font-size:clamp(1rem, 1.45vw, 1.18rem);
line-height:1.5;
text-shadow:0 2px 15px rgba(0, 0, 0, 0.6);
}
.swh-hero-buttons{
display:flex;
flex-wrap:wrap;
gap:12px;
}
.swh-button{
display:inline-flex;
min-height:48px;
align-items:center;
justify-content:center;
padding:12px 22px;
border:1px solid var(--swh-gold);
border-radius:3px;
font-family:var(--swh-sans);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
transition:transform 150ms ease, background 150ms ease, color 150ms ease;
}
.swh-button:hover, .swh-button:focus-visible{
transform:translateY(-2px);
}
.swh-button-primary{
color:#171006;
background:linear-gradient(180deg, #f0ce73, #d4a334);
}
.swh-button-secondary{
color:var(--swh-cream);
background:rgba(4, 7, 9, 0.68);
}
.swh-proof-strip{
position:absolute;
z-index:3;
right:0;
bottom:0;
left:0;
border-top:1px solid rgba(214, 165, 45, 0.16);
background:rgba(3, 6, 8, 0.86);
backdrop-filter:blur(8px);
}
.swh-proof-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.swh-proof{
display:grid;
grid-template-columns:42px minmax(0, 1fr);
gap:12px;
align-items:center;
min-height:84px;
padding:12px 20px;
border-right:1px solid rgba(214, 165, 45, 0.16);
}
.swh-proof:last-child{
border-right:0;
}
.swh-proof-icon{
display:grid;
width:38px;
height:38px;
place-items:center;
border:1px solid var(--swh-gold);
border-radius:50%;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:1rem;
font-weight:800;
}
.swh-proof span{
color:#efe7d9;
font-size:0.91rem;
line-height:1.25;
}
.swh-worlds{
padding:14px 0 10px;
background:radial-gradient(circle at 50% 0%, rgba(214, 165, 45, 0.08), transparent 34%), #05080a;
}
.swh-world-grid{
display:grid;
grid-template-columns:repeat(6, minmax(0, 1fr));
gap:10px;
}
.swh-world-card{
position:relative;
display:flex;
min-height:325px;
flex-direction:column;
overflow:hidden;
border:1px solid var(--swh-line);
border-radius:4px;
background:#111;
box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.035);
text-decoration:none;
transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.swh-world-card:hover, .swh-world-card:focus-visible{
z-index:2;
border-color:var(--swh-gold-light);
box-shadow:0 14px 34px rgba(0, 0, 0, 0.48);
transform:translateY(-4px);
}
.swh-world-card img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
transition:transform 260ms ease;
}
.swh-world-card:hover img, .swh-world-card:focus-visible img{
transform:scale(1.035);
}
.swh-world-card::before{
content:"";
position:absolute;
z-index:1;
inset:0;
background:linear-gradient(180deg, rgba(0, 0, 0, 0.06) 28%, rgba(0, 0, 0, 0.52) 60%, rgba(0, 0, 0, 0.96) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.2), transparent 54%);
}
.swh-card-top, .swh-card-bottom{
position:relative;
z-index:2;
}
.swh-card-top{
padding:15px 15px 0;
}
.swh-card-number{
display:block;
margin-bottom:2px;
color:var(--swh-gold-light);
font-size:0.86rem;
font-weight:700;
letter-spacing:0.055em;
}
.swh-world-card h3{
margin-bottom:0;
color:#fff;
font-size:clamp(1.3rem, 1.65vw, 1.85rem);
font-weight:700;
letter-spacing:-0.025em;
line-height:1.02;
text-shadow:0 3px 16px rgba(0, 0, 0, 0.65);
}
.swh-card-bottom{
display:grid;
grid-template-columns:minmax(0, 1fr) 38px;
gap:12px;
align-items:end;
margin-top:auto;
padding:16px 15px 15px;
}
.swh-card-bottom p{
margin-bottom:0;
color:#eee7dc;
font-size:0.84rem;
line-height:1.34;
}
.swh-card-arrow{
display:grid;
width:36px;
height:36px;
place-items:center;
border:1px solid var(--swh-gold);
border-radius:50%;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:1.2rem;
}
.swh-resources{
padding:0 0 11px;
background:#05080a;
}
.swh-resource-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:10px;
}
.swh-resource-card{
display:grid;
grid-template-columns:40% minmax(0, 1fr);
min-height:145px;
overflow:hidden;
border:1px solid var(--swh-line);
border-radius:4px;
background:var(--swh-resource-bg, linear-gradient(125deg, #0b2530, #071319));
text-decoration:none;
transition:transform 160ms ease, border-color 160ms ease;
}
.swh-resource-card:hover, .swh-resource-card:focus-visible{
border-color:var(--swh-gold-light);
transform:translateY(-3px);
}
.swh-resource-card img{
width:100%;
height:100%;
object-fit:cover;
border-right:1px solid rgba(214, 165, 45, 0.3);
}
.swh-resource-copy{
display:flex;
min-width:0;
flex-direction:column;
padding:16px 16px 13px;
}
.swh-resource-copy h3{
margin-bottom:6px;
color:#fff;
font-size:clamp(1.23rem, 1.45vw, 1.72rem);
font-weight:700;
letter-spacing:-0.02em;
line-height:1.05;
}
.swh-resource-copy p{
margin-bottom:8px;
color:#eee5d7;
font-size:0.8rem;
line-height:1.3;
}
.swh-resource-meta{
margin-top:auto;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:0.68rem;
font-weight:700;
letter-spacing:0.035em;
}
.swh-resource-arrow{
align-self:flex-end;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:1.15rem;
}
.swh-resource-player{
--swh-resource-bg: linear-gradient(120deg, #082b3b, #07141b);
}
.swh-resource-gm{
--swh-resource-bg: linear-gradient(120deg, #21351b, #0b150c);
}
.swh-resource-film{
--swh-resource-bg: linear-gradient(120deg, #4a1716, #17090a);
}
.swh-resource-books{
--swh-resource-bg: linear-gradient(120deg, #493019, #181007);
}
.swh-utility{
padding:0 0 11px;
background:#05080a;
}
.swh-utility-grid{
display:grid;
grid-template-columns:minmax(0, 1.45fr) minmax(310px, 0.55fr);
gap:10px;
}
.swh-search-panel, .swh-support-panel{
min-height:120px;
border:1px solid var(--swh-line);
border-radius:4px;
}
.swh-search-panel{
display:grid;
grid-template-columns:minmax(200px, 0.65fr) minmax(320px, 1.35fr);
gap:24px;
align-items:center;
padding:18px 24px;
color:#21160a;
background:radial-gradient(circle at 6% 50%, rgba(122, 76, 19, 0.14), transparent 18%), linear-gradient(90deg, #e6d2a5, #f0dfbb);
}
.swh-search-panel h2, .swh-support-panel h2{
margin-bottom:4px;
font-size:clamp(1.45rem, 2.1vw, 2.15rem);
font-weight:700;
letter-spacing:-0.025em;
line-height:1.02;
}
.swh-search-panel p{
margin-bottom:0;
font-size:0.86rem;
}
.swh-search-form{
display:grid;
grid-template-columns:minmax(0, 1fr) 56px;
border:1px solid #8c611c;
border-radius:3px;
background:rgba(255, 255, 255, 0.56);
}
.swh-search-form input{
min-width:0;
min-height:47px;
padding:10px 14px;
border:0;
color:#22170b;
background:transparent;
font:inherit;
}
.swh-search-form button{
border:0;
border-left:1px solid #8c611c;
color:#1a1005;
background:linear-gradient(180deg, #efc85f, #d6a52d);
font-size:1.1rem;
cursor:pointer;
}
.swh-support-panel{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:18px;
align-items:center;
padding:18px 22px;
color:#f0e6d6;
background:radial-gradient(circle at 86% 50%, rgba(214, 165, 45, 0.12), transparent 26%), linear-gradient(120deg, #1b1712, #090b0d);
}
.swh-support-panel p{
margin-bottom:0;
color:#cabfaf;
font-size:0.82rem;
line-height:1.3;
}
.swh-support-link{
display:inline-flex;
min-height:42px;
align-items:center;
justify-content:center;
padding:10px 15px;
border:1px solid var(--swh-gold);
border-radius:3px;
color:#1b1105;
background:linear-gradient(180deg, #efcd72, #d5a437);
font-family:var(--swh-sans);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.035em;
text-decoration:none;
text-transform:uppercase;
white-space:nowrap;
}
.swh-footer{
border-top:1px solid rgba(214, 165, 45, 0.2);
background:#060a0d;
}
.swh-footer-inner{
display:grid;
grid-template-columns:minmax(240px, 0.8fr) minmax(0, 1.2fr) auto;
gap:34px;
align-items:center;
min-height:88px;
padding-top:15px;
padding-bottom:15px;
}
.swh-footer-copy{
color:#bdb4a7;
font-size:0.78rem;
line-height:1.35;
}
.swh-footer-nav{
display:flex;
flex-wrap:wrap;
gap:8px 19px;
}
.swh-footer-nav a{
color:#d7ccba;
font-family:var(--swh-sans);
font-size:0.69rem;
font-weight:700;
letter-spacing:0.035em;
text-decoration:none;
text-transform:uppercase;
}
.swh-footer-nav a:hover, .swh-footer-nav a:focus-visible{
color:var(--swh-gold-light);
}
.swh-copyright{
color:#9f9689;
font-size:0.75rem;
text-align:right;
white-space:nowrap;
}
.swh-screen-reader{
position:absolute!important;
width:1px;
height:1px;
overflow:hidden;
clip:rect(1px, 1px, 1px, 1px);
clip-path:inset(50%);
white-space:nowrap;
}
/* Homepage navigation: keep Search out of the mobile grid. */
@media (max-width: 1180px) {
body.home .swh-header-inner{
grid-template-columns:minmax(0, 1fr) auto;
min-height:66px;
}
body.home .swh-main-nav, body.home .swh-search-jump{
display:none;
}
body.home .swh-mobile-nav{
display:block;
}
body.home .swh-mobile-menu{
max-height:calc(100vh - 84px - var(--wp-admin--admin-bar--height, 0px));
max-height:calc(100dvh - 84px - var(--wp-admin--admin-bar--height, 0px));
overflow-y:auto;
overscroll-behavior:contain;
}
}
@media (max-width: 1280px) {
.swh-main-nav{
gap:14px;
}
.swh-main-nav a{
font-size:0.69rem;
}
.swh-world-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.swh-world-card{
min-height:370px;
}
}
@media (max-width: 980px) {
.admin-bar .swh-site-header{
top:46px;
}
.swh-hero{
min-height:660px;
}
.swh-hero-media img{
object-position:58% center;
}
.swh-hero::before{
background:linear-gradient( 90deg, rgba(2, 5, 7, 0.98) 0%, rgba(4, 7, 9, 0.93) 48%, rgba(4, 7, 9, 0.52) 76%, rgba(4, 7, 9, 0.2) 100% ), linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.82) 100%);
}
.swh-hero-copy{
width:min(600px, 82%);
}
.swh-proof-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swh-proof:nth-child(2){
border-right:0;
}
.swh-proof:nth-child(-n + 2){
border-bottom:1px solid rgba(214, 165, 45, 0.16);
}
.swh-resource-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swh-utility-grid, .swh-search-panel{
grid-template-columns:1fr;
}
}
@media (max-width: 700px) {
.swh-shell{
width:min(100% - 20px, 1500px);
}
.swh-brand-copy strong{
font-size:1.28rem;
}
.swh-brand-copy span{
display:none;
}
.swh-logo-mark{
width:40px;
height:40px;
flex-basis:40px;
}
.swh-hero{
min-height:720px;
}
.swh-hero-inner{
align-items:flex-start;
padding-top:55px;
padding-bottom:185px;
}
.swh-hero-copy{
width:100%;
}
.swh-hero h1{
max-width:520px;
font-size:clamp(2.7rem, 13vw, 4.5rem);
}
.swh-proof{
grid-template-columns:34px minmax(0, 1fr);
min-height:72px;
padding:10px 11px;
}
.swh-proof-icon{
width:32px;
height:32px;
}
.swh-proof span{
font-size:0.78rem;
}
.swh-world-grid, .swh-resource-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swh-world-card{
min-height:335px;
}
.swh-resource-card{
grid-template-columns:38% minmax(0, 1fr);
}
.swh-utility-grid{
grid-template-columns:1fr;
}
.swh-footer-inner{
grid-template-columns:1fr;
gap:14px;
}
.swh-copyright{
text-align:left;
}
}
@media (max-width: 480px) {
.swh-world-grid, .swh-resource-grid, .swh-proof-grid{
grid-template-columns:1fr;
}
.swh-proof{
border-right:0;
border-bottom:1px solid rgba(214, 165, 45, 0.16);
}
.swh-hero{
min-height:850px;
}
.swh-hero-inner{
padding-bottom:310px;
}
.swh-world-card{
min-height:390px;
}
.swh-support-panel{
grid-template-columns:1fr;
}
}
/* 4 August final corrective structure */
.swh-skip-link{
position:fixed;
z-index:1000;
top:10px;
left:10px;
padding:11px 15px;
border:2px solid var(--swh-gold-light);
border-radius:3px;
color:#171006;
background:#f3d77f;
font-family:var(--swh-sans);
font-size:0.78rem;
font-weight:800;
text-decoration:none;
transform:translateY(-150%);
transition:transform 140ms ease;
}
.swh-skip-link:focus{
transform:translateY(0);
}
.swh-main{
display:block;
}
.swh-section-head{
display:flex;
gap:28px;
align-items:end;
justify-content:space-between;
padding:22px 0 14px;
}
.swh-section-head-copy{
max-width:720px;
}
.swh-section-eyebrow{
display:block;
margin-bottom:5px;
color:var(--swh-gold-light);
font-family:var(--swh-sans);
font-size:0.7rem;
font-weight:800;
letter-spacing:0.09em;
text-transform:uppercase;
}
.swh-section-head h2{
margin:0;
color:#fff;
font-size:clamp(1.8rem, 3vw, 2.7rem);
line-height:1.02;
}
.swh-section-head p{
max-width:560px;
margin:0;
color:var(--swh-muted);
font-size:0.93rem;
line-height:1.5;
}
.swh-search-band{
padding:10px 0 12px;
border-bottom:1px solid rgba(214, 165, 45, 0.14);
background:#05080a;
}
.swh-search-band .swh-search-panel{
width:100%;
}
.swh-support-band{
padding:10px 0 12px;
background:#05080a;
}
.swh-support-band .swh-support-panel{
width:100%;
}
/* Lighter final image treatment: preserve detail while retaining text contrast. */
.swh-world-card::before{
background:linear-gradient(180deg, rgba(0,0,0,0.02) 25%, rgba(0,0,0,0.34) 59%, rgba(0,0,0,0.88) 100%), linear-gradient(90deg, rgba(0,0,0,0.10), transparent 58%);
}
@media (max-width: 700px) {
.swh-section-head{
display:block;
padding-top:19px;
}
.swh-section-head p{
margin-top:8px;
}
}
@media (prefers-reduced-motion: reduce) {
.swh-home *, .swh-home *::before, .swh-home *::after{
scroll-behavior:auto!important;
transition-duration:0.01ms!important;
}
}
/* END HOMEPAGE */
/* --- WPWriter addition --- */
/* PLAYER RESOURCES — migrated from page-scoped CSS, 2026-10-06 */
.swpr{
--black: #040709;
--black-soft: #080d11;
--panel: #0d1419;
--panel-raised: #111a20;
--gold: #d6a52d;
--gold-light: #f0cf76;
--cream: #f4ecdd;
--text: #f7f3eb;
--muted: #c5bcaf;
--line: rgba(214, 165, 45, 0.57);
--line-soft: rgba(214, 165, 45, 0.18);
--serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
--sans: "Segoe UI", Tahoma, Arial, sans-serif;
position:relative;
overflow:hidden;
color:var(--text);
background:var(--black);
font-family:var(--serif);
font-size:16px;
line-height:1.52;
}
.swpr *, .swpr *::before, .swpr *::after{
box-sizing:border-box;
}
.swpr h1, .swpr h2, .swpr h3, .swpr p{
margin-top:0;
}
.swpr h1, .swpr h2, .swpr h3, .swpr p, .swpr span, .swpr a, .swpr li{
overflow-wrap:normal!important;
word-break:normal!important;
hyphens:none!important;
}
.swpr a{
color:inherit;
}
.swpr a:focus-visible, .swpr input:focus-visible, .swpr button:focus-visible, .swpr summary:focus-visible{
outline:3px solid #fff;
outline-offset:3px;
box-shadow:0 0 0 6px #8b650e;
}
.swpr [id]{
scroll-margin-top:92px;
}
.swpr-shell{
width:min(1440px, calc(100% - 36px));
margin-inline:auto;
}
.swpr-header{
position:sticky;
z-index:60;
top:0;
border-bottom:1px solid var(--line-soft);
background:rgba(3, 6, 8, 0.97);
backdrop-filter:blur(9px);
}
.admin-bar .swpr-header{
top:32px;
}
.swpr-header-inner{
display:grid;
grid-template-columns:auto minmax(0, 1fr) auto;
gap:28px;
align-items:center;
min-height:72px;
}
.swpr-brand{
display:inline-flex;
gap:11px;
align-items:center;
color:var(--cream);
text-decoration:none;
white-space:nowrap;
}
.swpr-mark{
display:grid;
width:44px;
height:44px;
flex:0 0 44px;
place-items:center;
border:1px solid var(--gold);
border-radius:50%;
color:var(--gold-light);
font-family:var(--serif);
font-size:1.8rem;
line-height:1;
}
.swpr-brand strong{
display:block;
font-family:var(--serif);
font-size:1.5rem;
letter-spacing:-0.025em;
line-height:1;
}
.swpr-brand small{
display:block;
margin-top:5px;
color:var(--gold-light);
font-size:0.67rem;
font-style:italic;
}
.swpr-nav{
display:flex;
gap:clamp(13px, 1.45vw, 24px);
align-items:center;
justify-content:center;
}
.swpr-nav a, .swpr-search-jump{
color:#e8deca;
font-family:var(--sans);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
white-space:nowrap;
}
.swpr-nav a:hover, .swpr-search-jump:hover{
color:var(--gold-light);
}
.swpr-mobile{
display:none;
position:relative;
}
.swpr-mobile summary{
display:grid;
width:44px;
height:42px;
place-items:center;
border:1px solid var(--line);
border-radius:3px;
color:var(--gold-light);
cursor:pointer;
list-style:none;
}
.swpr-mobile summary::-webkit-details-marker{
display:none;
}
.swpr-mobile-menu{
position:absolute;
top:calc(100% + 10px);
right:0;
display:grid;
width:min(310px, calc(100vw - 28px));
padding:10px;
border:1px solid var(--line);
border-radius:4px;
background:#080d11;
box-shadow:0 18px 45px rgba(0, 0, 0, 0.54);
}
.swpr-mobile-menu a{
padding:11px 12px;
border-bottom:1px solid var(--line-soft);
font-family:var(--sans);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.04em;
text-decoration:none;
text-transform:uppercase;
}
.swpr-hero{
position:relative;
min-height:clamp(590px, 62vw, 760px);
overflow:hidden;
border-bottom:1px solid var(--line-soft);
background:#111;
}
.swpr-hero::before{
content:"";
position:absolute;
inset:0;
z-index:0;
background:url("https://spiralworlds.com/wp-content/uploads/2026/07/spiralworlds-home-players.webp") 61% center / cover no-repeat;
filter:brightness(1.95) contrast(0.90) saturate(1.10);
transform:scale(1.002);
}
.swpr-hero::after{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;
background:linear-gradient(90deg, rgba(3, 6, 8, 0.58) 0%, rgba(3, 6, 8, 0.42) 30%, rgba(3, 6, 8, 0.15) 54%, rgba(3, 6, 8, 0.03) 80%, rgba(3, 6, 8, 0.00) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 52%, rgba(0, 0, 0, 0.22) 100%);
}
.swpr-hero-inner{
display:flex;
min-height:inherit;
align-items:center;
padding-top:54px;
padding-bottom:132px;
}
.swpr-hero-copy{
position:relative;
z-index:2;
width:min(710px, 60%);
}
.swpr-kicker, .swpr-eyebrow{
margin-bottom:10px;
color:var(--gold-light);
font-family:var(--sans);
font-size:0.74rem;
font-weight:900;
letter-spacing:0.105em;
text-transform:uppercase;
}
.swpr-hero h1{
max-width:700px;
margin:0 0 18px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:clamp(3.2rem, 5.2vw, 5rem)!important;
font-weight:850!important;
letter-spacing:-0.045em!important;
line-height:0.95!important;
text-transform:none!important;
text-shadow:0 4px 24px rgba(0, 0, 0, 0.68);
}
.swpr-hero h1 span{
display:block;
white-space:nowrap;
}
.swpr-lede{
max-width:590px;
margin-bottom:25px;
color:#f1eadf;
font-size:clamp(1rem, 1.35vw, 1.14rem);
line-height:1.54;
text-shadow:0 2px 14px rgba(0, 0, 0, 0.75);
}
.swpr-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
}
.swpr-button{
display:inline-flex;
min-height:48px;
align-items:center;
justify-content:center;
padding:12px 21px;
border:1px solid var(--gold);
border-radius:3px;
font-family:var(--sans);
font-size:0.75rem;
font-weight:900;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
transition:transform 150ms ease, background 150ms ease;
}
.swpr-button:hover{
transform:translateY(-2px);
}
.swpr-primary{
color:#171006;
background:linear-gradient(180deg, #f0cf76, #d4a333);
}
.swpr-secondary{
color:var(--cream);
background:rgba(4, 7, 9, 0.73);
}
.swpr-proof{
position:absolute;
z-index:3;
right:0;
bottom:0;
left:0;
border-top:1px solid var(--line-soft);
background:rgba(3, 6, 8, 0.9);
backdrop-filter:blur(7px);
}
.swpr-proof-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.swpr-proof-item{
display:grid;
grid-template-columns:42px minmax(0, 1fr);
gap:12px;
align-items:center;
min-height:84px;
padding:12px 20px;
border-right:1px solid var(--line-soft);
}
.swpr-proof-item:last-child{
border-right:0;
}
.swpr-proof-icon{
display:grid;
width:38px;
height:38px;
place-items:center;
border:1px solid var(--gold);
border-radius:50%;
color:var(--gold-light);
font-family:var(--sans);
font-size:1rem;
font-weight:900;
}
.swpr-proof-item span:last-child{
color:#eee5d7;
font-size:0.89rem;
line-height:1.27;
}
.swpr-section{
padding:clamp(56px, 7vw, 90px) 0;
border-bottom:1px solid var(--line-soft);
background:radial-gradient(circle at 50% 0%, rgba(214, 165, 45, 0.055), transparent 32%), var(--black);
}
.swpr-section-alt{
background:linear-gradient(90deg, rgba(214, 165, 45, 0.035), transparent 42%), var(--black-soft);
}
.swpr-section-head{
display:grid;
grid-template-columns:minmax(0, 0.58fr) minmax(320px, 0.42fr);
gap:48px;
align-items:end;
margin-bottom:28px;
}
.swpr-section-head h2{
margin:0!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:clamp(2rem, 3.25vw, 3.35rem)!important;
font-weight:850!important;
letter-spacing:-0.04em!important;
line-height:0.99!important;
text-transform:none!important;
}
.swpr-section-head p{
margin-bottom:0;
color:var(--muted);
font-size:0.97rem;
line-height:1.53;
}
.swpr-builder{
display:grid;
grid-template-columns:minmax(0, 1.1fr) minmax(320px, 0.5fr);
gap:14px;
}
.swpr-builder-main, .swpr-builder-side{
border:1px solid var(--line);
border-radius:4px;
background:var(--panel);
}
.swpr-builder-main{
padding:clamp(24px, 3.5vw, 44px);
}
.swpr-builder-main h2{
margin:0 0 12px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:clamp(2rem, 3.1vw, 3rem)!important;
font-weight:850!important;
letter-spacing:-0.04em!important;
line-height:1!important;
}
.swpr-builder-main > p{
max-width:760px;
margin-bottom:26px;
color:var(--muted);
}
.swpr-builder-list{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px 18px;
counter-reset:player-step;
}
.swpr-builder-row{
display:grid;
grid-template-columns:31px minmax(0, 1fr);
gap:11px;
align-items:start;
padding:13px 0;
border-top:1px solid var(--line-soft);
counter-increment:player-step;
}
.swpr-builder-row::before{
content:counter(player-step);
display:grid;
width:28px;
height:28px;
place-items:center;
border:1px solid var(--gold);
border-radius:50%;
color:var(--gold-light);
font-family:var(--sans);
font-size:0.72rem;
font-weight:900;
}
.swpr-builder-row strong{
display:block;
margin-bottom:3px;
color:#fff;
font-family:var(--sans);
font-size:0.91rem;
}
.swpr-builder-row span{
color:var(--muted);
font-size:0.83rem;
line-height:1.4;
}
.swpr-builder-side{
display:flex;
flex-direction:column;
padding:25px 22px;
background:linear-gradient(180deg, rgba(214, 165, 45, 0.065), transparent 58%), var(--panel);
}
.swpr-builder-side h3{
margin:0 0 10px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.42rem!important;
font-weight:850!important;
letter-spacing:-0.025em!important;
line-height:1.05!important;
}
.swpr-builder-side p{
color:var(--muted);
font-size:0.88rem;
}
.swpr-builder-side .swpr-button{
width:100%;
margin-top:auto;
}
.swpr-core-grid{
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:10px;
}
.swpr-core-card{
display:flex;
min-height:245px;
flex-direction:column;
padding:21px 19px 18px;
border:1px solid var(--line);
border-radius:4px;
background:linear-gradient(145deg, rgba(214, 165, 45, 0.055), transparent 44%), var(--panel);
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease;
}
.swpr-core-card:hover{
border-color:var(--gold-light);
transform:translateY(-3px);
}
.swpr-core-icon{
display:grid;
width:43px;
height:43px;
margin-bottom:22px;
place-items:center;
border:1px solid var(--gold);
border-radius:50%;
color:var(--gold-light);
font-family:var(--sans);
font-size:1rem;
font-weight:900;
}
.swpr-core-card h3{
margin:0 0 9px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.28rem!important;
font-weight:850!important;
letter-spacing:-0.025em!important;
line-height:1.05!important;
}
.swpr-core-card p{
margin-bottom:15px;
color:var(--muted);
font-size:max(16px, 0.83rem);
line-height:1.42;
}
.swpr-card-arrow{
margin-top:auto;
color:var(--gold-light);
font-family:var(--sans);
font-size:max(15px, 0.69rem);
font-weight:900;
letter-spacing:0.045em;
text-transform:uppercase;
}
.swpr-race-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:12px;
}
.swpr-race-card{
display:flex;
min-height:275px;
flex-direction:column;
padding:22px 20px 19px;
border:1px solid var(--line);
border-radius:4px;
background:var(--panel);
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.swpr-race-card:hover{
border-color:var(--gold-light);
background:var(--panel-raised);
transform:translateY(-3px);
}
.swpr-race-card h3{
margin:0 0 9px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.4rem!important;
font-weight:850!important;
letter-spacing:-0.028em!important;
line-height:1.04!important;
}
.swpr-race-card p{
margin-bottom:16px;
color:var(--muted);
font-size:0.86rem;
line-height:1.44;
}
.swpr-race-questions{
display:grid;
gap:6px;
margin-top:auto;
}
.swpr-race-questions span{
padding-top:7px;
border-top:1px solid var(--line-soft);
color:#e8dfd1;
font-size:0.78rem;
line-height:1.35;
}
.swpr-class-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:10px;
}
.swpr-class-card{
display:flex;
min-height:205px;
flex-direction:column;
padding:19px 17px 16px;
border:1px solid rgba(214, 165, 45, 0.43);
border-radius:4px;
background:var(--panel);
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.swpr-class-card:hover{
border-color:var(--gold-light);
background:var(--panel-raised);
transform:translateY(-3px);
}
.swpr-role{
display:block;
margin-bottom:13px;
color:var(--gold-light);
font-family:var(--sans);
font-size:0.65rem;
font-weight:900;
letter-spacing:0.095em;
text-transform:uppercase;
}
.swpr-class-card h3{
margin:0 0 8px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.17rem!important;
font-weight:850!important;
letter-spacing:-0.022em!important;
line-height:1.05!important;
}
.swpr-class-card p{
margin-bottom:14px;
color:var(--muted);
font-size:0.8rem;
line-height:1.4;
}
.swpr-class-card .swpr-card-arrow{
margin-top:auto;
}
.swpr-advanced{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
margin-top:14px;
}
.swpr-advanced-card{
display:grid;
min-height:190px;
align-content:end;
padding:24px 22px;
border:1px solid var(--line);
border-radius:4px;
background:linear-gradient(135deg, rgba(214, 165, 45, 0.08), transparent 48%), var(--panel);
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease;
}
.swpr-advanced-card:hover{
border-color:var(--gold-light);
transform:translateY(-3px);
}
.swpr-advanced-card h3{
margin:0 0 8px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.45rem!important;
font-weight:850!important;
letter-spacing:-0.028em!important;
line-height:1.05!important;
}
.swpr-advanced-card p{
margin-bottom:0;
color:var(--muted);
font-size:0.86rem;
line-height:1.43;
}
.swpr-equipment-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:10px;
}
.swpr-equipment-card{
display:flex;
min-height:205px;
flex-direction:column;
padding:19px 17px 16px;
border:1px solid rgba(214, 165, 45, 0.43);
border-radius:4px;
background:var(--panel);
text-decoration:none;
transition:transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.swpr-equipment-card:hover{
border-color:var(--gold-light);
background:var(--panel-raised);
transform:translateY(-3px);
}
.swpr-equipment-card h3{
margin:0 0 8px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.14rem!important;
font-weight:850!important;
letter-spacing:-0.021em!important;
line-height:1.06!important;
}
.swpr-equipment-card p{
margin-bottom:14px;
color:var(--muted);
font-size:0.8rem;
line-height:1.4;
}
.swpr-equipment-card .swpr-card-arrow{
margin-top:auto;
}
.swpr-ready-grid{
display:grid;
grid-template-columns:minmax(0, 0.82fr) minmax(300px, 0.38fr);
gap:14px;
}
.swpr-ready-main, .swpr-magic-card{
border:1px solid var(--line);
border-radius:4px;
background:var(--panel);
}
.swpr-ready-main{
padding:clamp(24px, 3.5vw, 42px);
}
.swpr-ready-main h2{
margin:0 0 13px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:clamp(2rem, 3.1vw, 3rem)!important;
font-weight:850!important;
letter-spacing:-0.04em!important;
line-height:1!important;
}
.swpr-ready-list{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px 20px;
margin-top:24px;
}
.swpr-ready-item{
padding:13px 0;
border-top:1px solid var(--line-soft);
}
.swpr-ready-item strong{
display:block;
margin-bottom:4px;
color:var(--gold-light);
font-family:var(--sans);
font-size:0.74rem;
font-weight:900;
letter-spacing:0.055em;
text-transform:uppercase;
}
.swpr-ready-item span{
color:var(--muted);
font-size:0.84rem;
line-height:1.4;
}
.swpr-magic-card{
position:relative;
display:flex;
min-height:100%;
flex-direction:column;
justify-content:flex-end;
overflow:hidden;
padding:25px 22px;
background:linear-gradient(180deg, rgba(4, 7, 9, 0.17), rgba(4, 7, 9, 0.96) 70%), url("https://spiralworlds.com/wp-content/uploads/2026/07/spiralworlds-home-magic.webp") center / cover no-repeat, var(--panel);
}
.swpr-magic-card h3{
margin:0 0 10px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.48rem!important;
font-weight:850!important;
letter-spacing:-0.028em!important;
line-height:1.05!important;
}
.swpr-magic-card p{
color:#e9e0d2;
font-size:0.86rem;
line-height:1.43;
}
.swpr-magic-card .swpr-button{
width:100%;
margin-top:13px;
}
.swpr-search{
padding:18px 0;
border-bottom:1px solid var(--line-soft);
background:#080d11;
}
.swpr-search-box{
display:grid;
grid-template-columns:minmax(220px, 0.48fr) minmax(320px, 0.52fr);
gap:28px;
align-items:center;
padding:25px;
border:1px solid rgba(214, 165, 45, 0.42);
border-radius:4px;
background:rgba(4, 7, 9, 0.84);
}
.swpr-search-box h2{
margin:0 0 6px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.6rem!important;
font-weight:850!important;
letter-spacing:-0.025em!important;
line-height:1.05!important;
}
.swpr-search-box p{
margin-bottom:0;
color:var(--muted);
font-size:0.9rem;
}
.swpr-search-form{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
}
.swpr-search-form input{
min-width:0;
height:50px;
padding:0 15px;
border:1px solid #715d32;
border-right:0;
border-radius:3px 0 0 3px;
color:#17120a;
background:#f7efe0;
font-family:var(--sans);
font-size:0.95rem;
}
.swpr-search-form button{
min-height:50px;
padding:0 20px;
border:1px solid var(--gold);
border-radius:0 3px 3px 0;
color:#171006;
background:linear-gradient(180deg, #f0cf76, #d4a333);
font-family:var(--sans);
font-size:0.75rem;
font-weight:900;
letter-spacing:0.055em;
text-transform:uppercase;
cursor:pointer;
}
.swpr-footer{
padding:30px 0;
background:#030608;
}
.swpr-footer-grid{
display:grid;
grid-template-columns:minmax(240px, 1.15fr) repeat(2, minmax(160px, 0.42fr));
gap:40px;
}
.swpr-footer strong{
display:block;
margin-bottom:7px;
color:var(--cream);
font-size:1.15rem;
}
.swpr-footer p{
margin-bottom:0;
color:#9f978d;
font-family:var(--sans);
font-size:0.78rem;
}
.swpr-footer h2{
margin:0 0 9px!important;
color:var(--gold-light)!important;
font-family:var(--sans)!important;
font-size:0.72rem!important;
font-weight:900!important;
letter-spacing:0.08em!important;
text-transform:uppercase!important;
}
.swpr-footer-links{
display:grid;
gap:6px;
}
.swpr-footer-links a{
color:#d9d1c5;
font-family:var(--sans);
font-size:0.8rem;
text-decoration:none;
}
.swpr-footer-links a:hover{
color:var(--gold-light);
}
@media (max-width: 1240px) {
.swpr-nav{
display:none;
}
.swpr-mobile{
display:block;
}
.swpr-header-inner{
grid-template-columns:auto 1fr auto auto;
}
.swpr-core-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.swpr-class-grid, .swpr-equipment-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.swpr-hero{
min-height:730px;
background-position:64% center;
}
.swpr-hero-copy{
width:min(650px, 77%);
}
.swpr-proof-grid, .swpr-race-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swpr-proof-item:nth-child(2){
border-right:0;
}
.swpr-section-head, .swpr-builder, .swpr-ready-grid, .swpr-search-box{
grid-template-columns:1fr;
gap:19px;
}
.swpr-class-grid, .swpr-equipment-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.swpr-footer-grid{
grid-template-columns:1fr 1fr;
}
}
@media (max-width: 640px) {
.swpr-shell{
width:min(100% - 24px, 1440px);
}
.swpr-search-jump{
display:none;
}
.swpr-header-inner{
grid-template-columns:minmax(0, 1fr) auto;
gap:14px;
}
.swpr-brand small{
display:none;
}
.swpr-mark{
width:40px;
height:40px;
flex-basis:40px;
}
.swpr-hero{
min-height:805px;
background:linear-gradient(180deg, rgba(3, 6, 8, 0.47) 0%, rgba(3, 6, 8, 0.68) 34%, rgba(3, 6, 8, 0.98) 76%), url("https://spiralworlds.com/wp-content/uploads/2026/07/spiralworlds-home-players.webp") 58% center / cover no-repeat, #111;
}
.swpr-hero-inner{
align-items:flex-end;
padding-top:72px;
padding-bottom:250px;
}
.swpr-hero-copy{
width:100%;
}
.swpr-hero h1{
font-size:clamp(2.65rem, 12vw, 3.65rem)!important;
line-height:0.98!important;
}
.swpr-hero h1 span{
white-space:normal;
}
.swpr-button{
width:100%;
}
.swpr-proof-grid, .swpr-builder-list, .swpr-core-grid, .swpr-race-grid, .swpr-class-grid, .swpr-advanced, .swpr-equipment-grid, .swpr-ready-list, .swpr-footer-grid{
grid-template-columns:1fr;
}
.swpr-proof-item{
min-height:60px;
border-right:0;
border-bottom:1px solid var(--line-soft);
}
.swpr-search-form{
grid-template-columns:1fr;
gap:8px;
}
.swpr-search-form input, .swpr-search-form button{
border:1px solid #715d32;
border-radius:3px;
}
}
@media (max-width: 782px) {
.admin-bar .swpr-header{
top:46px;
}
}
@media (prefers-reduced-motion: reduce) {
.swpr *, .swpr *::before, .swpr *::after{
scroll-behavior:auto!important;
transition-duration:0.01ms!important;
}
}
/* =========================================================
	   RULES-SYSTEM AND PUBLICATION PASS
	   ========================================================= */
.swpr-system-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:12px;
}
.swpr-system-card{
min-height:255px;
padding:23px 21px 20px;
border:1px solid var(--line);
border-radius:4px;
background:linear-gradient(145deg, rgba(214, 165, 45, 0.06), transparent 44%), var(--panel);
}
.swpr-system-label{
display:inline-flex;
margin-bottom:22px;
padding:7px 10px;
border:1px solid rgba(214, 165, 45, 0.42);
border-radius:999px;
color:var(--gold-light);
font-family:var(--sans);
font-size:0.67rem;
font-weight:900;
letter-spacing:0.075em;
text-transform:uppercase;
}
.swpr-system-card h3{
margin:0 0 10px!important;
color:#fff!important;
font-family:var(--sans)!important;
font-size:1.4rem!important;
font-weight:850!important;
letter-spacing:-0.027em!important;
line-height:1.05!important;
}
.swpr-system-card p{
margin-bottom:14px;
color:var(--muted);
font-size:0.86rem;
line-height:1.44;
}
.swpr-system-card ul{
margin:0;
padding-left:1.05rem;
color:#e8dfd1;
font-size:0.8rem;
line-height:1.45;
}
.swpr-system-card li + li{
margin-top:5px;
}
.swpr-system-rule{
margin-top:18px;
padding:16px 18px;
border:1px solid rgba(214, 165, 45, 0.36);
border-radius:4px;
color:#e9e0d2;
background:rgba(0, 0, 0, 0.18);
font-size:0.88rem;
line-height:1.46;
}
.swpr-system-rule strong{
color:var(--gold-light);
font-family:var(--sans);
}
.swpr-core-grid{
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.swpr-core-card{
min-height:235px;
}
@media (max-width: 1000px) {
.swpr-system-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 900px) {
.swpr-core-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 640px) {
.swpr-system-grid, .swpr-core-grid{
grid-template-columns:1fr;
}
}
/* END PLAYER RESOURCES */
/* --- WPWriter addition --- */
/* WARS OF DOMINION — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — THE WARS OF DOMINION
   FINAL PUBLICATION CSS
   ========================================================= */
.sw-dominion, .sw-dominion *{
box-sizing:border-box;
}
.sw-dominion{
--sw-bg: #0a0d12;
--sw-bg-soft: #0e1218;
--sw-panel: #11161d;
--sw-panel-2: #151b23;
--sw-gold: #cda85c;
--sw-gold-light: #e2c47e;
--sw-text: #dedbd3;
--sw-muted: #aaa79f;
--sw-border: rgba(205, 168, 92, 0.30);
--sw-border-soft: rgba(255,255,255,0.08);
--sw-link: #dfbd72;
width:100%;
max-width:1180px;
margin:0 auto;
padding:0;
background:var(--sw-bg);
color:var(--sw-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.72;
}
.sw-dominion p, .sw-dominion li, .sw-dominion div{
color:var(--sw-text);
}
.sw-dominion a{
color:var(--sw-link);
text-decoration-color:rgba(223,189,114,0.55);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-dominion a:hover, .sw-dominion a:focus{
color:#f1d59a;
}
.sw-dominion h1, .sw-dominion h2, .sw-dominion h3, .sw-dominion h4{
margin-top:0;
font-family:Georgia, "Times New Roman", serif;
line-height:1.2;
text-wrap:balance;
}
.sw-dominion h1{
margin:0;
color:#f0ece4;
font-size:clamp(2.4rem, 6vw, 4.6rem);
font-weight:500;
letter-spacing:-0.035em;
}
.sw-dominion h2{
margin:0 0 1rem;
color:#eee9df;
font-size:clamp(1.75rem, 4vw, 2.8rem);
font-weight:500;
}
.sw-dominion h3{
margin:1.8rem 0 0.6rem;
color:#e7e1d6;
font-size:clamp(1.22rem, 2.4vw, 1.6rem);
font-weight:600;
}
.sw-dominion h4{
margin:1.3rem 0 0.4rem;
color:var(--sw-gold-light);
font-size:1.08rem;
font-weight:600;
}
.sw-dominion p{
margin:0 0 1rem;
}
.sw-dominion ul{
margin:0.7rem 0 1.3rem;
padding-left:1.35rem;
}
.sw-dominion li{
margin:0.35rem 0;
}
.sw-dominion .sw-hero{
position:relative;
overflow:hidden;
margin:0;
padding:clamp(2rem, 6vw, 4.2rem) clamp(1.15rem, 5vw, 4rem);
border:1px solid var(--sw-border);
background:radial-gradient( circle at 80% 0%, rgba(177,132,54,0.12), transparent 42% ), linear-gradient( 145deg, #121821 0%, #090c10 75% );
}
.sw-dominion .sw-eon{
margin-bottom:0.7rem;
color:var(--sw-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.79rem;
font-weight:700;
letter-spacing:0.17em;
text-transform:uppercase;
}
.sw-dominion .sw-subtitle{
max-width:850px;
margin:1rem 0 0;
color:var(--sw-gold-light);
font-size:clamp(1.08rem,2.2vw,1.4rem);
line-height:1.45;
}
.sw-dominion .sw-title-hero{
margin:1.5rem 0 0;
overflow:hidden;
border:1px solid var(--sw-border);
background:#080b0f;
}
.sw-dominion .sw-title-hero img{
display:block;
width:100%;
height:auto;
border:0;
}
.sw-dominion .sw-meta{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:1px;
margin-top:1.7rem;
border:1px solid var(--sw-border-soft);
background:var(--sw-border-soft);
}
.sw-dominion .sw-meta > div{
padding:1rem;
background:#0c1016;
}
.sw-dominion .sw-meta strong{
display:block;
margin-bottom:0.25rem;
color:var(--sw-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.7rem;
letter-spacing:0.11em;
text-transform:uppercase;
}
.sw-dominion .sw-intro{
margin:0;
padding:clamp(1.4rem,3vw,2.2rem);
border-left:3px solid var(--sw-gold);
border-right:1px solid var(--sw-border-soft);
border-bottom:1px solid var(--sw-border-soft);
background:var(--sw-panel);
}
.sw-dominion .sw-section{
margin:0;
padding:clamp(1.5rem,4vw,2.5rem);
border-left:1px solid var(--sw-border-soft);
border-right:1px solid var(--sw-border-soft);
border-bottom:1px solid var(--sw-border-soft);
background:var(--sw-panel);
}
.sw-dominion .sw-section > h2:first-child{
margin-bottom:1.3rem;
padding-bottom:0.75rem;
border-bottom:1px solid var(--sw-border);
}
.sw-dominion .sw-world-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
.sw-dominion .sw-world-card{
padding:1.15rem;
border:1px solid var(--sw-border-soft);
background:var(--sw-panel-2);
}
.sw-dominion .sw-world-card h3{
margin:0 0 0.55rem;
color:var(--sw-gold-light);
}
.sw-dominion .sw-movement-nav{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0.85rem;
margin:0;
padding:1.4rem;
border-left:1px solid var(--sw-border-soft);
border-right:1px solid var(--sw-border-soft);
background:#0b0f14;
}
.sw-dominion .sw-movement-nav a{
display:block;
min-height:118px;
padding:1.15rem 1.2rem;
border:1px solid rgba(205,168,92,0.22);
background:#10151c;
color:var(--sw-gold-light);
text-decoration:none;
transition:border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.sw-dominion .sw-movement-nav a:hover, .sw-dominion .sw-movement-nav a:focus{
border-color:rgba(205,168,92,0.65);
background:#151b23;
transform:translateY(-1px);
}
.sw-dominion .sw-movement-nav strong{
display:block;
margin-bottom:0.5rem;
color:#ead39a;
font-size:1.08rem;
line-height:1.3;
}
.sw-dominion .sw-movement{
margin:0;
padding:clamp(2rem,5vw,3.3rem) clamp(1.15rem,4vw,2.5rem) 0;
border-top:1px solid var(--sw-border);
border-left:1px solid var(--sw-border-soft);
border-right:1px solid var(--sw-border-soft);
background:linear-gradient( 180deg, #11161d 0%, #0d1117 220px );
scroll-margin-top:40px;
}
.sw-dominion .sw-movement-head{
max-width:950px;
margin:0 0 1.55rem;
}
.sw-dominion .sw-movement-number{
margin-bottom:0.5rem;
color:var(--sw-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.74rem;
font-weight:700;
letter-spacing:0.16em;
text-transform:uppercase;
}
.sw-dominion .sw-movement-dates{
margin-bottom:0.6rem;
color:var(--sw-gold-light);
font-family:Arial, Helvetica, sans-serif;
font-size:0.82rem;
font-weight:700;
letter-spacing:0.07em;
text-transform:uppercase;
}
.sw-dominion .sw-movement-head h2{
margin:0 0 0.8rem;
color:#efe9de;
}
.sw-dominion .sw-movement-head p{
max-width:920px;
color:#c9c5bc;
font-size:1.02rem;
}
.sw-dominion figure{
margin:1.3rem calc(clamp(1.15rem,4vw,2.5rem) * -1) 2rem;
}
.sw-dominion figure img{
display:block;
width:100%;
height:auto;
margin:0;
border-top:1px solid var(--sw-border);
border-bottom:1px solid var(--sw-border);
border-left:0;
border-right:0;
}
.sw-dominion .sw-event{
max-width:980px;
margin:0 auto;
padding:0.55rem 0 1.55rem;
border-bottom:1px solid var(--sw-border-soft);
}
.sw-dominion .sw-event:last-child{
padding-bottom:2.3rem;
border-bottom:0;
}
.sw-dominion .sw-event h3{
color:#e9e4da;
}
.sw-dominion .sw-event > p{
color:#d2cec5;
}
.sw-dominion .sw-ruling{
margin:1.1rem 0;
padding:0.9rem 1rem;
border-left:2px solid var(--sw-gold);
background:rgba(205,168,92,0.075);
color:#d5d0c5;
}
.sw-dominion .sw-ruling strong{
color:var(--sw-gold-light);
}
.sw-dominion .sw-columns{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
.sw-dominion .sw-mini{
padding:1.1rem 1.15rem;
border:1px solid var(--sw-border-soft);
background:var(--sw-panel-2);
}
.sw-dominion .sw-mini h3{
margin-top:0;
color:var(--sw-gold-light);
}
.sw-dominion .sw-legacy-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:0.9rem;
}
.sw-dominion .sw-legacy{
padding:1.05rem 1.15rem;
border:1px solid var(--sw-border-soft);
background:#0d1117;
}
.sw-dominion .sw-legacy h3{
margin:0 0 0.55rem;
color:var(--sw-gold-light);
font-size:1.12rem;
}
.sw-dominion .sw-nav-bottom{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:0.9rem;
margin-top:1.3rem;
}
.sw-dominion .sw-nav-bottom a{
display:block;
padding:1.15rem;
border:1px solid var(--sw-border);
background:#090c10;
text-decoration:none;
}
.sw-dominion .sw-nav-bottom a:hover, .sw-dominion .sw-nav-bottom a:focus{
background:#111720;
}
.sw-dominion .sw-nav-bottom small{
display:block;
color:var(--sw-muted);
font-family:Arial, Helvetica, sans-serif;
font-size:0.69rem;
letter-spacing:0.1em;
text-transform:uppercase;
}
.sw-dominion .sw-nav-bottom strong{
display:block;
margin-top:0.3rem;
color:var(--sw-gold-light);
font-size:1.08rem;
}
.sw-dominion .sw-links{
display:flex;
flex-wrap:wrap;
gap:0.55rem;
margin-top:1.1rem;
}
.sw-dominion .sw-links a{
display:inline-block;
padding:0.45rem 0.7rem;
border:1px solid var(--sw-border-soft);
background:#0b0f14;
text-decoration:none;
font-size:0.9rem;
}
.sw-dominion .sw-links a:hover, .sw-dominion .sw-links a:focus{
border-color:var(--sw-border);
background:#151a21;
}
.sw-dominion .sw-references{
font-size:0.92rem;
}
.sw-dominion .sw-references li{
margin:0.5rem 0;
}
@media (max-width: 900px) {
.sw-dominion .sw-movement-nav{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-dominion .sw-meta, .sw-dominion .sw-world-grid, .sw-dominion .sw-columns, .sw-dominion .sw-legacy-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 620px) {
.sw-dominion{
font-size:16px;
}
.sw-dominion .sw-movement-nav, .sw-dominion .sw-nav-bottom{
grid-template-columns:1fr;
}
.sw-dominion .sw-movement-nav{
padding:1rem;
}
.sw-dominion .sw-movement-nav a{
min-height:auto;
}
.sw-dominion .sw-hero, .sw-dominion .sw-section, .sw-dominion .sw-movement{
padding-left:1rem;
padding-right:1rem;
}
.sw-dominion figure{
margin-left:-1rem;
margin-right:-1rem;
}
}
/* END WARS OF DOMINION */
/* --- WPWriter addition --- */
/* AGE OF AWAKENING — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — THE AGE OF AWAKENING
   Dark Chronicle · Earth Age 02
   Final illustrated publication retype
   ========================================================= */
#sw-awakening{
--sw-bg: #080b10;
--sw-bg-soft: #0e141b;
--sw-panel: #121921;
--sw-panel-2: #171f29;
--sw-gold: #d7b267;
--sw-gold-pale: #ead7a5;
--sw-text: #e7e1d6;
--sw-muted: #aaa69d;
--sw-blue: #a8c4ce;
--sw-line: rgba(215,178,103,.24);
--sw-line-strong: rgba(215,178,103,.55);
--sw-max: 1180px;
background:radial-gradient(circle at 10% 0%, rgba(31,69,86,.18), transparent 34rem), radial-gradient(circle at 92% 30%, rgba(87,68,32,.11), transparent 34rem), var(--sw-bg);
color:var(--sw-text);
font-family:Quicksand, "Trebuchet MS", Arial, sans-serif;
font-size:17px;
line-height:1.75;
margin:0;
padding:0;
}
#sw-awakening *, #sw-awakening *::before, #sw-awakening *::after{
box-sizing:border-box;
}
#sw-awakening img{
display:block;
max-width:100%;
height:auto;
}
#sw-awakening a{
color:var(--sw-gold-pale);
text-decoration-line:underline;
text-decoration-color:rgba(234,215,165,.62);
text-underline-offset:.18em;
}
#sw-awakening a:hover, #sw-awakening a:focus{
color:#fff2ca;
text-decoration-color:currentColor;
}
#sw-awakening .sw-shell{
width:min(var(--sw-max), calc(100% - 40px));
margin-inline:auto;
}
#sw-awakening h1, #sw-awakening h2, #sw-awakening h3{
color:#f1e9d8;
line-height:1.16;
margin-top:0;
}
#sw-awakening h1{
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(2.8rem,7vw,5.6rem);
font-weight:400;
letter-spacing:-.035em;
margin-bottom:.24em;
}
#sw-awakening h2{
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(2rem,4.4vw,3.15rem);
font-weight:400;
margin-bottom:.35em;
}
#sw-awakening h3{
font-size:clamp(1.14rem,2.5vw,1.43rem);
font-weight:650;
margin-bottom:.4em;
}
#sw-awakening p{
margin:0 0 1.15em;
}
#sw-awakening strong{
color:#f2ead8;
}
#sw-awakening .sw-label, #sw-awakening .sw-kicker{
color:var(--sw-gold);
font-size:.76rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase;
}
#sw-awakening .sw-rule{
width:56px;
height:1px;
background:var(--sw-gold);
opacity:.67;
margin:18px 0 22px;
}
/* =========================================================
   ACCESSIBILITY
   ========================================================= */
#sw-awakening .sw-skip{
position:absolute;
left:-9999px;
top:auto;
}
#sw-awakening .sw-skip:focus{
left:18px;
top:18px;
z-index:999;
padding:10px 14px;
background:#fff;
color:#111;
text-decoration:none;
}
/* =========================================================
   HERO
   ========================================================= */
#sw-awakening .sw-hero{
padding:56px 0 34px;
}
#sw-awakening .sw-hero-copy{
max-width:900px;
margin-bottom:32px;
}
#sw-awakening .sw-era{
color:var(--sw-gold-pale);
font-size:clamp(1rem,2vw,1.18rem);
letter-spacing:.04em;
margin:8px 0 14px;
}
#sw-awakening .sw-deck{
max-width:840px;
color:#d4cfc3;
font-family:Georgia, "Times New Roman", serif;
font-size:clamp(1.18rem,2.7vw,1.56rem);
line-height:1.55;
}
#sw-awakening .sw-hero-figure, #sw-awakening .sw-figure{
margin:0;
overflow:hidden;
border:1px solid var(--sw-line-strong);
background:#070a0e;
box-shadow:0 22px 65px rgba(0,0,0,.3);
}
#sw-awakening .sw-hero-figure img{
width:100%;
aspect-ratio:16 / 9;
object-fit:cover;
}
#sw-awakening .sw-figure{
margin:34px 0;
}
#sw-awakening .sw-figure img{
width:100%;
}
#sw-awakening figcaption{
padding:11px 14px 13px;
border-top:1px solid rgba(255,255,255,.05);
background:rgba(7,10,14,.95);
color:var(--sw-muted);
font-size:.82rem;
line-height:1.55;
}
/* =========================================================
   NAVIGATION
   ========================================================= */
#sw-awakening .sw-age-nav{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:12px;
margin-top:20px;
}
#sw-awakening .sw-age-link{
display:block;
padding:18px;
border:1px solid var(--sw-line);
background:rgba(255,255,255,.02);
text-decoration:none;
}
#sw-awakening .sw-age-link:hover, #sw-awakening .sw-age-link:focus{
border-color:var(--sw-line-strong);
background:rgba(215,178,103,.06);
}
#sw-awakening .sw-age-link .sw-label{
display:block;
margin-bottom:6px;
}
#sw-awakening .sw-age-link strong{
display:block;
font-family:Georgia, "Times New Roman", serif;
font-size:1.08rem;
font-weight:400;
color:#f0e7d3;
}
#sw-awakening .sw-topnav{
display:flex;
flex-wrap:wrap;
gap:9px;
padding-top:22px;
}
#sw-awakening .sw-topnav a{
display:inline-flex;
align-items:center;
min-height:42px;
padding:8px 13px;
border:1px solid var(--sw-line);
background:rgba(255,255,255,.018);
color:#ddd6c8;
font-size:.79rem;
font-weight:650;
text-decoration:none;
}
#sw-awakening .sw-topnav a:hover, #sw-awakening .sw-topnav a:focus{
border-color:var(--sw-line-strong);
background:rgba(215,178,103,.065);
color:#fff0c8;
}
/* =========================================================
   GENERAL
   ========================================================= */
#sw-awakening .sw-section{
padding:68px 0;
border-top:1px solid var(--sw-line);
}
#sw-awakening .sw-section-head{
display:grid;
grid-template-columns:76px minmax(0,1fr);
gap:22px;
align-items:start;
margin-bottom:30px;
}
#sw-awakening .sw-number{
display:grid;
place-items:center;
width:76px;
min-height:76px;
border:1px solid var(--sw-line-strong);
background:linear-gradient(145deg,rgba(215,178,103,.13),rgba(255,255,255,.01)), var(--sw-bg-soft);
color:var(--sw-gold);
font-family:Georgia, "Times New Roman", serif;
font-size:1.3rem;
}
#sw-awakening .sw-section-intro{
max-width:840px;
color:#c9c4b8;
font-family:Georgia, "Times New Roman", serif;
font-size:1.13rem;
}
#sw-awakening .sw-prose{
max-width:860px;
}
#sw-awakening .sw-prose .sw-first{
color:#ddd6ca;
font-family:Georgia, "Times New Roman", serif;
font-size:1.18rem;
line-height:1.72;
}
#sw-awakening .sw-prose h3{
margin-top:2.08em;
}
#sw-awakening .sw-pull{
margin:31px 0;
padding:20px 24px;
border-left:3px solid var(--sw-gold);
background:rgba(215,178,103,.052);
color:#e1d7c5;
font-family:Georgia, "Times New Roman", serif;
font-size:1.16rem;
line-height:1.64;
}
#sw-awakening .sw-note{
margin:28px 0;
padding:18px 20px;
border:1px solid rgba(168,196,206,.23);
background:rgba(70,103,116,.075);
}
#sw-awakening .sw-note .sw-label{
display:block;
color:var(--sw-blue);
margin-bottom:7px;
}
#sw-awakening .sw-note p:last-child{
margin-bottom:0;
}
/* =========================================================
   EONS
   ========================================================= */
#sw-awakening .sw-eon{
border:1px solid var(--sw-line);
background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,0)), var(--sw-bg-soft);
}
#sw-awakening .sw-eon-head{
display:grid;
grid-template-columns:105px minmax(0,1fr);
border-bottom:1px solid var(--sw-line);
}
#sw-awakening .sw-eon-number{
display:grid;
place-items:center;
padding:22px 10px;
border-right:1px solid var(--sw-line);
color:var(--sw-gold);
font-family:Georgia, "Times New Roman", serif;
font-size:1.32rem;
text-align:center;
}
#sw-awakening .sw-eon-title{
padding:20px 24px;
}
#sw-awakening .sw-eon-title .sw-date{
display:block;
margin-bottom:5px;
color:var(--sw-muted);
font-size:.78rem;
letter-spacing:.1em;
text-transform:uppercase;
}
#sw-awakening .sw-eon-title h2{
font-size:clamp(1.8rem,4vw,2.8rem);
margin-bottom:5px;
}
#sw-awakening .sw-eon-title p{
margin:0;
color:var(--sw-gold-pale);
font-family:Georgia, "Times New Roman", serif;
font-style:italic;
}
#sw-awakening .sw-eon-body{
padding:clamp(24px,5vw,46px);
}
/* =========================================================
   CREATURE GRID
   ========================================================= */
#sw-awakening .sw-creatures{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px;
margin:30px 0;
}
#sw-awakening .sw-creature{
padding:19px;
border:1px solid var(--sw-line);
background:var(--sw-panel);
}
#sw-awakening .sw-creature h3{
font-size:1.04rem;
margin-bottom:7px;
}
#sw-awakening .sw-creature p{
margin:0;
color:#bbb5a9;
font-size:.9rem;
line-height:1.59;
}
#sw-awakening .sw-creature a{
text-decoration:none;
}
#sw-awakening .sw-creature a:hover, #sw-awakening .sw-creature a:focus{
text-decoration:underline;
}
/* =========================================================
   TABLE
   ========================================================= */
#sw-awakening .sw-table-wrap{
overflow-x:auto;
margin-top:30px;
border:1px solid var(--sw-line);
}
#sw-awakening table{
width:100%;
min-width:780px;
border-collapse:collapse;
background:var(--sw-bg-soft);
}
#sw-awakening caption{
padding:16px;
background:rgba(255,255,255,.016);
color:#c8c2b5;
font-family:Georgia, "Times New Roman", serif;
text-align:left;
}
#sw-awakening th, #sw-awakening td{
padding:15px 16px;
text-align:left;
vertical-align:top;
border-bottom:1px solid var(--sw-line);
}
#sw-awakening th{
background:rgba(215,178,103,.055);
color:var(--sw-gold-pale);
font-size:.78rem;
letter-spacing:.07em;
text-transform:uppercase;
}
#sw-awakening td{
color:#c6c0b5;
font-size:.9rem;
}
#sw-awakening tbody tr:last-child td{
border-bottom:0;
}
/* =========================================================
   TIMELINE
   ========================================================= */
#sw-awakening .sw-sequence{
margin-top:30px;
border-top:1px solid var(--sw-line);
}
#sw-awakening .sw-sequence-row{
display:grid;
grid-template-columns:185px minmax(0,1fr);
gap:24px;
padding:20px 0;
border-bottom:1px solid var(--sw-line);
}
#sw-awakening .sw-sequence-date{
color:var(--sw-gold-pale);
font-weight:700;
}
#sw-awakening .sw-sequence-row h3{
margin-bottom:5px;
}
#sw-awakening .sw-sequence-row p{
margin:0;
color:#bab4a8;
}
/* =========================================================
   CARDS
   ========================================================= */
#sw-awakening .sw-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:15px;
margin-top:30px;
}
#sw-awakening .sw-card{
display:block;
padding:21px;
border:1px solid var(--sw-line);
background:var(--sw-panel);
}
#sw-awakening a.sw-card{
text-decoration:none;
}
#sw-awakening a.sw-card:hover, #sw-awakening a.sw-card:focus{
border-color:var(--sw-line-strong);
background:var(--sw-panel-2);
}
#sw-awakening .sw-card .sw-label{
display:block;
margin-bottom:8px;
}
#sw-awakening .sw-card h3{
margin-bottom:8px;
}
#sw-awakening .sw-card p{
margin:0;
color:#bab4a8;
font-size:.9rem;
line-height:1.6;
}
/* =========================================================
   ENDING
   ========================================================= */
#sw-awakening .sw-ending{
padding:74px 0 82px;
border-top:1px solid var(--sw-line);
background:linear-gradient(180deg,transparent,rgba(215,178,103,.034));
}
#sw-awakening .sw-ending-copy{
max-width:850px;
}
#sw-awakening .sw-ending-copy p{
color:#cdc6b8;
font-family:Georgia, "Times New Roman", serif;
font-size:1.15rem;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px) {
#sw-awakening .sw-creatures, #sw-awakening .sw-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width: 680px) {
#sw-awakening{
font-size:16px;
}
#sw-awakening .sw-shell{
width:min(100% - 26px,var(--sw-max));
}
#sw-awakening .sw-hero{
padding-top:38px;
}
#sw-awakening .sw-section{
padding:48px 0;
}
#sw-awakening .sw-section-head{
grid-template-columns:54px minmax(0,1fr);
gap:15px;
}
#sw-awakening .sw-number{
width:54px;
min-height:54px;
font-size:1rem;
}
#sw-awakening .sw-eon-head{
grid-template-columns:70px minmax(0,1fr);
}
#sw-awakening .sw-eon-number{
padding-inline:7px;
font-size:.98rem;
}
#sw-awakening .sw-eon-title{
padding:17px 15px;
}
#sw-awakening .sw-age-nav, #sw-awakening .sw-creatures, #sw-awakening .sw-grid{
grid-template-columns:1fr;
}
#sw-awakening .sw-sequence-row{
grid-template-columns:1fr;
gap:6px;
}
#sw-awakening .sw-hero-figure img{
aspect-ratio:4 / 3;
}
}
@media (prefers-reduced-motion: reduce) {
#sw-awakening *, #sw-awakening *::before, #sw-awakening *::after{
scroll-behavior:auto!important;
transition:none!important;
}
}
#sw-awakening .sw-image-link{
display:block;
text-decoration:none;
}
#sw-awakening .sw-lightbox{
display:none;
position:fixed;
z-index:999999;
inset:0;
padding:3vw;
background:rgba(0,0,0,.94);
align-items:center;
justify-content:center;
}
#sw-awakening .sw-lightbox:target{
display:flex;
}
#sw-awakening .sw-lightbox a{
display:flex;
width:100%;
height:100%;
align-items:center;
justify-content:center;
text-decoration:none;
}
#sw-awakening .sw-lightbox img{
width:auto;
height:auto;
max-width:96vw;
max-height:92vh;
object-fit:contain;
box-shadow:0 0 0 1px rgba(255,255,255,.18),0 20px 70px rgba(0,0,0,.65);
}
/* END AGE OF AWAKENING */
/* --- WPWriter addition --- */
/* STRASBOURG — migrated from page-scoped CSS, 2026-10-06 */
/* ============================================================
   SPIRALWORLDS — STRASBOURG
   Complete standalone scoped dark-theme CSS
   ============================================================ */
.sw-entry.sw-strasbourg{
--sw-bg: #0d1117;
--sw-bg-soft: #131a22;
--sw-bg-raised: #18212b;
--sw-border: #33414f;
--sw-border-soft: #26313d;
--sw-text: #e8edf2;
--sw-muted: #aebac5;
--sw-heading: #ffffff;
--sw-link: #7ec8ff;
--sw-link-hover: #b8e2ff;
--sw-accent: #c64646;
--sw-accent-soft: rgba(198,70,70,.16);
--sw-gold: #d7b56d;
--sw-green: #83c89e;
--sw-shadow: 0 14px 38px rgba(0,0,0,.28);
margin:0 auto;
padding:clamp(20px,3vw,42px);
color:var(--sw-text);
background:radial-gradient( circle at 50% 0%, rgba(126,200,255,.055), transparent 35% ), var(--sw-bg);
border:1px solid var(--sw-border-soft);
border-radius:18px;
box-shadow:var(--sw-shadow);
font-size:17px;
line-height:1.7;
}
.sw-entry.sw-strasbourg *, .sw-entry.sw-strasbourg *::before, .sw-entry.sw-strasbourg *::after{

}
.sw-entry.sw-strasbourg h1, .sw-entry.sw-strasbourg h2, .sw-entry.sw-strasbourg h3, .sw-entry.sw-strasbourg h4{
color:var(--sw-heading);
line-height:1.2;
text-wrap:balance;
}
.sw-entry.sw-strasbourg h1{
margin:0 0 24px;
font-size:clamp(2.5rem,6vw,4.8rem);
letter-spacing:-.035em;
}
.sw-entry.sw-strasbourg h2{
margin:54px 0 18px;
padding-bottom:10px;
border-bottom:1px solid var(--sw-border);
font-size:clamp(1.65rem,3vw,2.35rem);
}
.sw-entry.sw-strasbourg h3{
margin:0 0 10px;
font-size:1.22rem;
}
.sw-entry.sw-strasbourg h4{
margin:20px 0 8px;
font-size:1.05rem;
}
.sw-entry.sw-strasbourg p{
margin:0 0 1.1em;
}
.sw-entry.sw-strasbourg ul, .sw-entry.sw-strasbourg ol{
margin:0 0 1.2em;
padding-left:1.35em;
}
.sw-entry.sw-strasbourg li + li{
margin-top:.38em;
}
.sw-entry.sw-strasbourg strong{
color:#fff;
}
.sw-entry.sw-strasbourg a{
color:var(--sw-link);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-entry.sw-strasbourg a:hover, .sw-entry.sw-strasbourg a:focus{
color:var(--sw-link-hover);
}
.sw-entry.sw-strasbourg .sw-kicker{
margin:22px 0 6px;
color:var(--sw-gold);
font-weight:800;
font-size:.94rem;
letter-spacing:.08em;
text-transform:uppercase;
}
.sw-entry.sw-strasbourg .sw-deck{
max-width:1000px;
margin:0 0 28px;
color:#d7dfe7;
font-size:clamp(1.08rem,2vw,1.28rem);
line-height:1.65;
}
.sw-entry.sw-strasbourg .sw-small{
color:var(--sw-muted);
font-size:.92rem;
}
.sw-entry.sw-strasbourg .sw-callout{
margin:24px 0;
padding:20px 22px;
background:var(--sw-bg-raised);
border:1px solid var(--sw-border);
border-left:4px solid var(--sw-gold);
border-radius:12px;
}
.sw-entry.sw-strasbourg .sw-callout-danger{
border-left-color:var(--sw-accent);
background:linear-gradient( 90deg, var(--sw-accent-soft), transparent 55% ), var(--sw-bg-raised);
}
.sw-entry.sw-strasbourg .sw-callout-green{
border-left-color:var(--sw-green);
}
/* ============================================================
   IMAGES — CSS-ONLY CLICK TO ENLARGE
   ============================================================ */
.sw-entry.sw-strasbourg .sw-figure{
margin:0;
}
.sw-entry.sw-strasbourg .sw-hero{
width:100%;
margin:0 0 12px;
}
.sw-entry.sw-strasbourg .sw-img-toggle{
position:absolute;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}
.sw-entry.sw-strasbourg .sw-img-label{
display:block;
cursor:zoom-in;
}
.sw-entry.sw-strasbourg .sw-img-label img{
display:block;
width:100%;
height:auto;
margin:0;
border:1px solid var(--sw-border);
border-radius:14px;
background:transparent;
box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.sw-entry.sw-strasbourg .sw-img-toggle:focus + .sw-img-label{
outline:3px solid var(--sw-link);
outline-offset:4px;
border-radius:14px;
}
.sw-entry.sw-strasbourg .sw-img-toggle:checked + .sw-img-label{
position:fixed;
inset:0;
z-index:999999;
display:flex;
align-items:center;
justify-content:center;
padding:clamp(12px,3vw,36px);
background:rgba(5,7,10,.95);
cursor:zoom-out;
}
.sw-entry.sw-strasbourg .sw-img-toggle:checked + .sw-img-label img{
width:auto;
max-width:min(96vw,1800px);
max-height:92vh;
border-radius:10px;
object-fit:contain;
box-shadow:0 20px 70px rgba(0,0,0,.72);
}
.sw-entry.sw-strasbourg figcaption{
margin-top:9px;
color:var(--sw-muted);
font-size:.88rem;
line-height:1.5;
}
/* ============================================================
   LAYOUT
   ============================================================ */
.sw-entry.sw-strasbourg .sw-two-col{
display:grid;
grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);
gap:28px;
align-items:start;
}
.sw-entry.sw-strasbourg .sw-card-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px;
}
.sw-entry.sw-strasbourg .sw-card-grid-3{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px;
}
.sw-entry.sw-strasbourg .sw-card{
padding:20px;
background:var(--sw-bg-soft);
border:1px solid var(--sw-border-soft);
border-radius:12px;
}
.sw-entry.sw-strasbourg .sw-card p:last-child, .sw-entry.sw-strasbourg .sw-card ul:last-child{
margin-bottom:0;
}
.sw-entry.sw-strasbourg .sw-pressure{
position:relative;
padding-top:52px;
}
.sw-entry.sw-strasbourg .sw-pressure-number{
position:absolute;
top:16px;
left:18px;
display:inline-flex;
width:27px;
height:27px;
align-items:center;
justify-content:center;
border-radius:50%;
color:#fff;
background:var(--sw-accent);
font-weight:900;
font-size:.83rem;
}
.sw-entry.sw-strasbourg .sw-faction{
border-top:3px solid var(--sw-gold);
}
.sw-entry.sw-strasbourg .sw-faction strong{
color:var(--sw-gold);
}
/* ============================================================
   TABLES
   ============================================================ */
.sw-entry.sw-strasbourg .sw-table-wrap{
margin:18px 0 26px;
border:1px solid var(--sw-border);
border-radius:12px;
}
.sw-entry.sw-strasbourg table{
width:100%;
min-width:620px;
border-collapse:collapse;
background:var(--sw-bg-soft);
}
.sw-entry.sw-strasbourg th, .sw-entry.sw-strasbourg td{
padding:13px 15px;
text-align:left;
vertical-align:top;
border-bottom:1px solid var(--sw-border-soft);
}
.sw-entry.sw-strasbourg th{
width:28%;
color:#fff;
background:rgba(255,255,255,.035);
}
.sw-entry.sw-strasbourg tr:last-child th, .sw-entry.sw-strasbourg tr:last-child td{
border-bottom:0;
}
/* ============================================================
   COAT OF ARMS
   ============================================================ */
.sw-entry.sw-strasbourg .sw-arms-card{
padding:18px;
text-align:center;
background:radial-gradient( circle at 50% 25%, rgba(198,70,70,.08), transparent 55% ), var(--sw-bg-soft);
border:1px solid var(--sw-border);
border-radius:14px;
}
.sw-entry.sw-strasbourg .sw-arms-card .sw-img-label img{
max-width:420px;
margin:0 auto;
}
.sw-entry.sw-strasbourg .sw-blazon{
margin:14px 0 4px;
color:#fff;
font-weight:800;
font-style:italic;
}
/* ============================================================
   ATTENTION TRACK
   ============================================================ */
.sw-entry.sw-strasbourg .sw-attention{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:8px;
margin:18px 0 28px;
}
.sw-entry.sw-strasbourg .sw-attention-step{
padding:13px 10px;
text-align:center;
background:var(--sw-bg-soft);
border:1px solid var(--sw-border);
border-radius:9px;
font-size:.9rem;
}
.sw-entry.sw-strasbourg .sw-attention-step b{
display:block;
margin-bottom:3px;
color:var(--sw-gold);
font-size:1.05rem;
}
/* ============================================================
   CSS-ONLY EDITION TABS
   ============================================================ */
.sw-entry.sw-strasbourg .sw-tabs{
position:relative;
margin:24px 0 34px;
}
.sw-entry.sw-strasbourg .sw-tabs > input{
position:absolute;
width:1px;
height:1px;
opacity:0;
}
.sw-entry.sw-strasbourg .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:8px;
}
.sw-entry.sw-strasbourg .sw-tab-labels label{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:96px;
padding:11px 18px;
cursor:pointer;
color:var(--sw-muted);
background:var(--sw-bg-soft);
border:1px solid var(--sw-border);
border-bottom:0;
border-radius:10px 10px 0 0;
font-weight:800;
}
.sw-entry.sw-strasbourg .sw-tab-panels{
border:1px solid var(--sw-border);
border-radius:0 12px 12px 12px;
background:var(--sw-bg-soft);
}
.sw-entry.sw-strasbourg .sw-tab-panel{
padding:clamp(18px,3vw,30px);
}
.sw-entry.sw-strasbourg #sw-strasbourg-55:checked ~ .sw-tab-labels label[for="sw-strasbourg-55"], .sw-entry.sw-strasbourg #sw-strasbourg-pf:checked ~ .sw-tab-labels label[for="sw-strasbourg-pf"], .sw-entry.sw-strasbourg #sw-strasbourg-35:checked ~ .sw-tab-labels label[for="sw-strasbourg-35"]{
color:#fff;
background:var(--sw-bg-raised);
border-color:var(--sw-gold);
}
.sw-entry.sw-strasbourg #sw-strasbourg-55:checked ~ .sw-tab-panels .sw-panel-55, .sw-entry.sw-strasbourg #sw-strasbourg-pf:checked ~ .sw-tab-panels .sw-panel-pf, .sw-entry.sw-strasbourg #sw-strasbourg-35:checked ~ .sw-tab-panels .sw-panel-35{
display:block;
}
/* ============================================================
   DETAILS
   ============================================================ */
.sw-entry.sw-strasbourg details{
margin:20px 0;
background:var(--sw-bg-soft);
border:1px solid var(--sw-border);
border-radius:12px;
}
.sw-entry.sw-strasbourg summary{
padding:15px 18px;
cursor:pointer;
color:#fff;
font-weight:800;
}
.sw-entry.sw-strasbourg details > div{
padding:0 18px 18px;
}
/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px) {
.sw-entry.sw-strasbourg .sw-two-col, .sw-entry.sw-strasbourg .sw-card-grid, .sw-entry.sw-strasbourg .sw-card-grid-3{
grid-template-columns:1fr;
}
.sw-entry.sw-strasbourg .sw-attention{
grid-template-columns:1fr;
}
}
@media (max-width:620px) {
.sw-entry.sw-strasbourg{
padding:16px;
border-radius:12px;
}
.sw-entry.sw-strasbourg .sw-tab-labels{
display:grid;
grid-template-columns:repeat(3,1fr);
}
.sw-entry.sw-strasbourg .sw-tab-labels label{
min-width:0;
padding:10px 8px;
font-size:.9rem;
}
}
@media (prefers-reduced-motion:reduce) {
.sw-entry.sw-strasbourg *{
scroll-behavior:auto!important;
transition:none!important;
}
}
/* END STRASBOURG */
/* --- WPWriter addition --- */
/* SUMMONING A POWER OF HELL — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — SUMMONING A POWER OF HELL
   Dark Chronicle — Final Publication Version
   Scoped entirely to .sw-summoning-hell
   CSS-only edition tabs
   No JavaScript
   ========================================================= */
.sw-summoning-hell{
--sw-bg: #080b12;
--sw-bg-soft: #0d1119;
--sw-panel: #111722;
--sw-panel-2: #151b27;
--sw-panel-dark: #0a0e15;
--sw-gold: #d9b45d;
--sw-gold-soft: #efd796;
--sw-red: #9e3935;
--sw-red-bright: #c6534b;
--sw-text: #e8e1d7;
--sw-muted: #b8b0a5;
--sw-faint: #928a80;
--sw-line: rgba(217,180,93,.24);
--sw-line-red: rgba(158,57,53,.42);
background:radial-gradient( circle at 50% 0%, rgba(126,42,38,.15), transparent 36rem ), linear-gradient( 180deg, var(--sw-bg-soft) 0%, var(--sw-bg) 100% );
color:var(--sw-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.72;
margin:0 auto;
max-width:1180px;
overflow:hidden;
}
.sw-summoning-hell *, .sw-summoning-hell *::before, .sw-summoning-hell *::after{
box-sizing:border-box;
}
.sw-summoning-hell img{
display:block;
height:auto;
max-width:100%;
}
.sw-summoning-hell a{
color:var(--sw-gold-soft);
text-decoration-color:rgba(217,180,93,.48);
text-underline-offset:3px;
}
.sw-summoning-hell a:hover, .sw-summoning-hell a:focus{
color:#fff1bd;
text-decoration-color:currentColor;
}
.sw-summoning-hell h1, .sw-summoning-hell h2, .sw-summoning-hell h3, .sw-summoning-hell h4{
color:#f3ead8;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
line-height:1.18;
margin-top:0;
}
.sw-summoning-hell h1{
font-size:clamp(2.5rem, 5vw, 4.9rem);
font-weight:500;
letter-spacing:-.035em;
margin-bottom:1rem;
}
.sw-summoning-hell h2{
font-size:clamp(1.7rem, 3vw, 2.55rem);
font-weight:500;
margin-bottom:.9rem;
}
.sw-summoning-hell h3{
font-size:1.3rem;
font-weight:600;
margin-bottom:.55rem;
}
.sw-summoning-hell h4{
font-size:1.04rem;
font-weight:700;
margin-bottom:.4rem;
}
.sw-summoning-hell p{
margin:0 0 1.1rem;
}
.sw-summoning-hell ul, .sw-summoning-hell ol{
margin:.75rem 0 1.15rem;
padding-left:1.35rem;
}
.sw-summoning-hell li{
margin:.45rem 0;
}
/* =========================================================
   HERO
   ========================================================= */
.sw-summoning-hell .sw-hero{
border-bottom:1px solid var(--sw-line);
padding:clamp(3.2rem, 8vw, 6.4rem) clamp(1.25rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4.4rem);
position:relative;
text-align:center;
}
.sw-summoning-hell .sw-hero::before{
background:linear-gradient( 90deg, transparent, var(--sw-red), var(--sw-gold), var(--sw-red), transparent );
content:"";
height:1px;
left:10%;
opacity:.8;
position:absolute;
right:10%;
top:0;
}
.sw-summoning-hell .sw-kicker, .sw-summoning-hell .sw-section-kicker, .sw-summoning-hell .sw-label, .sw-summoning-hell .sw-rite-type, .sw-summoning-hell .sw-rule-label{
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-weight:700;
text-transform:uppercase;
}
.sw-summoning-hell .sw-kicker{
color:var(--sw-gold);
display:block;
font-size:.76rem;
letter-spacing:.18em;
margin-bottom:1rem;
}
.sw-summoning-hell .sw-deck{
color:#d3cbbf;
font-size:clamp(1.05rem, 2vw, 1.28rem);
margin:0 auto;
max-width:900px;
}
.sw-summoning-hell .sw-tags{
display:flex;
flex-wrap:wrap;
gap:.5rem;
justify-content:center;
margin-top:1.5rem;
}
.sw-summoning-hell .sw-tags span{
background:rgba(255,255,255,.025);
border:1px solid rgba(217,180,93,.2);
color:#cec6ba;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.72rem;
font-weight:700;
padding:.42rem .68rem;
}
/* =========================================================
   MAIN ART
   ========================================================= */
.sw-summoning-hell .sw-main-figure{
background:#05070a;
border-bottom:1px solid var(--sw-line);
margin:0;
text-align:center;
}
.sw-summoning-hell .sw-main-figure img{
margin:0 auto;
max-height:850px;
object-fit:contain;
width:auto;
}
.sw-summoning-hell .sw-caption{
background:#0a0d13;
color:#9e968b;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.79rem;
line-height:1.5;
margin:0;
padding:.8rem 1rem;
text-align:center;
}
/* =========================================================
   NAVIGATION
   ========================================================= */
.sw-summoning-hell .sw-nav{
background:#0c1017;
border-bottom:1px solid var(--sw-line);
display:flex;
flex-wrap:wrap;
gap:.5rem;
justify-content:center;
padding:1rem 1.2rem;
}
.sw-summoning-hell .sw-nav a{
background:rgba(255,255,255,.025);
border:1px solid rgba(217,180,93,.18);
color:#d8d0c3;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.75rem;
font-weight:700;
padding:.5rem .72rem;
text-decoration:none;
}
.sw-summoning-hell .sw-nav a:hover, .sw-summoning-hell .sw-nav a:focus{
background:rgba(217,180,93,.08);
border-color:rgba(217,180,93,.5);
color:#fff0bd;
}
/* =========================================================
   COMMON SECTIONS
   ========================================================= */
.sw-summoning-hell .sw-section{
border-bottom:1px solid rgba(217,180,93,.13);
padding:clamp(2.7rem, 5vw, 4.7rem) clamp(1.25rem, 4vw, 3rem);
}
.sw-summoning-hell .sw-section-head{
margin-bottom:1.5rem;
max-width:920px;
}
.sw-summoning-hell .sw-section-kicker{
color:var(--sw-gold);
display:block;
font-size:.72rem;
letter-spacing:.15em;
margin-bottom:.55rem;
}
.sw-summoning-hell .sw-lead{
color:#d4ccc0;
font-size:1.08rem;
max-width:930px;
}
.sw-summoning-hell .sw-note{
background:rgba(217,180,93,.045);
border-left:3px solid var(--sw-gold);
color:#ccc4b8;
margin:1.4rem 0;
padding:1rem 1.1rem;
}
.sw-summoning-hell .sw-warning{
background:linear-gradient( 135deg, rgba(126,40,37,.16), rgba(217,180,93,.025) ), var(--sw-panel-dark);
border:1px solid var(--sw-line-red);
border-left:4px solid var(--sw-red-bright);
margin:1.4rem 0;
padding:1.1rem 1.2rem;
}
.sw-summoning-hell .sw-warning strong, .sw-summoning-hell .sw-note strong{
color:var(--sw-gold-soft);
}
/* =========================================================
   GENERAL CARDS
   ========================================================= */
.sw-summoning-hell .sw-grid-3{
display:grid;
gap:1rem;
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-summoning-hell .sw-card{
background:linear-gradient( 180deg, rgba(255,255,255,.025), transparent ), var(--sw-panel);
border:1px solid var(--sw-line);
padding:1.2rem;
}
.sw-summoning-hell .sw-card p:last-child{
margin-bottom:0;
}
.sw-summoning-hell .sw-label{
color:var(--sw-red-bright);
display:block;
font-size:.7rem;
letter-spacing:.12em;
margin-bottom:.5rem;
}
/* =========================================================
   INFERNAL KEYS
   ========================================================= */
.sw-summoning-hell .sw-keys{
display:grid;
gap:.85rem;
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-summoning-hell .sw-key{
background:var(--sw-panel);
border:1px solid var(--sw-line);
padding:1rem 1.1rem;
}
.sw-summoning-hell .sw-key strong{
color:var(--sw-gold-soft);
display:block;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
margin-bottom:.3rem;
}
/* =========================================================
   CSS-ONLY EDITION TABS
   ========================================================= */
.sw-summoning-hell .sw-rules{
margin-top:1.5rem;
position:relative;
}
.sw-summoning-hell .sw-edition-input{
height:1px;
opacity:0;
overflow:hidden;
pointer-events:none;
position:absolute;
width:1px;
}
.sw-summoning-hell .sw-edition-tabs{
display:grid;
gap:.5rem;
grid-template-columns:repeat(3, minmax(0, 1fr));
margin-bottom:1rem;
}
.sw-summoning-hell .sw-edition-tabs label{
background:#0b0f16;
border:1px solid var(--sw-line);
color:#c6beb2;
cursor:pointer;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.86rem;
font-weight:700;
padding:.8rem 1rem;
text-align:center;
}
.sw-summoning-hell #sw-summoning-edition-55:checked ~ .sw-edition-tabs label[for="sw-summoning-edition-55"], .sw-summoning-hell #sw-summoning-edition-pf:checked ~ .sw-edition-tabs label[for="sw-summoning-edition-pf"], .sw-summoning-hell #sw-summoning-edition-35:checked ~ .sw-edition-tabs label[for="sw-summoning-edition-35"]{
background:linear-gradient( 180deg, rgba(158,57,53,.14), transparent ), var(--sw-panel-2);
border-color:rgba(217,180,93,.55);
color:var(--sw-gold-soft);
}
.sw-summoning-hell .sw-edition-panel{
display:none;
}
.sw-summoning-hell #sw-summoning-edition-55:checked ~ .sw-edition-panels .sw-panel-55, .sw-summoning-hell #sw-summoning-edition-pf:checked ~ .sw-edition-panels .sw-panel-pf, .sw-summoning-hell #sw-summoning-edition-35:checked ~ .sw-edition-panels .sw-panel-35{
display:block;
}
/* =========================================================
   RITUAL BLOCKS
   ========================================================= */
.sw-summoning-hell .sw-rite{
background:var(--sw-panel-dark);
border:1px solid var(--sw-line);
margin-bottom:1.3rem;
overflow:hidden;
}
.sw-summoning-hell .sw-rite-head{
background:linear-gradient( 90deg, rgba(158,57,53,.17), transparent ), #10151f;
border-bottom:1px solid var(--sw-line);
padding:1.1rem 1.2rem;
}
.sw-summoning-hell .sw-rite-type{
color:var(--sw-gold);
display:block;
font-size:.7rem;
letter-spacing:.11em;
margin-bottom:.4rem;
}
.sw-summoning-hell .sw-rite-head h3{
margin-bottom:0;
}
.sw-summoning-hell .sw-rite-body{
padding:1.2rem;
}
.sw-summoning-hell .sw-stat-grid{
display:grid;
gap:1px;
grid-template-columns:repeat(4, minmax(0, 1fr));
margin-bottom:1.2rem;
}
.sw-summoning-hell .sw-stat{
background:var(--sw-panel);
border:1px solid rgba(217,180,93,.13);
padding:.75rem;
}
.sw-summoning-hell .sw-stat strong{
color:var(--sw-gold-soft);
display:block;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.7rem;
letter-spacing:.06em;
margin-bottom:.2rem;
text-transform:uppercase;
}
.sw-summoning-hell .sw-rule-label{
color:var(--sw-red-bright);
display:block;
font-size:.69rem;
letter-spacing:.11em;
margin:1.1rem 0 .45rem;
}
.sw-summoning-hell .sw-procedure{
counter-reset:swprocedure;
list-style:none;
padding-left:0;
}
.sw-summoning-hell .sw-procedure li{
background:rgba(255,255,255,.018);
border-left:2px solid rgba(217,180,93,.28);
margin:.55rem 0;
padding:.7rem .85rem .7rem 3rem;
position:relative;
}
.sw-summoning-hell .sw-procedure li::before{
color:var(--sw-gold);
content:counter(swprocedure);
counter-increment:swprocedure;
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.82rem;
font-weight:700;
left:1rem;
position:absolute;
top:.72rem;
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-summoning-hell .sw-table-wrap{
margin:1rem 0;
overflow-x:auto;
}
.sw-summoning-hell table{
border-collapse:collapse;
min-width:680px;
width:100%;
}
.sw-summoning-hell th, .sw-summoning-hell td{
border:1px solid var(--sw-line);
padding:.75rem .8rem;
text-align:left;
vertical-align:top;
}
.sw-summoning-hell th{
background:#151a24;
color:var(--sw-gold-soft);
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.78rem;
}
.sw-summoning-hell td{
background:#0d1118;
color:#d2cabf;
font-size:.93rem;
}
/* =========================================================
   FAILURE GRID
   ========================================================= */
.sw-summoning-hell .sw-failure-grid{
display:grid;
gap:.8rem;
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-summoning-hell .sw-failure{
background:var(--sw-panel);
border:1px solid var(--sw-line-red);
padding:1rem;
}
.sw-summoning-hell .sw-failure strong{
color:var(--sw-gold-soft);
display:block;
margin-bottom:.3rem;
}
/* =========================================================
   IMAGE + COPY
   ========================================================= */
.sw-summoning-hell .sw-split{
align-items:stretch;
display:grid;
grid-template-columns:minmax(0, 1.05fr) minmax(300px, .95fr);
margin-top:1.4rem;
}
.sw-summoning-hell .sw-split-copy{
background:var(--sw-panel);
border:1px solid var(--sw-line);
padding:clamp(1.25rem, 3vw, 2rem);
}
.sw-summoning-hell .sw-split figure{
background:#05070a;
border:1px solid var(--sw-line);
border-left:0;
margin:0;
}
.sw-summoning-hell .sw-split figure img{
height:100%;
object-fit:cover;
width:100%;
}
/* =========================================================
   DIRECTORY
   ========================================================= */
.sw-summoning-hell .sw-directory{
display:grid;
gap:.8rem;
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-summoning-hell .sw-directory a{
background:var(--sw-panel);
border:1px solid var(--sw-line);
color:#e7dece;
display:block;
padding:1rem 1.1rem;
text-decoration:none;
}
.sw-summoning-hell .sw-directory a:hover, .sw-summoning-hell .sw-directory a:focus{
background:var(--sw-panel-2);
border-color:rgba(217,180,93,.5);
}
.sw-summoning-hell .sw-directory strong{
color:var(--sw-gold-soft);
display:block;
margin-bottom:.25rem;
}
.sw-summoning-hell .sw-directory span{
color:var(--sw-muted);
font-size:.9rem;
}
.sw-summoning-hell .sw-back{
padding-top:1.5rem;
text-align:center;
}
.sw-summoning-hell .sw-back a{
font-family:"Quicksand", Arial, Helvetica, sans-serif;
font-size:.8rem;
font-weight:700;
text-transform:uppercase;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px) {
.sw-summoning-hell .sw-grid-3{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-summoning-hell .sw-stat-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-summoning-hell .sw-split{
grid-template-columns:1fr;
}
.sw-summoning-hell .sw-split figure{
border-left:1px solid var(--sw-line);
border-top:0;
}
}
@media (max-width: 680px) {
.sw-summoning-hell{
font-size:16px;
}
.sw-summoning-hell .sw-grid-3, .sw-summoning-hell .sw-keys, .sw-summoning-hell .sw-failure-grid, .sw-summoning-hell .sw-directory, .sw-summoning-hell .sw-stat-grid{
grid-template-columns:1fr;
}
.sw-summoning-hell .sw-edition-tabs{
grid-template-columns:1fr;
}
.sw-summoning-hell .sw-nav{
flex-wrap:nowrap;
justify-content:flex-start;
overflow-x:auto;
}
.sw-summoning-hell .sw-nav a{
flex:0 0 auto;
}
}
/* END SUMMONING A POWER OF HELL */
/* --- WPWriter addition --- */
/* HALFLINGS — scoped migration from page CSS, 2026-10-06 */
/* =========================================================
   HALFLINGS — PLAYABLE PEOPLE
   Final publication-lock build
   Canonical centred layout • CSS-only tabs • CSS-only lightboxes
   ========================================================= */
.sw-halflings{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
color:inherit;
line-height:1.72;
}
.sw-halflings *, .sw-halflings *::before, .sw-halflings *::after{
box-sizing:border-box;
}
.sw-halflings h1, .sw-halflings h2, .sw-halflings h3, .sw-halflings h4{
line-height:1.2;
text-wrap:balance;
}
.sw-halflings h1{
margin:0 0 22px;
font-size:clamp(2rem, 5vw, 3.5rem);
}
.sw-halflings h2{
margin:52px 0 18px;
font-size:clamp(1.55rem, 3vw, 2.15rem);
}
.sw-halflings h3{
margin:32px 0 12px;
font-size:clamp(1.2rem, 2.4vw, 1.55rem);
}
.sw-halflings h4{
margin:24px 0 10px;
font-size:1.08rem;
}
.sw-halflings p{
margin:0 0 1.15em;
}
.sw-halflings a{
color:inherit;
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-kicker{
margin:0 0 10px;
font-size:.82rem;
font-weight:800;
letter-spacing:.13em;
text-transform:uppercase;
opacity:.76;
}
.sw-lede{
font-size:clamp(1.08rem, 2vw, 1.28rem);
line-height:1.68;
margin-bottom:26px;
}
.sw-hero, .sw-supporting-image{
margin:0 0 30px;
}
.sw-hero img, .sw-supporting-image img{
display:block;
width:100%;
height:auto;
border-radius:12px;
}
.sw-caption{
display:block;
margin-top:9px;
font-size:.9rem;
line-height:1.45;
opacity:.8;
}
/* ---------- CSS-only lightbox ---------- */
.sw-lightbox{
position:fixed;
inset:0;
z-index:99999;
display:none;
align-items:center;
justify-content:center;
padding:24px;
background:rgba(0,0,0,.92);
}
.sw-lightbox:target{
display:flex;
}
.sw-lightbox img{
display:block;
max-width:min(1500px, 94vw);
max-height:90vh;
width:auto;
height:auto;
border-radius:10px;
}
.sw-lightbox-close{
position:absolute;
top:18px;
right:24px;
font-size:2rem;
font-weight:800;
color:#fff!important;
text-decoration:none;
}
/* ---------- At a glance ---------- */
.sw-glance{
margin:26px 0 36px;
border-top:1px solid rgba(127,127,127,.42);
border-bottom:1px solid rgba(127,127,127,.42);
}
.sw-glance-row{
display:grid;
grid-template-columns:minmax(160px, 230px) 1fr;
gap:22px;
padding:13px 0;
border-bottom:1px solid rgba(127,127,127,.24);
}
.sw-glance-row:last-child{
border-bottom:0;
}
.sw-glance-term{
font-weight:800;
}
.sw-glance-value{
min-width:0;
}
/* ---------- Rules tabs ---------- */
.sw-rules{
margin:28px 0 46px;
}
.sw-rules > input[type="radio"]{
position:absolute!important;
width:1px!important;
height:1px!important;
overflow:hidden!important;
clip:rect(0 0 0 0)!important;
clip-path:inset(50%)!important;
white-space:nowrap!important;
}
.sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:7px;
margin:0;
}
.sw-tab-labels label{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:10px 16px;
border:1px solid rgba(127,127,127,.46);
border-bottom:0;
border-radius:8px 8px 0 0;
font-weight:800;
cursor:pointer;
background:rgba(127,127,127,.09);
color:inherit;
}
.sw-tab-labels label:hover, .sw-tab-labels label:focus-visible{
background:rgba(127,127,127,.18);
}
.sw-rule-panels{
border:1px solid rgba(127,127,127,.46);
border-radius:0 9px 9px 9px;
padding:clamp(18px, 4vw, 30px);
background:rgba(127,127,127,.06);
}
.sw-rule-panel{
display:none!important;
}
#sw-half-55:checked ~ .sw-tab-labels + .sw-rule-panels #sw-half-panel-55, #sw-half-5e:checked ~ .sw-tab-labels + .sw-rule-panels #sw-half-panel-5e, #sw-half-pf1:checked ~ .sw-tab-labels + .sw-rule-panels #sw-half-panel-pf1, #sw-half-35:checked ~ .sw-tab-labels + .sw-rule-panels #sw-half-panel-35{
display:block!important;
}
#sw-half-55:checked ~ .sw-tab-labels label[for="sw-half-55"], #sw-half-5e:checked ~ .sw-tab-labels label[for="sw-half-5e"], #sw-half-pf1:checked ~ .sw-tab-labels label[for="sw-half-pf1"], #sw-half-35:checked ~ .sw-tab-labels label[for="sw-half-35"]{
background:rgba(127,127,127,.24);
border-color:currentColor;
}
.sw-rule-table, .sw-halflings table:not(.sw-rule-table){
width:100%;
border-collapse:collapse;
margin:18px 0 22px;
}
.sw-rule-table th, .sw-rule-table td, .sw-halflings table:not(.sw-rule-table) th, .sw-halflings table:not(.sw-rule-table) td{
padding:11px 12px;
text-align:left;
vertical-align:top;
border-bottom:1px solid rgba(127,127,127,.28);
}
.sw-rule-table th{
width:30%;
font-weight:800;
}
.sw-halflings table:not(.sw-rule-table) th{
font-weight:800;
background:rgba(127,127,127,.13);
}
.sw-table-scroll{
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
.sw-mechanics-note{
margin:20px 0;
padding:17px 19px;
border-left:4px solid currentColor;
background:rgba(127,127,127,.09);
}
.sw-mechanics-note p:last-child{
margin-bottom:0;
}
/* ---------- Campaign material ---------- */
.sw-origin-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:22px 36px;
margin:24px 0 34px;
}
.sw-origin-grid h3{
margin-top:0;
}
.sw-question-list{
margin:16px 0 30px;
padding-left:1.3em;
}
.sw-question-list li{
margin:0 0 9px;
}
/* ---------- Videos ---------- */
.sw-videos{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
margin:20px 0 34px;
}
.sw-video{
padding:14px;
border:1px solid rgba(127,127,127,.32);
border-radius:9px;
background:rgba(127,127,127,.05);
}
.sw-video-embed{
position:relative;
width:100%;
aspect-ratio:16 / 9;
overflow:hidden;
border-radius:7px;
background:#000;
}
.sw-video-embed iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
.sw-video-title{
display:block;
margin-top:10px;
font-weight:800;
line-height:1.35;
}
/* ---------- Related links ---------- */
.sw-related{
display:flex;
flex-wrap:wrap;
gap:9px 18px;
margin:26px 0 34px;
padding-top:18px;
border-top:1px solid rgba(127,127,127,.36);
}
/* ---------- Licence ---------- */
.sw-licence{
margin:26px 0 38px;
padding:20px;
border:1px solid rgba(127,127,127,.34);
border-radius:9px;
background:rgba(127,127,127,.055);
}
.sw-licence h3:first-child{
margin-top:0;
}
/* ---------- Mobile ---------- */
@media (max-width: 760px) {
.sw-halflings{
width:calc(100% - 24px);
}
.sw-glance-row{
grid-template-columns:1fr;
gap:3px;
}
.sw-origin-grid, .sw-videos{
grid-template-columns:1fr;
}
.sw-tab-labels{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:6px;
}
.sw-tab-labels label{
border:1px solid rgba(127,127,127,.46);
border-radius:7px;
font-size:.92rem;
text-align:center;
}
.sw-rule-panels{
margin-top:8px;
border-radius:8px;
}
.sw-rule-table th, .sw-rule-table td{
display:block;
width:100%;
padding-left:0;
padding-right:0;
}
.sw-rule-table th{
padding-bottom:2px;
border-bottom:0;
}
.sw-rule-table td{
padding-top:2px;
}
}
/* END HALFLINGS */
/* --- WPWriter addition --- */
/* DAWNING AGE — migrated from page CSS, 2026-10-06 */
.page-id-204922 .entry-content>.sw-indexing-title{
display:none!important;
max-width:1180px;
width:calc(100% - 32px);
box-sizing:border-box;
margin:0 auto 18px!important;
padding:0 16px;
text-align:center!important;
}
@media(max-width:782px){
.page-id-204922 .entry-content>.sw-indexing-title{
display:none!important;
width:calc(100% - 24px);
padding:0 12px;
}
}
/* END DAWNING AGE */
/* --- WPWriter addition --- */
/* ASHEN DAWN — migrated from page CSS, 2026-10-06 */
.page-id-204898 .entry-content>.sw-indexing-title{
display:none!important;
max-width:1180px;
width:calc(100% - 32px);
box-sizing:border-box;
margin:0 auto!important;
padding:30px 32px 18px!important;
background:#111015!important;
color:#f3eef8!important;
opacity:1!important;
visibility:visible!important;
text-align:center!important;
}
.page-id-204898 .entry-content>.sw-indexing-title+.sw-entry{
margin-top:0!important;
}
.page-id-204898 .sw-entry a{
text-decoration:underline!important;
text-decoration-thickness:.08em;
text-underline-offset:.15em;
}
.page-id-204898 .sw-entry img,.page-id-204898 .sw-entry iframe{
max-width:100%;
height:auto;
}
@media(max-width:782px){
.page-id-204898 .entry-content>.sw-indexing-title{
display:none!important;
width:calc(100% - 24px);
padding:22px 16px 14px!important;
}
.page-id-204898 .sw-entry table{
display:block;
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
}
/* END ASHEN DAWN */
/* --- WPWriter addition --- */
/* GIANT TOAD — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — GIANT TOAD
   FINAL AMENDED PUBLICATION BUILD

   Order:
   Title → Main Art → Quick Reference → Game Statistics
   → GM Use → Natural History → Behaviour → Tactics
   → Encounter Builder → Treasure → Hooks → Historical Art
   → Related Rules → Sources
   ========================================================= */
#sw-giant-toad{
--sw-bg: #0e1610;
--sw-bg-2: #141e16;
--sw-panel: #182319;
--sw-panel-2: #202c21;
--sw-panel-3: #29352a;
--sw-text: #edf1e9;
--sw-muted: #bbc5b7;
--sw-gold: #d6b96f;
--sw-gold-soft: #efd99a;
--sw-green: #a9bf79;
--sw-line: rgba(214,185,111,.28);
--sw-radius: 10px;
max-width:1160px;
margin:0 auto;
padding:0;
color:var(--sw-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.7;
}
#sw-giant-toad *, #sw-giant-toad *::before, #sw-giant-toad *::after{
box-sizing:border-box;
}
#sw-giant-toad a{
color:var(--sw-gold-soft);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:3px;
}
#sw-giant-toad a:hover, #sw-giant-toad a:focus{
color:#fff4cf;
}
#sw-giant-toad h1, #sw-giant-toad h2, #sw-giant-toad h3, #sw-giant-toad h4{
margin-top:0;
color:var(--sw-gold-soft);
font-family:Georgia, "Times New Roman", serif;
line-height:1.15;
}
#sw-giant-toad h1{
margin-bottom:.5rem;
font-size:clamp(2.7rem, 7vw, 5rem);
font-weight:500;
letter-spacing:-.035em;
}
#sw-giant-toad h2{
margin-bottom:.7rem;
font-size:clamp(1.65rem, 4vw, 2.5rem);
}
#sw-giant-toad h3{
margin-bottom:.45rem;
font-size:1.38rem;
}
#sw-giant-toad h4{
margin-bottom:.35rem;
font-size:1.08rem;
}
#sw-giant-toad p:last-child{
margin-bottom:0;
}
/* =========================================================
   TITLE
   ========================================================= */
#sw-giant-toad .sw-intro{
margin-bottom:1rem;
padding:clamp(1.4rem, 5vw, 2.7rem);
background:linear-gradient( 135deg, #0e1710 0%, #18241a 100% );
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
#sw-giant-toad .sw-kicker{
display:block;
margin-bottom:.55rem;
color:var(--sw-green);
font-family:Arial, Helvetica, sans-serif;
font-size:.75rem;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase;
}
#sw-giant-toad .sw-deck{
max-width:800px;
margin:0;
color:#f1f3ed;
font-size:clamp(1.05rem, 2vw, 1.28rem);
line-height:1.55;
}
#sw-giant-toad .sw-chip-row{
display:flex;
flex-wrap:wrap;
gap:.45rem;
margin-top:1rem;
}
#sw-giant-toad .sw-chip{
display:inline-block;
padding:.32rem .68rem;
background:rgba(127,156,115,.12);
border:1px solid rgba(180,199,123,.32);
border-radius:999px;
color:#e8eddf;
font-family:Arial, Helvetica, sans-serif;
font-size:.76rem;
font-weight:700;
}
/* =========================================================
   MAIN ART
   ========================================================= */
#sw-giant-toad .sw-main-art{
max-width:920px;
margin:0 auto 1.35rem;
padding:.7rem;
background:#111a13;
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
#sw-giant-toad .sw-main-art img{
display:block;
width:auto;
max-width:100%;
max-height:460px;
height:auto;
margin:0 auto;
object-fit:contain;
border-radius:6px;
}
/* =========================================================
   SEARCH IDENTITY
   ========================================================= */
#sw-giant-toad .sw-search-identity{
margin:1.2rem 0;
padding:.95rem 1.1rem;
background:var(--sw-panel);
border-left:4px solid var(--sw-gold);
border-radius:0 var(--sw-radius) var(--sw-radius) 0;
}
/* =========================================================
   QUICK REFERENCE
   ========================================================= */
#sw-giant-toad .sw-reference{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:1px;
margin:1rem 0 1.35rem;
background:var(--sw-line);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
overflow:hidden;
}
#sw-giant-toad .sw-reference > div{
padding:.9rem;
background:var(--sw-panel);
}
#sw-giant-toad .sw-label{
display:block;
margin-bottom:.15rem;
color:var(--sw-green);
font-family:Arial, Helvetica, sans-serif;
font-size:.68rem;
font-weight:700;
letter-spacing:.1em;
text-transform:uppercase;
}
/* =========================================================
   GENERAL SECTIONS
   ========================================================= */
#sw-giant-toad .sw-section{
margin:1.3rem 0;
padding:clamp(1.15rem, 4vw, 1.9rem);
background:var(--sw-bg);
border:1px solid rgba(214,185,111,.16);
border-radius:var(--sw-radius);
}
#sw-giant-toad .sw-grid{
display:grid;
grid-template-columns:repeat(12, minmax(0, 1fr));
gap:.9rem;
}
#sw-giant-toad .sw-card{
padding:1.05rem;
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:8px;
}
#sw-giant-toad .sw-span-4{
grid-column:span 4;
}
#sw-giant-toad .sw-span-6{
grid-column:span 6;
}
#sw-giant-toad .sw-callout{
margin:1rem 0;
padding:.95rem 1.1rem;
background:linear-gradient( 135deg, rgba(127,156,115,.15), rgba(214,185,111,.06) );
border:1px solid rgba(180,199,123,.28);
border-radius:8px;
}
/* =========================================================
   GAME STATISTICS
   ========================================================= */
#sw-giant-toad .sw-game-stats{
margin:1.35rem 0;
padding:clamp(1.15rem, 4vw, 1.9rem);
background:#0e1610;
border:1px solid rgba(214,185,111,.18);
border-radius:var(--sw-radius);
}
/* =========================================================
   CSS-ONLY EDITION TABS
   ========================================================= */
#sw-giant-toad .sw-edition-tabs{
position:relative;
margin:0;
}
#sw-giant-toad .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
margin:-1px;
padding:0;
overflow:hidden;
clip:rect(0 0 0 0);
clip-path:inset(50%);
white-space:nowrap;
border:0;
}
#sw-giant-toad .sw-tab-labels{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:.55rem;
padding:.65rem;
background:#111a13;
border:1px solid var(--sw-line);
border-radius:9px;
}
#sw-giant-toad .sw-tab-label{
display:flex;
align-items:center;
justify-content:center;
min-height:52px;
margin:0;
padding:.75rem .65rem;
cursor:pointer;
background:#1b271d;
border:1px solid rgba(214,185,111,.28);
border-radius:7px;
color:#eef1ea;
text-align:center;
font-family:Arial, Helvetica, sans-serif;
font-size:.88rem;
font-weight:700;
line-height:1.25;
transition:background .15s ease, border-color .15s ease, color .15s ease;
}
#sw-giant-toad .sw-tab-label:hover{
background:#253428;
border-color:rgba(214,185,111,.55);
}
#sw-giant-toad #gt-edition-55:focus-visible ~ .sw-tab-labels label[for="gt-edition-55"], #sw-giant-toad #gt-edition-pf1:focus-visible ~ .sw-tab-labels label[for="gt-edition-pf1"], #sw-giant-toad #gt-edition-35:focus-visible ~ .sw-tab-labels label[for="gt-edition-35"]{
outline:3px solid var(--sw-gold-soft);
outline-offset:3px;
}
#sw-giant-toad #gt-edition-55:checked ~ .sw-tab-labels label[for="gt-edition-55"], #sw-giant-toad #gt-edition-pf1:checked ~ .sw-tab-labels label[for="gt-edition-pf1"], #sw-giant-toad #gt-edition-35:checked ~ .sw-tab-labels label[for="gt-edition-35"]{
background:var(--sw-gold);
border-color:var(--sw-gold);
color:#16130d;
}
#sw-giant-toad .sw-tab-panels{
margin-top:.85rem;
}
#sw-giant-toad .sw-tab-panel{

}
#sw-giant-toad #gt-edition-55:checked ~ .sw-tab-panels #giant-toad-55, #sw-giant-toad #gt-edition-pf1:checked ~ .sw-tab-panels #giant-toad-pf1, #sw-giant-toad #gt-edition-35:checked ~ .sw-tab-panels #giant-toad-35{
display:block;
}
/* =========================================================
   STAT BLOCK
   ========================================================= */
#sw-giant-toad .sw-statblock{
margin:0;
padding:clamp(1rem, 4vw, 1.55rem);
background:#f0ede1;
color:#241e17;
border:1px solid #a98547;
border-top:5px solid #785728;
border-bottom:5px solid #785728;
border-radius:2px;
font-family:Georgia, "Times New Roman", serif;
font-size:16px;
line-height:1.55;
}
#sw-giant-toad .sw-statblock h3, #sw-giant-toad .sw-statblock h4{
color:#5c401e;
}
#sw-giant-toad .sw-stat-name{
margin:0 0 .1rem;
font-size:clamp(1.65rem, 4vw, 2rem);
line-height:1.1;
}
#sw-giant-toad .sw-stat-type{
margin:0 0 .55rem;
font-style:italic;
}
#sw-giant-toad .sw-rule{
height:2px;
margin:.62rem 0;
border:0;
background:linear-gradient( 90deg, #795727, rgba(121,87,39,.15) );
}
#sw-giant-toad .sw-statline{
margin:.16rem 0;
}
#sw-giant-toad .sw-statblock p{
color:#241e17;
}
#sw-giant-toad .sw-statblock strong{
color:#312519;
}
#sw-giant-toad .sw-statblock a{
color:#684818;
font-weight:600;
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:2px;
}
#sw-giant-toad .sw-statblock a:hover, #sw-giant-toad .sw-statblock a:focus{
color:#3f2a10;
}
#sw-giant-toad .sw-action-title{
color:#4d3519;
font-weight:700;
font-style:italic;
}
/* =========================================================
   ABILITY SCORES
   ========================================================= */
#sw-giant-toad .sw-abilities{
width:100%;
margin:.65rem 0;
border-collapse:collapse;
table-layout:fixed;
text-align:center;
}
#sw-giant-toad .sw-abilities th, #sw-giant-toad .sw-abilities td{
padding:.28rem .1rem;
border:0;
text-align:center;
}
#sw-giant-toad .sw-abilities th{
color:#6b4a20;
font-family:Arial, Helvetica, sans-serif;
font-size:.74rem;
font-weight:700;
}
#sw-giant-toad .sw-abilities td{
color:#241e17;
}
/* =========================================================
   PATHFINDER COMPANION MATERIAL
   ========================================================= */
#sw-giant-toad .sw-edition-extra{
margin-top:1rem;
padding:1rem 1.1rem;
background:var(--sw-panel);
border:1px solid rgba(214,185,111,.24);
border-radius:8px;
color:var(--sw-text);
}
#sw-giant-toad .sw-edition-extra h3{
margin:0 0 .55rem;
color:var(--sw-gold-soft);
font-size:1.35rem;
}
#sw-giant-toad .sw-edition-extra p{
color:var(--sw-text);
}
#sw-giant-toad .sw-edition-extra strong{
color:#f2dfab;
}
/* =========================================================
   ENCOUNTER TABLE
   ========================================================= */
#sw-giant-toad .sw-table-wrap{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
#sw-giant-toad .sw-table{
width:100%;
min-width:620px;
border-collapse:collapse;
background:var(--sw-panel);
}
#sw-giant-toad .sw-table th, #sw-giant-toad .sw-table td{
padding:.7rem .75rem;
border:1px solid var(--sw-line);
text-align:left;
vertical-align:top;
}
#sw-giant-toad .sw-table th{
background:var(--sw-panel-3);
color:var(--sw-gold-soft);
font-family:Arial, Helvetica, sans-serif;
font-size:.75rem;
text-transform:uppercase;
}
/* =========================================================
   HISTORICAL ART
   ========================================================= */
#sw-giant-toad .sw-history-art{
max-width:640px;
margin:1.6rem auto;
padding:.65rem;
background:#141d15;
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
#sw-giant-toad .sw-history-art img{
display:block;
width:auto;
max-width:100%;
max-height:540px;
height:auto;
margin:0 auto;
object-fit:contain;
}
#sw-giant-toad .sw-history-art figcaption{
margin-top:.45rem;
color:var(--sw-muted);
font-size:.82rem;
}
/* =========================================================
   RELATED LINKS
   ========================================================= */
#sw-giant-toad .sw-footer-links{
display:flex;
flex-wrap:wrap;
gap:.5rem;
}
#sw-giant-toad .sw-footer-links a{
display:inline-block;
padding:.37rem .7rem;
background:var(--sw-panel-2);
border:1px solid var(--sw-line);
border-radius:999px;
text-decoration:none;
font-family:Arial, Helvetica, sans-serif;
font-size:.78rem;
}
/* =========================================================
   SOURCES
   ========================================================= */
#sw-giant-toad .sw-source{
margin:1.3rem 0 0;
padding:clamp(1.15rem, 4vw, 1.8rem);
background:#101811;
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
color:#c8d0c4;
}
#sw-giant-toad .sw-source h2{
color:var(--sw-gold-soft);
}
#sw-giant-toad .sw-source p{
color:#c8d0c4;
}
#sw-giant-toad .sw-source strong{
color:#e4e8df;
}
/* =========================================================
   LISTS
   ========================================================= */
#sw-giant-toad ul, #sw-giant-toad ol{
padding-left:1.25rem;
}
#sw-giant-toad li + li{
margin-top:.35rem;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 820px) {
#sw-giant-toad .sw-reference{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
#sw-giant-toad .sw-span-4, #sw-giant-toad .sw-span-6{
grid-column:1 / -1;
}
}
@media (max-width: 640px) {
#sw-giant-toad{
font-size:16px;
}
#sw-giant-toad .sw-reference, #sw-giant-toad .sw-tab-labels{
grid-template-columns:1fr;
}
#sw-giant-toad .sw-main-art{
padding:.5rem;
}
#sw-giant-toad .sw-main-art img{
max-height:none;
}
#sw-giant-toad .sw-statblock{
font-size:15px;
}
#sw-giant-toad .sw-abilities{
font-size:.82rem;
}
}
/* =========================================================
   PRINT
   ========================================================= */
@media print {
#sw-giant-toad .sw-tab-labels{
display:none;
}
#sw-giant-toad .sw-tab-panel{
display:block!important;
margin-bottom:1.5rem;
}
}
/* END GIANT TOAD */
/* --- WPWriter addition --- */
/* WORG — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — WORG
   FINAL PUBLICATION CSS
   ========================================================= */
.sw-worg{
--sw-panel: #121a24;
--sw-panel-2: #172230;
--sw-line: #334357;
--sw-gold: #d9b76a;
--sw-gold-soft: #f0d99d;
--sw-text: #e7e3da;
--sw-muted: #b8bdc7;
--sw-red: #9f4c45;
--sw-link: #e2c779;
--sw-radius: 10px;
max-width:1180px;
margin:0 auto;
padding:0 18px 42px;
color:var(--sw-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.72;
}
.sw-worg *, .sw-worg *::before, .sw-worg *::after{
box-sizing:border-box;
}
.sw-worg a{
color:var(--sw-link);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-worg a:hover, .sw-worg a:focus{
color:#fff0b8;
}
.sw-worg h1, .sw-worg h2, .sw-worg h3, .sw-worg h4{
margin-top:0;
color:#f4ead1;
font-family:Georgia, "Times New Roman", serif;
line-height:1.18;
}
.sw-worg h1{
margin:6px 0 12px;
font-size:clamp(2.35rem, 6vw, 4.7rem);
font-weight:700;
letter-spacing:-0.035em;
}
.sw-worg h2{
margin:42px 0 18px;
padding-bottom:9px;
border-bottom:1px solid var(--sw-line);
font-size:clamp(1.65rem, 3vw, 2.15rem);
}
.sw-worg h3{
margin:27px 0 10px;
color:var(--sw-gold-soft);
font-size:1.35rem;
}
.sw-worg h4{
margin:20px 0 7px;
color:var(--sw-gold-soft);
font-size:1.08rem;
}
.sw-worg p{
margin:0 0 16px;
}
.sw-worg ul{
margin:8px 0 18px 1.3rem;
padding:0;
}
.sw-worg li{
margin:5px 0;
}
.sw-worg .sw-kicker{
margin:0 0 6px;
color:var(--sw-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:.76rem;
font-weight:800;
letter-spacing:.13em;
text-transform:uppercase;
}
.sw-worg .sw-deck{
max-width:900px;
margin:0 0 24px;
color:#d1d4d9;
font-size:1.16rem;
line-height:1.6;
}
/* =========================================================
   IMAGE / FEATURE PANELS
   ========================================================= */
.sw-worg .sw-hero, .sw-worg .sw-media{
display:grid;
grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr);
gap:28px;
align-items:center;
margin:25px 0 34px;
padding:22px;
background:linear-gradient(135deg, rgba(217,183,106,.07), transparent 42%), var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
.sw-worg .sw-media{
grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
}
.sw-worg .sw-media-reverse{
grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);
}
.sw-worg .sw-media-reverse figure{
order:2;
}
.sw-worg figure{
margin:0;
}
.sw-worg img{
display:block;
width:100%;
height:auto;
border-radius:8px;
}
.sw-worg figcaption{
margin-top:8px;
color:var(--sw-muted);
font-family:Arial, Helvetica, sans-serif;
font-size:.79rem;
line-height:1.45;
}
/* =========================================================
   QUICK RULES
   ========================================================= */
.sw-worg .sw-rule-summary{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px;
margin:18px 0 28px;
}
.sw-worg .sw-rule-card{
padding:17px;
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
.sw-worg .sw-rule-card strong{
display:block;
margin-bottom:5px;
color:var(--sw-gold-soft);
font-family:Arial, Helvetica, sans-serif;
font-size:.88rem;
}
.sw-worg .sw-rule-card span{
display:block;
color:var(--sw-muted);
font-size:.95rem;
line-height:1.5;
}
/* =========================================================
   EDITION TABS
   CSS ONLY
   ========================================================= */
.sw-worg .sw-tabs{
position:relative;
margin:20px 0 38px;
}
.sw-worg .sw-tabs > input{
position:absolute;
opacity:0;
pointer-events:none;
}
.sw-worg .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:7px;
}
.sw-worg .sw-tab-labels label{
flex:1 1 220px;
display:flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:11px 14px;
background:#111923;
border:1px solid var(--sw-line);
border-bottom:0;
border-radius:8px 8px 0 0;
color:#d9dde2;
font-family:Arial, Helvetica, sans-serif;
font-size:.86rem;
font-weight:800;
text-align:center;
cursor:pointer;
}
.sw-worg #sw-worg-tab-55:checked ~ .sw-tab-labels label[for="sw-worg-tab-55"], .sw-worg #sw-worg-tab-pf:checked ~ .sw-tab-labels label[for="sw-worg-tab-pf"], .sw-worg #sw-worg-tab-35:checked ~ .sw-tab-labels label[for="sw-worg-tab-35"]{
background:var(--sw-gold);
border-color:var(--sw-gold);
color:#17130b;
}
.sw-worg .sw-tab-panels{
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:0 0 var(--sw-radius) var(--sw-radius);
}
.sw-worg .sw-tab-panel{
padding:clamp(18px, 4vw, 30px);
}
.sw-worg #sw-worg-tab-55:checked ~ .sw-tab-panels .sw-panel-55, .sw-worg #sw-worg-tab-pf:checked ~ .sw-tab-panels .sw-panel-pf, .sw-worg #sw-worg-tab-35:checked ~ .sw-tab-panels .sw-panel-35{
display:block;
}
.sw-worg .sw-stat-head{
margin-bottom:18px;
padding-bottom:15px;
border-bottom:2px solid var(--sw-red);
}
.sw-worg .sw-stat-head h3{
margin-bottom:4px;
font-size:1.7rem;
}
.sw-worg .sw-stat-subtitle{
color:var(--sw-muted);
font-style:italic;
}
.sw-worg .sw-stat-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px;
margin:18px 0;
}
.sw-worg .sw-stat-grid > div{
padding:10px 8px;
background:var(--sw-panel-2);
border:1px solid var(--sw-line);
border-radius:6px;
text-align:center;
}
.sw-worg .sw-stat-grid strong{
display:block;
color:var(--sw-gold-soft);
font-family:Arial, Helvetica, sans-serif;
font-size:.78rem;
}
.sw-worg .sw-stat-grid span{
display:block;
margin-top:3px;
font-family:Arial, Helvetica, sans-serif;
font-size:.95rem;
}
.sw-worg .sw-rule-lines{
margin:16px 0;
padding:14px 16px;
background:#0e151e;
border:1px solid var(--sw-line);
border-radius:7px;
}
.sw-worg .sw-rule-lines p{
margin:5px 0;
}
.sw-worg .sw-rule-label{
color:var(--sw-gold-soft);
font-weight:700;
}
.sw-worg .sw-stat-section{
margin-top:24px;
}
.sw-worg .sw-stat-section h4{
padding-bottom:5px;
border-bottom:1px solid rgba(217,183,106,.28);
font-family:Arial, Helvetica, sans-serif;
font-size:.82rem;
letter-spacing:.055em;
text-transform:uppercase;
}
/* =========================================================
   TACTICS CARDS
   ========================================================= */
.sw-worg .sw-callouts{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px;
margin:18px 0 26px;
}
.sw-worg .sw-callout{
padding:17px;
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
.sw-worg .sw-callout h3{
margin:0 0 8px;
font-size:1.08rem;
}
.sw-worg .sw-callout p:last-child{
margin-bottom:0;
}
/* =========================================================
   LEGACY PRICE TABLE
   ========================================================= */
.sw-worg .sw-price-table{
width:100%;
margin:16px 0;
border-collapse:collapse;
background:var(--sw-panel);
}
.sw-worg .sw-price-table th, .sw-worg .sw-price-table td{
padding:11px 13px;
border:1px solid var(--sw-line);
text-align:left;
vertical-align:top;
}
.sw-worg .sw-price-table th{
background:var(--sw-panel-2);
color:var(--sw-gold-soft);
font-family:Arial, Helvetica, sans-serif;
font-size:.83rem;
}
.sw-worg .sw-sources{
color:var(--sw-muted);
font-size:.92rem;
}
/* =========================================================
   RELATED LINKS
   ========================================================= */
.sw-worg .sw-related{
padding:18px;
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
}
.sw-worg .sw-related p{
margin:5px 0;
}
/* =========================================================
   VIDEO CARDS
   ========================================================= */
.sw-worg .sw-video-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:18px;
margin:20px 0 32px;
}
.sw-worg .sw-video-card{
display:block;
overflow:hidden;
background:var(--sw-panel);
border:1px solid var(--sw-line);
border-radius:var(--sw-radius);
color:var(--sw-text);
text-decoration:none;
transition:transform .15s ease, border-color .15s ease;
}
.sw-worg .sw-video-card:hover, .sw-worg .sw-video-card:focus{
transform:translateY(-2px);
border-color:var(--sw-gold);
color:var(--sw-text);
}
.sw-worg .sw-video-card img{
display:block;
width:100%;
aspect-ratio:16 / 9;
object-fit:cover;
border-radius:0;
}
.sw-worg .sw-video-copy{
padding:15px 17px 17px;
}
.sw-worg .sw-video-copy strong{
display:block;
margin-bottom:6px;
color:var(--sw-gold-soft);
font-size:1rem;
line-height:1.4;
}
.sw-worg .sw-video-copy span{
display:block;
color:var(--sw-muted);
font-size:.9rem;
line-height:1.5;
}
.sw-worg .sw-divider{
margin:34px 0;
border:0;
border-top:1px solid var(--sw-line);
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 820px) {
.sw-worg .sw-hero, .sw-worg .sw-media, .sw-worg .sw-media-reverse{
grid-template-columns:1fr;
}
.sw-worg .sw-media-reverse figure{
order:0;
}
.sw-worg .sw-rule-summary, .sw-worg .sw-callouts{
grid-template-columns:1fr;
}
}
@media (max-width: 700px) {
.sw-worg .sw-video-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 560px) {
.sw-worg{
padding-left:12px;
padding-right:12px;
}
.sw-worg .sw-stat-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-worg .sw-tab-labels{
display:grid;
grid-template-columns:1fr;
}
.sw-worg .sw-tab-labels label{
border-bottom:1px solid var(--sw-line);
border-radius:6px;
}
.sw-worg .sw-tab-panels{
border-radius:7px;
}
}
/* END WORG */
/* --- WPWriter addition --- */
/* SWARM OF RATS — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — SWARM OF RATS
   FINAL LOCKABLE PUBLICATION VERSION
   ========================================================= */
.sw-rats{
--sw-bg: #0e1217;
--sw-panel: #151b22;
--sw-panel-2: #1a222b;
--sw-border: rgba(203,169,92,.34);
--sw-gold: #d5b56b;
--sw-gold-soft: #ead6a2;
--sw-text: #e8e4da;
--sw-muted: #b9b6ad;
--sw-red: #b55b53;
--sw-shadow: 0 10px 28px rgba(0,0,0,.24);
background:var(--sw-bg);
color:var(--sw-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.72;
margin:0 auto;
max-width:1180px;
overflow:hidden;
}
.sw-rats *, .sw-rats *::before, .sw-rats *::after{
box-sizing:border-box;
}
.sw-rats a{
color:var(--sw-gold-soft);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-rats a:hover, .sw-rats a:focus{
color:#fff2c7;
}
.sw-rats p{
margin:0 0 1.05rem;
}
.sw-rats h1, .sw-rats h2, .sw-rats h3, .sw-rats h4{
font-family:Georgia, "Times New Roman", serif;
}
.sw-rats h2, .sw-rats h3, .sw-rats h4{
color:var(--sw-gold-soft);
line-height:1.2;
margin:0 0 .85rem;
}
.sw-rats h2{
border-bottom:1px solid var(--sw-border);
font-size:clamp(1.65rem,3vw,2.15rem);
padding-bottom:.45rem;
}
.sw-rats h3{
font-size:clamp(1.25rem,2.2vw,1.55rem);
}
.sw-rats .sw-inner{
padding:clamp(18px,4vw,48px);
}
/* =========================================================
   ENTRY HEADER
   ========================================================= */
.sw-rats .sw-rats-header{
background:linear-gradient( 180deg, #111820 0%, #0c1116 100% );
border-bottom:1px solid var(--sw-border);
padding:clamp(30px,5vw,60px) clamp(18px,4vw,48px) clamp(26px,4vw,44px);
text-align:center;
}
.sw-rats .sw-rats-kicker{
color:var(--sw-gold);
font-size:.82rem;
font-weight:700;
letter-spacing:.17em;
margin:0 0 .65rem;
text-transform:uppercase;
}
.sw-rats .sw-rats-title{
border:0;
color:#f4efe5;
font-size:clamp(2.45rem,6vw,4.8rem);
font-weight:400;
letter-spacing:-.025em;
line-height:1.03;
margin:0;
padding:0;
text-align:center;
}
.sw-rats .sw-rats-subtitle{
color:var(--sw-gold);
font-size:clamp(1.05rem,2.2vw,1.42rem);
font-style:italic;
letter-spacing:.035em;
margin:.62rem 0 0;
}
/* =========================================================
   HERO
   ========================================================= */
.sw-rats .sw-hero{
background:#090d11;
margin:0;
}
.sw-rats .sw-hero img{
display:block;
height:auto;
max-height:670px;
object-fit:cover;
width:100%;
}
.sw-rats figcaption{
background:rgba(8,11,14,.94);
color:var(--sw-muted);
font-size:.86rem;
line-height:1.5;
padding:.65rem .85rem;
}
.sw-rats .sw-lede{
color:#f1ede4;
font-size:clamp(1.08rem,2vw,1.22rem);
line-height:1.7;
margin-bottom:1.4rem;
}
.sw-rats .sw-hook{
border-left:3px solid var(--sw-gold);
color:var(--sw-gold-soft);
font-size:clamp(1.12rem,2vw,1.32rem);
font-style:italic;
margin:0 0 1.6rem;
padding:.55rem 0 .55rem 1rem;
}
.sw-rats .sw-section{
margin-top:clamp(2rem,5vw,3.8rem);
}
.sw-rats .sw-card{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:8px;
box-shadow:var(--sw-shadow);
padding:clamp(16px,3vw,28px);
}
.sw-rats .sw-grid{
display:grid;
gap:1rem;
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-rats .sw-grid-4{
display:grid;
gap:.8rem;
grid-template-columns:repeat(4,minmax(0,1fr));
}
.sw-rats .sw-fact{
background:var(--sw-panel-2);
border:1px solid rgba(203,169,92,.2);
border-radius:6px;
padding:.9rem 1rem;
}
.sw-rats .sw-fact strong{
color:var(--sw-gold-soft);
display:block;
font-size:.82rem;
letter-spacing:.06em;
margin-bottom:.18rem;
text-transform:uppercase;
}
.sw-rats .sw-note{
background:rgba(213,181,107,.08);
border:1px solid var(--sw-border);
border-left:4px solid var(--sw-gold);
border-radius:6px;
margin:1.25rem 0;
padding:1rem 1.1rem;
}
.sw-rats .sw-warning{
background:rgba(181,91,83,.09);
border-left-color:var(--sw-red);
}
.sw-rats .sw-table-wrap{
-webkit-overflow-scrolling:touch;
overflow-x:auto;
width:100%;
}
.sw-rats table{
border-collapse:collapse;
font-size:.96rem;
margin:1rem 0;
min-width:560px;
width:100%;
}
.sw-rats th, .sw-rats td{
border:1px solid rgba(203,169,92,.22);
padding:.65rem .75rem;
text-align:left;
vertical-align:top;
}
.sw-rats th{
background:rgba(213,181,107,.1);
color:var(--sw-gold-soft);
font-weight:700;
}
.sw-rats tr:nth-child(even) td{
background:rgba(255,255,255,.018);
}
.sw-rats ul{
margin:.65rem 0 1rem 1.3rem;
padding:0;
}
.sw-rats li{
margin-bottom:.4rem;
}
.sw-rats .sw-edition-summary{
display:grid;
gap:.75rem;
grid-template-columns:repeat(3,minmax(0,1fr));
margin-top:1rem;
}
.sw-rats .sw-edition-summary > div{
background:var(--sw-panel-2);
border:1px solid rgba(203,169,92,.22);
border-radius:6px;
padding:1rem;
text-align:center;
}
.sw-rats .sw-edition-summary strong{
color:var(--sw-gold-soft);
display:block;
font-size:1.08rem;
}
.sw-rats .sw-edition-summary span{
color:var(--sw-muted);
display:block;
font-size:.9rem;
margin-top:.2rem;
}
/* =========================================================
   TABS
   ========================================================= */
.sw-rats .sw-tabs{
margin-top:1.3rem;
}
.sw-rats .sw-tab-list{
display:flex;
flex-wrap:wrap;
gap:.45rem;
margin:0 0 1rem;
}
.sw-rats .sw-tab-button{
appearance:none;
background:#11171d;
border:1px solid var(--sw-border);
border-radius:5px;
color:var(--sw-gold-soft);
cursor:pointer;
font:inherit;
font-weight:700;
padding:.72rem 1rem;
}
.sw-rats .sw-tab-button:hover, .sw-rats .sw-tab-button:focus-visible{
background:#202932;
outline:2px solid rgba(213,181,107,.42);
outline-offset:2px;
}
.sw-rats .sw-tab-button[aria-selected="true"]{
background:var(--sw-gold);
border-color:var(--sw-gold);
color:#15120c;
}
.sw-rats .sw-tab-panel{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:7px;
padding:clamp(15px,3vw,28px);
}
.sw-rats .sw-tab-panel[hidden]{
display:none;
}
/* =========================================================
   STAT BLOCKS
   ========================================================= */
.sw-rats .sw-statblock{
background:#f4efe4;
border:1px solid #c9b78d;
border-radius:5px;
color:#27231d;
margin-top:1rem;
padding:clamp(15px,3vw,25px);
}
.sw-rats .sw-statblock a{
color:#713c1c;
font-weight:600;
}
.sw-rats .sw-statblock a:hover, .sw-rats .sw-statblock a:focus{
color:#9b4b1b;
}
.sw-rats .sw-stat-name{
color:#74461f;
font-size:clamp(1.5rem,3vw,2rem);
font-weight:700;
line-height:1.1;
margin-bottom:.25rem;
}
.sw-rats .sw-stat-type{
font-style:italic;
margin-bottom:.8rem;
}
.sw-rats .sw-rule{
border:0;
border-top:2px solid #9b6233;
margin:.85rem 0;
}
.sw-rats .sw-statblock strong{
color:#4c2d17;
}
.sw-rats .sw-statblock table{
color:#27231d;
margin:.65rem 0;
}
.sw-rats .sw-statblock th{
background:#e8ddc7;
color:#4c2d17;
}
.sw-rats .sw-statblock td, .sw-rats .sw-statblock th{
border-color:#cdbd9d;
}
.sw-rats .sw-statblock tr:nth-child(even) td{
background:#eee6d8;
}
.sw-rats .sw-stat-label{
color:#74461f;
font-size:1.08rem;
font-weight:700;
letter-spacing:.025em;
margin:1.1rem 0 .4rem;
text-transform:uppercase;
}
/* =========================================================
   HISTORY IMAGE
   ========================================================= */
.sw-rats .sw-dore{
display:grid;
gap:1.3rem;
grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
}
.sw-rats .sw-dore figure{
margin:0;
}
.sw-rats .sw-dore img{
border-radius:6px;
display:block;
height:auto;
width:100%;
}
/* =========================================================
   VIDEO THUMBNAIL CARDS
   ========================================================= */
.sw-rats .sw-media-grid{
display:grid;
gap:1.25rem;
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-rats .sw-video-card{
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:8px;
box-shadow:var(--sw-shadow);
color:var(--sw-text);
display:block;
overflow:hidden;
text-decoration:none;
transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sw-rats .sw-video-card:hover, .sw-rats .sw-video-card:focus-visible{
border-color:var(--sw-gold);
box-shadow:0 14px 34px rgba(0,0,0,.34);
color:var(--sw-text);
transform:translateY(-2px);
}
.sw-rats .sw-video-thumb{
aspect-ratio:16 / 9;
background:#050709;
overflow:hidden;
position:relative;
}
.sw-rats .sw-video-thumb img{
display:block;
height:100%;
object-fit:cover;
width:100%;
}
.sw-rats .sw-video-thumb::after{
background:linear-gradient( 180deg, rgba(0,0,0,.02) 20%, rgba(0,0,0,.46) 100% );
content:"";
inset:0;
position:absolute;
}
.sw-rats .sw-play{
align-items:center;
background:rgba(12,15,18,.88);
border:1px solid rgba(234,214,162,.75);
border-radius:50%;
color:#f4dfaa;
display:flex;
font-size:1.35rem;
height:58px;
justify-content:center;
left:50%;
padding-left:4px;
position:absolute;
top:50%;
transform:translate(-50%,-50%);
width:58px;
z-index:2;
}
.sw-rats .sw-video-copy{
padding:1rem 1.1rem 1.1rem;
}
.sw-rats .sw-video-copy strong{
color:var(--sw-gold-soft);
display:block;
font-size:1.08rem;
line-height:1.3;
}
.sw-rats .sw-video-copy span{
color:var(--sw-muted);
display:block;
font-size:.87rem;
margin-top:.25rem;
}
.sw-rats .sw-small{
color:var(--sw-muted);
font-size:.9rem;
}
.sw-rats .sw-source-list{
font-size:.92rem;
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 820px) {
.sw-rats .sw-grid, .sw-rats .sw-media-grid, .sw-rats .sw-dore{
grid-template-columns:1fr;
}
.sw-rats .sw-grid-4, .sw-rats .sw-edition-summary{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width: 520px) {
.sw-rats{
font-size:16px;
}
.sw-rats .sw-inner{
padding:17px;
}
.sw-rats .sw-grid-4, .sw-rats .sw-edition-summary{
grid-template-columns:1fr;
}
.sw-rats .sw-tab-list{
display:grid;
grid-template-columns:1fr;
}
.sw-rats .sw-tab-button{
text-align:left;
width:100%;
}
}
/* END SWARM OF RATS */
/* --- WPWriter addition --- */
/* GIANT PANDA — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — GIANT PANDA
   Scoped for Astra / Spectra / WordPress
   ========================================================= */
.sw-panda{
--sw-panel: #121a16;
--sw-panel-2: #17221c;
--sw-border: #34483c;
--sw-gold: #d8b66e;
--sw-gold-soft: #f0daa0;
--sw-text: #ece9df;
--sw-muted: #bdb9ad;
--sw-green: #a2bf94;
--sw-white: #fffdf7;
max-width:1080px;
margin:0 auto;
padding:0 18px 50px;
color:var(--sw-text);
font-family:inherit;
line-height:1.72;
box-sizing:border-box;
}
.sw-panda *, .sw-panda *::before, .sw-panda *::after{
box-sizing:border-box;
}
.sw-panda, .sw-panda p, .sw-panda li, .sw-panda td, .sw-panda th, .sw-panda summary{
color:var(--sw-text);
}
.sw-panda a{
color:var(--sw-gold-soft);
text-decoration-thickness:1px;
text-underline-offset:3px;
}
.sw-panda a:hover, .sw-panda a:focus{
color:var(--sw-white);
}
.sw-panda h1, .sw-panda h2, .sw-panda h3, .sw-panda h4{
margin-top:0;
color:var(--sw-gold);
font-weight:600;
line-height:1.2;
}
.sw-panda h1{
margin-bottom:12px;
font-size:clamp(2.15rem, 6vw, 4.2rem);
letter-spacing:-.035em;
}
.sw-panda h2{
margin-bottom:18px;
font-size:clamp(1.55rem, 3vw, 2.2rem);
}
.sw-panda h3{
margin-bottom:10px;
font-size:clamp(1.18rem, 2.2vw, 1.5rem);
}
.sw-panda h4{
margin-bottom:8px;
font-size:1.05rem;
}
.sw-panda p{
margin:0 0 1.08em;
}
.sw-panda ul, .sw-panda ol{
margin:0 0 1.2em;
padding-left:1.4em;
}
.sw-panda li + li{
margin-top:.38em;
}
/* =========================================================
   HERO
   ========================================================= */
.sw-panda__hero{
position:relative;
overflow:hidden;
margin:0 0 28px;
padding:clamp(28px, 6vw, 62px);
border:1px solid var(--sw-border);
border-radius:18px;
background:radial-gradient(circle at 85% 20%, rgba(162,191,148,.17), transparent 34%), linear-gradient(145deg, #111a17 0%, #0b100f 52%, #17241d 100%);
box-shadow:0 20px 55px rgba(0,0,0,.28);
}
.sw-panda__hero::after{
content:"";
position:absolute;
right:-42px;
bottom:-72px;
width:230px;
height:230px;
border:28px solid rgba(216,182,110,.05);
border-radius:50%;
pointer-events:none;
}
.sw-panda__eyebrow{
margin:0 0 10px;
color:var(--sw-green);
font-size:.78rem;
font-weight:700;
letter-spacing:.15em;
text-transform:uppercase;
}
.sw-panda__subtitle{
max-width:800px;
margin:0;
color:var(--sw-muted);
font-size:clamp(1.02rem, 2vw, 1.2rem);
}
.sw-panda__hero-note{
display:inline-flex;
flex-wrap:wrap;
gap:7px;
margin-top:22px;
padding:8px 12px;
border:1px solid rgba(216,182,110,.3);
border-radius:999px;
background:rgba(0,0,0,.2);
color:var(--sw-gold-soft);
font-size:.82rem;
}
/* =========================================================
   HERO IMAGE — NON-NAVIGATION EXPAND / COLLAPSE
   ========================================================= */
.sw-panda__image{
margin:0 auto 30px;
text-align:center;
}
.sw-panda__image-toggle{
display:inline-block;
width:100%;
max-width:900px;
margin:0;
padding:0;
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:16px;
background:#090d0c;
cursor:zoom-in;
box-shadow:0 15px 38px rgba(0,0,0,.22);
}
.sw-panda__image-toggle img{
display:block;
width:100%;
height:auto;
margin:0;
transition:transform .2s ease;
}
.sw-panda__image-toggle:hover img, .sw-panda__image-toggle:focus img{
transform:scale(1.01);
}
.sw-panda__image-toggle:focus{
outline:2px solid var(--sw-gold);
outline-offset:3px;
}
.sw-panda__image-toggle.is-expanded{
max-width:100%;
cursor:zoom-out;
}
.sw-panda__image-toggle.is-expanded img{
width:auto;
max-width:100%;
max-height:90vh;
margin:0 auto;
transform:none;
}
.sw-panda__image figcaption{
margin-top:8px;
color:var(--sw-muted);
font-size:.82rem;
}
/* =========================================================
   LEDE / PROFILE
   ========================================================= */
.sw-panda__lede{
margin:0 0 28px;
padding:21px 24px;
border-left:4px solid var(--sw-gold);
border-radius:0 12px 12px 0;
background:var(--sw-panel);
font-size:1.08rem;
}
.sw-panda__lede strong{
color:var(--sw-white);
}
.sw-panda__profile{
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:10px;
margin:0 0 38px;
}
.sw-panda__profile-card{
padding:14px;
border:1px solid var(--sw-border);
border-radius:12px;
background:var(--sw-panel);
}
.sw-panda__profile-card span{
display:block;
color:var(--sw-muted);
font-size:.7rem;
font-weight:700;
letter-spacing:.1em;
text-transform:uppercase;
}
.sw-panda__profile-card strong{
display:block;
margin-top:4px;
color:var(--sw-white);
font-size:.95rem;
}
/* =========================================================
   SECTIONS
   ========================================================= */
.sw-panda__section{
margin:40px 0;
}
.sw-panda__section > h2{
padding-bottom:10px;
border-bottom:1px solid var(--sw-border);
}
.sw-panda__grid-2, .sw-panda__hooks{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:16px;
}
.sw-panda__card, .sw-panda__hook{
padding:20px;
border:1px solid var(--sw-border);
border-radius:14px;
background:var(--sw-panel);
}
.sw-panda__card p:last-child, .sw-panda__hook p:last-child{
margin-bottom:0;
}
/* =========================================================
   GAME STATISTICS
   ========================================================= */
.sw-panda__rules{
margin:38px 0 44px;
padding:clamp(16px, 3vw, 28px);
border:1px solid var(--sw-border);
border-radius:18px;
background:#090e0c;
}
.sw-panda__rules-heading p{
margin-top:-8px;
color:var(--sw-muted);
}
/* =========================================================
   CSS-ONLY EDITION TABS
   ========================================================= */
.sw-panda__tab-input{
position:absolute;
width:1px;
height:1px;
margin:-1px;
padding:0;
overflow:hidden;
clip:rect(0 0 0 0);
clip-path:inset(50%);
white-space:nowrap;
border:0;
}
.sw-panda__tabs{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:0 0 18px;
}
.sw-panda__tab-label{
display:inline-block;
padding:10px 16px;
border:1px solid var(--sw-border);
border-radius:999px;
background:var(--sw-panel);
color:var(--sw-text);
font-size:.88rem;
font-weight:700;
line-height:1.2;
cursor:pointer;
user-select:none;
transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.sw-panda__tab-label:hover{
border-color:var(--sw-gold);
color:var(--sw-white);
}
#sw-panda-tab-55:focus ~ .sw-panda__tabs label[for="sw-panda-tab-55"], #sw-panda-tab-pf1:focus ~ .sw-panda__tabs label[for="sw-panda-tab-pf1"], #sw-panda-tab-35:focus ~ .sw-panda__tabs label[for="sw-panda-tab-35"]{
outline:2px solid var(--sw-gold);
outline-offset:3px;
}
#sw-panda-tab-55:checked ~ .sw-panda__tabs label[for="sw-panda-tab-55"], #sw-panda-tab-pf1:checked ~ .sw-panda__tabs label[for="sw-panda-tab-pf1"], #sw-panda-tab-35:checked ~ .sw-panda__tabs label[for="sw-panda-tab-35"]{
border-color:var(--sw-gold);
background:var(--sw-gold);
color:#15120b;
}
.sw-panda__panel{
display:none;
}
#sw-panda-tab-55:checked ~ .sw-panda__panels .sw-panda__panel--55, #sw-panda-tab-pf1:checked ~ .sw-panda__panels .sw-panda__panel--pf1, #sw-panda-tab-35:checked ~ .sw-panda__panels .sw-panda__panel--35{
display:block;
}
.sw-panda__statblock{
overflow:hidden;
border:1px solid #536458;
border-radius:13px;
background:#151b17;
}
.sw-panda__stat-header{
padding:18px 20px 16px;
border-bottom:1px solid #536458;
background:linear-gradient(135deg, #29382e, #19231d);
}
.sw-panda__stat-header h3{
margin:0 0 3px;
color:var(--sw-gold-soft);
font-size:1.55rem;
}
.sw-panda__stat-header p{
margin:0;
color:var(--sw-muted);
font-style:italic;
}
.sw-panda__stat-body{
padding:20px;
}
.sw-panda__rule{
margin:0;
padding:8px 0;
border-bottom:1px solid rgba(255,255,255,.075);
}
.sw-panda__rule:last-child{
border-bottom:0;
}
.sw-panda__rule strong{
color:var(--sw-gold-soft);
}
.sw-panda__abilities{
display:grid;
grid-template-columns:repeat(6, minmax(0, 1fr));
gap:6px;
margin:16px 0;
padding:14px 0;
border-top:1px solid #536458;
border-bottom:1px solid #536458;
}
.sw-panda__ability{
text-align:center;
}
.sw-panda__ability b{
display:block;
color:var(--sw-gold-soft);
font-size:.76rem;
letter-spacing:.08em;
}
.sw-panda__ability span{
display:block;
margin-top:4px;
color:var(--sw-white);
font-size:.92rem;
}
.sw-panda__action-heading{
margin:22px 0 7px;
padding-bottom:5px;
border-bottom:2px solid var(--sw-gold);
color:var(--sw-gold-soft);
font-size:1.05rem;
letter-spacing:.07em;
text-transform:uppercase;
}
.sw-panda__action{
margin:10px 0;
}
.sw-panda__action strong{
color:var(--sw-white);
font-style:italic;
}
.sw-panda__badge{
display:inline-block;
margin-left:5px;
padding:3px 8px;
border:1px solid rgba(216,182,110,.35);
border-radius:999px;
color:var(--sw-gold-soft);
font-size:.67rem;
font-style:normal;
font-weight:700;
letter-spacing:.06em;
text-transform:uppercase;
vertical-align:middle;
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-panda__table-wrap{
width:100%;
overflow-x:auto;
margin:16px 0;
-webkit-overflow-scrolling:touch;
}
.sw-panda table{
width:100%;
min-width:650px;
border-collapse:collapse;
border:1px solid var(--sw-border);
background:var(--sw-panel);
}
.sw-panda th, .sw-panda td{
padding:9px 11px;
border:1px solid var(--sw-border);
text-align:left;
vertical-align:top;
}
.sw-panda th{
background:#243229;
color:var(--sw-gold-soft);
}
.sw-panda td:first-child{
color:var(--sw-gold-soft);
font-weight:600;
}
/* =========================================================
   DETAILS
   ========================================================= */
.sw-panda details{
margin:18px 0 0;
border:1px solid var(--sw-border);
border-radius:12px;
background:var(--sw-panel-2);
}
.sw-panda summary{
padding:14px 16px;
color:var(--sw-gold-soft);
font-weight:700;
cursor:pointer;
}
.sw-panda details > div{
padding:0 16px 16px;
}
/* =========================================================
   1454
   ========================================================= */
.sw-panda__1454{
padding:clamp(20px, 4vw, 30px);
border:1px solid rgba(216,182,110,.35);
border-radius:16px;
background:linear-gradient(135deg, rgba(216,182,110,.07), transparent 42%), var(--sw-panel);
}
.sw-panda__1454 > h2{
padding-bottom:0;
border-bottom:0;
}
.sw-panda__1454-kicker{
margin-bottom:7px;
color:var(--sw-green);
font-size:.75rem;
font-weight:700;
letter-spacing:.13em;
text-transform:uppercase;
}
/* =========================================================
   RELATED LINKS / REFERENCES
   ========================================================= */
.sw-panda__related{
display:flex;
flex-wrap:wrap;
gap:8px;
}
.sw-panda__related a{
display:inline-block;
padding:7px 11px;
border:1px solid var(--sw-border);
border-radius:999px;
background:var(--sw-panel);
text-decoration:none;
}
.sw-panda__related a:hover, .sw-panda__related a:focus{
border-color:var(--sw-gold);
}
.sw-panda__references{
padding:20px;
border:1px solid var(--sw-border);
border-radius:14px;
background:var(--sw-panel);
}
.sw-panda__references p:last-child{
margin-bottom:0;
}
/* =========================================================
   VIDEO
   ========================================================= */
.sw-panda__video{
margin:24px 0 0;
overflow:hidden;
border:1px solid var(--sw-border);
border-radius:15px;
background:#000;
}
.sw-panda__video-frame{
position:relative;
width:100%;
padding-top:56.25%;
}
.sw-panda__video-frame iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
/* =========================================================
   PROVENANCE
   ========================================================= */
.sw-panda__source-note{
margin-top:42px;
padding-top:22px;
border-top:1px solid var(--sw-border);
color:var(--sw-muted);
font-size:.9rem;
}
.sw-panda__source-note p{
color:var(--sw-muted);
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 850px) {
.sw-panda__profile{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-panda__grid-2, .sw-panda__hooks{
grid-template-columns:1fr;
}
}
@media (max-width: 640px) {
.sw-panda{
padding-left:12px;
padding-right:12px;
}
.sw-panda__hero{
padding:25px 20px;
border-radius:13px;
}
.sw-panda__profile{
grid-template-columns:1fr 1fr;
}
.sw-panda__abilities{
grid-template-columns:repeat(3, 1fr);
row-gap:14px;
}
.sw-panda__rules{
padding:13px;
border-radius:13px;
}
.sw-panda__stat-body{
padding:15px;
}
.sw-panda__tabs{
display:grid;
grid-template-columns:1fr;
}
.sw-panda__tab-label{
width:100%;
text-align:center;
}
}
/* END GIANT PANDA */
/* --- WPWriter addition --- */
/* DISPATER — migrated from page-scoped CSS, 2026-10-06 */
/* =========================================================
   SPIRALWORLDS — DISPATER, IRON DUKE OF DIS
   Final reconciled publication build
   D&D 5.5e / Pathfinder 1e / D&D 3.5e
   ========================================================= */
#sw-dispater{
--sw-bg: #090a0d;
--sw-bg2: #101218;
--sw-panel: #151820;
--sw-panel2: #1b1e27;
--sw-gold: #d6ad59;
--sw-red: #8d2626;
--sw-red2: #bc493e;
--sw-text: #e9e3d8;
--sw-muted: #b9b1a5;
--sw-line: rgba(214,173,89,.27);
--sw-soft-line: rgba(255,255,255,.08);
--sw-shadow: 0 18px 45px rgba(0,0,0,.34);
background:radial-gradient(circle at 88% 6%,rgba(141,38,38,.16),transparent 31%), linear-gradient(180deg,#0d0f14 0%,#08090c 100%);
color:var(--sw-text);
font-family:Georgia,"Times New Roman",serif;
line-height:1.72;
padding:clamp(20px,4vw,54px);
border-radius:18px;
overflow:hidden;
}
#sw-dispater *{
box-sizing:border-box;
}
#sw-dispater .sw-wrap{
max-width:1180px;
margin:0 auto;
}
#sw-dispater a{
color:#e3bd68;
text-decoration-color:rgba(227,189,104,.42);
text-underline-offset:3px;
}
#sw-dispater a:hover, #sw-dispater a:focus{
color:#f4d894;
}
#sw-dispater h1, #sw-dispater h2, #sw-dispater h3, #sw-dispater h4{
margin-top:0;
color:#f3ecdf;
line-height:1.16;
}
#sw-dispater h1{
margin-bottom:10px;
font-size:clamp(2.5rem,6vw,5.2rem);
letter-spacing:-.035em;
}
#sw-dispater h2{
margin-bottom:18px;
font-size:clamp(1.65rem,3vw,2.4rem);
}
#sw-dispater h3{
margin-bottom:10px;
font-size:1.28rem;
}
#sw-dispater h4{
margin-bottom:7px;
color:var(--sw-gold);
font-size:1.04rem;
}
#sw-dispater p{
margin:0 0 1rem;
}
#sw-dispater strong{
color:#f2e7d4;
}
#sw-dispater .sw-kicker{
margin:0 0 8px;
color:var(--sw-gold);
font-family:Arial,Helvetica,sans-serif;
font-size:.76rem;
font-weight:800;
letter-spacing:.18em;
text-transform:uppercase;
}
#sw-dispater .sw-lead{
max-width:880px;
margin-bottom:24px;
color:#d9d2c8;
font-size:clamp(1.08rem,2vw,1.3rem);
}
#sw-dispater .sw-title-rule{
width:110px;
height:3px;
margin:20px 0 30px;
border:0;
background:linear-gradient(90deg,var(--sw-gold),var(--sw-red));
}
#sw-dispater .sw-section{
margin:42px 0;
padding-top:3px;
}
#sw-dispater .sw-card{
padding:clamp(18px,3vw,29px);
border:1px solid var(--sw-line);
border-radius:14px;
background:linear-gradient(180deg,rgba(29,32,41,.96),rgba(16,18,24,.96));
box-shadow:0 12px 28px rgba(0,0,0,.18);
}
#sw-dispater .sw-grid-2{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px;
}
#sw-dispater .sw-grid-3{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:17px;
}
#sw-dispater .sw-callout{
margin:24px 0;
padding:18px 20px;
border-left:4px solid var(--sw-red2);
border-radius:0 10px 10px 0;
background:rgba(141,38,38,.11);
}
#sw-dispater .sw-callout p:last-child{
margin-bottom:0;
}
#sw-dispater .sw-hero{
display:grid;
grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
gap:30px;
align-items:start;
margin-bottom:38px;
}
#sw-dispater figure{
margin:0;
}
#sw-dispater .sw-image{
overflow:hidden;
border:1px solid var(--sw-line);
border-radius:14px;
background:#07080a;
box-shadow:var(--sw-shadow);
}
#sw-dispater .sw-image img{
display:block;
width:100%;
height:auto;
}
#sw-dispater .sw-hero-image img{
aspect-ratio:16 / 10;
object-fit:cover;
}
#sw-dispater figcaption{
padding:10px 14px 12px;
background:rgba(0,0,0,.35);
color:var(--sw-muted);
font-size:.88rem;
font-style:italic;
}
#sw-dispater .sw-hero-side{
display:flex;
flex-direction:column;
gap:18px;
}
#sw-dispater .sw-facts{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
}
#sw-dispater .sw-fact{
padding:13px 14px;
border:1px solid var(--sw-soft-line);
border-radius:10px;
background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
#sw-dispater .sw-fact span{
display:block;
margin-bottom:4px;
color:var(--sw-gold);
font-family:Arial,Helvetica,sans-serif;
font-size:.68rem;
font-weight:800;
letter-spacing:.11em;
text-transform:uppercase;
}
/* Dispater symbol */
#sw-dispater .sw-symbol{
width:min(100%,320px);
margin:2px auto 0;
border:1px solid rgba(214,173,89,.35);
border-radius:14px;
overflow:hidden;
background:radial-gradient(circle,rgba(141,38,38,.14),transparent 65%), #07080a;
box-shadow:0 14px 30px rgba(0,0,0,.28);
}
#sw-dispater .sw-symbol img{
display:block;
width:100%;
height:auto;
aspect-ratio:1 / 1;
object-fit:cover;
}
#sw-dispater .sw-symbol figcaption{
text-align:center;
font-style:normal;
font-size:.82rem;
line-height:1.5;
}
#sw-dispater .sw-appearance{
display:grid;
grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
gap:22px;
align-items:start;
}
#sw-dispater .sw-linkbar{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:18px;
}
#sw-dispater .sw-linkbar a{
display:inline-flex;
align-items:center;
padding:7px 11px;
border:1px solid rgba(214,173,89,.23);
border-radius:999px;
background:rgba(214,173,89,.07);
font-family:Arial,Helvetica,sans-serif;
font-size:.8rem;
text-decoration:none;
}
#sw-dispater .sw-history-card{
position:relative;
overflow:hidden;
}
#sw-dispater .sw-history-card:before{
position:absolute;
top:0;
left:0;
width:4px;
height:100%;
content:"";
background:linear-gradient(var(--sw-gold),var(--sw-red));
}
/* =========================================================
   RULES TABS
   ========================================================= */
#sw-dispater .sw-tab-radio{
position:absolute;
opacity:0;
pointer-events:none;
}
#sw-dispater .sw-tab-controls{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:24px 0 18px;
}
#sw-dispater .sw-tab-controls label{
cursor:pointer;
padding:10px 16px;
border:1px solid rgba(214,173,89,.25);
border-radius:8px;
background:#111319;
color:var(--sw-muted);
font-family:Arial,Helvetica,sans-serif;
font-size:.8rem;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
}
#sw-dispater-55:checked ~ .sw-tab-controls label[for="sw-dispater-55"], #sw-dispater-pf:checked ~ .sw-tab-controls label[for="sw-dispater-pf"], #sw-dispater-35:checked ~ .sw-tab-controls label[for="sw-dispater-35"]{
border-color:rgba(214,173,89,.58);
background:linear-gradient(135deg,#711e1e,#341313);
color:#fff4df;
}
#sw-dispater .sw-panel{
display:none;
}
#sw-dispater-55:checked ~ .sw-panels .sw-panel-55, #sw-dispater-pf:checked ~ .sw-panels .sw-panel-pf, #sw-dispater-35:checked ~ .sw-panels .sw-panel-35{
display:block;
}
/* =========================================================
   STAT BLOCK
   ========================================================= */
#sw-dispater .sw-statblock{
padding:clamp(16px,3vw,28px);
border:1px solid #a27c46;
border-top:7px solid #782020;
border-bottom:7px solid #782020;
border-radius:5px;
background:#f1eadb;
color:#201e1a;
font-family:Georgia,"Times New Roman",serif;
}
#sw-dispater .sw-statblock h2, #sw-dispater .sw-statblock h3, #sw-dispater .sw-statblock h4, #sw-dispater .sw-statblock strong{
color:#681c1c;
}
#sw-dispater .sw-statblock a{
color:#712a22;
font-weight:600;
text-decoration-color:rgba(113,42,34,.35);
}
#sw-dispater .sw-statblock h2{
margin-bottom:4px;
font-size:2rem;
}
#sw-dispater .sw-type{
margin-bottom:12px;
font-style:italic;
}
#sw-dispater .sw-statblock hr{
height:2px;
margin:13px 0;
border:0;
background:linear-gradient(90deg,#781e1e,#b38b4e,#781e1e);
}
#sw-dispater .sw-abilities{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:6px;
margin:14px 0;
text-align:center;
}
#sw-dispater .sw-abilities div{
padding:7px 3px;
}
#sw-dispater .sw-abilities b{
display:block;
color:#681c1c;
font-size:.8rem;
}
#sw-dispater .sw-rule-heading{
margin-top:23px!important;
margin-bottom:10px!important;
padding-bottom:4px;
border-bottom:1px solid rgba(104,28,28,.34);
}
#sw-dispater .sw-stat-table{
width:100%;
border-collapse:collapse;
font-size:.94rem;
}
#sw-dispater .sw-stat-table th, #sw-dispater .sw-stat-table td{
padding:8px 9px;
border-bottom:1px solid rgba(90,67,40,.2);
text-align:left;
vertical-align:top;
}
#sw-dispater .sw-stat-table th{
width:185px;
color:#681c1c;
}
#sw-dispater .sw-statblock ul{
margin:.4rem 0 1rem 1.25rem;
}
#sw-dispater .sw-note{
font-size:.9rem;
}
#sw-dispater .sw-statblock .sw-note{
color:#5d554b;
}
#sw-dispater details.sw-details{
margin:14px 0;
border:1px solid rgba(104,28,28,.18);
border-radius:8px;
background:rgba(255,255,255,.25);
}
#sw-dispater details.sw-details > summary{
cursor:pointer;
padding:11px 13px;
color:#681c1c;
font-weight:700;
}
#sw-dispater details.sw-details > div{
padding:0 13px 13px;
}
/* =========================================================
   VIDEO
   ========================================================= */
#sw-dispater .sw-media{
display:grid;
grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
gap:22px;
align-items:center;
}
#sw-dispater .sw-video-thumb{
display:block;
overflow:hidden;
border:1px solid var(--sw-line);
border-radius:12px;
background:#050506;
box-shadow:var(--sw-shadow);
}
#sw-dispater .sw-video-thumb img{
display:block;
width:100%;
height:auto;
aspect-ratio:16 / 9;
object-fit:cover;
}
@media (max-width: 840px) {
#sw-dispater .sw-hero, #sw-dispater .sw-grid-2, #sw-dispater .sw-grid-3, #sw-dispater .sw-appearance, #sw-dispater .sw-media{
grid-template-columns:1fr;
}
#sw-dispater .sw-abilities{
grid-template-columns:repeat(3,1fr);
}
}
@media (max-width: 520px) {
#sw-dispater{
padding:18px 13px;
border-radius:0;
}
#sw-dispater .sw-facts{
grid-template-columns:1fr;
}
#sw-dispater .sw-symbol{
width:min(88vw,300px);
}
#sw-dispater .sw-statblock{
padding:15px 11px;
}
#sw-dispater .sw-stat-table th, #sw-dispater .sw-stat-table td{
display:block;
width:100%;
}
#sw-dispater .sw-stat-table th{
padding-bottom:1px;
border-bottom:0;
}
}
/* END DISPATER */
/* ============================================================
   SPIRALWORLDS — FINAL GLOBAL EDITION TAB LAYOUT REPAIR
   2026-10-07
   Keep navigation in one row/wrapped row, panels full width below.
   Applies to canonical .sw-tabs across NPCs, monsters, spells, gods,
   classes and other migrated entries.
   ============================================================ */
html body .sw-entry.sw-entry .sw-tabs{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
grid-template-columns:none!important;
grid-template-rows:none!important;
align-items:initial!important;
justify-items:initial!important;
}
html body .sw-entry.sw-entry .sw-tabs > br, html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels > br{
display:none!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(auto-fit, minmax(150px, 1fr))!important;
grid-auto-flow:row!important;
gap:.6rem!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:0 0 1rem!important;
padding:0!important;
align-items:stretch!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
width:auto!important;
min-width:0!important;
max-width:none!important;
height:auto!important;
min-height:48px!important;
max-height:none!important;
margin:0!important;
padding:.7rem .85rem!important;
writing-mode:horizontal-tb!important;
white-space:normal!important;
overflow-wrap:anywhere!important;
line-height:1.25!important;
text-align:center!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-panels{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:0!important;
padding:0!important;
grid-column:1 / -1!important;
clear:both!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel{
width:100%!important;
max-width:100%!important;
min-width:0!important;
grid-column:1 / -1!important;
}
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-panels > .sw-tab-panel :is(table, .sw-table, .sw-statblock){
max-width:100%!important;
}
@media (max-width: 780px) {
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 520px) {
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END GLOBAL EDITION TAB LAYOUT REPAIR */
/* Legacy/fallback canonical tab repair for older pages that use
   .sw-tabs + .sw-tab-labels + .sw-tab-panels but are not yet wrapped
   in .sw-entry. This deliberately does NOT touch alternative tab
   systems such as .sw-tab-controls. */
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels){
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
grid-template-columns:none!important;
grid-template-rows:none!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > input[type="radio"]{
position:absolute!important;
left:-10000px!important;
width:1px!important;
height:1px!important;
opacity:0!important;
pointer-events:none!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > br, html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-labels > br{
display:none!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(auto-fit, minmax(150px, 1fr))!important;
gap:.6rem!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:0 0 1rem!important;
padding:0!important;
align-items:stretch!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
width:auto!important;
min-width:0!important;
max-width:none!important;
height:auto!important;
min-height:48px!important;
max-height:none!important;
margin:0!important;
padding:.7rem .85rem!important;
writing-mode:horizontal-tb!important;
white-space:normal!important;
overflow-wrap:anywhere!important;
line-height:1.25!important;
text-align:center!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-panels{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:0!important;
padding:0!important;
clear:both!important;
}
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-panels > .sw-tab-panel{
width:100%!important;
max-width:100%!important;
min-width:0!important;
}
@media (max-width: 780px) {
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-labels{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
@media (max-width: 520px) {
html body .sw-tabs:has(> .sw-tab-labels):has(> .sw-tab-panels) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END LEGACY CANONICAL TAB FALLBACK */
/* --- WPWriter addition --- */
/* SPIRALWORLDS RULES TAB READABILITY — 1.0.0, 2026-10-07
 * Global component rule: edition/rules panels read at Player Manual size.
 * Applies to canonical .sw-rules-section tabs only; no per-page CSS.
 */
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel{
font-size:clamp(1.12rem, 1.35vw, 1.28rem)!important;
line-height:1.68!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel :is( p, li, dd, dt, td, th, summary ){
font-size:1em!important;
line-height:1.68!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel h3{
font-size:clamp(1.7rem, 2.6vw, 2.2rem)!important;
line-height:1.2!important;
margin-bottom:1rem!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel h4{
font-size:clamp(1.28rem, 1.8vw, 1.55rem)!important;
line-height:1.3!important;
margin-top:1.5rem!important;
margin-bottom:.65rem!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel table{
font-size:.96em!important;
line-height:1.5!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel :is(td, th){
padding:.7rem .8rem!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel .sw-lead{
font-size:1.08em!important;
line-height:1.7!important;
}
@media (max-width: 760px) {
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel{
font-size:1.08rem!important;
}
body:not(.wp-admin) .sw-entry.sw-entry .sw-rules-section .sw-tab-panel table{
font-size:1rem!important;
}
}
/* --- WPWriter addition --- */
/* Shared Bookshop offer — 8 October 2026 */
body .entry-content .sw-book-offer{
box-sizing:border-box;
clear:both;
display:flow-root;
margin:1.5rem 0;
padding:clamp(1rem, 3vw, 1.5rem);
border:1px solid #a88948;
border-radius:10px;
background:#17171f!important;
color:#f4eee2!important;
font:inherit;
overflow-wrap:anywhere;
}
body .entry-content .sw-book-offer h2, body .entry-content .sw-book-offer h3{
margin:.4rem 0 .65rem;
color:#f4d48a!important;
font-family:Cinzel, Georgia, serif;
font-size:clamp(1.2rem, 2.5vw, 1.65rem);
line-height:1.35;
}
body .entry-content .sw-book-offer p{
margin:0 0 .8rem;
color:#f4eee2!important;
}
body .entry-content .sw-book-offer .sw-book-offer-disclosure, body .entry-content .sw-book-offer .sw-book-offer-note{
font-size:.88rem;
line-height:1.5;
color:#d9d0c0!important;
}
body .entry-content .sw-book-offer a.sw-book-offer-button{
display:inline-block;
max-width:100%;
box-sizing:border-box;
padding:.75rem 1rem;
border-radius:5px;
background:#e7c47e!important;
color:#18151b!important;
font-weight:700;
line-height:1.4;
text-decoration:none!important;
}
body .entry-content .sw-book-offer a.sw-book-offer-button:hover{
background:#f6dca6!important;
}
body .entry-content .sw-book-offer a:focus-visible{
outline:3px solid #fff;
outline-offset:4px;
}
body .entry-content .sw-book-offer .sw-book-offer-note{
margin:.8rem 0 0;
}
/* --- WPWriter addition --- */
/* Homepage offer readability — 8 October 2026 */
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel{
box-sizing:border-box;
display:grid!important;
grid-template-columns:minmax(0, 1fr) auto!important;
align-items:center;
gap:1.5rem!important;
padding:clamp(1.1rem, 2.5vw, 2rem)!important;
border:1px solid #a88948!important;
border-radius:10px!important;
background:#17171f!important;
color:#f4eee2!important;
overflow-wrap:anywhere;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel > div{
min-width:0;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel #swh-support-title{
max-width:40ch;
margin:0 0 .8rem!important;
color:#f4d48a!important;
font-family:Cinzel, Georgia, serif!important;
font-size:clamp(1.4rem, 2.5vw, 2rem)!important;
line-height:1.3!important;
letter-spacing:.015em!important;
text-shadow:none!important;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel p{
max-width:78ch;
margin:0 0 .85rem!important;
color:#f4eee2!important;
font-size:1rem!important;
line-height:1.65!important;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel p:last-child{
margin-bottom:0!important;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel p a:not(.swh-button-primary){
color:#f4d48a!important;
text-decoration:underline;
text-underline-offset:.2em;
}
body:not(.wp-admin) .entry-content .swh-home a.swh-button-primary{
box-sizing:border-box;
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
max-width:100%;
padding:.75rem 1.1rem!important;
border:1px solid #a88948!important;
border-radius:5px!important;
background:#e7c47e!important;
color:#18151b!important;
font-family:Cinzel, Georgia, serif!important;
font-size:.95rem!important;
font-weight:700!important;
line-height:1.4!important;
letter-spacing:.02em!important;
text-align:center;
text-decoration:none!important;
text-shadow:none!important;
white-space:normal;
}
body:not(.wp-admin) .entry-content .swh-home a.swh-button-primary:hover{
background:#f6dca6!important;
color:#18151b!important;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel .swh-support-link{
box-sizing:border-box;
justify-self:end;
min-height:48px;
max-width:100%;
padding:.75rem 1rem!important;
border:1px solid #a88948!important;
border-radius:5px!important;
background:#111116!important;
color:#f4d48a!important;
font-family:Cinzel, Georgia, serif!important;
font-size:.95rem!important;
line-height:1.4!important;
text-align:center;
text-decoration:none!important;
text-shadow:none!important;
white-space:normal;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel .swh-support-link:hover{
background:#25232b!important;
color:#fff1c9!important;
}
body:not(.wp-admin) .entry-content .swh-home :is(a.swh-button-primary, .swh-support-panel a):focus-visible{
outline:3px solid #fff!important;
outline-offset:4px;
}
@media (max-width: 640px) {
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel{
grid-template-columns:minmax(0, 1fr)!important;
gap:1.25rem!important;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel .swh-button-primary{
width:100%;
}
body:not(.wp-admin) .entry-content .swh-home .swh-support-panel .swh-support-link{
justify-self:start;
}
}
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS COMPACT PROMOTIONS — 2026-10-09
   Shared Additional CSS. Remove this marked block to roll back.
   Applies to support notes and book offers, including Astra layout previews. */
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer){
box-sizing:border-box!important;
display:flow-root;
clear:both;
float:none!important;
width:calc(100% - 32px)!important;
max-width:850px!important;
min-width:0!important;
height:auto!important;
margin:16px auto!important;
padding:14px 18px!important;
border:1px solid #514631!important;
border-left:3px solid #b99b5b!important;
border-radius:6px!important;
background:#17171f!important;
color:#ece7dc!important;
font-family:var(--sw-font-body, "Crimson Pro", Georgia, serif)!important;
font-size:16px!important;
line-height:1.45!important;
box-shadow:none!important;
overflow-wrap:break-word;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) :is(h2, h3){
margin:0 0 6px!important;
color:#efd18f!important;
font-family:var(--sw-font-heading, "Cinzel", Georgia, serif)!important;
font-size:18px!important;
font-weight:600!important;
line-height:1.3!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) p{
margin:0 0 6px!important;
color:#ece7dc!important;
font-size:16px!important;
line-height:1.45!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) > p:last-child{
margin-bottom:0!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) :is(strong, b, cite, em){
color:inherit!important;
}
html body:not(.wp-admin) .sw-book-offer.sw-book-offer :is(.sw-book-offer-disclosure, .sw-book-offer-note){
margin-bottom:8px!important;
color:#cdc5b7!important;
font-size:13px!important;
line-height:1.45!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) a{
color:#e7c47e!important;
text-underline-offset:3px;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) a:is(.sw-support-button, .sw-book-offer-button){
box-sizing:border-box!important;
display:inline-flex!important;
align-items:center;
justify-content:center;
width:auto!important;
max-width:100%!important;
min-height:40px!important;
margin:0!important;
padding:8px 12px!important;
border:1px solid #e7c47e!important;
border-radius:4px!important;
background:#e7c47e!important;
color:#18151b!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:14px!important;
font-weight:600!important;
line-height:1.4!important;
white-space:normal!important;
text-align:center;
text-decoration:none!important;
box-shadow:none!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) a:is(.sw-support-button, .sw-book-offer-button):hover{
background:#f6dca6!important;
border-color:#f6dca6!important;
filter:none!important;
}
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer) a:focus-visible{
outline:3px solid #fff0c8!important;
outline-offset:3px!important;
}
@media (min-width: 760px) {
html body:not(.wp-admin) .sw-support-note.sw-support-note{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
align-items:center;
gap:6px 20px;
}
html body:not(.wp-admin) .sw-support-note.sw-support-note > :is(h2, h3){
grid-column:1;
grid-row:1;
margin:0!important;
}
html body:not(.wp-admin) .sw-support-note.sw-support-note > p:first-of-type{
grid-column:1;
grid-row:2;
margin:0!important;
}
html body:not(.wp-admin) .sw-support-note.sw-support-note > p:has(> a.sw-support-button){
grid-column:2;
grid-row:1 / span 2;
margin:0!important;
}
html body:not(.wp-admin) .sw-support-note.sw-support-note > p:last-child:not(:has(> a.sw-support-button)){
grid-column:1 / -1;
grid-row:3;
margin:0!important;
font-size:14px!important;
}
}
@media (max-width: 759px) {
html body:not(.wp-admin) :is(.sw-support-note.sw-support-note, .sw-book-offer.sw-book-offer){
width:calc(100% - 24px)!important;
margin:12px auto!important;
padding:14px!important;
}
html body:not(.wp-admin) .sw-support-note.sw-support-note > p:has(> a.sw-support-button){
margin:10px 0!important;
}
}
/* END SPIRALWORLDS COMPACT PROMOTIONS */
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS COMBINED TTRPG PANELS — 2026-10-09 */
html body:not(.wp-admin):has(.sw-revenue-panel) .sw-support-note{
display:none!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel{
box-sizing:border-box!important;
display:block!important;
clear:both!important;
float:none!important;
position:relative!important;
width:calc(100% - 32px)!important;
max-width:920px!important;
min-width:0!important;
height:auto!important;
margin:26px auto!important;
padding:20px!important;
border:1px solid #70a69b!important;
border-top:4px solid #a5d5bf!important;
border-radius:12px!important;
background:linear-gradient(135deg, #15312f 0%, #172524 60%, #1d2226 100%)!important;
color:#f2eee1!important;
font-family:var(--sw-font-body, "Crimson Pro", Georgia, serif)!important;
font-size:16px!important;
line-height:1.4!important;
box-shadow:0 12px 32px rgba(0,0,0,.3)!important;
overflow-wrap:anywhere;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel *{
box-sizing:border-box;
min-width:0;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p{
margin:0!important;
color:#eeeadd!important;
font-size:16px!important;
line-height:1.4!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-header{
display:block!important;
margin:0 0 12px!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-kicker{
margin:0 0 6px!important;
color:#b6e0ca!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:11px!important;
font-weight:700!important;
letter-spacing:.08em!important;
text-transform:uppercase!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel h2{
margin:0 0 6px!important;
color:#fff1ce!important;
font-family:var(--sw-font-heading, "Cinzel", Georgia, serif)!important;
font-size:clamp(20px, 2.2vw, 25px)!important;
font-weight:600!important;
line-height:1.25!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a{
color:#eccc8a!important;
text-underline-offset:3px;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-guide{
display:inline-block!important;
margin-top:6px!important;
color:#b6e0ca!important;
font-size:15px!important;
text-decoration:underline!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-book-offer-disclosure{
margin:0 0 12px!important;
padding-top:10px!important;
border-top:1px solid rgba(165,213,191,.25)!important;
color:#d4d8cf!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:12px!important;
line-height:1.45!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-products{
display:grid!important;
grid-template-columns:repeat(2, minmax(0,1fr))!important;
gap:14px!important;
margin:0!important;
padding:0!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-product{
display:grid!important;
grid-template-columns:82px minmax(0,1fr)!important;
align-items:start!important;
gap:12px!important;
margin:0!important;
padding:14px!important;
border:1px solid rgba(165,213,191,.27)!important;
border-radius:8px!important;
background:rgba(7,16,20,.58)!important;
box-shadow:none!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel img.sw-revenue-cover{
display:block!important;
position:static!important;
float:none!important;
width:82px!important;
max-width:82px!important;
height:116px!important;
max-height:116px!important;
margin:2px 0 0!important;
padding:0!important;
border:0!important;
border-radius:3px!important;
object-fit:contain!important;
object-position:top center!important;
background:transparent!important;
box-shadow:0 4px 12px rgba(0,0,0,.35)!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-task{
margin-bottom:4px!important;
color:#b6e0ca!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:11px!important;
font-weight:600!important;
line-height:1.3!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel h3{
margin:0 0 6px!important;
color:#fff1ce!important;
font-family:var(--sw-font-heading, "Cinzel", Georgia, serif)!important;
font-size:16px!important;
font-weight:600!important;
line-height:1.25!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-benefit{
font-size:15px!important;
line-height:1.35!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-system{
margin:6px 0 9px!important;
color:#c7d0c9!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:10px!important;
line-height:1.4!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a.sw-book-offer-button{
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
gap:7px!important;
width:auto!important;
max-width:100%!important;
min-height:40px!important;
margin:0!important;
padding:8px 10px!important;
border:1px solid #eccc8a!important;
border-radius:5px!important;
background:#eccc8a!important;
color:#171b1b!important;
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:12px!important;
font-weight:700!important;
line-height:1.3!important;
text-align:center!important;
text-decoration:none!important;
white-space:normal!important;
box-shadow:none!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-support{
display:flex!important;
flex-wrap:wrap!important;
align-items:center!important;
gap:8px 16px!important;
margin:14px 0 0!important;
padding:12px 0 0!important;
border-top:1px solid rgba(165,213,191,.25)!important;
background:transparent!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-support :is(p,a){
font-family:var(--sw-font-ui, "Segoe UI", Arial, sans-serif)!important;
font-size:12px!important;
line-height:1.4!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a.sw-revenue-coffee{
display:inline-flex!important;
align-items:center!important;
min-height:36px!important;
padding:7px 10px!important;
border:1px solid #a5d5bf!important;
border-radius:5px!important;
color:#c3e6d3!important;
background:transparent!important;
text-decoration:none!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a:hover{
color:#fff1ce!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a.sw-book-offer-button:hover{
border-color:#ffe6b0!important;
background:#ffe6b0!important;
color:#171b1b!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a:focus-visible{
outline:3px solid #d6f5e0!important;
outline-offset:3px!important;
}
@media (max-width: 699px) {
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel{
width:calc(100% - 24px)!important;
margin:20px auto!important;
padding:16px!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-products{
grid-template-columns:minmax(0,1fr)!important;
gap:12px!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-product{
padding:12px!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-support p{
flex-basis:100%;
}
}
@media (max-width: 379px) {
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-product{
grid-template-columns:66px minmax(0,1fr)!important;
gap:10px!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel img.sw-revenue-cover{
width:66px!important;
max-width:66px!important;
height:94px!important;
max-height:94px!important;
}
}
/* Gods selection within the inherited adventure placement. */
html body:not(.wp-admin) #sw-affiliate-gods{
display:none!important;
}
html body:is(.page-id-936,.page-id-938,.page-id-940,.page-id-942,.page-id-944,.page-id-947,.page-id-948,.page-id-951,.page-id-952,.page-id-955,.page-id-956,.page-id-958,.page-id-7264,.page-id-7266,.page-id-7269,.page-id-7272,.page-id-7278,.page-id-7281,.page-id-7641,.page-id-8805,.page-id-8807,.page-id-8811,.page-id-8814,.page-id-8817,.page-id-8821,.page-id-8824,.page-id-8827,.page-id-8831,.page-id-8834,.page-id-8859,.page-id-8862,.page-id-8865,.page-id-8868,.page-id-8871,.page-id-8873,.page-id-8878,.page-id-8880,.page-id-8883,.page-id-8886,.page-id-8889,.page-id-8892,.page-id-8895,.page-id-8898,.page-id-8901,.page-id-8904,.page-id-8909,.page-id-8912,.page-id-8915,.page-id-8918,.page-id-8921,.page-id-8924,.page-id-8930,.page-id-8934,.page-id-8937,.page-id-8941,.page-id-8944,.page-id-8948,.page-id-8951,.page-id-8954,.page-id-8958,.page-id-8961,.page-id-8964,.page-id-8967,.page-id-8973,.page-id-8979,.page-id-8985,.page-id-8988,.page-id-8991,.page-id-8994,.page-id-8998,.page-id-9001,.page-id-9004,.page-id-9007,.page-id-9010,.page-id-9013,.page-id-9022,.page-id-9025,.page-id-9032,.page-id-9034,.page-id-9038,.page-id-9043,.page-id-9046,.page-id-9047,.page-id-9051,.page-id-9054,.page-id-9057,.page-id-9060,.page-id-9064,.page-id-9066,.page-id-9068,.page-id-9071,.page-id-9074,.page-id-9077,.page-id-9080,.page-id-9083,.page-id-9086,.page-id-9089,.page-id-9092,.page-id-9095,.page-id-9098,.page-id-9107,.page-id-9109,.page-id-9116,.page-id-9121,.page-id-9124,.page-id-9128,.page-id-9132,.page-id-9135,.page-id-9137,.page-id-9141,.page-id-9145,.page-id-9148,.page-id-9151,.page-id-9154,.page-id-9156,.page-id-9159,.page-id-9162,.page-id-9168,.page-id-9171,.page-id-9174,.page-id-9177,.page-id-9180,.page-id-9183,.page-id-9190,.page-id-9193,.page-id-9196,.page-id-9202,.page-id-9205,.page-id-9208,.page-id-9211,.page-id-9217,.page-id-9222,.page-id-9228,.page-id-9231,.page-id-9233,.page-id-9237,.page-id-9239,.page-id-9242,.page-id-9245,.page-id-9248,.page-id-10195,.page-id-10196,.page-id-10197,.page-id-10198,.page-id-10199,.page-id-10200,.page-id-10201,.page-id-10202,.page-id-10203,.page-id-10204,.page-id-10205,.page-id-10206,.page-id-10207,.page-id-10208,.page-id-10209,.page-id-10210,.page-id-10211,.page-id-10212,.page-id-10213,.page-id-10226,.page-id-10227,.page-id-10228,.page-id-10229,.page-id-10230,.page-id-10231,.page-id-10232,.page-id-10234,.page-id-10235,.page-id-10236,.page-id-10237,.page-id-10238,.page-id-10239,.page-id-10241,.page-id-10242,.page-id-10243,.page-id-10244,.page-id-10245,.page-id-10246,.page-id-10247,.page-id-10248,.page-id-10249,.page-id-10250,.page-id-10251,.page-id-10252,.page-id-10253,.page-id-10254,.page-id-10255,.page-id-10256,.page-id-10257,.page-id-10259,.page-id-10260,.page-id-10261,.page-id-10262,.page-id-10264,.page-id-10265,.page-id-10266,.page-id-10267,.page-id-10268,.page-id-10269,.page-id-10270,.page-id-10271,.page-id-10272,.page-id-10273,.page-id-10274,.page-id-10275,.page-id-10276,.page-id-10277,.page-id-10278,.page-id-10279,.page-id-10280,.page-id-10281,.page-id-10282,.page-id-10283,.page-id-10284,.page-id-10285,.page-id-10286,.page-id-10287,.page-id-10288,.page-id-10289,.page-id-10290,.page-id-10292,.page-id-10293,.page-id-10294,.page-id-10295,.page-id-10296,.page-id-10297,.page-id-10298,.page-id-10299,.page-id-10300,.page-id-10301,.page-id-10302,.page-id-10303,.page-id-10304,.page-id-10305,.page-id-10306,.page-id-10307,.page-id-10308,.page-id-10309,.page-id-10312,.page-id-10314,.page-id-10315,.page-id-10316,.page-id-10317,.page-id-10318,.page-id-10320,.page-id-10321,.page-id-10322,.page-id-10323,.page-id-10324,.page-id-10325,.page-id-10326,.page-id-10327,.page-id-10328,.page-id-10330,.page-id-10331,.page-id-10332,.page-id-10333,.page-id-10421,.page-id-10461,.page-id-10679,.page-id-10682,.page-id-23851,.page-id-28842,.page-id-29137,.page-id-29138,.page-id-29202,.page-id-29210,.page-id-31168,.page-id-31171,.page-id-31172,.page-id-32034,.page-id-36183,.page-id-36473,.page-id-36474,.page-id-36475,.page-id-36476,.page-id-36477,.page-id-36478,.page-id-36479,.page-id-36480,.page-id-36481,.page-id-36482,.page-id-36483,.page-id-36484,.page-id-36485,.page-id-36486,.page-id-36487,.page-id-36488,.page-id-36489,.page-id-36490,.page-id-36491,.page-id-36492,.page-id-36493,.page-id-36494,.page-id-36495,.page-id-36496,.page-id-36497,.page-id-36498,.page-id-36499,.page-id-36500,.page-id-36501,.page-id-36502,.page-id-36503,.page-id-36504,.page-id-36505,.page-id-36506,.page-id-36507,.page-id-36508,.page-id-36509,.page-id-36510,.page-id-36511,.page-id-36512,.page-id-36513,.page-id-36514,.page-id-36515,.page-id-36620,.page-id-36621,.page-id-36622,.page-id-36623,.page-id-36624,.page-id-36625,.page-id-36626,.page-id-36627,.page-id-36628,.page-id-36629,.page-id-36630,.page-id-36631,.page-id-36632,.page-id-36633,.page-id-36634,.page-id-36635,.page-id-36636,.page-id-36637,.page-id-36638,.page-id-36639,.page-id-36640,.page-id-36641,.page-id-36642,.page-id-36643,.page-id-36644,.page-id-36645,.page-id-36646,.page-id-36647,.page-id-36648,.page-id-36649,.page-id-36650,.page-id-36651,.page-id-36652,.page-id-36653,.page-id-36654,.page-id-36655,.page-id-36656,.page-id-36657,.page-id-36658,.page-id-36659,.page-id-36660,.page-id-36661,.page-id-36662,.page-id-36663,.page-id-36664,.page-id-36665,.page-id-36666,.page-id-36667,.page-id-36668,.page-id-36669,.page-id-36670,.page-id-36671,.page-id-36672,.page-id-36673,.page-id-36674,.page-id-36675,.page-id-40739,.page-id-40747,.page-id-40899,.page-id-40910,.page-id-40911,.page-id-41632,.page-id-41658,.page-id-41679,.page-id-41685,.page-id-44832,.page-id-52682,.page-id-53545,.page-id-53740,.page-id-61292,.page-id-61296,.page-id-61315,.page-id-61340,.page-id-61347,.page-id-61599,.page-id-61602,.page-id-70244,.page-id-70452,.page-id-70559,.page-id-70597,.page-id-70787,.page-id-70831,.page-id-95977,.page-id-105550,.page-id-105552,.page-id-105558,.page-id-105568,.page-id-106937,.page-id-135040,.page-id-142756,.page-id-156812,.page-id-173077,.page-id-173635,.page-id-173812,.page-id-173830,.page-id-175591,.page-id-175697,.page-id-177090,.page-id-177126,.page-id-177140,.page-id-177173,.page-id-177177,.page-id-177227,.page-id-177388,.page-id-177429,.page-id-177436,.page-id-177467,.page-id-177517,.page-id-177550,.page-id-177759,.page-id-177946,.page-id-178082,.page-id-178094,.page-id-178146,.page-id-178151,.page-id-178163,.page-id-178184,.page-id-178193,.page-id-178203,.page-id-178232,.page-id-178257,.page-id-178297,.page-id-178312,.page-id-178323,.page-id-178325,.page-id-178352,.page-id-178356,.page-id-178400,.page-id-178430,.page-id-178453,.page-id-178481,.page-id-178513,.page-id-178584,.page-id-178690,.page-id-178819,.page-id-178825,.page-id-178862,.page-id-178882,.page-id-178895,.page-id-179154,.page-id-179207,.page-id-179243,.page-id-179282,.page-id-179333,.page-id-179475,.page-id-179544,.page-id-179551,.page-id-179642,.page-id-179650,.page-id-179672,.page-id-179727,.page-id-179979,.page-id-180381,.page-id-183960,.page-id-193867,.page-id-225439,.page-id-240867,.page-id-246570,.page-id-246571,.page-id-246572,.page-id-246573,.page-id-246575,.page-id-246576,.page-id-246577,.page-id-246578,.page-id-246743,.page-id-246751,.page-id-246752,.page-id-246753,.page-id-246755,.page-id-246756,.page-id-246757,.page-id-246758,.page-id-246759,.page-id-246760,.page-id-246761,.page-id-246762,.page-id-246763,.page-id-246764,.page-id-246765,.page-id-246766,.page-id-246909,.page-id-246914,.page-id-246916,.page-id-246918,.page-id-246921,.page-id-246923,.page-id-246926,.page-id-246928,.page-id-246930,.page-id-246932,.page-id-246934,.page-id-246936,.page-id-246938,.page-id-246940,.page-id-246942,.page-id-246944,.page-id-246946,.page-id-246948,.page-id-246950,.page-id-246952,.page-id-246954,.page-id-246956,.page-id-246958,.page-id-246960,.page-id-246962,.page-id-246964,.page-id-246966,.page-id-246968,.page-id-246970,.page-id-246972,.page-id-246974,.page-id-246976,.page-id-246978,.page-id-246981,.page-id-246983,.page-id-246985,.page-id-246987,.page-id-246991,.page-id-246993,.page-id-247652,.page-id-247653,.page-id-247654,.page-id-247655,.page-id-248141,.page-id-248143,.page-id-248145,.page-id-248146,.page-id-248147,.page-id-250705,.page-id-252158,.page-id-252159,.page-id-252160,.page-id-252161,.page-id-252162,.page-id-252164,.page-id-252165,.page-id-252166,.page-id-252167,.page-id-252168,.page-id-252169,.page-id-252170):not(.wp-admin) #sw-affiliate-gods{
display:block!important;
}
html body:is(.page-id-936,.page-id-938,.page-id-940,.page-id-942,.page-id-944,.page-id-947,.page-id-948,.page-id-951,.page-id-952,.page-id-955,.page-id-956,.page-id-958,.page-id-7264,.page-id-7266,.page-id-7269,.page-id-7272,.page-id-7278,.page-id-7281,.page-id-7641,.page-id-8805,.page-id-8807,.page-id-8811,.page-id-8814,.page-id-8817,.page-id-8821,.page-id-8824,.page-id-8827,.page-id-8831,.page-id-8834,.page-id-8859,.page-id-8862,.page-id-8865,.page-id-8868,.page-id-8871,.page-id-8873,.page-id-8878,.page-id-8880,.page-id-8883,.page-id-8886,.page-id-8889,.page-id-8892,.page-id-8895,.page-id-8898,.page-id-8901,.page-id-8904,.page-id-8909,.page-id-8912,.page-id-8915,.page-id-8918,.page-id-8921,.page-id-8924,.page-id-8930,.page-id-8934,.page-id-8937,.page-id-8941,.page-id-8944,.page-id-8948,.page-id-8951,.page-id-8954,.page-id-8958,.page-id-8961,.page-id-8964,.page-id-8967,.page-id-8973,.page-id-8979,.page-id-8985,.page-id-8988,.page-id-8991,.page-id-8994,.page-id-8998,.page-id-9001,.page-id-9004,.page-id-9007,.page-id-9010,.page-id-9013,.page-id-9022,.page-id-9025,.page-id-9032,.page-id-9034,.page-id-9038,.page-id-9043,.page-id-9046,.page-id-9047,.page-id-9051,.page-id-9054,.page-id-9057,.page-id-9060,.page-id-9064,.page-id-9066,.page-id-9068,.page-id-9071,.page-id-9074,.page-id-9077,.page-id-9080,.page-id-9083,.page-id-9086,.page-id-9089,.page-id-9092,.page-id-9095,.page-id-9098,.page-id-9107,.page-id-9109,.page-id-9116,.page-id-9121,.page-id-9124,.page-id-9128,.page-id-9132,.page-id-9135,.page-id-9137,.page-id-9141,.page-id-9145,.page-id-9148,.page-id-9151,.page-id-9154,.page-id-9156,.page-id-9159,.page-id-9162,.page-id-9168,.page-id-9171,.page-id-9174,.page-id-9177,.page-id-9180,.page-id-9183,.page-id-9190,.page-id-9193,.page-id-9196,.page-id-9202,.page-id-9205,.page-id-9208,.page-id-9211,.page-id-9217,.page-id-9222,.page-id-9228,.page-id-9231,.page-id-9233,.page-id-9237,.page-id-9239,.page-id-9242,.page-id-9245,.page-id-9248,.page-id-10195,.page-id-10196,.page-id-10197,.page-id-10198,.page-id-10199,.page-id-10200,.page-id-10201,.page-id-10202,.page-id-10203,.page-id-10204,.page-id-10205,.page-id-10206,.page-id-10207,.page-id-10208,.page-id-10209,.page-id-10210,.page-id-10211,.page-id-10212,.page-id-10213,.page-id-10226,.page-id-10227,.page-id-10228,.page-id-10229,.page-id-10230,.page-id-10231,.page-id-10232,.page-id-10234,.page-id-10235,.page-id-10236,.page-id-10237,.page-id-10238,.page-id-10239,.page-id-10241,.page-id-10242,.page-id-10243,.page-id-10244,.page-id-10245,.page-id-10246,.page-id-10247,.page-id-10248,.page-id-10249,.page-id-10250,.page-id-10251,.page-id-10252,.page-id-10253,.page-id-10254,.page-id-10255,.page-id-10256,.page-id-10257,.page-id-10259,.page-id-10260,.page-id-10261,.page-id-10262,.page-id-10264,.page-id-10265,.page-id-10266,.page-id-10267,.page-id-10268,.page-id-10269,.page-id-10270,.page-id-10271,.page-id-10272,.page-id-10273,.page-id-10274,.page-id-10275,.page-id-10276,.page-id-10277,.page-id-10278,.page-id-10279,.page-id-10280,.page-id-10281,.page-id-10282,.page-id-10283,.page-id-10284,.page-id-10285,.page-id-10286,.page-id-10287,.page-id-10288,.page-id-10289,.page-id-10290,.page-id-10292,.page-id-10293,.page-id-10294,.page-id-10295,.page-id-10296,.page-id-10297,.page-id-10298,.page-id-10299,.page-id-10300,.page-id-10301,.page-id-10302,.page-id-10303,.page-id-10304,.page-id-10305,.page-id-10306,.page-id-10307,.page-id-10308,.page-id-10309,.page-id-10312,.page-id-10314,.page-id-10315,.page-id-10316,.page-id-10317,.page-id-10318,.page-id-10320,.page-id-10321,.page-id-10322,.page-id-10323,.page-id-10324,.page-id-10325,.page-id-10326,.page-id-10327,.page-id-10328,.page-id-10330,.page-id-10331,.page-id-10332,.page-id-10333,.page-id-10421,.page-id-10461,.page-id-10679,.page-id-10682,.page-id-23851,.page-id-28842,.page-id-29137,.page-id-29138,.page-id-29202,.page-id-29210,.page-id-31168,.page-id-31171,.page-id-31172,.page-id-32034,.page-id-36183,.page-id-36473,.page-id-36474,.page-id-36475,.page-id-36476,.page-id-36477,.page-id-36478,.page-id-36479,.page-id-36480,.page-id-36481,.page-id-36482,.page-id-36483,.page-id-36484,.page-id-36485,.page-id-36486,.page-id-36487,.page-id-36488,.page-id-36489,.page-id-36490,.page-id-36491,.page-id-36492,.page-id-36493,.page-id-36494,.page-id-36495,.page-id-36496,.page-id-36497,.page-id-36498,.page-id-36499,.page-id-36500,.page-id-36501,.page-id-36502,.page-id-36503,.page-id-36504,.page-id-36505,.page-id-36506,.page-id-36507,.page-id-36508,.page-id-36509,.page-id-36510,.page-id-36511,.page-id-36512,.page-id-36513,.page-id-36514,.page-id-36515,.page-id-36620,.page-id-36621,.page-id-36622,.page-id-36623,.page-id-36624,.page-id-36625,.page-id-36626,.page-id-36627,.page-id-36628,.page-id-36629,.page-id-36630,.page-id-36631,.page-id-36632,.page-id-36633,.page-id-36634,.page-id-36635,.page-id-36636,.page-id-36637,.page-id-36638,.page-id-36639,.page-id-36640,.page-id-36641,.page-id-36642,.page-id-36643,.page-id-36644,.page-id-36645,.page-id-36646,.page-id-36647,.page-id-36648,.page-id-36649,.page-id-36650,.page-id-36651,.page-id-36652,.page-id-36653,.page-id-36654,.page-id-36655,.page-id-36656,.page-id-36657,.page-id-36658,.page-id-36659,.page-id-36660,.page-id-36661,.page-id-36662,.page-id-36663,.page-id-36664,.page-id-36665,.page-id-36666,.page-id-36667,.page-id-36668,.page-id-36669,.page-id-36670,.page-id-36671,.page-id-36672,.page-id-36673,.page-id-36674,.page-id-36675,.page-id-40739,.page-id-40747,.page-id-40899,.page-id-40910,.page-id-40911,.page-id-41632,.page-id-41658,.page-id-41679,.page-id-41685,.page-id-44832,.page-id-52682,.page-id-53545,.page-id-53740,.page-id-61292,.page-id-61296,.page-id-61315,.page-id-61340,.page-id-61347,.page-id-61599,.page-id-61602,.page-id-70244,.page-id-70452,.page-id-70559,.page-id-70597,.page-id-70787,.page-id-70831,.page-id-95977,.page-id-105550,.page-id-105552,.page-id-105558,.page-id-105568,.page-id-106937,.page-id-135040,.page-id-142756,.page-id-156812,.page-id-173077,.page-id-173635,.page-id-173812,.page-id-173830,.page-id-175591,.page-id-175697,.page-id-177090,.page-id-177126,.page-id-177140,.page-id-177173,.page-id-177177,.page-id-177227,.page-id-177388,.page-id-177429,.page-id-177436,.page-id-177467,.page-id-177517,.page-id-177550,.page-id-177759,.page-id-177946,.page-id-178082,.page-id-178094,.page-id-178146,.page-id-178151,.page-id-178163,.page-id-178184,.page-id-178193,.page-id-178203,.page-id-178232,.page-id-178257,.page-id-178297,.page-id-178312,.page-id-178323,.page-id-178325,.page-id-178352,.page-id-178356,.page-id-178400,.page-id-178430,.page-id-178453,.page-id-178481,.page-id-178513,.page-id-178584,.page-id-178690,.page-id-178819,.page-id-178825,.page-id-178862,.page-id-178882,.page-id-178895,.page-id-179154,.page-id-179207,.page-id-179243,.page-id-179282,.page-id-179333,.page-id-179475,.page-id-179544,.page-id-179551,.page-id-179642,.page-id-179650,.page-id-179672,.page-id-179727,.page-id-179979,.page-id-180381,.page-id-183960,.page-id-193867,.page-id-225439,.page-id-240867,.page-id-246570,.page-id-246571,.page-id-246572,.page-id-246573,.page-id-246575,.page-id-246576,.page-id-246577,.page-id-246578,.page-id-246743,.page-id-246751,.page-id-246752,.page-id-246753,.page-id-246755,.page-id-246756,.page-id-246757,.page-id-246758,.page-id-246759,.page-id-246760,.page-id-246761,.page-id-246762,.page-id-246763,.page-id-246764,.page-id-246765,.page-id-246766,.page-id-246909,.page-id-246914,.page-id-246916,.page-id-246918,.page-id-246921,.page-id-246923,.page-id-246926,.page-id-246928,.page-id-246930,.page-id-246932,.page-id-246934,.page-id-246936,.page-id-246938,.page-id-246940,.page-id-246942,.page-id-246944,.page-id-246946,.page-id-246948,.page-id-246950,.page-id-246952,.page-id-246954,.page-id-246956,.page-id-246958,.page-id-246960,.page-id-246962,.page-id-246964,.page-id-246966,.page-id-246968,.page-id-246970,.page-id-246972,.page-id-246974,.page-id-246976,.page-id-246978,.page-id-246981,.page-id-246983,.page-id-246985,.page-id-246987,.page-id-246991,.page-id-246993,.page-id-247652,.page-id-247653,.page-id-247654,.page-id-247655,.page-id-248141,.page-id-248143,.page-id-248145,.page-id-248146,.page-id-248147,.page-id-250705,.page-id-252158,.page-id-252159,.page-id-252160,.page-id-252161,.page-id-252162,.page-id-252164,.page-id-252165,.page-id-252166,.page-id-252167,.page-id-252168,.page-id-252169,.page-id-252170):not(.wp-admin) #sw-affiliate-adventure{
display:none!important;
}
/* END SPIRALWORLDS COMBINED TTRPG PANELS */
/* --- WPWriter addition --- */
/* GAMES MASTER RESOURCES — existing CSS moved to the global stylesheet, 2026-10-09 */
.sw-gm{
--gm-bg: #0c1017;
--gm-bg-deep: #070a0f;
--gm-panel: #171d27;
--gm-panel-light: #1c2430;
--gm-border: rgba(211, 171, 84, 0.34);
--gm-border-strong: rgba(229, 190, 101, 0.72);
--gm-gold: #d9b45f;
--gm-gold-light: #f1d99c;
--gm-text: #f3efe6;
--gm-muted: #c8c1b4;
--gm-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
overflow:hidden;
background:radial-gradient( circle at 50% -4%, rgba(154, 108, 43, 0.2), transparent 38rem ), linear-gradient( 180deg, #111722 0%, var(--gm-bg) 42%, var(--gm-bg-deep) 100% );
color:var(--gm-text);
font-family:Georgia, "Times New Roman", serif;
font-size:17px;
line-height:1.7;
}
.sw-gm, .sw-gm *{
box-sizing:border-box;
}
.sw-gm section, .sw-gm details{
scroll-margin-top:32px;
}
.sw-gm a{
color:var(--gm-gold-light);
text-decoration-thickness:1px;
text-underline-offset:0.18em;
}
.sw-gm a:hover{
color:#fff7db;
}
.sw-gm a:focus-visible, .sw-gm summary:focus-visible, .sw-gm input:focus-visible, .sw-gm button:focus-visible{
outline:3px solid #fff0b7;
outline-offset:4px;
}
.sw-gm-shell{
width:min(1180px, calc(100% - 32px));
margin-inline:auto;
}
.sw-gm-section{
padding:clamp(54px, 7vw, 92px) 0;
}
.sw-gm-section + .sw-gm-section{
border-top:1px solid rgba(211, 171, 84, 0.16);
}
.sw-gm-kicker{
margin:0 0 14px;
color:var(--gm-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.75rem;
font-weight:800;
letter-spacing:0.16em;
line-height:1.4;
text-transform:uppercase;
}
.sw-gm h1, .sw-gm h2, .sw-gm h3{
color:#fffaf0;
font-family:Georgia, "Times New Roman", serif;
font-weight:400;
line-height:1.13;
text-wrap:balance;
}
.sw-gm h1{
max-width:940px;
margin:0 auto 18px;
font-size:clamp(2.7rem, 6vw, 5.4rem);
letter-spacing:-0.035em;
}
.sw-gm h2{
margin:0 0 18px;
font-size:clamp(2rem, 4vw, 3.25rem);
letter-spacing:-0.025em;
}
.sw-gm h3{
margin:0 0 10px;
font-size:clamp(1.25rem, 2vw, 1.55rem);
}
.sw-gm p{
margin-top:0;
}
.sw-gm-heading{
max-width:830px;
margin-bottom:36px;
}
.sw-gm-heading > :last-child{
margin-bottom:0;
color:var(--gm-muted);
}
/* =========================================================
   HERO
   ========================================================= */
.sw-gm-hero{
position:relative;
padding:clamp(74px, 10vw, 136px) 0 clamp(64px, 8vw, 96px);
text-align:center;
}
.sw-gm-hero::before, .sw-gm-hero::after{
position:absolute;
left:50%;
content:"";
transform:translateX(-50%);
}
.sw-gm-hero::before{
top:36px;
width:min(650px, 74vw);
height:1px;
background:linear-gradient( 90deg, transparent, rgba(218, 179, 94, 0.76), transparent );
}
.sw-gm-hero::after{
bottom:0;
width:min(950px, 88vw);
height:1px;
background:linear-gradient( 90deg, transparent, rgba(218, 179, 94, 0.3), transparent );
}
.sw-gm-tagline{
max-width:900px;
margin:0 auto 18px;
color:var(--gm-gold-light);
font-size:clamp(1.45rem, 3vw, 2.35rem);
line-height:1.2;
text-wrap:balance;
}
.sw-gm-intro{
max-width:800px;
margin:0 auto;
color:var(--gm-muted);
font-size:clamp(1.08rem, 2vw, 1.3rem);
}
.sw-gm-actions{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:13px;
margin-top:32px;
}
.sw-gm-button{
display:inline-flex;
min-height:49px;
align-items:center;
justify-content:center;
padding:12px 21px;
border:1px solid var(--gm-border-strong);
border-radius:3px;
background:linear-gradient(180deg, #d8b361, #a87a31);
box-shadow:0 9px 24px rgba(0, 0, 0, 0.28);
color:#171109!important;
font-family:Arial, Helvetica, sans-serif;
font-size:0.82rem;
font-weight:800;
letter-spacing:0.05em;
text-decoration:none!important;
text-transform:uppercase;
transition:transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.sw-gm-button:hover{
background:linear-gradient(180deg, #efd590, #c79b45);
box-shadow:0 13px 30px rgba(0, 0, 0, 0.37);
color:#0f0b06!important;
transform:translateY(-2px);
}
.sw-gm-button--secondary{
background:rgba(18, 23, 32, 0.78);
color:var(--gm-gold-light)!important;
}
.sw-gm-button--secondary:hover{
background:rgba(52, 42, 26, 0.95);
color:#fff7dd!important;
}
.sw-gm-hero-media{
position:relative;
width:min(1120px, 100%);
margin:clamp(38px, 6vw, 58px) auto 0;
overflow:hidden;
border:1px solid var(--gm-border-strong);
border-radius:5px;
background:#090d14;
box-shadow:0 24px 64px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 236, 183, 0.05) inset;
}
.sw-gm-hero-media::after{
position:absolute;
inset:0;
border:1px solid rgba(255, 239, 194, 0.08);
content:"";
pointer-events:none;
}
.sw-gm-hero-media img{
display:block;
width:100%;
height:auto;
aspect-ratio:3 / 2;
object-fit:cover;
object-position:center;
}
.sw-gm-principles{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:1px;
margin-top:38px;
border:1px solid rgba(208, 168, 82, 0.22);
background:rgba(208, 168, 82, 0.18);
box-shadow:var(--gm-shadow);
text-align:left;
}
.sw-gm-principle{
min-height:108px;
padding:20px;
background:rgba(12, 16, 23, 0.95);
}
.sw-gm-principle strong{
display:block;
margin-bottom:6px;
color:var(--gm-gold-light);
font-family:Arial, Helvetica, sans-serif;
font-size:0.74rem;
letter-spacing:0.08em;
text-transform:uppercase;
}
.sw-gm-principle span{
color:var(--gm-muted);
font-size:0.95rem;
line-height:1.48;
}
/* =========================================================
   PAGE NAVIGATION
   ========================================================= */
.sw-gm-nav{
padding:18px 0;
border-block:1px solid rgba(208, 168, 82, 0.17);
background:rgba(7, 10, 15, 0.92);
}
.sw-gm-nav ul{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:9px 21px;
margin:0;
padding:0;
list-style:none;
}
.sw-gm-nav a{
color:var(--gm-muted);
font-family:Arial, Helvetica, sans-serif;
font-size:0.76rem;
font-weight:800;
letter-spacing:0.055em;
text-decoration:none;
text-transform:uppercase;
}
.sw-gm-nav a:hover{
color:var(--gm-gold-light);
}
/* =========================================================
   RESOURCE GROUPS AND CARDS
   ========================================================= */
.sw-gm-group + .sw-gm-group{
margin-top:58px;
}
.sw-gm-group-heading{
display:flex;
align-items:baseline;
gap:14px;
margin-bottom:22px;
padding-bottom:13px;
border-bottom:1px solid rgba(208, 168, 82, 0.2);
}
.sw-gm-group-number{
color:var(--gm-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.74rem;
font-weight:800;
letter-spacing:0.14em;
}
.sw-gm-group-heading h3{
margin:0;
font-size:clamp(1.5rem, 3vw, 2.05rem);
}
.sw-gm-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
}
.sw-gm-card{
position:relative;
display:flex;
min-height:207px;
flex-direction:column;
padding:25px 25px 45px;
border:1px solid var(--gm-border);
border-radius:4px;
background:linear-gradient( 145deg, rgba(29, 37, 49, 0.97), rgba(15, 20, 28, 0.97) );
box-shadow:0 12px 32px rgba(0, 0, 0, 0.2);
color:var(--gm-text)!important;
text-decoration:none!important;
transition:transform 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}
.sw-gm-card::after{
position:absolute;
right:21px;
bottom:16px;
color:var(--gm-gold);
content:"→";
font-family:Arial, Helvetica, sans-serif;
font-size:1.3rem;
transition:transform 170ms ease;
}
.sw-gm-card:hover{
border-color:var(--gm-border-strong);
box-shadow:0 18px 42px rgba(0, 0, 0, 0.34);
color:var(--gm-text)!important;
transform:translateY(-4px);
}
.sw-gm-card:hover::after{
transform:translateX(4px);
}
.sw-gm-card-type{
display:block;
margin-bottom:13px;
color:var(--gm-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.69rem;
font-weight:800;
letter-spacing:0.13em;
text-transform:uppercase;
}
.sw-gm-card h3{
margin-bottom:10px;
color:#fffaf0;
font-size:1.4rem;
}
.sw-gm-card p{
margin:0;
color:var(--gm-muted);
font-size:0.96rem;
line-height:1.56;
}
/* =========================================================
   EXPANDABLE DIRECTORIES
   ========================================================= */
.sw-gm-directory-stack{
display:grid;
gap:14px;
margin-top:22px;
}
.sw-gm-directory{
border:1px solid var(--gm-border);
border-radius:4px;
background:rgba(18, 23, 32, 0.9);
box-shadow:0 12px 28px rgba(0, 0, 0, 0.18);
}
.sw-gm-directory summary{
position:relative;
padding:20px 60px 20px 23px;
color:#fff8e8;
cursor:pointer;
font-family:Arial, Helvetica, sans-serif;
font-size:0.84rem;
font-weight:800;
letter-spacing:0.055em;
line-height:1.45;
list-style:none;
text-transform:uppercase;
}
.sw-gm-directory summary::-webkit-details-marker{
display:none;
}
.sw-gm-directory summary::after{
position:absolute;
top:50%;
right:23px;
color:var(--gm-gold);
content:"+";
font-size:1.5rem;
font-weight:400;
transform:translateY(-52%);
}
.sw-gm-directory[open] summary::after{
content:"−";
}
.sw-gm-directory-body{
padding:0 23px 24px;
border-top:1px solid rgba(208, 168, 82, 0.16);
}
.sw-gm-directory-body > p{
margin:19px 0;
color:var(--gm-muted);
}
.sw-gm-link-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:10px;
margin:0;
padding:0;
list-style:none;
}
.sw-gm-link-grid a{
display:block;
min-height:100%;
padding:11px 13px;
border:1px solid rgba(208, 168, 82, 0.25);
border-radius:2px;
background:rgba(7, 10, 15, 0.5);
color:var(--gm-muted);
font-family:Arial, Helvetica, sans-serif;
font-size:0.79rem;
font-weight:700;
line-height:1.4;
text-decoration:none;
}
.sw-gm-link-grid a:hover{
border-color:var(--gm-border-strong);
background:rgba(46, 37, 23, 0.62);
color:var(--gm-gold-light);
}
/* =========================================================
   PLAYER RESOURCES HANDOFF
   ========================================================= */
.sw-gm-handoff{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:24px;
align-items:center;
margin-top:44px;
padding:28px;
border:1px solid var(--gm-border);
border-left:4px solid var(--gm-gold);
background:linear-gradient( 135deg, rgba(57, 43, 24, 0.42), rgba(18, 23, 32, 0.95) );
}
.sw-gm-handoff h3{
margin-bottom:7px;
}
.sw-gm-handoff p{
margin:0;
color:var(--gm-muted);
}
/* =========================================================
   PREPARATION AND PROCEDURES
   ========================================================= */
.sw-gm-prep-grid, .sw-gm-procedure-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:20px;
}
.sw-gm-prep-card, .sw-gm-procedure{
padding:26px;
border:1px solid var(--gm-border);
border-radius:4px;
background:rgba(22, 28, 38, 0.88);
box-shadow:0 12px 29px rgba(0, 0, 0, 0.18);
}
.sw-gm-prep-number{
display:inline-grid;
width:39px;
height:39px;
margin-bottom:18px;
place-items:center;
border:1px solid var(--gm-border-strong);
color:var(--gm-gold-light);
font-family:Arial, Helvetica, sans-serif;
font-size:0.76rem;
font-weight:800;
}
.sw-gm-prep-card p, .sw-gm-procedure p{
margin-bottom:0;
color:var(--gm-muted);
}
.sw-gm-campaign-path{
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:12px;
margin-top:32px;
}
.sw-gm-path{
padding:22px 18px;
border-top:2px solid var(--gm-gold);
background:linear-gradient( 180deg, rgba(31, 38, 50, 0.95), rgba(15, 20, 28, 0.95) );
}
.sw-gm-path > span{
display:block;
margin-bottom:11px;
color:var(--gm-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.68rem;
font-weight:800;
letter-spacing:0.13em;
text-transform:uppercase;
}
.sw-gm-path h3{
font-size:1.2rem;
}
.sw-gm-path p{
margin-bottom:14px;
color:var(--gm-muted);
font-size:0.92rem;
line-height:1.48;
}
.sw-gm-path a{
font-family:Arial, Helvetica, sans-serif;
font-size:0.73rem;
font-weight:800;
letter-spacing:0.045em;
text-transform:uppercase;
}
.sw-gm-worksheet-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
}
.sw-gm-worksheet{
padding:25px;
border:1px solid var(--gm-border);
border-radius:4px;
background:rgba(20, 26, 36, 0.88);
}
.sw-gm-worksheet-label{
display:block;
margin-bottom:12px;
color:var(--gm-gold);
font-family:Arial, Helvetica, sans-serif;
font-size:0.68rem;
font-weight:800;
letter-spacing:0.13em;
text-transform:uppercase;
}
.sw-gm-checklist{
margin:18px 0 0;
padding:0;
list-style:none;
}
.sw-gm-checklist li{
position:relative;
padding:10px 0 10px 25px;
border-top:1px solid rgba(208, 168, 82, 0.13);
color:var(--gm-muted);
font-size:0.94rem;
}
.sw-gm-checklist li::before{
position:absolute;
top:13px;
left:2px;
color:var(--gm-gold);
content:"◆";
font-size:0.62rem;
}
.sw-gm-procedure ol, .sw-gm-procedure ul{
margin:16px 0 0;
padding-left:1.25rem;
color:var(--gm-muted);
}
.sw-gm-procedure li + li{
margin-top:8px;
}
/* =========================================================
   CANON AND SEARCH
   ========================================================= */
.sw-gm-guardrails{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px;
}
.sw-gm-guardrail{
padding:22px;
border-left:3px solid var(--gm-gold);
background:rgba(20, 25, 34, 0.84);
}
.sw-gm-guardrail strong{
display:block;
margin-bottom:7px;
color:#fff7df;
font-size:1.06rem;
}
.sw-gm-guardrail span{
color:var(--gm-muted);
font-size:0.94rem;
}
.sw-gm-source-note{
margin-top:32px;
padding:24px 26px;
border:1px solid var(--gm-border);
border-left:4px solid var(--gm-gold);
background:rgba(19, 25, 34, 0.87);
}
.sw-gm-source-note h3{
font-size:1.22rem;
}
.sw-gm-source-note p:last-child{
margin-bottom:0;
color:var(--gm-muted);
}
.sw-gm-search{
padding:clamp(32px, 5vw, 50px);
border:1px solid var(--gm-border-strong);
background:linear-gradient( 135deg, rgba(61, 45, 24, 0.44), rgba(17, 22, 30, 0.97) );
box-shadow:var(--gm-shadow);
}
.sw-gm-search form{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:10px;
margin-top:24px;
}
.sw-gm-search label{
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0, 0, 0, 0);
white-space:nowrap;
}
.sw-gm-search input[type="search"]{
width:100%;
min-height:52px;
padding:12px 15px;
border:1px solid rgba(208, 168, 82, 0.48);
border-radius:2px;
background:#f6f1e7;
color:#181510;
font:1rem Arial, Helvetica, sans-serif;
}
.sw-gm-search button{
min-height:52px;
padding:12px 24px;
border:1px solid #d9b45f;
border-radius:2px;
background:#c79b49;
color:#171109;
cursor:pointer;
font-family:Arial, Helvetica, sans-serif;
font-size:0.8rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}
.sw-gm-search button:hover{
background:#e3bf6e;
}
/* =========================================================
   FOOTER
   ========================================================= */
.sw-gm-footer{
padding:37px 0;
border-top:1px solid rgba(208, 168, 82, 0.2);
background:#080a0e;
}
.sw-gm-footer ul{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:11px 22px;
margin:0;
padding:0;
list-style:none;
}
.sw-gm-footer a{
color:var(--gm-muted);
font-family:Arial, Helvetica, sans-serif;
font-size:0.75rem;
font-weight:800;
letter-spacing:0.045em;
text-decoration:none;
text-transform:uppercase;
}
.sw-gm-footer a:hover{
color:var(--gm-gold-light);
}
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1000px) {
.sw-gm-grid, .sw-gm-worksheet-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.sw-gm-link-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
.sw-gm-campaign-path, .sw-gm-principles, .sw-gm-guardrails{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 700px) {
.sw-gm{
font-size:16px;
}
.sw-gm-shell{
width:min(100% - 22px, 1180px);
}
.sw-gm-grid, .sw-gm-prep-grid, .sw-gm-procedure-grid, .sw-gm-worksheet-grid, .sw-gm-campaign-path, .sw-gm-principles, .sw-gm-guardrails, .sw-gm-link-grid, .sw-gm-handoff{
grid-template-columns:1fr;
}
.sw-gm-card{
min-height:0;
}
.sw-gm-search form{
grid-template-columns:1fr;
}
.sw-gm-search button, .sw-gm-handoff .sw-gm-button{
width:100%;
}
.sw-gm-nav ul{
justify-content:flex-start;
}
.sw-gm-hero-media{
border-radius:3px;
}
}
@media (prefers-reduced-motion: reduce) {
.sw-gm *, .sw-gm *::before, .sw-gm *::after{
scroll-behavior:auto!important;
transition:none!important;
}
}
/* END GAMES MASTER RESOURCES MIGRATION */
/* SPIRALWORLDS SESSION ROUTES — reusable free campaign paths, 2026-10-09 */
.sw-session-route-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1.25rem;
align-items:stretch;
}
.sw-session-route{
display:flex;
flex-direction:column;
min-width:0;
padding:1.25rem;
border:1px solid rgba(211, 171, 84, .34);
border-radius:12px;
background:#171d27;
color:#f3efe6;
}
.sw-session-route-image{
display:block;
margin:-1.25rem -1.25rem 1.25rem;
}
.sw-session-route-image img{
display:block;
width:100%;
height:auto;
border-radius:12px 12px 0 0;
}
.sw-session-route h3{
margin:.35rem 0 1rem;
}
.sw-session-route p{
margin:0 0 1rem;
}
.sw-session-route > .sw-gm-button{
margin-top:auto;
}
.sw-session-route a:focus-visible{
outline:3px solid #f1d99c;
outline-offset:4px;
}
@media (max-width: 900px) {
.sw-session-route-grid{
grid-template-columns:minmax(0, 1fr);
}
}
/* Shared offers: readable edition notes and comfortable purchase buttons. */
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-task, html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-system{
font-size:13px!important;
line-height:1.5!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-book-offer-disclosure, html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel .sw-revenue-support :is(p,a){
font-size:14px!important;
line-height:1.5!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel p.sw-revenue-benefit{
font-size:16px!important;
line-height:1.5!important;
}
html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a.sw-book-offer-button, html body:not(.wp-admin) aside.sw-book-offer.sw-revenue-panel.sw-revenue-panel a.sw-revenue-coffee{
min-height:44px!important;
font-size:14px!important;
}
/* END SPIRALWORLDS SESSION ROUTES */
/* --- WPWriter addition --- */
/* SPIRALWORLDS NPC EDITION PANEL REPAIR — 2026-10-09
   Reuse the shared radio/panel order for NPC rules outside sw-entry. */
html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:checked ~ .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(5):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(5){
display:block!important;
}
html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-of-type(1), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-of-type(2), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-of-type(3), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-of-type(4), html body .sw-npc-rules > .sw-tabs > input.sw-tab-radio:nth-of-type(5):checked ~ .sw-tab-labels > label:nth-of-type(5){
background:#e6c68e!important;
border-color:#e6c68e!important;
color:#17130c!important;
}
/* END SPIRALWORLDS NPC EDITION PANEL REPAIR */
/* --- WPWriter addition --- */
/* Shared square portrait treatment for NPC entries, 9 October 2026. */
html body .sw-entry.sw-entry.sw-npc .sw-hero.sw-npc-portrait{
max-width:600px!important;
margin-left:auto!important;
margin-right:auto!important;
}
html body .sw-entry.sw-entry.sw-npc .sw-hero.sw-npc-portrait img{
width:100%!important;
height:auto!important;
max-height:none!important;
aspect-ratio:1/1!important;
object-fit:cover!important;
object-position:center 20%!important;
}
/* --- WPWriter addition --- */
/* SpiralWorlds session entry routes — 9 October 2026 */
.swh-home .swh-session-section{
padding:32px 0;
border-bottom:1px solid var(--swh-line);
scroll-margin-top:90px;
}
.swh-home .swh-session-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:16px;
}
.swh-home .swh-session-card{
display:flex;
flex-direction:column;
min-width:0;
overflow:hidden;
border:1px solid var(--swh-line);
border-radius:4px;
background:#10171c;
text-decoration:none;
}
.swh-home .swh-session-card img{
display:block;
width:100%;
height:auto;
aspect-ratio:16/9;
object-fit:cover;
margin:0;
}
.swh-home .swh-session-copy{
display:flex;
flex-direction:column;
flex:1;
padding:18px;
gap:10px;
}
.swh-home .swh-session-copy h3{
margin:0;
color:#efd06f;
font-family:"Cinzel",Georgia,serif!important;
font-size:1.35rem;
line-height:1.25;
}
.swh-home .swh-session-copy p{
margin:0;
color:#eee5d7;
font-size:1rem;
line-height:1.5;
}
.swh-home .swh-session-link{
margin-top:auto;
padding-top:8px;
color:#efd06f;
font-weight:700;
}
.swh-home .swh-session-card:hover{
border-color:#fff0b2;
background:#16232a;
}
.sw-magic-hub .sw-magic-preparation-link{
margin-top:1.5rem;
}
@media(max-width:1050px){
.swh-home .swh-session-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media(max-width:560px){
.swh-home .swh-session-grid{
grid-template-columns:1fr;
}
}
/* End SpiralWorlds session entry routes */
/* --- WPWriter addition --- */
/* SW NPC FIX 2026-10-10: Fu Manchu edition tabs; scoped to page */
#doctor-fu-manchu .sw-npc-edition-tabs{
width:100%;
margin:1.25rem 0 2rem;
}
#doctor-fu-manchu .sw-npc-edition-input{
position:absolute!important;
left:-10000px!important;
width:1px!important;
height:1px!important;
opacity:0!important;
}
#doctor-fu-manchu .sw-npc-edition-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.6rem!important;
margin:0 0 1.2rem!important;
padding:0!important;
}
#doctor-fu-manchu .sw-npc-edition-labels>label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-height:3.3rem;
padding:.65rem .5rem!important;
border:1px solid #645c6a!important;
border-radius:.55rem!important;
background:#25232d!important;
color:#f5f0ea!important;
font-weight:700!important;
text-align:center!important;
line-height:1.3!important;
cursor:pointer!important;
}
#doctor-fu-manchu .sw-npc-edition-labels>label:hover{
border-color:#dec18c!important;
background:#34303e!important;
}
#doctor-fu-manchu .sw-npc-edition-panels{
display:block!important;
min-width:0;
}
#doctor-fu-manchu .sw-npc-edition-panel{
display:none!important;
margin:0!important;
padding:clamp(.8rem,2.5vw,1.5rem)!important;
border:1px solid #514b5b!important;
border-radius:.5rem!important;
background:#19171f!important;
min-width:0;
overflow-x:auto!important;
}
#doctor-fu-manchu #npc-35584-55:checked ~ .sw-npc-edition-panels>#npc-35584-panel-55, #doctor-fu-manchu #npc-35584-5e:checked ~ .sw-npc-edition-panels>#npc-35584-panel-5e, #doctor-fu-manchu #npc-35584-pf1:checked ~ .sw-npc-edition-panels>#npc-35584-panel-pf1, #doctor-fu-manchu #npc-35584-35:checked ~ .sw-npc-edition-panels>#npc-35584-panel-35{
display:block!important;
}
#doctor-fu-manchu #npc-35584-55:checked ~ .sw-npc-edition-labels>label[for="npc-35584-55"], #doctor-fu-manchu #npc-35584-5e:checked ~ .sw-npc-edition-labels>label[for="npc-35584-5e"], #doctor-fu-manchu #npc-35584-pf1:checked ~ .sw-npc-edition-labels>label[for="npc-35584-pf1"], #doctor-fu-manchu #npc-35584-35:checked ~ .sw-npc-edition-labels>label[for="npc-35584-35"]{
background:#493b2c!important;
border-color:#dec18c!important;
color:#fff7e6!important;
}
#doctor-fu-manchu .sw-npc-edition-panel table{
border-collapse:collapse;
width:100%;
}
@media(max-width:800px){
#doctor-fu-manchu .sw-npc-edition-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
/* END SW NPC FIX */
/* --- WPWriter addition --- */
/* SW NPC layout + monster edition tabs | shared v2026-10-10
   Reusable for all .sw-npc-entry pages, no per-page styles. */
html body .sw-entry.sw-entry.sw-npc-entry{
display:block!important;
width:100%!important;
max-width:1200px!important;
min-width:0!important;
margin-inline:auto!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > :is(figure,p,section){
grid-column:1/-1!important;
width:100%!important;
min-width:0!important;
float:none!important;
clear:both!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > p{
display:block!important;
max-width:82ch!important;
margin:1rem auto!important;
columns:auto!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > section:not(.sw-glance):not(.sw-rules){
display:block!important;
grid-template-columns:none!important;
columns:auto!important;
width:100%!important;
max-width:100%!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > section:not(.sw-glance):not(.sw-rules) > :is(p,h2,h3,ul,ol){
display:block!important;
grid-column:1/-1!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
column-count:1!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > .sw-glance{
display:block!important;
grid-template-columns:none!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
flex:none!important;
columns:auto!important;
margin:1.5rem auto 2rem!important;
padding:1rem clamp(1rem,2.2vw,1.6rem)!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > .sw-glance > h2{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > .sw-glance > ul{
display:grid!important;
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:.3rem 1.5rem!important;
margin:0!important;
padding:0!important;
width:100%!important;
max-width:100%!important;
list-style:none!important;
}
html body .sw-entry.sw-entry.sw-npc-entry > .sw-glance > ul > li{
display:block!important;
grid-column:auto!important;
width:auto!important;
max-width:none!important;
min-width:0!important;
margin:0!important;
padding:.48rem .5rem!important;
word-break:normal!important;
overflow-wrap:normal!important;
hyphens:none!important;
border-bottom:1px solid rgba(190,185,192,.22);
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs{
display:block!important;
width:100%!important;
max-width:none!important;
grid-template-columns:none!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:.7rem!important;
width:100%!important;
max-width:none!important;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
min-height:48px!important;
text-align:center!important;
cursor:pointer!important;
white-space:normal!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > .sw-tab-panels{
display:block!important;
width:100%!important;
max-width:none!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
border:0!important;
overflow:hidden!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > input[id$="-55"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-55"], html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > input[id$="-2024"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2024"], html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > input[id$="-pf1"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf1"], html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > input[id$="-pf"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf"], html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > input[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.5rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid var(--sw-c-border,#55505e)!important;
border-top:3px solid var(--sw-c-link,#e6c68e)!important;
border-radius:8px!important;
background:var(--sw-c-panel,#1b1a20)!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs .sw-statblock{
width:100%!important;
max-width:none!important;
min-width:0!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs .sw-scroll{
overflow-x:auto!important;
max-width:100%!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs .sw-stat-table{
width:100%!important;
}
@media(max-width:720px){
html body .sw-entry.sw-entry.sw-npc-entry > .sw-glance > ul{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-entry.sw-npc-entry .sw-tabs.sw-monster-tabs > .sw-tab-labels{
grid-template-columns:1fr!important;
gap:.4rem!important;
}
}
/* --- WPWriter addition --- */
/* Witch spell workflow: edition panels without explicit IDs (2026-10-10).
   Keep the checked radio's corresponding panel visible; CSS-only, no per-page CSS. */
html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-of-type(1), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-of-type(2), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-of-type(3), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-of-type(4){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
overflow:visible!important;
padding:clamp(1rem, 2vw, 1.5rem)!important;
margin:0 0 1.4rem!important;
border:1px solid #55505e!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
/* --- WPWriter addition --- */
/* Si-Fan emblem: Fu Manchu identity block, 2026-10-10 */
#doctor-fu-manchu > .sw-identity-block{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
align-items:start!important;
gap:clamp(1rem,2vw,1.75rem)!important;
}
#doctor-fu-manchu > .sw-identity-block > .sw-at-a-glance, #doctor-fu-manchu > .sw-identity-block > .sw-npc-faction-emblem{
min-width:0!important;
width:100%!important;
margin:0!important;
}
#doctor-fu-manchu .sw-npc-faction-emblem figure{
margin:0!important;
text-align:center!important;
}
#doctor-fu-manchu .sw-npc-faction-emblem a{
display:block!important;
line-height:0!important;
}
#doctor-fu-manchu .sw-npc-faction-emblem img{
display:block!important;
width:100%!important;
max-width:460px!important;
aspect-ratio:1/1!important;
object-fit:contain!important;
height:auto!important;
margin:0 auto!important;
border-radius:.7rem!important;
}
#doctor-fu-manchu .sw-npc-faction-emblem figcaption{
padding:.7rem .3rem!important;
font-size:.92rem!important;
line-height:1.45!important;
}
@media(max-width:760px){
#doctor-fu-manchu > .sw-identity-block{
grid-template-columns:minmax(0,1fr)!important;
}
#doctor-fu-manchu .sw-npc-faction-emblem img{
max-width:350px!important;
}
}
/* End Fu Manchu emblem */
/* --- WPWriter addition --- */
/* SPIRALWORLDS NPC LAYOUT AND TABS REPAIR — 2026-10-10 */
html body .sw-entry.sw-entry.sw-npc-repaired{
display:block!important;
width:100%!important;
max-width:1200px!important;
min-width:0!important;
margin-inline:auto!important;
}
html body .sw-entry.sw-entry.sw-npc-repaired > :is(p,section,nav){
display:block!important;
grid-column:1/-1!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
columns:auto!important;
}
html body .sw-entry.sw-entry.sw-npc-repaired > p{
max-width:82ch!important;
margin-inline:auto!important;
}
html body .sw-entry.sw-npc-repaired .sw-npc-rules, html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs, html body .sw-entry.sw-npc-repaired .sw-tab-panels{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
clear:both;
box-sizing:border-box;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
overflow:hidden!important;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:is([id$="-55"],[id$="-2024"]):checked) > .sw-tab-panels > .sw-tab-panel:is([id$="-55"],[id$="-2024"]), html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:is([id$="-5e"],[id$="-2014"]):checked) > .sw-tab-panels > .sw-tab-panel:is([id$="-5e"],[id$="-2014"]), html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:is([id$="-pf"],[id$="-pf1"]):checked) > .sw-tab-panels > .sw-tab-panel:is([id$="-pf"],[id$="-pf1"]), html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio[id$="-35"]:checked) > .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
visibility:visible!important;
opacity:1!important;
height:auto!important;
overflow:visible!important;
padding:clamp(1rem,2vw,1.5rem)!important;
border:1px solid var(--sw-c-border,#55505e)!important;
border-radius:8px;
width:100%!important;
max-width:100%!important;
min-width:0!important;
box-sizing:border-box;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:.6rem;
width:100%!important;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:nth-of-type(4)) > .sw-tab-labels{
grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
html body .sw-entry.sw-npc-repaired .sw-tab-labels > label{
display:flex!important;
align-items:center;
justify-content:center;
min-height:48px!important;
padding:.6rem .8rem;
border:1px solid var(--sw-c-border,#55505e);
border-radius:6px;
min-width:0;
white-space:normal;
text-align:center;
cursor:pointer;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:focus-visible) > .sw-tab-labels{
outline:2px solid #e6c68e;
outline-offset:4px;
}
html body .sw-entry.sw-npc-repaired .sw-glance, html body .sw-entry.sw-npc-repaired .sw-identity-single, html body .sw-entry.sw-npc-repaired .sw-identity-block:has(> .sw-at-a-glance:only-child){
display:block!important;
float:none!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
box-sizing:border-box;
}
html body .sw-entry.sw-npc-repaired :is(.sw-glance,.sw-at-a-glance) > ul{
display:grid!important;
grid-template-columns:repeat(2,minmax(0,1fr));
column-count:1!important;
gap:.6rem 1.4rem;
margin:0;
padding:0;
list-style:none;
}
html body .sw-entry.sw-npc-repaired :is(.sw-glance,.sw-at-a-glance) > ul > li{
display:block!important;
min-width:0;
padding:.65rem .8rem;
overflow-wrap:anywhere;
}
html body .sw-entry.sw-npc-repaired :is(.sw-glance,.sw-at-a-glance) li > strong{
display:inline!important;
float:none!important;
}
html body .sw-entry.sw-npc-repaired .sw-hero{
float:none!important;
clear:both;
margin-left:auto!important;
margin-right:auto!important;
max-width:100%!important;
}
html body .sw-entry.sw-npc-repaired .sw-hero img{
display:block;
max-width:100%!important;
height:auto!important;
aspect-ratio:auto!important;
object-fit:contain!important;
}
html body .sw-entry.sw-npc-repaired .wp-block-table{
max-width:100%;
overflow-x:auto;
}
@media(max-width:780px){
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs > .sw-tab-labels, html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:nth-of-type(4)) > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:520px){
html body .sw-entry.sw-npc-repaired :is(.sw-glance,.sw-at-a-glance) > ul, html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs > .sw-tab-labels, html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input.sw-tab-radio:nth-of-type(4)) > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END SPIRALWORLDS NPC LAYOUT AND TABS REPAIR */
html body .sw-entry.sw-npc-repaired .sw-identity-block:has(> .sw-npc-faction-emblem){
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(220px,300px)!important;
align-items:start!important;
gap:1.5rem!important;
width:100%!important;
max-width:100%!important;
}
html body .sw-entry.sw-npc-repaired .sw-npc-faction-emblem{
width:100%!important;
max-width:300px!important;
margin-inline:auto!important;
}
html body .sw-entry.sw-npc-repaired .sw-npc-faction-emblem img{
width:100%!important;
height:auto!important;
max-width:100%!important;
object-fit:contain!important;
aspect-ratio:auto!important;
}
html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input[id$="-55"]:checked) label[for$="-55"], html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input[id$="-5e"]:checked) label[for$="-5e"], html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input[id$="-pf1"]:checked) label[for$="-pf1"], html body .sw-entry.sw-npc-repaired .sw-tabs.sw-npc-tabs:has(input[id$="-35"]:checked) label[for$="-35"]{
border-color:var(--sw-c-link,#e6c68e)!important;
background:var(--sw-c-panel,#1b1a20)!important;
font-weight:600!important;
}
@media(max-width:720px){
html body .sw-entry.sw-npc-repaired .sw-identity-block:has(> .sw-npc-faction-emblem){
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* John of Islay: show the existing single index H1 above the hero; Astra's duplicate page title is disabled. */
html body.page-id-249949 .entry-content > h1.sw-indexing-title{
display:block!important;
position:static!important;
float:none!important;
inset:auto!important;
clip:auto!important;
clip-path:none!important;
overflow:visible!important;
visibility:visible!important;
opacity:1!important;
transform:none!important;
width:calc(100% - 40px)!important;
max-width:1400px!important;
min-width:0!important;
height:auto!important;
max-height:none!important;
min-height:0!important;
padding:0!important;
margin:1.4rem auto 1.1rem!important;
color:#e6c68e!important;
font-family:"Cinzel", Georgia, serif!important;
font-size:clamp(1.65rem, 3vw, 2.55rem)!important;
font-weight:700!important;
line-height:1.25!important;
text-align:center!important;
text-indent:0!important;
white-space:normal!important;
letter-spacing:.012em!important;
}
@media (max-width: 600px) {
html body.page-id-249949 .entry-content > h1.sw-indexing-title{
width:calc(100% - 32px)!important;
margin-top:1rem!important;
margin-bottom:1rem!important;
}
}
/* --- WPWriter addition --- */
/* BEGIN SPIRALWORLDS SOLE H1 VISIBILITY — 2026-10-10 */
html body:not(.wp-admin) .entry-content.clear:not(:has(h1:not(.sw-indexing-title))) > h1.entry-title.sw-indexing-title, html body:not(.wp-admin) .entry-content:not(:has(h1:not(.sw-indexing-title))) > h1.entry-title.sw-indexing-title{
display:block!important;
visibility:visible!important;
position:static!important;
width:auto!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.25rem!important;
padding:0!important;
overflow:visible!important;
clip:auto!important;
clip-path:none!important;
white-space:normal!important;
border:0!important;
font-family:var(--sw-font-heading, "Cinzel", Georgia, serif)!important;
font-size:clamp(2rem, 4vw, 3rem);
line-height:1.15;
text-align:center;
}
/* END SPIRALWORLDS SOLE H1 VISIBILITY — 2026-10-10 */
/* --- WPWriter addition --- */
/* Witch Spell Lists: CSS-only edition-tab fallback for legacy panels without IDs.
   Scoped to spell entries; preserves the site's existing ID-based tab styling. */
html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-child(1), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-child(2), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-child(3), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-child(4){
display:block!important;
visibility:visible!important;
height:auto!important;
max-height:none!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid #55505e!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-child(1), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-child(2), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-child(3), html body .sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-child(4){
background:#e6c68e!important;
border-color:#e6c68e!important;
color:#17130c!important;
}
/* --- WPWriter addition --- */
/* British NPC tab compatibility: four edition panels without individual IDs.
   2026-10-11 — scoped to sw-npc pages only, no per-page CSS. */
html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(1), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(2), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(3), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(4){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
overflow:visible!important;
margin:0 0 1.4rem!important;
padding:1.25rem!important;
border:1px solid #48424c!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-child(1), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-child(2), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-child(3), html body .sw-entry.sw-npc .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-child(4){
border-color:#e6c68e!important;
color:#f4e4c8!important;
background:#322b28!important;
}
/* --- WPWriter addition --- */
/* EYEBITE: CSS migrated from its spell entry, October 2026; uses global stylesheet only. */
/* =========================================================
   SPIRALWORLDS — EYEBITE SPELL
   Standalone dark-theme CSS
   ========================================================= */
#sw-eyebite, #sw-eyebite *{
box-sizing:border-box;
}
#sw-eyebite{
--sw-bg: #111318;
--sw-panel: #181c23;
--sw-panel-2: #202630;
--sw-panel-3: #0d1015;
--sw-border: #3b4656;
--sw-border-soft: #2b333f;
--sw-text: #e8edf3;
--sw-muted: #b9c3cf;
--sw-faint: #8995a4;
--sw-link: #9fc8ff;
--sw-link-hover: #d4e8ff;
--sw-accent: #c7a7ff;
--sw-accent-2: #8e6ec7;
--sw-warning: #e8c77b;
--sw-radius: 14px;
--sw-shadow: 0 16px 42px rgba(0,0,0,.34);
width:100%;
max-width:100%;
margin:0 auto;
color:var(--sw-text);
font-size:17px;
line-height:1.72;
overflow-wrap:anywhere;
}
#sw-eyebite p, #sw-eyebite li, #sw-eyebite dd, #sw-eyebite td, #sw-eyebite th{
color:var(--sw-text);
}
#sw-eyebite h1, #sw-eyebite h2, #sw-eyebite h3, #sw-eyebite h4{
color:#fff;
line-height:1.2;
letter-spacing:-.018em;
margin-top:0;
}
#sw-eyebite h1{
font-size:clamp(2rem, 5vw, 3.35rem);
margin-bottom:.45rem;
}
#sw-eyebite h2{
font-size:clamp(1.55rem, 3vw, 2.15rem);
margin-bottom:1rem;
}
#sw-eyebite h3{
font-size:clamp(1.2rem, 2.4vw, 1.55rem);
margin-bottom:.7rem;
}
#sw-eyebite h4{
font-size:1.06rem;
margin-bottom:.45rem;
}
#sw-eyebite a{
color:var(--sw-link);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:3px;
}
#sw-eyebite a:hover, #sw-eyebite a:focus{
color:var(--sw-link-hover);
}
#sw-eyebite strong{
color:#fff;
}
#sw-eyebite .sw-lead{
max-width:920px;
margin:0 0 1.1rem;
font-size:1.1rem;
color:#dbe2eb;
}
#sw-eyebite .sw-opening{
max-width:920px;
margin-bottom:1.6rem;
}
#sw-eyebite .sw-opening p{
margin:0 0 .85rem;
}
#sw-eyebite .sw-section{
margin:2.7rem 0;
scroll-margin-top:90px;
}
#sw-eyebite .sw-section-head{
margin-bottom:1.15rem;
}
#sw-eyebite .sw-kicker{
display:block;
margin-bottom:.35rem;
color:var(--sw-accent);
font-size:.78rem;
font-weight:800;
letter-spacing:.11em;
text-transform:uppercase;
}
/* ---------- Images ---------- */
#sw-eyebite .sw-figure{
width:min(100%, 1100px);
margin:1.5rem auto 2.2rem;
}
#sw-eyebite .sw-figure.sw-legacy{
width:min(100%, 650px);
}
#sw-eyebite .sw-image-toggle{
position:absolute;
opacity:0;
pointer-events:none;
}
#sw-eyebite .sw-image-open{
display:block;
cursor:zoom-in;
}
#sw-eyebite .sw-image-open img, #sw-eyebite .sw-image-overlay img{
display:block;
width:100%;
height:auto;
max-width:100%;
margin:0;
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
box-shadow:var(--sw-shadow);
object-fit:contain;
}
#sw-eyebite .sw-hero .sw-image-open img{
aspect-ratio:16 / 9;
object-fit:cover;
}
#sw-eyebite figcaption{
margin-top:.7rem;
color:var(--sw-muted);
font-size:.9rem;
line-height:1.55;
text-align:center;
}
#sw-eyebite .sw-image-overlay{
display:none;
position:fixed;
z-index:999999;
inset:0;
padding:3vh 3vw;
background:rgba(3,5,8,.94);
cursor:zoom-out;
align-items:center;
justify-content:center;
}
#sw-eyebite .sw-image-overlay span{
display:block;
width:min(96vw, 1500px);
max-height:94vh;
}
#sw-eyebite .sw-image-overlay img{
max-height:88vh;
width:auto;
max-width:100%;
margin:auto;
border-radius:8px;
}
#sw-eyebite .sw-image-overlay small{
display:block;
margin-top:.6rem;
color:#d9dfe7;
text-align:center;
}
#sw-eyebite #sw-eyebite-hero-toggle:checked ~ .sw-image-overlay, #sw-eyebite #sw-eyebite-legacy-toggle:checked ~ .sw-image-overlay{
display:flex;
}
/* ---------- Cards / callouts ---------- */
#sw-eyebite .sw-callout{
margin:1.15rem 0;
padding:1rem 1.15rem;
background:var(--sw-panel-3);
border:1px solid var(--sw-border);
border-left:4px solid var(--sw-accent-2);
border-radius:10px;
}
#sw-eyebite .sw-callout p:last-child{
margin-bottom:0;
}
#sw-eyebite .sw-warning{
border-left-color:var(--sw-warning);
}
#sw-eyebite .sw-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0,1fr));
gap:1rem;
}
#sw-eyebite .sw-card{
padding:1.1rem 1.15rem;
background:var(--sw-panel);
border:1px solid var(--sw-border-soft);
border-radius:12px;
}
/* ---------- CSS-only tabs ---------- */
#sw-eyebite .sw-tabs{
position:relative;
margin-top:1.2rem;
}
#sw-eyebite .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}
#sw-eyebite .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4, minmax(0,1fr));
gap:.45rem;
margin-bottom:.75rem;
}
#sw-eyebite .sw-tab-labels label{
display:flex;
min-height:54px;
align-items:center;
justify-content:center;
padding:.75rem .8rem;
background:#151a21;
border:1px solid var(--sw-border);
border-radius:10px 10px 4px 4px;
color:#d5dde7;
font-weight:800;
line-height:1.25;
text-align:center;
cursor:pointer;
}
#sw-eyebite #sw-eyebite-tab-55:checked ~ .sw-tab-labels label[for="sw-eyebite-tab-55"], #sw-eyebite #sw-eyebite-tab-2014:checked ~ .sw-tab-labels label[for="sw-eyebite-tab-2014"], #sw-eyebite #sw-eyebite-tab-pf:checked ~ .sw-tab-labels label[for="sw-eyebite-tab-pf"], #sw-eyebite #sw-eyebite-tab-35:checked ~ .sw-tab-labels label[for="sw-eyebite-tab-35"]{
background:#2a2339;
border-color:#8f75bb;
color:#fff;
box-shadow:inset 0 -3px 0 var(--sw-accent);
}
#sw-eyebite .sw-tab-panel{
display:none;
padding:clamp(1rem, 3vw, 1.6rem);
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:0 0 var(--sw-radius) var(--sw-radius);
box-shadow:var(--sw-shadow);
}
#sw-eyebite #sw-eyebite-tab-55:checked ~ .sw-tab-panels #sw-eyebite-panel-55, #sw-eyebite #sw-eyebite-tab-2014:checked ~ .sw-tab-panels #sw-eyebite-panel-2014, #sw-eyebite #sw-eyebite-tab-pf:checked ~ .sw-tab-panels #sw-eyebite-panel-pf, #sw-eyebite #sw-eyebite-tab-35:checked ~ .sw-tab-panels #sw-eyebite-panel-35{
display:block;
}
/* ---------- Stat grids ---------- */
#sw-eyebite .sw-stat-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0,1fr));
gap:.65rem;
margin:1rem 0 1.35rem;
}
#sw-eyebite .sw-stat{
min-width:0;
padding:.8rem .85rem;
background:var(--sw-panel-2);
border:1px solid var(--sw-border-soft);
border-radius:9px;
}
#sw-eyebite .sw-stat dt{
margin:0 0 .2rem;
color:var(--sw-faint);
font-size:.74rem;
font-weight:800;
letter-spacing:.07em;
text-transform:uppercase;
}
#sw-eyebite .sw-stat dd{
margin:0;
font-weight:650;
line-height:1.4;
}
/* ---------- Effect blocks ---------- */
#sw-eyebite .sw-effects{
display:grid;
grid-template-columns:repeat(3, minmax(0,1fr));
gap:.8rem;
margin:1rem 0 1.3rem;
}
#sw-eyebite .sw-effect{
padding:1rem;
background:#131820;
border:1px solid var(--sw-border-soft);
border-radius:10px;
}
/* ---------- Tables ---------- */
#sw-eyebite .sw-table-wrap{
width:100%;
margin:1rem 0 1.35rem;
overflow-x:auto;
border:1px solid var(--sw-border);
border-radius:10px;
}
#sw-eyebite table{
width:100%;
min-width:650px;
margin:0;
border-collapse:collapse;
background:var(--sw-panel);
}
#sw-eyebite th, #sw-eyebite td{
padding:.78rem .85rem;
border-right:1px solid var(--sw-border-soft);
border-bottom:1px solid var(--sw-border-soft);
vertical-align:top;
text-align:left;
}
#sw-eyebite th{
background:#252b35;
color:#fff;
font-weight:800;
}
/* ---------- Rulings ---------- */
#sw-eyebite .sw-ruling{
padding:.95rem 0;
border-bottom:1px solid var(--sw-border-soft);
}
#sw-eyebite .sw-ruling:last-child{
border-bottom:0;
}
#sw-eyebite .sw-ruling p{
margin:0;
}
/* ---------- Related ---------- */
#sw-eyebite .sw-related-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0,1fr));
gap:.8rem;
}
#sw-eyebite .sw-related{
display:block;
height:100%;
padding:1rem;
background:var(--sw-panel);
border:1px solid var(--sw-border-soft);
border-radius:10px;
text-decoration:none;
}
#sw-eyebite .sw-related strong{
display:block;
margin-bottom:.25rem;
color:#fff;
}
#sw-eyebite .sw-related span{
display:block;
color:var(--sw-muted);
font-size:.9rem;
line-height:1.45;
}
/* ---------- Sources / licence ---------- */
#sw-eyebite .sw-sources{
padding:1.25rem;
background:#0d1117;
border:1px solid var(--sw-border);
border-radius:var(--sw-radius);
}
#sw-eyebite .sw-license{
margin-top:1rem;
padding-top:1rem;
border-top:1px solid var(--sw-border-soft);
color:var(--sw-muted);
font-size:.91rem;
}
#sw-eyebite .sw-ogl{
margin-top:1rem;
background:#0a0e13;
border:1px solid var(--sw-border-soft);
border-radius:10px;
overflow:hidden;
}
#sw-eyebite .sw-ogl summary{
padding:.9rem 1rem;
background:#151a21;
color:#fff;
font-weight:800;
cursor:pointer;
}
#sw-eyebite .sw-ogl summary:hover, #sw-eyebite .sw-ogl summary:focus{
background:#202632;
}
#sw-eyebite .sw-ogl-body{
padding:1rem;
color:var(--sw-muted);
font-size:.86rem;
line-height:1.6;
}
#sw-eyebite .sw-ogl-body p, #sw-eyebite .sw-ogl-body li{
color:var(--sw-muted);
}
/* ---------- Responsive ---------- */
@media (max-width: 820px) {
#sw-eyebite .sw-stat-grid, #sw-eyebite .sw-effects, #sw-eyebite .sw-related-grid{
grid-template-columns:repeat(2, minmax(0,1fr));
}
#sw-eyebite .sw-grid{
grid-template-columns:1fr;
}
}
@media (max-width: 620px) {
#sw-eyebite{
font-size:16px;
line-height:1.65;
}
#sw-eyebite .sw-tab-labels, #sw-eyebite .sw-stat-grid, #sw-eyebite .sw-effects, #sw-eyebite .sw-related-grid{
grid-template-columns:1fr;
}
#sw-eyebite .sw-tab-panel{
border-radius:10px;
}
}
/* --- WPWriter addition --- */
/* British NPC four-edition panel fallback — robust against WordPress wpautop radio wrapping.
   Scoped to ID-less panels; original NPC tabs with named panels are unchanged. */
html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-55"]:checked) > .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(1), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-14"]:checked) > .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(2), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-pf"]:checked) > .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(3), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-35"]:checked) > .sw-tab-panels > .sw-tab-panel:not([id]):nth-child(4){
display:block!important;
visibility:visible!important;
height:auto!important;
overflow:visible!important;
margin:0 0 1.4rem!important;
padding:1.25rem!important;
border:1px solid #48424c!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-55"]:checked) > .sw-tab-labels > label:nth-child(1), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-14"]:checked) > .sw-tab-labels > label:nth-child(2), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-pf"]:checked) > .sw-tab-labels > label:nth-child(3), html body .sw-entry.sw-npc .sw-tabs:has(input.sw-tab-radio[id$="-35"]:checked) > .sw-tab-labels > label:nth-child(4){
background:#322b28!important;
border-color:#e6c68e!important;
color:#f4e4c8!important;
}
/* --- WPWriter addition --- */
/* British NPC hero portraits and four-across directory gallery — 2026-10-11 */
.sw-entry.sw-npc > .sw-npc-hero{
max-width:700px;
margin:1rem auto 1.75rem;
text-align:center;
}
.sw-entry.sw-npc > .sw-npc-hero img{
display:block;
width:100%;
height:auto;
aspect-ratio:1/1;
object-fit:cover;
border-radius:12px;
}
.sw-npc-directory .sw-british-new-npc-gallery{
margin:1.25rem 0 2rem;
}
.sw-npc-directory .sw-new-npc-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:1rem;
}
.sw-npc-directory .sw-new-npc-tile{
display:block;
text-decoration:none;
background:#1d1c22;
border:1px solid #514638;
border-radius:10px;
overflow:hidden;
color:#f2e7d7;
transition:border-color .2s ease;
}
.sw-npc-directory .sw-new-npc-tile:hover,.sw-npc-directory .sw-new-npc-tile:focus-visible{
border-color:#d8b777;
}
.sw-npc-directory .sw-new-npc-tile img{
display:block;
width:100%;
aspect-ratio:1/1;
height:auto;
object-fit:cover;
}
.sw-npc-directory .sw-new-npc-name{
display:block;
padding:.7rem .6rem .8rem;
text-align:center;
font-family:Cinzel,Georgia,serif;
font-size:.88rem;
line-height:1.4;
font-weight:600;
}
@media(max-width:900px){
.sw-npc-directory .sw-new-npc-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media(max-width:480px){
.sw-npc-directory .sw-new-npc-grid{
gap:.6rem;
}
.sw-npc-directory .sw-new-npc-name{
font-size:.76rem;
padding:.6rem .3rem;
}
}
/* --- WPWriter addition --- */
/* British NPC alphabetical directory additions; follows existing four-across painted card grid. */
.sw-npc-directory .sw-npc-a-z-additions{
margin:1.1rem 0 1.75rem;
}
.sw-npc-directory .sw-npc-a-z-additions .sw-new-npc-tile{
display:flex;
flex-direction:column;
}
.sw-npc-directory .sw-npc-a-z-additions .sw-new-npc-name{
padding:.65rem .6rem .15rem;
}
.sw-npc-directory .sw-npc-a-z-additions .sw-new-npc-desc{
display:block;
text-align:center;
padding:0 .65rem .75rem;
color:#d8ccbd;
font-size:.78rem;
line-height:1.45;
}
.sw-npc-directory .sw-npc-a-z-additions .sw-new-npc-tile img{
display:block;
width:100%;
height:auto;
aspect-ratio:1/1;
object-fit:cover;
}
/* --- WPWriter addition --- */
.sw-entry .sw-faction-identity{
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
gap:1.5rem;
align-items:start;
margin:2rem auto;
max-width:930px;
}
html body:not(.wp-admin) .sw-entry.sw-entry .sw-faction-identity > section.sw-glance{
margin:0!important;
min-width:0;
max-width:none;
width:auto;
box-sizing:border-box;
}
.sw-entry .sw-faction-identity > .sw-faction-symbol{
margin:0;
min-width:0;
width:100%;
max-width:none;
}
.sw-entry .sw-faction-symbol > a{
display:block;
}
.sw-entry .sw-faction-symbol img{
display:block;
float:none;
width:100%;
max-width:100%;
height:auto;
max-height:none;
object-fit:contain;
pointer-events:none;
}
.sw-entry .sw-faction-symbol figcaption{
margin-top:.65rem;
font-size:.95rem;
line-height:1.5;
}
@media (max-width: 760px) {
.sw-entry .sw-faction-identity{
grid-template-columns:minmax(0, 1fr);
gap:1.25rem;
}
}
/* SW NPC RADIO TABS: edition-independent checked-panel lock, 2026-10-11.
   Supports -14, -2014, unnamed panel IDs, and 3- or 4-edition groups.
   Selectors are position-matched to direct sibling radios and panels. */
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > section.sw-tab-panel:nth-child(1), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > section.sw-tab-panel:nth-child(2), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > section.sw-tab-panel:nth-child(3), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > section.sw-tab-panel:nth-child(4){
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid #55505e!important;
border-top:3px solid #e6c68e!important;
border-radius:8px!important;
background:#1b1a20!important;
color:#e8e6eb!important;
}
html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-child(1), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-child(2), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-child(3), html body .sw-entry.sw-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-child(4){
background:#493b29!important;
color:#fff6e4!important;
border-color:#e6c68e!important;
box-shadow:inset 0 -3px 0 #e6c68e!important;
}
@media (max-width:760px) {
html body .sw-entry.sw-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
/* SW ARCANE SIGHT: migrated contained layout, 2026-10-11 */
#arcane-sight.sw-entry{
--sw-bg: #ffffff;
--sw-panel: #f7f5f0;
--sw-panel-strong: #eee9df;
--sw-text: #22252a;
--sw-muted: #5b626b;
--sw-border: #d8d1c4;
--sw-accent: #493d87;
--sw-accent-2: #245d72;
--sw-link: #245f91;
--sw-link-hover: #173f62;
--sw-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
box-sizing:border-box;
color:var(--sw-text);
background:var(--sw-bg);
line-height:1.68;
}
#arcane-sight *, #arcane-sight *::before, #arcane-sight *::after{
box-sizing:border-box;
}
#arcane-sight a{
color:var(--sw-link);
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:0.15em;
}
#arcane-sight a:hover, #arcane-sight a:focus{
color:var(--sw-link-hover);
}
#arcane-sight img{
max-width:100%;
height:auto;
}
#arcane-sight h1, #arcane-sight h2, #arcane-sight h3, #arcane-sight h4{
line-height:1.22;
color:var(--sw-text);
}
#arcane-sight h1{
margin:0.15rem 0 1.2rem;
font-size:clamp(2.2rem, 5vw, 4rem);
letter-spacing:-0.035em;
}
#arcane-sight h2{
margin-top:2.8rem;
margin-bottom:1rem;
font-size:clamp(1.55rem, 3vw, 2.15rem);
}
#arcane-sight h3{
margin-top:2rem;
margin-bottom:0.65rem;
font-size:clamp(1.2rem, 2vw, 1.5rem);
}
#arcane-sight h4{
margin-top:1.45rem;
margin-bottom:0.5rem;
font-size:1.08rem;
}
#arcane-sight p{
margin:0 0 1.1rem;
}
#arcane-sight ul, #arcane-sight ol{
margin-top:0.6rem;
margin-bottom:1.25rem;
padding-left:1.35rem;
}
#arcane-sight li + li{
margin-top:0.5rem;
}
#arcane-sight .sw-kicker{
max-width:860px;
margin:0 auto 0.4rem;
color:var(--sw-muted);
font-size:0.9rem;
font-weight:700;
letter-spacing:0.06em;
text-transform:uppercase;
}
#arcane-sight .sw-title-wrap{
max-width:860px;
margin:0 auto;
}
#arcane-sight .sw-prose{
max-width:860px;
margin-left:auto;
margin-right:auto;
}
#arcane-sight .sw-wide{
max-width:1020px;
margin-left:auto;
margin-right:auto;
}
#arcane-sight .sw-hero{
max-width:960px;
margin:0 auto 1.7rem;
}
#arcane-sight .sw-hero a{
display:block;
border-radius:14px;
overflow:hidden;
background:#111;
box-shadow:var(--sw-shadow);
}
#arcane-sight .sw-hero img{
display:block;
width:100%;
max-height:720px;
object-fit:cover;
}
#arcane-sight .sw-hero figcaption{
max-width:860px;
margin:0.65rem auto 0;
color:var(--sw-muted);
font-size:0.92rem;
text-align:center;
}
#arcane-sight .sw-lightbox{
position:fixed;
inset:0;
z-index:99999;
display:none;
align-items:center;
justify-content:center;
padding:24px;
background:rgba(0, 0, 0, 0.93);
text-decoration:none!important;
}
#arcane-sight .sw-lightbox:target{
display:flex;
}
#arcane-sight .sw-lightbox img{
display:block;
max-width:min(94vw, 1500px);
max-height:90vh;
width:auto;
height:auto;
object-fit:contain;
box-shadow:0 24px 70px rgba(0, 0, 0, 0.45);
}
#arcane-sight .sw-lightbox-close{
position:fixed;
top:16px;
right:22px;
color:#fff;
font:700 2rem/1 sans-serif;
}
#arcane-sight .sw-lead{
max-width:860px;
margin:0 auto 1.4rem;
font-size:1.08rem;
}
#arcane-sight .sw-quick-answer{
max-width:860px;
margin:1.5rem auto 2rem;
padding:1.15rem 1.25rem;
border-left:4px solid var(--sw-accent);
border-radius:8px;
background:var(--sw-panel);
}
#arcane-sight .sw-quick-answer strong{
color:var(--sw-text);
}
#arcane-sight .sw-edition-snapshot{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:14px;
max-width:1020px;
margin:1.4rem auto 2.2rem;
}
#arcane-sight .sw-snapshot-card{
padding:1.15rem;
border:1px solid var(--sw-border);
border-radius:12px;
background:var(--sw-panel);
}
#arcane-sight .sw-snapshot-card h3{
margin:0 0 0.45rem;
font-size:1.05rem;
}
#arcane-sight .sw-snapshot-card p{
margin:0;
color:var(--sw-muted);
font-size:0.95rem;
}
#arcane-sight .sw-tabs{
position:relative;
max-width:1020px;
margin:1.5rem auto 2.5rem;
}
#arcane-sight .sw-tab-radio{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0, 0, 0, 0)!important;
white-space:nowrap!important;
border:0!important;
}
#arcane-sight .sw-tab-labels{
display:flex;
flex-wrap:wrap;
gap:8px;
padding-bottom:10px;
}
#arcane-sight .sw-tab-labels label{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:0.65rem 1rem;
border:1px solid var(--sw-border);
border-radius:9px 9px 0 0;
background:var(--sw-panel);
color:var(--sw-text);
font-weight:700;
cursor:pointer;
}
#arcane-sight #arcane-sight-tab-55:checked ~ .sw-tab-labels label[for="arcane-sight-tab-55"], #arcane-sight #arcane-sight-tab-pf:checked ~ .sw-tab-labels label[for="arcane-sight-tab-pf"], #arcane-sight #arcane-sight-tab-35:checked ~ .sw-tab-labels label[for="arcane-sight-tab-35"]{
background:var(--sw-accent);
border-color:var(--sw-accent);
color:#fff;
}
#arcane-sight #arcane-sight-tab-55:focus-visible ~ .sw-tab-labels label[for="arcane-sight-tab-55"], #arcane-sight #arcane-sight-tab-pf:focus-visible ~ .sw-tab-labels label[for="arcane-sight-tab-pf"], #arcane-sight #arcane-sight-tab-35:focus-visible ~ .sw-tab-labels label[for="arcane-sight-tab-35"]{
outline:3px solid currentColor;
outline-offset:3px;
}
#arcane-sight .sw-panel{
display:none;
padding:clamp(1rem, 3vw, 1.7rem);
border:1px solid var(--sw-border);
border-radius:0 12px 12px 12px;
background:var(--sw-bg);
box-shadow:var(--sw-shadow);
}
#arcane-sight #arcane-sight-tab-55:checked ~ .sw-panels .sw-panel-55, #arcane-sight #arcane-sight-tab-pf:checked ~ .sw-panels .sw-panel-pf, #arcane-sight #arcane-sight-tab-35:checked ~ .sw-panels .sw-panel-35{
display:block;
}
#arcane-sight .sw-edition-note{
margin-bottom:1.2rem;
padding:0.85rem 1rem;
border-radius:8px;
background:var(--sw-panel);
color:var(--sw-muted);
font-size:0.94rem;
}
#arcane-sight .sw-edition-note strong{
color:var(--sw-text);
}
#arcane-sight .sw-stat-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:0;
margin:1rem 0 1.4rem;
border:1px solid var(--sw-border);
border-radius:10px;
overflow:hidden;
}
#arcane-sight .sw-stat{
padding:0.75rem 0.9rem;
border-bottom:1px solid var(--sw-border);
background:var(--sw-panel);
}
#arcane-sight .sw-stat:nth-child(odd){
border-right:1px solid var(--sw-border);
}
#arcane-sight .sw-stat strong{
display:block;
margin-bottom:0.12rem;
font-size:0.82rem;
letter-spacing:0.035em;
text-transform:uppercase;
}
#arcane-sight .sw-rule-box{
margin:1.2rem 0;
padding:1rem 1.1rem;
border:1px solid var(--sw-border);
border-radius:10px;
background:var(--sw-panel);
}
#arcane-sight .sw-rule-box h4:first-child{
margin-top:0;
}
#arcane-sight .sw-table-wrap{
width:100%;
margin:1.2rem 0 1.5rem;
overflow-x:auto;
}
#arcane-sight .sw-table{
width:100%;
min-width:620px;
border-collapse:collapse;
border:1px solid var(--sw-border);
background:var(--sw-bg);
}
#arcane-sight .sw-table th, #arcane-sight .sw-table td{
padding:0.75rem;
border:1px solid var(--sw-border);
text-align:left;
vertical-align:top;
}
#arcane-sight .sw-table th{
background:var(--sw-panel-strong);
font-weight:700;
}
#arcane-sight .sw-card-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
margin:1.2rem 0 1.8rem;
}
#arcane-sight .sw-card{
padding:1.1rem;
border:1px solid var(--sw-border);
border-radius:11px;
background:var(--sw-panel);
}
#arcane-sight .sw-card h3, #arcane-sight .sw-card h4{
margin-top:0;
}
#arcane-sight .sw-card p:last-child{
margin-bottom:0;
}
#arcane-sight .sw-faq details, #arcane-sight .sw-license{
margin:0 0 0.75rem;
border:1px solid var(--sw-border);
border-radius:9px;
background:var(--sw-panel);
}
#arcane-sight .sw-faq summary, #arcane-sight .sw-license summary{
padding:0.9rem 1rem;
font-weight:700;
cursor:pointer;
}
#arcane-sight .sw-faq details > div, #arcane-sight .sw-license-body{
padding:0 1rem 1rem;
}
#arcane-sight .sw-license-body{
font-size:0.91rem;
}
#arcane-sight .sw-small{
color:var(--sw-muted);
font-size:0.9rem;
}
@media (max-width: 760px) {
#arcane-sight.sw-entry{
width:calc(100% - 20px);
}
#arcane-sight .sw-edition-snapshot, #arcane-sight .sw-card-grid, #arcane-sight .sw-stat-grid{
grid-template-columns:1fr;
}
#arcane-sight .sw-stat:nth-child(odd){
border-right:0;
}
#arcane-sight .sw-tab-labels{
display:grid;
grid-template-columns:1fr;
}
#arcane-sight .sw-tab-labels label{
border-radius:8px;
}
#arcane-sight .sw-panel{
border-radius:10px;
}
}
@media (prefers-color-scheme: dark) {
#arcane-sight.sw-entry{
--sw-bg: #17191d;
--sw-panel: #202329;
--sw-panel-strong: #292d34;
--sw-text: #f1f2f4;
--sw-muted: #c0c4cb;
--sw-border: #3c424b;
--sw-accent: #8e81d0;
--sw-accent-2: #74b4ce;
--sw-link: #8fc9f3;
--sw-link-hover: #c2e3fa;
--sw-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}
}
#arcane-sight #arcane-sight-tab-2014:checked ~ .sw-tab-labels label[for="arcane-sight-tab-2014"]{
background:var(--sw-accent);
border-color:var(--sw-accent);
color:#fff;
}
#arcane-sight #arcane-sight-tab-2014:focus-visible ~ .sw-tab-labels label[for="arcane-sight-tab-2014"]{
outline:3px solid currentColor;
outline-offset:3px;
}
#arcane-sight #arcane-sight-tab-2014:checked ~ .sw-panels .sw-panel-2014{
display:block;
}
#arcane-sight .sw-entry h1, #arcane-sight h1, #arcane-sight h2, #arcane-sight h3, #arcane-sight h4{
font-family:Cinzel, Georgia, serif;
}
#arcane-sight .sw-panel{
display:none!important;
}
#arcane-sight #arcane-sight-tab-55:checked ~ .sw-panels .sw-panel-55, #arcane-sight #arcane-sight-tab-2014:checked ~ .sw-panels .sw-panel-2014, #arcane-sight #arcane-sight-tab-pf:checked ~ .sw-panels .sw-panel-pf, #arcane-sight #arcane-sight-tab-35:checked ~ .sw-panels .sw-panel-35{
display:block!important;
}
/* SW ARCANE LOCK: migrated contained layout, 2026-10-11 */
#sw-arcane-lock-top{
--sw-text: #e7e2da;
--sw-heading: #fff8ed;
--sw-muted: #bdb5aa;
--sw-bg: #17171c;
--sw-panel: #222228;
--sw-panel-2: #2b2b32;
--sw-border: #4f4f59;
--sw-accent: #d6a34d;
--sw-accent-strong: #f0c46e;
--sw-link: #e6ad49;
--sw-link-hover: #ffd47d;
--sw-focus: #f3ca71;
margin:0 auto;
color:var(--sw-text)!important;
font-size:1rem;
line-height:1.72;
}
#sw-arcane-lock-top p, #sw-arcane-lock-top li, #sw-arcane-lock-top dd, #sw-arcane-lock-top dt, #sw-arcane-lock-top span, #sw-arcane-lock-top div, #sw-arcane-lock-top section, #sw-arcane-lock-top fieldset, #sw-arcane-lock-top figcaption{
color:var(--sw-text);
}
#sw-arcane-lock-top p, #sw-arcane-lock-top li, #sw-arcane-lock-top dd{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top p{
margin:0 0 1.15rem;
}
#sw-arcane-lock-top h2, #sw-arcane-lock-top h3, #sw-arcane-lock-top h4{
color:var(--sw-heading)!important;
line-height:1.25;
text-wrap:balance;
}
#sw-arcane-lock-top h2{
margin:2.6rem 0 1rem;
font-size:clamp(1.55rem, 2.3vw, 2.05rem);
font-weight:750;
}
#sw-arcane-lock-top h3{
margin:2rem 0 .8rem;
font-size:clamp(1.2rem, 1.8vw, 1.48rem);
font-weight:750;
}
#sw-arcane-lock-top h4{
margin:1.45rem 0 .55rem;
font-size:1.08rem;
font-weight:750;
}
#sw-arcane-lock-top strong, #sw-arcane-lock-top b{
color:inherit;
}
#sw-arcane-lock-top a, #sw-arcane-lock-top a:visited, #sw-arcane-lock-top a strong, #sw-arcane-lock-top strong a{
color:var(--sw-link)!important;
font-weight:700;
text-decoration:underline!important;
text-decoration-thickness:.08em!important;
text-underline-offset:.17em;
}
#sw-arcane-lock-top a:hover, #sw-arcane-lock-top a:focus, #sw-arcane-lock-top a:hover strong, #sw-arcane-lock-top a:focus strong{
color:var(--sw-link-hover)!important;
text-decoration-thickness:.12em!important;
}
#sw-arcane-lock-top a:focus-visible, #sw-arcane-lock-top summary:focus-visible, #sw-arcane-lock-top label:focus-visible{
outline:3px solid var(--sw-focus);
outline-offset:3px;
}
#sw-arcane-lock-top-header{
margin:0 0 1.35rem;
}
#sw-arcane-lock-top-title{
margin:0 0 .45rem!important;
color:var(--sw-heading)!important;
font-size:clamp(2rem, 4vw, 3.15rem)!important;
font-weight:800!important;
line-height:1.08!important;
letter-spacing:-.025em;
text-wrap:balance;
}
#sw-arcane-lock-top .sw-kicker{
margin:0 0 .85rem!important;
color:var(--sw-muted)!important;
font-size:.92rem;
font-weight:750;
letter-spacing:.055em;
text-transform:uppercase;
}
#sw-arcane-lock-top-header .sw-kicker{
margin:0!important;
}
#sw-arcane-lock-top .sw-lede{
max-width:1050px;
margin:1.2rem auto 1.7rem!important;
color:var(--sw-text)!important;
font-size:clamp(1.08rem, 1.5vw, 1.22rem);
line-height:1.72;
}
#sw-arcane-lock-top .sw-flavour{
max-width:960px;
margin:1.3rem auto 0!important;
color:var(--sw-muted)!important;
font-size:1.08rem;
font-style:italic;
text-align:center;
}
#sw-arcane-lock-top .sw-figure{
margin:1.5rem 0 2rem;
}
#sw-arcane-lock-top .sw-figure img{
display:block;
width:100%;
height:auto;
border-radius:8px;
}
#sw-arcane-lock-top .sw-figure figcaption{
margin-top:.65rem;
color:var(--sw-muted)!important;
font-size:.9rem;
line-height:1.5;
text-align:center;
}
#sw-arcane-lock-top .sw-lightbox-trigger{
display:block;
border-radius:8px;
cursor:zoom-in;
}
#sw-arcane-lock-top .sw-lightbox-trigger:focus-visible{
outline:4px solid var(--sw-focus);
outline-offset:4px;
}
#sw-arcane-lock-top .sw-lightbox{
display:none;
position:fixed;
inset:0;
z-index:999999;
padding:clamp(16px, 4vw, 48px);
background:rgba(0,0,0,.94);
overflow:auto;
}
#sw-arcane-lock-top .sw-lightbox:target{
display:grid;
place-items:center;
}
#sw-arcane-lock-top .sw-lightbox-backdrop{
display:grid!important;
width:100%;
min-height:100%;
place-items:center;
color:#fff!important;
text-decoration:none!important;
cursor:zoom-out;
}
#sw-arcane-lock-top .sw-lightbox-inner{
display:grid;
gap:.7rem;
justify-items:center;
max-width:1500px;
width:100%;
}
#sw-arcane-lock-top .sw-lightbox-inner img{
display:block;
max-width:min(100%, 1500px);
max-height:86vh;
width:auto;
height:auto;
border-radius:5px;
}
#sw-arcane-lock-top .sw-lightbox-close-text{
color:#fff!important;
font-size:.95rem;
font-weight:700;
text-align:center;
}
#sw-arcane-lock-top .sw-quick-rules{
margin:1.8rem 0 2.4rem;
padding:clamp(1.1rem, 2.5vw, 1.6rem);
background:var(--sw-panel)!important;
border:1px solid var(--sw-border);
border-radius:10px;
}
#sw-arcane-lock-top .sw-quick-rules h2{
margin-top:0;
}
#sw-arcane-lock-top .sw-quick-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
}
#sw-arcane-lock-top .sw-quick-item{
padding:.3rem .25rem;
}
#sw-arcane-lock-top .sw-quick-item strong{
display:block;
margin-bottom:.25rem;
color:var(--sw-heading)!important;
font-size:.97rem;
}
#sw-arcane-lock-top .sw-quick-item span{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-rules{
margin:2rem 0 2.5rem;
}
#sw-arcane-lock-top .sw-tabset{
min-inline-size:0;
margin:0;
padding:0;
border:0;
}
#sw-arcane-lock-top .sw-tab-labels{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:6px;
margin-bottom:0;
}
#sw-arcane-lock-top .sw-tab-labels label{
display:flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:.7rem .85rem;
background:var(--sw-panel-2)!important;
border:1px solid var(--sw-border);
border-bottom:0;
border-radius:8px 8px 0 0;
color:var(--sw-text)!important;
font-weight:800;
line-height:1.25;
text-align:center;
cursor:pointer;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-55:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-55"], #sw-arcane-lock-top #sw-arcane-lock-tab-pf:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-pf"], #sw-arcane-lock-top #sw-arcane-lock-tab-35:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-35"]{
background:var(--sw-bg)!important;
border-top:4px solid var(--sw-accent);
color:var(--sw-accent-strong)!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-55:focus-visible ~ .sw-tab-labels label[for="sw-arcane-lock-tab-55"], #sw-arcane-lock-top #sw-arcane-lock-tab-pf:focus-visible ~ .sw-tab-labels label[for="sw-arcane-lock-tab-pf"], #sw-arcane-lock-top #sw-arcane-lock-tab-35:focus-visible ~ .sw-tab-labels label[for="sw-arcane-lock-tab-35"]{
outline:3px solid var(--sw-focus);
outline-offset:2px;
}
#sw-arcane-lock-top .sw-tab-panels{
background:var(--sw-bg)!important;
border:1px solid var(--sw-border);
border-radius:0 0 10px 10px;
}
#sw-arcane-lock-top .sw-tab-panel{
padding:clamp(1rem, 3vw, 2rem);
color:var(--sw-text)!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-55:checked ~ .sw-tab-panels #sw-arcane-lock-panel-55, #sw-arcane-lock-top #sw-arcane-lock-tab-pf:checked ~ .sw-tab-panels #sw-arcane-lock-panel-pf, #sw-arcane-lock-top #sw-arcane-lock-tab-35:checked ~ .sw-tab-panels #sw-arcane-lock-panel-35{
display:block;
}
#sw-arcane-lock-top .sw-tab-panel > h3:first-child{
margin-top:0;
}
#sw-arcane-lock-top .sw-stat-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:0;
margin:1rem 0 1.5rem;
border-top:1px solid var(--sw-border);
border-left:1px solid var(--sw-border);
}
#sw-arcane-lock-top .sw-stat{
padding:.8rem .9rem;
background:var(--sw-bg);
border-right:1px solid var(--sw-border);
border-bottom:1px solid var(--sw-border);
}
#sw-arcane-lock-top .sw-stat dt{
margin:0 0 .15rem;
color:var(--sw-heading)!important;
font-size:.84rem;
font-weight:850;
letter-spacing:.03em;
text-transform:uppercase;
}
#sw-arcane-lock-top .sw-stat dd{
margin:0;
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-rules-text, #sw-arcane-lock-top .sw-rules-text p{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-rules-text{
margin-top:1rem;
}
#sw-arcane-lock-top .sw-rules-text p:last-child{
margin-bottom:0;
}
#sw-arcane-lock-top .sw-edition-note{
margin:1.3rem 0 0;
padding:1rem 1.15rem;
background:var(--sw-panel)!important;
border-left:4px solid var(--sw-accent);
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-edition-note strong{
display:block;
margin-bottom:.25rem;
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-rulings{
margin:1.25rem 0 0;
padding:0;
list-style:none;
border:1px solid var(--sw-border);
border-radius:9px;
overflow:hidden;
background:var(--sw-panel)!important;
}
#sw-arcane-lock-top .sw-rulings li{
margin:0;
padding:1rem 1.15rem 1.1rem;
color:var(--sw-text)!important;
background:var(--sw-panel)!important;
border-bottom:1px solid var(--sw-border);
}
#sw-arcane-lock-top .sw-rulings li:last-child{
border-bottom:0;
}
#sw-arcane-lock-top .sw-rulings strong{
display:block;
margin-bottom:.3rem;
color:var(--sw-heading)!important;
font-weight:800;
}
#sw-arcane-lock-top .sw-related{
margin:1.1rem 0 2.2rem;
padding:1rem 1rem 1rem 2.35rem;
background:var(--sw-panel)!important;
border:1px solid var(--sw-border);
border-radius:9px;
}
#sw-arcane-lock-top .sw-related li{
margin:0 0 .65rem;
padding-left:.15rem;
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-related li:last-child{
margin-bottom:0;
}
#sw-arcane-lock-top .sw-related li::marker{
color:var(--sw-accent);
}
#sw-arcane-lock-top #sw-arcane-lock-related-heading{
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-two-col{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1rem 2.2rem;
}
#sw-arcane-lock-top .sw-two-col > div{
padding:1rem 1.1rem;
background:var(--sw-panel)!important;
border:1px solid var(--sw-border);
border-radius:8px;
}
#sw-arcane-lock-top .sw-two-col h3{
margin-top:0;
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-sources{
margin-top:2.5rem;
padding-top:.25rem;
border-top:1px solid var(--sw-border);
}
#sw-arcane-lock-top .sw-source-list{
padding-left:1.25rem;
}
#sw-arcane-lock-top .sw-source-list li{
margin-bottom:.65rem;
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-license-details{
margin:1.5rem 0 0;
border:1px solid var(--sw-border);
border-radius:8px;
background:var(--sw-panel)!important;
}
#sw-arcane-lock-top .sw-license-details summary{
padding:1rem 1.1rem;
color:var(--sw-heading)!important;
font-weight:800;
cursor:pointer;
}
#sw-arcane-lock-top .sw-license-body{
padding:0 1.15rem 1.25rem;
color:var(--sw-text)!important;
font-size:.92rem;
line-height:1.62;
}
#sw-arcane-lock-top .sw-license-body p{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-license-body h3, #sw-arcane-lock-top .sw-license-body h4{
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-license-body h3{
font-size:1.15rem;
}
#sw-arcane-lock-top .sw-license-body h4{
font-size:1rem;
}
@media (max-width: 760px) {
#sw-arcane-lock-top{
width:calc(100% - 24px);
}
#sw-arcane-lock-top .sw-quick-grid, #sw-arcane-lock-top .sw-two-col, #sw-arcane-lock-top .sw-stat-grid{
grid-template-columns:1fr;
}
#sw-arcane-lock-top .sw-tab-labels{
grid-template-columns:1fr;
gap:5px;
}
#sw-arcane-lock-top .sw-tab-labels label{
border:1px solid var(--sw-border);
border-radius:7px;
}
#sw-arcane-lock-top .sw-tab-panels{
margin-top:.55rem;
border-radius:8px;
}
#sw-arcane-lock-top .sw-rulings li{
padding:.9rem .95rem 1rem;
}
#sw-arcane-lock-top .sw-related{
padding:.9rem .9rem .9rem 2rem;
}
}
#sw-arcane-lock-top, #sw-arcane-lock-top p, #sw-arcane-lock-top li, #sw-arcane-lock-top dd, #sw-arcane-lock-top dt, #sw-arcane-lock-top span:not(.sw-lightbox-close-text), #sw-arcane-lock-top figcaption{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top h2, #sw-arcane-lock-top h3, #sw-arcane-lock-top h4, #sw-arcane-lock-top #sw-arcane-lock-top-title, #sw-arcane-lock-top .sw-rulings strong, #sw-arcane-lock-top .sw-quick-item strong, #sw-arcane-lock-top .sw-edition-note strong, #sw-arcane-lock-top .sw-stat dt, #sw-arcane-lock-top .sw-license-details summary{
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-kicker, #sw-arcane-lock-top .sw-flavour, #sw-arcane-lock-top figcaption{
color:var(--sw-muted)!important;
}
#sw-arcane-lock-top a, #sw-arcane-lock-top a:visited, #sw-arcane-lock-top a strong, #sw-arcane-lock-top strong a{
color:var(--sw-link)!important;
}
#sw-arcane-lock-top a:hover, #sw-arcane-lock-top a:focus, #sw-arcane-lock-top a:hover strong, #sw-arcane-lock-top a:focus strong{
color:var(--sw-link-hover)!important;
}
#sw-arcane-lock-top .sw-quick-rules, #sw-arcane-lock-top .sw-rulings, #sw-arcane-lock-top .sw-related, #sw-arcane-lock-top .sw-two-col > div, #sw-arcane-lock-top .sw-edition-note, #sw-arcane-lock-top .sw-license-details{
background:var(--sw-panel)!important;
border-color:var(--sw-border)!important;
}
#sw-arcane-lock-top .sw-tab-panels, #sw-arcane-lock-top .sw-stat{
background:var(--sw-bg)!important;
}
#sw-arcane-lock-top .sw-tab-labels label{
background:var(--sw-panel-2)!important;
color:var(--sw-text)!important;
border-color:var(--sw-border)!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-55:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-55"], #sw-arcane-lock-top #sw-arcane-lock-tab-pf:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-pf"], #sw-arcane-lock-top #sw-arcane-lock-tab-35:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-35"]{
background:var(--sw-bg)!important;
color:var(--sw-accent-strong)!important;
}
#sw-arcane-lock-top .sw-rulings li{
background:var(--sw-panel)!important;
color:var(--sw-text)!important;
border-color:var(--sw-border)!important;
}
#sw-arcane-lock-top #sw-arcane-lock-related-heading{
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top .sw-related li{
color:var(--sw-text)!important;
}
#sw-arcane-lock-top .sw-related li::marker{
color:var(--sw-accent)!important;
}
#sw-arcane-lock-top section > p, #sw-arcane-lock-top section > div > p, #sw-arcane-lock-top .sw-two-col p{
color:var(--sw-text)!important;
}
.entry-content #sw-arcane-lock-top h2, .entry-content #sw-arcane-lock-top h3, .entry-content #sw-arcane-lock-top h4, .ast-separate-container #sw-arcane-lock-top h2, .ast-separate-container #sw-arcane-lock-top h3, .ast-separate-container #sw-arcane-lock-top h4{
color:var(--sw-heading)!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-2014:checked ~ .sw-tab-panels #sw-arcane-lock-panel-2014{
display:block!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-2014:checked ~ .sw-tab-labels label[for="sw-arcane-lock-tab-2014"]{
background:var(--sw-bg)!important;
color:var(--sw-accent-strong)!important;
border-top:4px solid var(--sw-accent);
}
#sw-arcane-lock-top #sw-arcane-lock-tab-2014:focus-visible ~ .sw-tab-labels label[for="sw-arcane-lock-tab-2014"]{
outline:3px solid currentColor;
outline-offset:3px;
}
#sw-arcane-lock-top .sw-tab-labels, #sw-arcane-lock-top .sw-quick-grid{
grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:760px) {
#sw-arcane-lock-top .sw-tab-labels, #sw-arcane-lock-top .sw-quick-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
#sw-arcane-lock-top .sw-tab-panel{
display:none!important;
}
#sw-arcane-lock-top #sw-arcane-lock-tab-55:checked ~ .sw-tab-panels #sw-arcane-lock-panel-55, #sw-arcane-lock-top #sw-arcane-lock-tab-2014:checked ~ .sw-tab-panels #sw-arcane-lock-panel-2014, #sw-arcane-lock-top #sw-arcane-lock-tab-pf:checked ~ .sw-tab-panels #sw-arcane-lock-panel-pf, #sw-arcane-lock-top #sw-arcane-lock-tab-35:checked ~ .sw-tab-panels #sw-arcane-lock-panel-35{
display:block!important;
}
/* SW LEGACY SPELL PRESENTATION: shared contained layout, 2026-10-11 */
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry{
--sw-text:#ece6dc;
--sw-heading:#fff4de;
--sw-muted:#c9c2b8;
--sw-bg:#17171c;
--sw-panel:#222228;
--sw-border:#59525c;
--sw-accent:#d6b57b;
color:var(--sw-text);
background:var(--sw-bg);
font-size:1.05rem;
line-height:1.7;
padding:clamp(1rem,3vw,2rem);
overflow-wrap:anywhere;
box-sizing:border-box;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry h1,:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry h2,:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry h3{
font-family:Cinzel,Georgia,serif;
color:var(--sw-heading);
line-height:1.3;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry h1{
font-size:clamp(2rem,5vw,3.2rem);
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry a{
color:#f0cb8f;
text-decoration:underline;
text-underline-offset:.2em;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-hero{
max-width:700px;
margin:1.2rem auto;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-hero img{
display:block;
width:100%;
max-width:100%;
height:auto;
object-fit:contain;
float:none;
border-radius:10px;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-at-a-glance,:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-sources{
padding:1.1rem;
border:1px solid var(--sw-border);
border-radius:8px;
background:var(--sw-panel);
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-at-a-glance table{
width:100%;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry table{
width:100%;
border-collapse:collapse;
color:var(--sw-text);
background:var(--sw-panel);
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry th,:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry td{
padding:.65rem;
border:1px solid var(--sw-border);
text-align:left;
vertical-align:top;
color:var(--sw-text);
background:var(--sw-panel);
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-table-wrap{
max-width:100%;
overflow-x:auto;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tab-labels label{
min-height:44px;
padding:.65rem .75rem;
cursor:pointer;
color:var(--sw-heading);
background:var(--sw-panel);
border:1px solid var(--sw-border);
border-radius:8px;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tab-radio{
position:absolute!important;
width:1px!important;
height:1px!important;
overflow:hidden!important;
clip:rect(0,0,0,0)!important;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tab-radio:focus-visible ~ .sw-tab-labels label{
outline-offset:3px;
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > input:nth-of-type(1):focus-visible ~ .sw-tab-labels > label:nth-child(1), :where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > input:nth-of-type(2):focus-visible ~ .sw-tab-labels > label:nth-child(2), :where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > input:nth-of-type(3):focus-visible ~ .sw-tab-labels > label:nth-child(3), :where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > input:nth-of-type(4):focus-visible ~ .sw-tab-labels > label:nth-child(4){
outline:3px solid #f5d99f;
}
@media(max-width:760px) {
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
:where(#arcane-mark,#arctic-grasp,#ardent-gaze,#armor-of-ladon).sw-entry.sw-spell-entry{
font-size:1rem;
}
}
/* --- WPWriter addition --- */
/* SW ARCANE LOCK: heading class selectors, 2026-10-12 */
#sw-arcane-lock-top .sw-entry-header{
margin:0 0 1.35rem;
}
#sw-arcane-lock-top .sw-entry-title{
margin:0 0 .45rem!important;
color:var(--sw-heading)!important;
font-family:Cinzel, Georgia, serif;
font-size:clamp(2rem, 4vw, 3.15rem)!important;
font-weight:800!important;
line-height:1.08!important;
letter-spacing:-.025em;
text-wrap:balance;
}
#sw-arcane-lock-top .sw-entry-header .sw-kicker{
margin:0!important;
}
/* --- WPWriter addition --- */
/* SW ARCANE MARK: original rune contrast, 2026-10-12 */
#arcane-mark .sw-hero img{
background-color:#f7f5f0;
}
/* --- WPWriter addition --- */
/* British NPC workflow — consistent four-edition tab labels, 2026-10-12. Site-global rule. */
@media (min-width: 781px) {
html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > div.sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
gap:.6rem!important;
width:100%!important;
}
}
@media (max-width: 780px) {
html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > div.sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
gap:.5rem!important;
width:100%!important;
}
}
html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > div.sw-tab-labels > label{
width:auto!important;
min-width:0!important;
max-width:none!important;
grid-column:auto!important;
white-space:normal!important;
}
/* NPC edition tabs: visible keyboard focus for all four controls, 2026-10-12. */
html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > input.sw-tab-radio:nth-of-type(1):focus-visible ~ div.sw-tab-labels > label:nth-of-type(1), html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > input.sw-tab-radio:nth-of-type(2):focus-visible ~ div.sw-tab-labels > label:nth-of-type(2), html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > input.sw-tab-radio:nth-of-type(3):focus-visible ~ div.sw-tab-labels > label:nth-of-type(3), html body article.sw-entry.sw-npc section.sw-npc-rules > div.sw-tabs > input.sw-tab-radio:nth-of-type(4):focus-visible ~ div.sw-tab-labels > label:nth-of-type(4){
outline:3px solid #ffe1a9!important;
outline-offset:3px!important;
}
/* --- WPWriter addition --- */
/* ===============================================================
   SPIRALWORLDS TRAPS — PUBLISHED TRAP CARDS v1 (2026-10-12)
   Global stylesheet; scoped to the Traps hub, not other clusters.
   The four checked-radio selectors style ONLY visible panels.
   Original rules, panel order, visibility logic and semantics stay.
   =============================================================== */
html body #trap-master-hub details.sw-trap-conversion{
margin:1.2rem 0!important;
border:1px solid #56627a!important;
border-radius:12px!important;
background:#111925!important;
color:#eeeaf0!important;
overflow:clip;
box-shadow:0 3px 15px rgba(0,0,0,.18);
}
html body #trap-master-hub details.sw-trap-conversion > summary{
position:relative;
display:block;
list-style:none;
cursor:pointer;
padding:1rem 3rem 1rem 1.15rem!important;
background:#202638!important;
color:#eadfcf!important;
line-height:1.45;
border-bottom:1px solid transparent;
}
html body #trap-master-hub details.sw-trap-conversion > summary::-webkit-details-marker{
display:none;
}
html body #trap-master-hub details.sw-trap-conversion > summary strong{
font-family:Cinzel, Georgia, serif!important;
color:#f4d59b!important;
font-size:clamp(1.08rem,1.8vw,1.35rem);
font-weight:700;
margin-right:.3rem;
}
html body #trap-master-hub details.sw-trap-conversion > summary::after{
content:"+";
position:absolute;
right:1rem;
top:50%;
transform:translateY(-50%);
color:#f3d59b;
font:700 1.45rem/1 Georgia,serif;
}
html body #trap-master-hub details.sw-trap-conversion[open] > summary{
background:#252d41!important;
border-bottom-color:#6c7290;
}
html body #trap-master-hub details.sw-trap-conversion[open] > summary::after{
content:"−";
}
html body #trap-master-hub details.sw-trap-conversion > summary:focus-visible, html body #trap-master-hub details.sw-trap-conversion .sw-tab-labels > label:focus-visible{
outline:3px solid #ffe0a4!important;
outline-offset:-3px!important;
}
html body #trap-master-hub details.sw-trap-conversion > .sw-tabs{
padding:clamp(.75rem,1.5vw,1.15rem)!important;
background:#111925!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.5rem!important;
margin:0 0 .8rem!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tabs > .sw-tab-labels > label{
border-radius:7px!important;
min-height:46px!important;
font-size:clamp(.8rem,1.1vw,.95rem)!important;
line-height:1.25!important;
padding:.55rem .4rem!important;
white-space:normal!important;
text-align:center!important;
}
/* Avoid adding padding or borders to hidden panels: previously that
   produced blank spaces under the site's checked-only fallback. */
html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4){
background:#182236!important;
color:#f2edf0!important;
border:1px solid #47556b!important;
border-top:3px solid #e8c58e!important;
border-radius:9px!important;
padding:clamp(1rem,2.4vw,1.6rem)!important;
margin:0!important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panels > .sw-tab-panel > h3{
font-family:Cinzel, Georgia, serif!important;
font-size:clamp(1.35rem,2.35vw,2rem)!important;
color:#ff9291!important;
line-height:1.25!important;
font-weight:700!important;
margin:0 0 .8rem!important;
overflow-wrap:anywhere;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel > p{
font-family:Georgia,"Times New Roman",serif!important;
font-size:clamp(1.03rem,1.2vw,1.13rem)!important;
line-height:1.7!important;
color:#f0edf0!important;
margin:.45rem 0 .85rem!important;
overflow-wrap:anywhere;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel > p > strong{
display:block;
color:#f4d3a1!important;
margin:.95rem 0 .16rem!important;
font-weight:700!important;
line-height:1.28!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel > p:first-of-type > strong:first-child{
display:inline-block;
margin:0 0 .5rem!important;
padding:.3rem .6rem!important;
border-left:3px solid #f0c88a;
border-radius:0 5px 5px 0;
background:#263044;
font-size:.94em!important;
line-height:1.5!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel :is(a,a:visited){
color:#eac58b!important;
text-decoration:underline;
text-underline-offset:.14em;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel > :is(ul,ol){
margin:.5rem 0 1rem 1.4rem!important;
line-height:1.65!important;
}
/* Preserve 3.5e archive terminology and inline SRD prose formatting. */
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panels > .sw-tab-panel[id$="-35"] > p > strong{
display:inline;
margin:0!important;
}
@media(max-width:680px) {
html body #trap-master-hub details.sw-trap-conversion .sw-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body #trap-master-hub details.sw-trap-conversion > summary{
padding:.85rem 2.7rem .85rem .85rem!important;
font-size:.94rem!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body #trap-master-hub details.sw-trap-conversion .sw-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4){
padding:1rem .85rem!important;
}
}
/* END SPIRALWORLDS TRAPS PUBLISHED TRAP CARDS v1 */
/* --- WPWriter addition --- */
/* SpiralWorlds Traps — reader-friendly trap-card presentation v2, 12 Oct 2026.
   Scoped to the traps hub; never changes other entry clusters or edition logic. */
html body #trap-master-hub details.sw-trap-conversion > summary{
display:grid!important;
grid-template-columns:minmax(0,1fr)!important;
row-gap:.3rem!important;
padding:.95rem 1.25rem .95rem 3rem!important;
text-align:left!important;
position:relative!important;
}
html body #trap-master-hub details.sw-trap-conversion > summary strong{
display:block!important;
font-family:Cinzel,Georgia,serif!important;
font-size:clamp(1.07rem,1.7vw,1.38rem)!important;
line-height:1.35!important;
color:#f2d7a7!important;
overflow-wrap:anywhere;
}
html body #trap-master-hub details.sw-trap-conversion > summary .sw-trap-edition-note{
display:block!important;
color:#c9ced9!important;
font:500 clamp(.79rem,1.1vw,.92rem)/1.55 Georgia,serif!important;
letter-spacing:.01em;
overflow-wrap:anywhere;
}
html body #trap-master-hub details.sw-trap-conversion > summary::before{
content:"+"!important;
position:absolute!important;
top:50%;
left:.9rem;
transform:translateY(-50%);
color:#f2d7a7;
font:700 1.6rem/1 Georgia,serif;
}
html body #trap-master-hub details.sw-trap-conversion[open] > summary::before{
content:"−"!important;
}
html body #trap-master-hub details.sw-trap-conversion > summary::after{
content:none!important;
display:none!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panels > .sw-tab-panel > h3{
border-bottom:1px solid rgba(234,198,143,.35)!important;
padding-bottom:.65rem!important;
margin-bottom:.9rem!important;
text-wrap:balance;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panels > .sw-tab-panel > p{
max-width:82ch;
line-height:1.65!important;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panel > p > strong.sw-trap-field-label{
display:block!important;
width:fit-content;
max-width:100%;
border-left:3px solid #e9c78d!important;
padding:.08rem .55rem!important;
margin:.95rem 0 .18rem!important;
background:rgba(233,199,141,.06)!important;
color:#f3d7a7!important;
font:700 .98em/1.4 Georgia,serif!important;
}
html body #trap-master-hub details.sw-trap-conversion > summary:focus-visible{
outline:3px solid #f3d7a7!important;
outline-offset:-3px!important;
}
@media (max-width: 560px) {
html body #trap-master-hub details.sw-trap-conversion > summary{
padding:.9rem .75rem .9rem 2.55rem!important;
}
html body #trap-master-hub details.sw-trap-conversion > summary::before{
left:.72rem;
}
html body #trap-master-hub details.sw-trap-conversion .sw-tab-panels > .sw-tab-panel > p{
line-height:1.57!important;
}
}
/* End SpiralWorlds Traps reader-friendly trap cards v2. */
/* --- WPWriter addition --- */
/* Shared collection-hub layout: opt in with sw-collection on sw-entry. */
html body .sw-entry.sw-collection .sw-collection-header{
text-align:center;
}
html body .sw-entry.sw-collection .sw-collection-hero{
width:100%;
max-width:700px;
margin:1.5rem auto 2rem;
float:none;
text-align:center;
}
html body .sw-entry.sw-collection .sw-collection-hero > a{
display:block;
}
html body .sw-entry.sw-collection .sw-collection-hero img{
display:block;
width:100%;
height:auto;
max-width:100%;
max-height:none;
margin:0;
border-radius:12px;
}
html body .sw-entry.sw-collection .sw-collection-hero figcaption{
max-width:650px;
margin:.75rem auto 0;
}
html body .sw-entry.sw-collection .sw-collection-jump{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:.65rem;
margin:1.5rem 0;
}
html body .sw-entry.sw-collection .sw-collection-jump > a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:.5rem .8rem;
border:1px solid var(--sw-c-border,#514638);
border-radius:6px;
text-decoration:none;
}
html body .sw-entry.sw-collection .sw-collection-jump > a:focus-visible, html body .sw-entry.sw-collection .sw-collection-image:focus-visible, html body .sw-entry.sw-collection .sw-collection-index-group > summary:focus-visible{
outline:3px solid var(--sw-c-link,#e6c68e);
outline-offset:4px;
}
html body .sw-entry.sw-collection .sw-collection-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:1.2rem;
margin:1.3rem 0 1.75rem;
}
html body .sw-entry.sw-collection .sw-collection-card{
display:flex;
flex-direction:column;
min-width:0;
padding:0;
margin:0;
border:1px solid var(--sw-c-border,#514638);
border-radius:10px;
background:var(--sw-c-panel,#1b1a20);
overflow:hidden;
}
html body .sw-entry.sw-collection .sw-collection-image{
display:block;
width:100%;
aspect-ratio:1/1;
margin:0;
padding:0;
overflow:hidden;
background:#16131a;
}
html body .sw-entry.sw-collection .sw-collection-image img{
display:block;
width:100%!important;
height:100%!important;
max-width:none!important;
max-height:none!important;
margin:0!important;
aspect-ratio:auto!important;
object-fit:cover;
object-position:center;
}
html body .sw-entry.sw-collection .sw-collection-card-body{
flex:1;
padding:1rem;
}
html body .sw-entry.sw-collection .sw-collection-card h3{
margin:0 0 .65rem;
font-size:1.15rem!important;
line-height:1.4;
}
html body .sw-entry.sw-collection .sw-collection-card p{
margin:0;
font-size:1rem!important;
line-height:1.65;
word-break:normal;
overflow-wrap:break-word;
}
html body .sw-entry.sw-collection .sw-collection-index-group{
margin:1rem 0;
padding:0;
border:1px solid var(--sw-c-border,#514638);
border-radius:8px;
background:var(--sw-c-panel,#1b1a20);
scroll-margin-top:6rem;
}
html body .sw-entry.sw-collection .sw-collection-index-group > summary{
cursor:pointer;
padding:1rem 1.1rem;
min-height:44px;
font-weight:700;
color:var(--sw-c-link,#e6c68e);
}
html body .sw-entry.sw-collection .sw-collection-index-list{
columns:4;
column-gap:2rem;
margin:0;
padding:.4rem 1.3rem 1.3rem 2.3rem;
}
html body .sw-entry.sw-collection .sw-collection-index-list li{
break-inside:avoid;
margin:0 0 .65rem;
padding:0;
font-size:1rem!important;
line-height:1.55;
word-break:normal;
overflow-wrap:break-word;
}
html body .sw-entry.sw-collection .sw-collection-context{
align-items:start;
}
html body .sw-entry.sw-collection .sw-collection-history-art{
margin:0;
float:none;
}
html body .sw-entry.sw-collection .sw-collection-history-art img{
display:block;
width:100%;
max-width:100%;
height:auto;
border-radius:10px;
}
html body .sw-entry.sw-collection .sw-collection-history-art figcaption{
margin-top:.75rem;
}
@media(max-width:1000px) {
html body .sw-entry.sw-collection .sw-collection-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-collection .sw-collection-index-list{
columns:2;
}
}
@media(max-width:560px) {
html body .sw-entry.sw-collection .sw-collection-grid{
grid-template-columns:1fr!important;
}
html body .sw-entry.sw-collection .sw-collection-index-list{
columns:1;
}
html body .sw-entry.sw-collection .sw-collection-card-body{
padding:1rem;
}
}
@media print {
html body .sw-entry.sw-collection .sw-collection-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-collection .sw-collection-index-group > .sw-collection-index-list{
display:block!important;
}
html body .sw-entry.sw-collection .sw-collection-jump{
display:none;
}
}
/* --- WPWriter addition --- */
/* Shared collection-hub glance layout: four facts form two balanced rows. */
html body .sw-entry.sw-collection .sw-glance > .sw-glance-grid{
display:grid!important;
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:1rem;
}
html body .sw-entry.sw-collection :is(h2,.sw-collection-index-group){
scroll-margin-top:6rem;
}
@media(max-width:560px) {
html body .sw-entry.sw-collection .sw-glance > .sw-glance-grid{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* Shared collection facts override the older three-column glance rule. */
html body:not(.wp-admin) .sw-entry.sw-entry.sw-collection .sw-glance > .sw-glance-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:560px) {
html body:not(.wp-admin) .sw-entry.sw-entry.sw-collection .sw-glance > .sw-glance-grid{
grid-template-columns:1fr!important;
}
}
/* --- WPWriter addition --- */
/* SpiralWorlds monster heading width — shared responsive rule, 2026-10-14.
   Lift legacy 850px article-title cap without changing other entry families. */
body article:has(> .entry-content .sw-monster-entry) > .entry-header > h1.entry-title, body .entry-content:has(.sw-monster-entry) > h1.entry-title{
display:block;
width:100%!important;
max-width:100%!important;
margin-left:auto!important;
margin-right:auto!important;
font-size:clamp(1.65rem, 2.65vw, 2.65rem)!important;
line-height:1.16!important;
text-align:center!important;
text-wrap:balance;
overflow-wrap:normal!important;
word-break:normal!important;
}
@media (max-width: 767px) {
body article:has(> .entry-content .sw-monster-entry) > .entry-header > h1.entry-title, body .entry-content:has(.sw-monster-entry) > h1.entry-title{
font-size:clamp(1.5rem, 5.3vw, 2.25rem)!important;
white-space:normal!important;
overflow-wrap:break-word!important;
}
}
/* --- WPWriter addition --- */
/* SpiralWorlds Location Workflow — uncropped identity heraldry, 2026-10-14.
   Shared location component only; preserves the full shield at all widths. */
html body .sw-entry.sw-location .sw-identity .sw-heraldry-frame{
width:100%!important;
max-width:420px!important;
height:auto!important;
max-height:none!important;
aspect-ratio:auto!important;
overflow:visible!important;
margin:0 auto .7rem!important;
}
html body .sw-entry.sw-location .sw-identity .sw-heraldry-frame > a{
display:block!important;
width:100%!important;
height:auto!important;
max-height:none!important;
}
html body .sw-entry.sw-location .sw-identity .sw-heraldry-frame img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:none!important;
aspect-ratio:auto!important;
object-fit:contain!important;
object-position:center center!important;
margin:0 auto!important;
}
html body .sw-entry.sw-location .sw-identity .sw-identity-heraldry{
min-width:0!important;
}
html body .sw-entry.sw-location .sw-identity .sw-heraldry-frame + figcaption{
margin-top:.6rem;
text-align:center;
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS LOCATION WORKFLOW — canonical H1 centring, 2026-10-14.
   Shared global rule: match the title width to its location-entry container.
   Do not alter indexing-only H1s, other entry families or per-page markup. */
html body:not(.wp-admin) article:has(> .entry-content .sw-entry.sw-location) > .entry-header{
width:100%!important;
max-width:100%!important;
margin-left:auto!important;
margin-right:auto!important;
box-sizing:border-box!important;
}
html body:not(.wp-admin) article:has(> .entry-content .sw-entry.sw-location) > .entry-header > h1.entry-title:not(.sw-indexing-title), html body:not(.wp-admin) .entry-content:has(.sw-entry.sw-location) > h1.entry-title:not(.sw-indexing-title){
font-size:clamp(2rem, 4.5vw, 3.5rem)!important;
line-height:1.12!important;
font-weight:750!important;
text-wrap:balance;
white-space:normal!important;
display:block!important;
width:100%!important;
max-width:100%!important;
box-sizing:border-box!important;
margin-left:auto!important;
margin-right:auto!important;
text-align:center!important;
}
@media (max-width: 767px) {
html body:not(.wp-admin) article:has(> .entry-content .sw-entry.sw-location) > .entry-header > h1.entry-title:not(.sw-indexing-title), html body:not(.wp-admin) .entry-content:has(.sw-entry.sw-location) > h1.entry-title:not(.sw-indexing-title){
white-space:normal!important;
overflow-wrap:break-word!important;
}
}
/* --- WPWriter addition --- */
/* SPIRALWORLDS LOCATION IDENTITY TABLE FIX — revised 2026-10-20
   Shared location-workflow component; no page-specific CSS.
   Older .sw-entry .sw-glance grid rules must not turn actual tables
   inside .sw-identity-main into CSS grids. */
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity):has(> .sw-identity-main){
display:grid!important;
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
gap:clamp(18px, 2.4vw, 32px)!important;
align-items:start!important;
width:100%!important;
max-width:100%!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > :is(.sw-identity-main, .sw-identity-heraldry){
min-width:0!important;
width:100%!important;
max-width:100%!important;
margin:0!important;
float:none!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance{
display:table!important;
grid-template-columns:none!important;
width:100%!important;
min-width:0!important;
max-width:100%!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance > tbody{
display:table-row-group!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance tr{
display:table-row!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance :is(th,td){
display:table-cell!important;
padding:.55rem .65rem!important;
font-size:max(16px, 1.1rem)!important;
line-height:1.5!important;
text-align:left!important;
vertical-align:top!important;
min-width:0!important;
max-width:none!important;
white-space:normal!important;
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:none!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance tr > :first-child{
width:34%!important;
font-weight:700;
overflow-wrap:normal!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-heraldry .sw-heraldry-frame{
width:100%!important;
max-width:360px!important;
height:auto!important;
aspect-ratio:auto!important;
margin:0 auto .6rem!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-heraldry .sw-heraldry-frame img{
display:block!important;
width:100%!important;
height:auto!important;
object-fit:contain!important;
}
@media (max-width: 900px) {
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity):has(> .sw-identity-main){
grid-template-columns:minmax(0, 1fr)!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-heraldry{
justify-self:center!important;
max-width:360px!important;
}
}
@media (max-width: 520px) {
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance :is(th,td){
padding:.45rem .35rem!important;
font-size:max(16px, 1.05rem)!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location > :is(.sw-identity, .sw-location-identity) > .sw-identity-main table.sw-glance tr > :first-child{
width:38%!important;
}
}
/* END SHARED LOCATION IDENTITY TABLE FIX */
/* --- WPWriter addition --- */
/* SPIRALWORLDS — SHARED LOCATION ENTRY DARK-SURFACE REPAIR (2026-10-14)
   Global reusable rules only. No page IDs, no inline or per-page styles.
   Apply when the location-workflow .sw-entry wrapper is present. */
@media screen {
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location{
--sw-c-bg: #15151b;
--sw-c-panel: #202029;
--sw-c-raised: #262530;
--sw-c-text: #e9e5e7;
--sw-c-heading: #f3edee;
--sw-c-muted: #c0b7c3;
--sw-c-link: #e6c68e;
--sw-c-border: #514a56;
background:#15151b!important;
color:#e9e5e7!important;
box-sizing:border-box;
width:100%;
min-width:0;
padding:clamp(1.1rem, 3vw, 2.5rem);
border-radius:8px;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location :is(p,li,dt,dd,td,th,figcaption,blockquote){
color:#e9e5e7!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location :is(h1,h2,h3,h4,h5,h6){
color:#f3edee!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location a{
color:#e6c68e!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location a:hover, html body:not(.wp-admin) .sw-entry.sw-entry.sw-location a:focus-visible{
color:#ffe0a8!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location :is(.sw-at-a-glance,.sw-location-mechanics,.sw-location-factions,.sw-callout){
background:#202029!important;
border:1px solid #514a56;
border-radius:8px;
padding:clamp(.9rem, 2vw, 1.5rem);
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-identity{
display:grid!important;
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:clamp(1rem,2.5vw,2rem);
align-items:start;
min-width:0;
background:transparent!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-identity > *{
min-width:0;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-at-a-glance dl{
margin:0;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-at-a-glance dt{
font-weight:700;
margin:.7rem 0 .1rem;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-at-a-glance dd{
margin:0 0 .65rem .5rem;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-heraldry{
margin:0;
padding:clamp(.8rem,2vw,1.4rem);
background:#202029!important;
border:1px solid #514a56;
border-radius:8px;
text-align:center;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-heraldry img{
width:auto;
max-width:100%;
max-height:500px;
height:auto;
object-fit:contain;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location :is(.sw-table-wrap, .sw-location-mechanics){
max-width:100%;
overflow-x:auto;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location :is(th,td){
border-color:#514a56!important;
background:#202029!important;
overflow-wrap:anywhere;
}
html body:not(.wp-admin):has(.sw-entry.sw-location) :is(.site-content,.site-content > .ast-container,.site-content #primary,.site-content #main,.ast-article-single,.entry-content,.entry-header){
background-color:#15151b!important;
color:#e9e5e7!important;
}
html body:not(.wp-admin):has(.sw-entry.sw-location) :is(.entry-title,.entry-header .entry-title){
color:#f3edee!important;
}
@media (max-width: 760px) {
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location .sw-identity{
grid-template-columns:minmax(0,1fr)!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry.sw-location{
padding:1rem;
}
}
}
/* END SHARED LOCATION ENTRY DARK-SURFACE REPAIR */
/* --- WPWriter addition --- */
/* SW GLOBAL GLANCE TABLE WIDTH REPAIR — 2026-10-15.
   Shared with location, NPC, faction and other .sw-entry content.
   No page IDs or per-page styling. Keep edition tab rules unchanged. */
html body:not(.wp-admin) .sw-entry.sw-entry :is(figure.wp-block-table, .sw-table-wrap):has(> table.sw-glance){
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:1rem 0 1.75rem!important;
overflow-x:auto!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry table.sw-glance{
display:table!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry table.sw-glance :is(th, td){
white-space:normal!important;
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:none!important;
vertical-align:top!important;
}
html body:not(.wp-admin) .sw-entry.sw-entry table.sw-glance th[scope="row"]{
width:32%;
min-width:7rem;
}
@media (max-width: 600px) {
html body:not(.wp-admin) .sw-entry.sw-entry table.sw-glance th[scope="row"]{
width:38%;
}
}
/* END SW GLOBAL GLANCE TABLE WIDTH REPAIR */
/* --- WPWriter addition --- */
/* SW AT A GLANCE — native table and panel guard, 2026-10-15.
   Shared component rules for every entry family. Tables keep table semantics;
   nested fact grids keep their existing responsive card layouts. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ){
display:table!important;
grid-template-columns:none!important;
gap:0!important;
float:none!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
padding:0!important;
table-layout:auto!important;
border-collapse:collapse!important;
box-sizing:border-box!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ) > tbody{
display:table-row-group!important;
width:auto!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ) > thead{
display:table-header-group!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ) > tfoot{
display:table-footer-group!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ) tr{
display:table-row!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( table.sw-glance, table.sw-at-a-glance, table.sw-location-glance, table.sw-monster-glance, :is(.sw-glance, .sw-at-a-glance, .sw-location-glance, .sw-monster-glance) table ) :is(th, td){
display:table-cell!important;
min-width:0!important;
white-space:normal!important;
word-break:normal!important;
overflow-wrap:break-word!important;
hyphens:none!important;
text-align:left!important;
vertical-align:top!important;
}
/* A panel with its own heading must not become a facts grid itself. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry :is( section.sw-glance, aside.sw-glance, div.sw-glance, section.sw-at-a-glance, aside.sw-at-a-glance, div.sw-at-a-glance, .sw-location-glance, .sw-monster-glance ):has(> :is(h2, h3)):has(> :is(table, dl, ul, ol, .sw-glance-grid, .sw-location-glance-grid, .sw-card-grid, .sw-cards, .sw-quick-grid, .sw-table-wrap, .sw-scroll)){
display:block!important;
grid-template-columns:none!important;
min-width:0!important;
}
/* END SW AT A GLANCE — native table and panel guard */
/* --- WPWriter addition --- */
/* --- WPWriter addition --- */
/* Clay Golem edition tabs: remove the blank space caused by hidden radio controls.
   Shared monster styling stays global; only this tab region is adjusted. */
html body .sw-entry.sw-monster-entry #clay-golem-rules > h2{
margin-bottom:.75rem!important;
padding-bottom:0!important;
}
html body .sw-entry.sw-monster-entry #clay-golem-rules > .sw-edition-tabs{
margin-top:0!important;
padding-top:0!important;
}
html body .sw-entry.sw-monster-entry #clay-golem-rules > .sw-edition-tabs > input.sw-edition-choice[type="radio"]{
position:absolute!important;
top:0!important;
left:0!important;
display:block!important;
width:1px!important;
height:1px!important;
min-width:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
border:0!important;
overflow:hidden!important;
opacity:0!important;
clip-path:inset(50%)!important;
pointer-events:none!important;
}
/* --- WPWriter addition --- */
/* SpiralWorlds Faction Workflow — reusable At a Glance + emblem layout, 2026-10-15.
   Site-wide stylesheet only. Applies to faction identities bearing .sw-faction-identity. */
html body .entry-content .sw-identity.sw-faction-identity{
display:block!important;
width:100%!important;
max-width:1160px!important;
margin:1.5rem auto 2.25rem!important;
padding:0!important;
color:#e8e6eb!important;
}
html body .entry-content .sw-faction-identity > .sw-identity-grid{
display:grid!important;
grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)!important;
column-gap:clamp(1.25rem, 3vw, 2rem)!important;
align-items:start!important;
width:100%!important;
max-width:100%!important;
margin:0!important;
padding:0!important;
}
html body .entry-content .sw-faction-identity > .sw-identity-grid > :is(div, figure){
min-width:0!important;
width:100%!important;
max-width:100%!important;
}
html body .entry-content .sw-faction-identity > .sw-identity-grid > div > h2{
margin:0 0 1rem!important;
color:#f2eff5!important;
font-size:clamp(1.45rem, 2.5vw, 2rem)!important;
line-height:1.25!important;
}
html body .entry-content .sw-faction-identity table.sw-glance{
width:100%!important;
max-width:100%!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
padding:0!important;
background:#1b1a20!important;
border:1px solid #55505e!important;
}
html body .entry-content .sw-faction-identity table.sw-glance :is(th, td){
padding:.65rem .85rem!important;
color:#e8e6eb!important;
background:transparent!important;
border:1px solid #55505e!important;
vertical-align:top!important;
line-height:1.45!important;
font-size:clamp(.94rem, 1.3vw, 1.02rem)!important;
overflow-wrap:break-word!important;
word-break:normal!important;
hyphens:none!important;
}
html body .entry-content .sw-faction-identity table.sw-glance th{
width:32%!important;
min-width:0!important;
font-weight:700!important;
color:#f2eff5!important;
text-align:left!important;
}
html body .entry-content .sw-faction-identity a{
color:#e6c68e!important;
}
html body .entry-content .sw-faction-identity > .sw-identity-grid > figure.sw-emblem{
display:block!important;
float:none!important;
margin:0!important;
padding:0!important;
align-self:start!important;
justify-self:stretch!important;
text-align:center!important;
background:transparent!important;
}
html body .entry-content .sw-faction-identity figure.sw-emblem a{
display:block!important;
width:100%!important;
max-width:100%!important;
line-height:0!important;
}
html body .entry-content .sw-faction-identity figure.sw-emblem img{
display:block!important;
width:min(100%, 420px)!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:1 / 1!important;
object-fit:contain!important;
margin:0 auto!important;
border-radius:8px!important;
}
html body .entry-content .sw-faction-identity figure.sw-emblem figcaption{
margin:.75rem auto 0!important;
max-width:34ch!important;
color:#b9b4c1!important;
font-size:.9rem!important;
line-height:1.5!important;
text-align:center!important;
}
/* Some older factions have Gutenberg paragraphs outside their .sw-entry wrapper. */
html body .entry-content > p.sw-faction-lede{
width:100%!important;
max-width:1160px!important;
margin:.85rem auto 1.4rem!important;
color:#e8e6eb!important;
line-height:1.65!important;
}
html body .entry-content > p.sw-faction-lede :is(strong, b){
color:#f2eff5!important;
}
html body .entry-content > p.sw-faction-kicker{
max-width:1160px!important;
margin:0 auto .65rem!important;
color:#b9b4c1!important;
font-size:.85rem!important;
letter-spacing:.07em!important;
text-transform:uppercase!important;
}
html body .entry-content:has(> .sw-faction-identity) > p:not(.sw-faction-kicker){
color:#e8e6eb!important;
}
@media (max-width: 860px) {
html body .entry-content .sw-faction-identity > .sw-identity-grid{
grid-template-columns:minmax(0, 1fr)!important;
row-gap:1.5rem!important;
}
html body .entry-content .sw-faction-identity > .sw-identity-grid > figure.sw-emblem{
max-width:420px!important;
justify-self:center!important;
}
}
@media (max-width: 540px) {
html body .entry-content .sw-faction-identity table.sw-glance, html body .entry-content .sw-faction-identity table.sw-glance :is(tbody, tr, th, td){
display:block!important;
width:100%!important;
min-width:0!important;
}
html body .entry-content .sw-faction-identity table.sw-glance tr{
padding:.55rem .75rem!important;
border-bottom:1px solid #55505e!important;
}
html body .entry-content .sw-faction-identity table.sw-glance th, html body .entry-content .sw-faction-identity table.sw-glance td{
border:0!important;
padding:.14rem 0!important;
}
}
/* End reusable faction identity repair. */
/* Reusable responsive linked campaign maps; global site CSS. */
html body .sw-entry .sw-campaign-map-svg{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:1200 / 820;
margin:1.15rem auto 1rem;
border-radius:9px;
box-shadow:0 8px 26px rgba(19,14,10,.28);
}
html body .sw-entry .sw-campaign-map-svg a{
cursor:pointer;
}
html body .sw-entry .sw-campaign-map-svg a:is(:hover,:focus-visible) .sw-map-pin circle{
fill:#f9d78b;
stroke:#542f20;
stroke-width:4;
}
html body .sw-entry .sw-campaign-map-svg a:focus-visible{
outline:3px solid #dbab55;
outline-offset:2px;
}
@media(max-width: 700px) {
html body .sw-entry .sw-campaign-map{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
html body .sw-entry .sw-campaign-map-svg{
min-width:640px!important;
}
}
/* End reusable responsive linked campaign maps. */
/* --- WPWriter addition --- */
/* SpiralWorlds faction content: suppress NPC-only Astra affiliate injection.
   Shared by faction entries; preserves the general support/bookshop panel. */
html body:has(.entry-content .sw-entry.sw-faction) .astra-advanced-hook-256271, html body:has(.entry-content .sw-entry.sw-faction) #sw-affiliate-npc{
display:none!important;
}
/* Faction headings, introductory paragraphs and identity — consistent dark contrast. */
html body .entry-content .sw-entry.sw-faction{
color:#e8e6eb!important;
}
html body .entry-content .sw-entry.sw-faction :is(h2,h3,h4){
color:#f2eff5!important;
}
html body .entry-content .sw-entry.sw-faction :is(p,li,td,th,figcaption){
color:#e8e6eb!important;
}
html body .entry-content .sw-entry.sw-faction .sw-faction-kicker, html body .entry-content .sw-entry.sw-faction .sw-emblem figcaption{
color:#b9b4c1!important;
}
/* Align the faction emblem with the At a Glance heading, at full desktop width. */
html body .entry-content .sw-entry.sw-faction > .sw-identity.sw-faction-identity{
display:block!important;
max-width:100%!important;
margin:1.5rem auto 2.25rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-identity-grid{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
align-items:start!important;
gap:clamp(1.25rem,2.5vw,2rem)!important;
}
html body .entry-content .sw-entry.sw-faction .sw-identity-grid > :is(div,figure){
min-width:0!important;
margin-top:0!important;
}
html body .entry-content .sw-entry.sw-faction .sw-identity-grid h2:first-child{
margin-top:0!important;
}
@media (max-width: 860px) {
html body .entry-content .sw-entry.sw-faction .sw-identity-grid{
grid-template-columns:minmax(0,1fr)!important;
}
}
/* End faction presentation repair. */
/* --- WPWriter addition --- */
/* SpiralWorlds reusable item identity order — 2026-10-15.
   A nested title header must precede a direct-child hero and At a Glance.
   The legacy global direct-hero ordering rule otherwise assigns the header order 60. */
html body:not(.wp-admin) .sw-entry.sw-entry:has(> header.sw-title-block):has(> .sw-hero):has(> :is(.sw-glance, .sw-at-a-glance, .sw-monster-glance)) > header.sw-title-block{
order:20!important;
}
/* --- WPWriter addition --- */
/* SpiralWorlds Faction Workflow — dark illuminated manuscript presentation.
   Shared faction component, global CSS only; original lore remains editable HTML. */
html body .entry-content .sw-entry.sw-faction{
--sw-c-bg: #0b0e12;
--sw-c-panel: #101319;
--sw-c-heading: #f4eee3;
--sw-c-text: #e9e4dc;
--sw-c-border: #51483e;
--sw-c-link: #e5bc7d;
--sw-c-muted: #bdb1a2;
background:var(--sw-c-bg)!important;
color:var(--sw-c-text)!important;
}
html body .entry-content .sw-entry.sw-faction :is(h2,h3){
font-family:"Cinzel", Georgia, serif!important;
color:#e6bf88!important;
letter-spacing:.01em;
}
html body .entry-content .sw-entry.sw-faction h2{
font-size:clamp(1.5rem,2.6vw,2.05rem)!important;
margin-bottom:.85rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-faction-kicker{
color:#d7c1a0!important;
letter-spacing:.08em!important;
font-size:.83rem!important;
margin:0 0 .7rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-faction-lede{
color:#eee8dd!important;
max-width:100%!important;
font-size:clamp(1.05rem,1.65vw,1.2rem)!important;
line-height:1.65!important;
margin:0 0 1.35rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-faction-lede strong{
color:#fff3dc!important;
}
html body .entry-content .sw-entry.sw-faction .sw-identity-grid{
align-items:start!important;
}
html body .entry-content .sw-entry.sw-faction .sw-identity-grid > div > h2{
margin:0 0 .75rem!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-glance{
border:1px solid #5b5042!important;
border-radius:0!important;
background:#0f1216!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-glance :is(th,td){
border-color:#51483e!important;
padding:.56rem .72rem!important;
font-size:clamp(.95rem,1.3vw,1.05rem)!important;
line-height:1.42!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-glance th{
color:#e6bf88!important;
font-weight:700!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-glance td{
color:#e9e4dc!important;
}
html body .entry-content .sw-entry.sw-faction figure.sw-emblem{
margin:0!important;
align-self:start!important;
}
html body .entry-content .sw-entry.sw-faction figure.sw-emblem img{
border:1px solid #6b563b!important;
background:#0b0e12!important;
}
html body .entry-content .sw-entry.sw-faction figure.sw-emblem figcaption{
color:#c8bdb0!important;
}
html body .entry-content .sw-entry.sw-faction .sw-table-wrap{
border-color:#51483e!important;
}
html body .entry-content .sw-entry.sw-faction a:not(.sw-button){
color:#e5bc7d!important;
}
html body .entry-content .sw-entry.sw-faction section{
min-width:0!important;
}
@media (max-width: 860px) {
html body .entry-content .sw-entry.sw-faction .sw-identity-grid{
grid-template-columns:minmax(0,1fr)!important;
}
}
/* End shared faction visual refinement. */
/* --- WPWriter addition --- */
/* BEGIN SHARED STYLES — Folding Boat legacy migration 2026-10-15; rules scoped to the item. */
/* =========================================================
   SPIRALWORLDS — FOLDING BOAT
   Definitive publication CSS
   CSS-only edition tabs + CSS-only image lightbox
   ========================================================= */
.sw-folding-boat{
--sw-bg-soft: rgba(255,255,255,0.035);
--sw-bg-panel: rgba(255,255,255,0.055);
--sw-bg-panel-strong: rgba(255,255,255,0.075);
--sw-border: rgba(255,255,255,0.18);
--sw-border-strong: rgba(255,255,255,0.32);
--sw-text: #e9e7ee;
--sw-text-soft: #c9c5d1;
--sw-text-muted: #aaa5b3;
--sw-heading: #f0c7ff;
--sw-heading-strong: #f4d6ff;
--sw-link: #b9d9ff;
--sw-link-hover: #e1efff;
max-width:1400px;
width:calc(100% - 40px);
margin:0 auto;
box-sizing:border-box;
color:var(--sw-text);
line-height:1.7;
}
.sw-folding-boat *, .sw-folding-boat *::before, .sw-folding-boat *::after{
box-sizing:border-box;
}
.sw-folding-boat p, .sw-folding-boat li{
max-width:82ch;
color:var(--sw-text);
}
/* =========================================================
   PAGE TITLE
   ========================================================= */
.sw-folding-boat .sw-title-block{
margin:0 0 1.15rem;
}
.sw-folding-boat .sw-kicker{
margin:0 0 0.25rem;
color:var(--sw-text-soft);
font-size:0.82rem;
font-weight:800;
letter-spacing:0.12em;
text-transform:uppercase;
}
.sw-folding-boat .sw-display-title{
margin:0;
color:var(--sw-heading-strong);
font-size:clamp(2.15rem, 4vw, 3.7rem);
font-weight:800;
line-height:1.08;
letter-spacing:-0.025em;
}
/* =========================================================
   HEADINGS
   ========================================================= */
.sw-folding-boat h2{
margin-top:2.5rem;
margin-bottom:1rem;
color:var(--sw-heading-strong)!important;
font-size:clamp(1.8rem, 2.5vw, 2.45rem);
font-weight:800;
line-height:1.18;
letter-spacing:-0.015em;
}
.sw-folding-boat h3{
margin-top:1.75rem;
margin-bottom:0.85rem;
color:var(--sw-heading)!important;
font-size:clamp(1.45rem, 2vw, 1.95rem);
font-weight:750;
line-height:1.25;
}
.sw-folding-boat h4{
margin-top:1.35rem;
margin-bottom:0.5rem;
color:#e1dce8!important;
font-size:1.15rem;
font-weight:700;
line-height:1.35;
}
/* =========================================================
   LINKS / TEXT
   ========================================================= */
.sw-folding-boat strong{
color:#f3f0f6;
font-weight:700;
}
.sw-folding-boat a{
color:var(--sw-link);
text-decoration:underline;
text-underline-offset:0.16em;
text-decoration-thickness:0.075em;
}
.sw-folding-boat a:hover, .sw-folding-boat a:focus{
color:var(--sw-link-hover);
}
.sw-folding-boat .sw-dek{
max-width:78ch;
margin:1.25rem 0 1.5rem;
color:#ddd7e5;
font-size:clamp(1.05rem, 1rem + 0.3vw, 1.28rem);
font-weight:500;
line-height:1.6;
}
/* =========================================================
   HERO
   ========================================================= */
.sw-folding-boat .sw-hero{
margin:0 0 1.5rem;
}
.sw-folding-boat .sw-hero a{
display:block;
text-decoration:none;
}
.sw-folding-boat .sw-hero img{
display:block;
width:100%;
height:auto;
max-height:820px;
object-fit:cover;
object-position:center;
border-radius:10px;
}
/* =========================================================
   GENERAL PANELS
   ========================================================= */
.sw-folding-boat .sw-note, .sw-folding-boat .sw-mechanics, .sw-folding-boat .sw-related, .sw-folding-boat .sw-source-box{
margin:1.25rem 0;
padding:1rem 1.2rem;
border:1px solid var(--sw-border);
border-radius:10px;
background:var(--sw-bg-soft);
}
.sw-folding-boat .sw-mechanics > :first-child, .sw-folding-boat .sw-note > :first-child, .sw-folding-boat .sw-related > :first-child, .sw-folding-boat .sw-source-box > :first-child{
margin-top:0;
}
.sw-folding-boat .sw-mechanics > :last-child, .sw-folding-boat .sw-note > :last-child, .sw-folding-boat .sw-related > :last-child, .sw-folding-boat .sw-source-box > :last-child{
margin-bottom:0;
}
/* Edition tabs use the global SpiralWorlds tab system. */
/* =========================================================
   MECHANICS
   ========================================================= */
.sw-folding-boat .sw-mechanics{
margin:0;
padding:clamp(1.1rem, 2.5vw, 1.5rem);
background:var(--sw-bg-panel);
border:1px solid var(--sw-border);
border-radius:10px;
}
.sw-folding-boat .sw-mechanics p{
color:#d7d3dc;
}
.sw-folding-boat .sw-mechanics p + p{
margin-top:1.1rem;
}
.sw-folding-boat .sw-statline{
margin:0 0 1.35rem;
color:#eeeaf2;
font-size:1rem;
font-weight:600;
line-height:1.75;
}
.sw-folding-boat .sw-statline strong, .sw-folding-boat .sw-rule-label{
color:#f3eef6!important;
font-weight:750;
}
/* =========================================================
   NOTES / RELATED / SOURCES
   ========================================================= */
.sw-folding-boat .sw-note, .sw-folding-boat .sw-related, .sw-folding-boat .sw-source-box{
background:var(--sw-bg-soft);
border:1px solid var(--sw-border);
color:var(--sw-text);
}
/* =========================================================
   TABLES
   ========================================================= */
.sw-folding-boat .sw-table-wrap{
width:100%;
overflow-x:auto;
margin:1.2rem 0 1.5rem;
-webkit-overflow-scrolling:touch;
}
.sw-folding-boat table{
width:100%;
min-width:620px;
border-collapse:collapse;
background:transparent;
}
.sw-folding-boat th, .sw-folding-boat td{
padding:0.72rem 0.8rem;
text-align:left;
vertical-align:top;
border:1px solid var(--sw-border);
}
.sw-folding-boat th{
background:rgba(255,255,255,0.075);
color:#f0edf3;
font-weight:700;
}
.sw-folding-boat td{
background:rgba(255,255,255,0.025);
color:var(--sw-text);
}
/* =========================================================
   OGL / DETAILS
   ========================================================= */
.sw-folding-boat details{
margin:1.2rem 0;
padding:0.8rem 1rem;
border:1px solid var(--sw-border);
border-radius:8px;
}
.sw-folding-boat summary{
color:#eeeaf2;
cursor:pointer;
font-weight:700;
line-height:1.4;
}
.sw-folding-boat details[open] summary{
margin-bottom:1rem;
}
.sw-folding-boat .sw-ogl-body{
font-size:0.94rem;
line-height:1.65;
}
.sw-folding-boat .sw-ogl-body p{
max-width:none;
}
/* =========================================================
   CSS-ONLY LIGHTBOX
   ========================================================= */
.sw-folding-boat-lightbox{
position:fixed;
inset:0;
z-index:999999;
display:none;
align-items:center;
justify-content:center;
padding:3.5rem 1rem 1rem;
background:rgba(0,0,0,0.95);
}
.sw-folding-boat-lightbox:target{
display:flex;
}
.sw-folding-boat-lightbox img{
display:block;
max-width:min(96vw, 1600px);
max-height:88vh;
width:auto;
height:auto;
object-fit:contain;
}
.sw-folding-boat-lightbox .sw-lightbox-close{
position:absolute;
top:0.8rem;
right:1rem;
display:inline-block;
padding:0.55rem 0.8rem;
border:1px solid rgba(255,255,255,0.5);
border-radius:6px;
background:#18151d;
color:#fff!important;
text-decoration:none;
font-weight:700;
}
.sw-folding-boat-lightbox .sw-lightbox-close:hover, .sw-folding-boat-lightbox .sw-lightbox-close:focus{
background:#2b2630;
color:#fff!important;
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 720px) {
.sw-folding-boat{
width:calc(100% - 24px);
}
.sw-folding-boat .sw-tab-labels{
display:grid;
grid-template-columns:1fr;
gap:0.5rem;
}
.sw-folding-boat .sw-tab-labels label{
width:100%;
min-height:46px;
justify-content:flex-start;
}
.sw-folding-boat .sw-tab-panel{
padding:1rem;
}
.sw-folding-boat .sw-mechanics{
padding:1rem;
}
.sw-folding-boat th, .sw-folding-boat td{
padding:0.65rem;
}
}
/* END SHARED STYLES — Folding Boat legacy migration */
/* --- WPWriter addition --- */
/* SpiralWorlds reusable faction illustrated hero — Oct 2026.
   Faction-wide shared global component; images stay clickable. */
html body .entry-content .sw-entry.sw-faction > figure.sw-faction-hero{
display:block!important;
width:100%!important;
max-width:100%!important;
float:none!important;
clear:both!important;
margin:0 auto 1.35rem!important;
padding:0!important;
text-align:center!important;
}
html body .entry-content .sw-entry.sw-faction > figure.sw-faction-hero > a{
display:block!important;
max-width:100%!important;
width:100%!important;
line-height:0!important;
}
html body .entry-content .sw-entry.sw-faction > figure.sw-faction-hero img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:auto!important;
object-fit:contain!important;
margin:0!important;
border-radius:7px!important;
border:1px solid #6b563b!important;
}
html body .entry-content .sw-entry.sw-faction > figure.sw-faction-hero figcaption{
margin:.45rem auto 0!important;
padding:0 .5rem!important;
color:#b9b4c1!important;
font-size:.9rem!important;
line-height:1.5!important;
text-align:center!important;
}
/* End reusable faction hero. */
/* SpiralWorlds shared faction edition tabs.
   The same radio/label/panel contract used by the Bestiary; no page-specific IDs. */
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs{
position:relative!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:1.25rem 0 2rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs > input.sw-edition-choice{
position:absolute!important;
width:1px!important;
height:1px!important;
overflow:hidden!important;
clip-path:inset(50%)!important;
opacity:0!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs > .sw-edition-nav{
display:grid!important;
grid-template-columns:repeat(3, minmax(0, 1fr))!important;
gap:.45rem!important;
margin:0 0 .55rem!important;
padding:0!important;
width:100%!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-nav > label{
box-sizing:border-box!important;
display:flex!important;
min-width:0!important;
min-height:48px!important;
justify-content:center!important;
align-items:center!important;
padding:.8rem .5rem!important;
border:1px solid #66523c!important;
border-radius:6px!important;
background:#17171c!important;
color:#eae4da!important;
font-family:"Cinzel", Georgia, serif!important;
font-size:clamp(.79rem, 1.2vw, .98rem)!important;
font-weight:700!important;
line-height:1.35!important;
text-align:center!important;
cursor:pointer!important;
transition:background-color .15s ease, border-color .15s ease!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-nav > label:hover{
background:#29232a!important;
border-color:#c59b65!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(1):checked ~ .sw-edition-nav > label:nth-child(1), html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(2):checked ~ .sw-edition-nav > label:nth-child(2), html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(3):checked ~ .sw-edition-nav > label:nth-child(3){
background:#3a2530!important;
border-color:#d4ad73!important;
color:#ffdfaa!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs > input.sw-edition-choice:focus-visible ~ .sw-edition-nav{
outline:2px solid #e2bf87!important;
outline-offset:3px!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs > .sw-edition-panels{
display:block!important;
box-sizing:border-box!important;
max-width:100%!important;
min-width:0!important;
padding:clamp(.7rem, 2vw, 1.3rem)!important;
background:#101318!important;
border:1px solid #574b3c!important;
border-radius:7px!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-panels > .sw-edition-panel{
display:none!important;
max-width:100%!important;
min-width:0!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(1):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(1), html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(2):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(2), html body .entry-content .sw-entry.sw-faction .sw-edition-choice:nth-of-type(3):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(3){
display:block!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-panel > h3:first-child{
margin-top:0!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-panel .sw-statblock{
box-sizing:border-box!important;
max-width:100%!important;
margin:0 0 1.15rem!important;
padding:clamp(.7rem, 2vw, 1rem)!important;
border:1px solid #51473c!important;
border-radius:6px!important;
background:#191b21!important;
overflow-wrap:anywhere!important;
}
html body .entry-content .sw-entry.sw-faction .sw-statblock > h4:first-child{
margin:0 0 .65rem!important;
color:#e6bf88!important;
}
html body .entry-content .sw-entry.sw-faction .sw-stat-overflow{
max-width:100%!important;
overflow-x:auto!important;
-webkit-overflow-scrolling:touch!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-monster-abilities{
width:100%!important;
min-width:330px!important;
border-collapse:collapse!important;
table-layout:fixed!important;
}
html body .entry-content .sw-entry.sw-faction table.sw-monster-abilities th, html body .entry-content .sw-entry.sw-faction table.sw-monster-abilities td{
padding:.35rem .2rem!important;
text-align:center!important;
white-space:nowrap!important;
}
@media (max-width: 600px) {
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs > .sw-edition-nav{
grid-template-columns:minmax(0, 1fr)!important;
gap:.35rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-nav > label{
justify-content:flex-start!important;
padding:.65rem .85rem!important;
min-height:44px!important;
}
}
/* End shared faction edition tabs. */
/* --- WPWriter addition --- */
/* SpiralWorlds shared four-edition faction/NPC rules: extends existing three-tab component. */
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions > .sw-edition-nav{
grid-template-columns:repeat(4, minmax(0, 1fr))!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions > .sw-edition-choice:nth-of-type(4):checked ~ .sw-edition-nav > label:nth-child(4){
background:#3a2530!important;
border-color:#d4ad73!important;
color:#ffdfaa!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions > .sw-edition-choice:nth-of-type(4):checked ~ .sw-edition-panels > .sw-edition-panel:nth-child(4){
display:block!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions .sw-stat-overflow > table.sw-stat-table{
width:100%!important;
border-collapse:collapse!important;
table-layout:auto!important;
margin:.55rem 0 1rem!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions table.sw-stat-table th, html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions table.sw-stat-table td{
text-align:left!important;
vertical-align:top!important;
overflow-wrap:anywhere!important;
padding:.55rem .7rem!important;
border:1px solid #554a3e!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions table.sw-stat-table th{
width:27%!important;
color:#e9be87!important;
}
@media(max-width:860px) {
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions > .sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:600px) {
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions > .sw-edition-nav{
grid-template-columns:minmax(0,1fr)!important;
}
html body .entry-content .sw-entry.sw-faction .sw-edition-tabs.sw-four-editions table.sw-stat-table th{
width:32%!important;
}
}
/* End shared four-edition faction/NPC rules. */
/* --- WPWriter addition --- */
/* Shared faction tables: compact links to existing generic NPC profiles. */
html body .entry-content .sw-entry.sw-faction .sw-npc-role-template{
display:block!important;
margin-top:.35rem!important;
color:#bdb6a9!important;
font-size:.78em!important;
font-weight:400!important;
line-height:1.45!important;
}
html body .entry-content .sw-entry.sw-faction .sw-npc-role-template a{
color:#e9bd83!important;
text-decoration:underline!important;
text-underline-offset:.15em!important;
}
/* End shared faction NPC profile links. */
/* --- WPWriter addition --- */
/* Shared four-edition tabs for generic NPC game statistics. */
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs{
width:100%;
max-width:100%;
min-width:0;
margin:1.5rem 0 2rem;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice{
position:absolute!important;
clip-path:inset(50%)!important;
width:1px!important;
height:1px!important;
opacity:0!important;
overflow:hidden!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.4rem!important;
margin:0 0 .6rem!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav>label{
display:flex!important;
justify-content:center!important;
align-items:center!important;
min-width:0!important;
min-height:46px!important;
box-sizing:border-box!important;
border:1px solid #6e5940!important;
border-radius:5px!important;
padding:.65rem .4rem!important;
background:#191a20!important;
color:#eee3d3!important;
font:700 clamp(.8rem,1.1vw,1rem)/1.4 "Cinzel",Georgia,serif!important;
text-align:center!important;
cursor:pointer!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav>label:hover{
border-color:#cea679!important;
background:#2b2530!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-panels{
min-width:0;
max-width:100%;
border:1px solid #5a4b3d;
border-radius:6px;
background:#11141a;
padding:clamp(.65rem,2vw,1.3rem);
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-panels>.sw-edition-panel{
display:none!important;
min-width:0!important;
max-width:100%!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(1):checked~.sw-edition-panels>.sw-edition-panel:nth-child(1){
display:block!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(1):checked~.sw-edition-nav>label:nth-child(1){
color:#ffdda9!important;
border-color:#d2a66e!important;
background:#382632!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(2):checked~.sw-edition-panels>.sw-edition-panel:nth-child(2){
display:block!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(2):checked~.sw-edition-nav>label:nth-child(2){
color:#ffdda9!important;
border-color:#d2a66e!important;
background:#382632!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(3):checked~.sw-edition-panels>.sw-edition-panel:nth-child(3){
display:block!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(3):checked~.sw-edition-nav>label:nth-child(3){
color:#ffdda9!important;
border-color:#d2a66e!important;
background:#382632!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(4):checked~.sw-edition-panels>.sw-edition-panel:nth-child(4){
display:block!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(4):checked~.sw-edition-nav>label:nth-child(4){
color:#ffdda9!important;
border-color:#d2a66e!important;
background:#382632!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-panels .sw-statblock{
box-sizing:border-box;
min-width:0;
max-width:100%;
padding:clamp(.8rem,1.6vw,1.25rem);
background:#191b22;
border:1px solid #594b3d;
border-radius:6px;
margin:0 0 1rem;
overflow-wrap:anywhere;
}
html body .entry-content .sw-npc-stat-entry .sw-statblock h3,html body .entry-content .sw-npc-stat-entry .sw-statblock h4,html body .entry-content .sw-npc-stat-entry .sw-statblock h5{
color:#edc28d!important;
}
html body .entry-content .sw-npc-stat-entry .sw-ability-grid{
display:grid!important;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:.35rem;
margin:.85rem 0;
}
html body .entry-content .sw-npc-stat-entry .sw-ability-grid>div{
background:#101319;
border:1px solid #62513e;
text-align:center;
padding:.45rem .15rem;
min-width:0;
font-size:clamp(.74rem,1.25vw,.94rem);
line-height:1.45;
}
html body .entry-content .sw-npc-stat-entry .sw-stat-overflow{
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
html body .entry-content .sw-npc-stat-entry table.sw-stat-table{
width:100%;
border-collapse:collapse;
table-layout:auto;
}
html body .entry-content .sw-npc-stat-entry table.sw-stat-table th,html body .entry-content .sw-npc-stat-entry table.sw-stat-table td{
padding:.45rem .6rem;
text-align:left;
vertical-align:top;
overflow-wrap:anywhere;
border:1px solid #554c40;
}
html body .entry-content .sw-npc-stat-entry .sw-statblock .wp-block-table{
overflow-x:auto;
max-width:100%;
}
@media(max-width:760px){
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .entry-content .sw-npc-stat-entry .sw-ability-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
}
@media(max-width:440px){
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>.sw-edition-nav>label{
font-size:.75rem!important;
padding:.5rem .2rem!important;
}
}
/* End shared generic NPC edition tabs. */
/* --- WPWriter addition --- */
/* Shared NPC layout: full-width At a Glance when no companion illustration is present. */
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
box-sizing:border-box!important;
margin:1.5rem 0 2rem!important;
}
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance > .sw-table-wrap{
display:block!important;
width:100%!important;
max-width:none!important;
min-width:0!important;
overflow-x:auto!important;
}
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance table.sw-glance{
width:100%!important;
max-width:none!important;
min-width:0!important;
table-layout:auto!important;
}
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance table.sw-glance th{
width:22%!important;
min-width:120px!important;
vertical-align:top!important;
}
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance table.sw-glance td{
width:78%!important;
vertical-align:top!important;
}
@media (max-width: 600px) {
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance table.sw-glance th{
min-width:92px!important;
width:29%!important;
}
html body .entry-content .sw-entry.sw-npc .sw-identity.sw-npc-wide-glance table.sw-glance td{
width:71%!important;
}
}
/* End shared full-width NPC At a Glance. */
/* --- WPWriter addition --- */
/* Shared identity layout: a lone At a Glance fills the content row. */
html body .entry-content .sw-entry.sw-entry > .sw-identity:has(> .sw-at-a-glance:only-child){
display:block!important;
grid-template-columns:none!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
}
html body .entry-content .sw-entry.sw-entry > .sw-identity > .sw-at-a-glance:only-child{
grid-column:1 / -1!important;
width:100%!important;
max-width:none!important;
min-width:0!important;
}
/* End shared lone At a Glance layout. */
/* --- WPWriter addition --- */
/* Player Resources: keep the creation action card content-height; never stretch it into an empty tower. */
.swpr #build-character .swpr-builder-side{
align-self:start;
}
.swpr #build-character .swpr-builder-side .swpr-button{
margin-top:1rem;
}
/* --- WPWriter addition --- */
/* Free Companies faction entries — shared scoped layout, 2026-10-18 */
.sw-entry.sw-free-companies-page{
max-width:1180px;
margin-inline:auto;
}
.sw-entry.sw-free-companies-page .sw-identity{
margin:1.3rem 0 2rem;
padding:clamp(1rem, 2.5vw, 1.5rem);
border:1px solid rgba(128,128,128,.32);
border-radius:12px;
background:rgba(128,128,128,.055);
}
.sw-entry.sw-free-companies-page .sw-identity h2{
margin-top:0;
}
.sw-entry.sw-free-companies-page .sw-table-wrap{
width:100%;
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
.sw-entry.sw-free-companies-page table{
width:100%;
border-collapse:collapse;
}
.sw-entry.sw-free-companies-page :is(th,td){
padding:.75rem .9rem;
border:1px solid rgba(128,128,128,.3);
text-align:left;
vertical-align:top;
}
.sw-entry.sw-free-companies-page .sw-glance{
min-width:0;
}
.sw-entry.sw-free-companies-page .sw-glance th{
width:26%;
min-width:110px;
}
.sw-entry.sw-free-companies-page .sw-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:clamp(14px,2vw,22px);
align-items:stretch;
margin:1.25rem 0 2rem;
max-width:100%;
}
.sw-entry.sw-free-companies-page .sw-card{
min-width:0;
padding:1.2rem;
border:1px solid rgba(128,128,128,.3);
border-radius:12px;
background:rgba(128,128,128,.045);
}
.sw-entry.sw-free-companies-page .sw-card h3{
margin:0 0 .75rem;
}
.sw-entry.sw-free-companies-page .sw-card p:last-child{
margin-bottom:0;
}
.sw-entry.sw-free-companies-page .sw-jump{
display:flex;
flex-wrap:wrap;
gap:.65rem;
margin:1.25rem 0 2rem;
}
.sw-entry.sw-free-companies-page .sw-jump a{
display:inline-block;
padding:.55rem .85rem;
border:1px solid rgba(128,128,128,.3);
border-radius:999px;
text-decoration:none;
}
.sw-entry.sw-free-companies-page .sw-jump a:is(:hover,:focus-visible){
background:rgba(128,128,128,.14);
}
@media (max-width: 980px) {
.sw-entry.sw-free-companies-page .sw-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media (max-width: 700px) {
.sw-entry.sw-free-companies-page .sw-grid{
grid-template-columns:minmax(0,1fr);
}
.sw-entry.sw-free-companies-page .sw-glance th{
min-width:100px;
width:36%;
}
.sw-entry.sw-free-companies-page .sw-card{
padding:1rem;
}
}
/* End Free Companies scoped layout */
/* John Hawkwood NPC — edition tabs and readable encounter layout, October 2026 */
.sw-entry.sw-hawkwood-entry .sw-edition-tabs{
position:relative;
width:100%;
max-width:100%;
margin:1.1rem 0 1.8rem;
}
.sw-entry.sw-hawkwood-entry .sw-edition-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
overflow:hidden;
}
.sw-entry.sw-hawkwood-entry .sw-edition-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin-bottom:.85rem;
}
.sw-entry.sw-hawkwood-entry .sw-edition-labels label{
margin:0;
padding:.78rem .45rem;
text-align:center;
border:1px solid rgba(138,138,138,.5);
border-radius:8px;
background:rgba(138,138,138,.09);
color:inherit;
font-weight:700;
cursor:pointer;
line-height:1.3;
}
.sw-entry.sw-hawkwood-entry .sw-edition-labels label:hover{
background:rgba(149,120,77,.17);
}
.sw-entry.sw-hawkwood-entry #sw-hw-2024:checked ~ .sw-edition-labels label[for="sw-hw-2024"], .sw-entry.sw-hawkwood-entry #sw-hw-2014:checked ~ .sw-edition-labels label[for="sw-hw-2014"], .sw-entry.sw-hawkwood-entry #sw-hw-pf1:checked ~ .sw-edition-labels label[for="sw-hw-pf1"], .sw-entry.sw-hawkwood-entry #sw-hw-35:checked ~ .sw-edition-labels label[for="sw-hw-35"]{
border-color:#ad9055;
box-shadow:inset 0 -3px #b3955b;
background:rgba(161,126,74,.17);
}
.sw-entry.sw-hawkwood-entry .sw-edition-radio:focus-visible ~ .sw-edition-labels{
outline:2px solid currentColor;
outline-offset:4px;
}
.sw-entry.sw-hawkwood-entry .sw-edition-panel{
display:none;
padding:clamp(.85rem,2.4vw,1.65rem);
border:1px solid rgba(138,138,138,.38);
border-radius:10px;
background:rgba(120,110,100,.035);
overflow-x:auto;
}
.sw-entry.sw-hawkwood-entry #sw-hw-2024:checked ~ .sw-hawkwood-panels .sw-edition-2024, .sw-entry.sw-hawkwood-entry #sw-hw-2014:checked ~ .sw-hawkwood-panels .sw-edition-2014, .sw-entry.sw-hawkwood-entry #sw-hw-pf1:checked ~ .sw-hawkwood-panels .sw-edition-pf1, .sw-entry.sw-hawkwood-entry #sw-hw-35:checked ~ .sw-hawkwood-panels .sw-edition-35{
display:block;
}
.sw-entry.sw-hawkwood-entry .sw-edition-panel h3{
margin-top:0;
}
.sw-entry.sw-hawkwood-entry .sw-npc-ability-table{
width:100%;
border-collapse:collapse;
margin:1rem 0;
}
.sw-entry.sw-hawkwood-entry .sw-npc-ability-table td,.sw-entry.sw-hawkwood-entry .sw-npc-ability-table th{
padding:.45rem;
text-align:center;
border:1px solid rgba(138,138,138,.35);
}
.sw-entry.sw-hawkwood-entry .sw-npc-identity-grid{
display:grid;
grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);
gap:clamp(1rem,3vw,2rem);
align-items:start;
}
.sw-entry.sw-hawkwood-entry .sw-npc-identity-grid > *{
min-width:0;
}
.sw-entry.sw-hawkwood-entry .sw-npc-hook-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
.sw-entry.sw-hawkwood-entry .sw-npc-hook-grid > article{
padding:1rem;
border:1px solid rgba(138,138,138,.35);
border-radius:9px;
}
@media (max-width:760px) {
.sw-entry.sw-hawkwood-entry .sw-edition-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.sw-entry.sw-hawkwood-entry .sw-npc-identity-grid{
grid-template-columns:minmax(0,1fr);
}
.sw-entry.sw-hawkwood-entry .sw-npc-hook-grid{
grid-template-columns:minmax(0,1fr);
}
}
@media print {
.sw-entry.sw-hawkwood-entry .sw-edition-panel{
display:block!important;
break-inside:avoid;
margin-bottom:1.2rem;
}
.sw-entry.sw-hawkwood-entry .sw-edition-labels{
display:none;
}
}
/* John Hawkwood properly formatted RPG stat blocks (scoped to this NPC) */
.sw-entry.sw-hawkwood-entry .sw-npc-statblock{
max-width:100%;
line-height:1.6;
overflow-wrap:break-word;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock .sw-stat-identity{
font-size:clamp(1.14rem,2vw,1.38rem);
margin:.4rem 0 .15rem;
font-family:Cinzel,serif;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock h4{
font-size:1.02rem;
font-family:Cinzel,serif;
letter-spacing:.015em;
margin:1.3rem 0 .55rem;
padding:.38rem .5rem;
border-top:1px solid rgba(185,157,105,.45);
border-bottom:1px solid rgba(185,157,105,.25);
background:rgba(180,147,90,.07);
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock p{
margin:.7rem 0;
line-height:1.6;
max-width:100%;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock .sw-table-wrap{
width:100%;
max-width:100%;
overflow-x:auto;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock .sw-npc-ability-table{
min-width:420px;
font-variant-numeric:tabular-nums;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock .sw-note{
border-left:3px solid rgba(185,157,105,.65);
padding:.7rem 1rem;
background:rgba(138,138,138,.07);
}
@media(max-width:700px){
.sw-entry.sw-hawkwood-entry .sw-npc-statblock h4{
margin:1rem 0 .5rem;
}
.sw-entry.sw-hawkwood-entry .sw-npc-statblock p{
line-height:1.5;
}
}
/* End John Hawkwood stat blocks */
/* End John Hawkwood NPC */
/* Vehmic Court edition monster stat blocks: responsive abilities, 2026-10-19 */
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-ability-grid{
display:grid!important;
grid-template-columns:repeat(6,minmax(0,1fr))!important;
gap:.4rem!important;
max-width:100%!important;
margin:1rem 0 1.4rem!important;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-ability-score{
min-width:0!important;
display:flex!important;
flex-direction:column!important;
overflow-wrap:anywhere;
border:1px solid var(--sw-c-border,#55505e);
border-radius:4px;
background:var(--sw-c-panel,#1b1a20);
text-align:center;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-ability-score > strong{
display:block;
padding:.45rem .2rem;
color:var(--sw-c-heading,#f2eff5);
background:var(--sw-c-raised,#292830);
font-weight:700;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-ability-score > span{
display:block;
padding:.45rem .2rem;
font-size:clamp(.84rem,1.65vw,1rem);
line-height:1.3;
font-variant-numeric:tabular-nums;
}
@media(max-width:720px){
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-ability-grid{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-table-wrap > table.sw-statblock-core{
min-width:0!important;
width:100%!important;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-statblock-core tbody{
display:block!important;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-statblock-core tr{
display:grid!important;
grid-template-columns:minmax(94px,.95fr) minmax(0,1.25fr)!important;
}
html body.page-id-61265 .sw-entry.sw-faction-body .sw-monster-statblock .sw-statblock-core :is(th,td){
min-width:0;
padding:.48rem .56rem;
overflow-wrap:anywhere;
}
}
/* End Vehmic Court responsive monster stats */
/* Fuma Clan scoped entry styles */
html body .sw-entry.sw-fuma-entry .sw-fuma-lede{
font-size:clamp(1.1rem,1.6vw,1.25rem);
line-height:1.6;
max-width:960px;
margin:1.25rem 0 1.6rem;
}
html body .sw-entry.sw-fuma-entry .sw-identity-grid{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);
gap:clamp(1rem,2vw,2rem);
align-items:start;
}
html body .sw-entry.sw-fuma-entry .sw-identity-grid>*{
min-width:0;
}
html body .sw-entry.sw-fuma-entry .sw-fuma-emblem{
margin:0;
max-width:100%;
text-align:center;
}
html body .sw-entry.sw-fuma-entry .sw-fuma-emblem :is(svg,img){
display:block;
margin:auto;
width:min(100%,410px);
max-width:100%;
height:auto;
filter:drop-shadow(0 9px 16px rgba(0,0,0,.18));
}
html body .sw-entry.sw-fuma-entry .sw-fuma-portrait{
margin:1.2rem auto 1.5rem;
max-width:220px;
text-align:center;
}
html body .sw-entry.sw-fuma-entry .sw-fuma-portrait img{
display:block;
width:100%;
height:auto;
aspect-ratio:1;
}
html body .sw-entry.sw-fuma-entry .sw-ability-grid{
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:.5rem;
margin:1rem 0 1.25rem;
}
html body .sw-entry.sw-fuma-entry .sw-ability-score{
min-width:0;
display:flex;
flex-direction:column;
border:1px solid var(--sw-c-border,#72634d);
border-radius:5px;
text-align:center;
overflow:hidden;
}
html body .sw-entry.sw-fuma-entry .sw-ability-score strong{
padding:.4rem .2rem;
background:var(--sw-c-raised,#2b2924);
color:var(--sw-c-heading,#faf5e5);
}
html body .sw-entry.sw-fuma-entry .sw-ability-score span{
padding:.45rem .15rem;
font-size:.95rem;
font-variant-numeric:tabular-nums;
}
html body .sw-entry.sw-fuma-entry .sw-tab-panel>.sw-monster-statblock{
padding:.8rem!important;
border:0!important;
}
html body .sw-entry.sw-fuma-entry .sw-tab-panel .sw-statblock-core{
min-width:0;
}
@media(max-width:780px){
html body .sw-entry.sw-fuma-entry .sw-identity-grid{
grid-template-columns:minmax(0,1fr);
}
html body .sw-entry.sw-fuma-entry .sw-fuma-emblem :is(svg,img){
max-width:280px;
}
html body .sw-entry.sw-fuma-entry .sw-ability-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}
html body .sw-entry.sw-fuma-entry .sw-statblock-core{
width:100%;
min-width:0!important;
}
html body .sw-entry.sw-fuma-entry .sw-statblock-core tbody{
display:block;
}
html body .sw-entry.sw-fuma-entry .sw-statblock-core tr{
display:grid;
grid-template-columns:minmax(90px,1fr) minmax(0,1.2fr);
}
html body .sw-entry.sw-fuma-entry .sw-statblock-core :is(td,th){
padding:.5rem .45rem;
min-width:0;
overflow-wrap:anywhere;
}
}
@media print{
html body .sw-entry.sw-fuma-entry .sw-tab-panel{
display:block!important;
visibility:visible!important;
height:auto!important;
overflow:visible!important;
}
}
/* End Fuma Clan scoped entry styles */
/* Fuma Clan final contrast and edition-tab repair: page-specific */
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry{
background:#10151b!important;
color:#e8e6eb!important;
padding:clamp(1rem,2.5vw,1.65rem);
border-radius:10px;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry :is(h2,h3,h4,h5){
color:#f7e5ca!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry :is(p,li,th,td,figcaption){
color:#e8e6eb!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry :is(.sw-kicker,.sw-emblem figcaption){
color:#d8c6a9!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry a:not(.sw-button){
color:#f0ce97!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-identity{
background:#161e26!important;
border-color:#665e54!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry :is(.sw-glance,.sw-statblock-core){
background:#151c23!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry :is(.sw-glance,.sw-statblock-core) :is(th,td){
background:#151c23!important;
color:#e8e6eb!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-ability-score{
background:#161e26!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-ability-score strong{
background:#343a43!important;
color:#f6f3ed!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tab-labels>label{
background:#222a32!important;
color:#f7e5ca!important;
border:1px solid #a3937a!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs:has(>input.sw-tab-radio:checked)>.sw-tab-panels>.sw-tab-panel{
display:none!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-55:checked~.sw-tab-panels>#sw-fuma-panel-55, html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-2014:checked~.sw-tab-panels>#sw-fuma-panel-2014, html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-pf:checked~.sw-tab-panels>#sw-fuma-panel-pf, html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-35:checked~.sw-tab-panels>#sw-fuma-panel-35{
display:block!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-55:checked~.sw-tab-labels>label[for=sw-fuma-tab-55], html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-2014:checked~.sw-tab-labels>label[for=sw-fuma-tab-2014], html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-pf:checked~.sw-tab-labels>label[for=sw-fuma-tab-pf], html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>#sw-fuma-tab-35:checked~.sw-tab-labels>label[for=sw-fuma-tab-35]{
background:#59472e!important;
color:#fff6e7!important;
border-color:#f4c879!important;
}
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tab-labels>label:focus-visible{
outline:3px solid #f4c879!important;
outline-offset:3px;
}
@media print{
html body.page-id-61257 .entry-content .sw-entry.sw-fuma-entry .sw-tabs>.sw-tab-panels>.sw-tab-panel{
display:block!important;
}
}
/* End Fuma Clan final contrast and tabs */
/* Guide NPC narrative panels — moved from page content, 20 October 2026. */
body.page-id-35733 .entry-content > p.sw-npc-intro, body.page-id-35733 .entry-content > p.sw-npc-rules, body.page-id-35733 .sw-npc-intro, body.page-id-35733 .sw-npc-rules{
color:#e5eaf2!important;
line-height:1.75;
font-size:clamp(1.05rem, 1.25vw, 1.18rem);
max-width:100%;
}
body.page-id-35733 .entry-content > p.sw-npc-intro, body.page-id-35733 .sw-npc-intro{
margin:1.1rem 0 1.6rem;
}
body.page-id-35733 .entry-content > p.sw-npc-rules, body.page-id-35733 .sw-npc-rules{
margin:1.3rem 0 1.35rem;
}
body.page-id-35733 .sw-npc-rules strong{
color:#ffffff!important;
}
body.page-id-35733 .sw-npc-field-notes, body.page-id-35733 .sw-npc-play-guide, body.page-id-35733 .sw-npc-sources{
background:#181b24!important;
border:1px solid #3c4354;
border-radius:10px;
padding:clamp(18px, 2.5vw, 34px);
margin:1.75rem 0;
color:#e5eaf2!important;
max-width:100%;
}
body.page-id-35733 .sw-npc-field-notes h2, body.page-id-35733 .sw-npc-play-guide h2, body.page-id-35733 .sw-npc-sources h2{
color:#f3e3c6!important;
font-family:Cinzel, Georgia, serif;
font-size:clamp(1.45rem, 2.3vw, 1.95rem);
line-height:1.3;
margin:0 0 1.15rem;
}
body.page-id-35733 .sw-npc-field-notes h3, body.page-id-35733 .sw-npc-play-guide h3, body.page-id-35733 .sw-npc-sources h3{
color:#e9d5ad!important;
margin:1.5rem 0 0.75rem;
line-height:1.35;
}
body.page-id-35733 .sw-npc-field-notes p, body.page-id-35733 .sw-npc-field-notes li, body.page-id-35733 .sw-npc-field-notes td, body.page-id-35733 .sw-npc-field-notes th, body.page-id-35733 .sw-npc-field-notes aside, body.page-id-35733 .sw-npc-play-guide p, body.page-id-35733 .sw-npc-play-guide li, body.page-id-35733 .sw-npc-play-guide td, body.page-id-35733 .sw-npc-play-guide th, body.page-id-35733 .sw-npc-sources p{
color:#e5eaf2!important;
line-height:1.7;
overflow-wrap:anywhere;
}
body.page-id-35733 .sw-npc-field-notes strong, body.page-id-35733 .sw-npc-play-guide strong, body.page-id-35733 .sw-npc-sources strong{
color:#ffffff!important;
}
body.page-id-35733 .sw-npc-field-notes a, body.page-id-35733 .sw-npc-play-guide a, body.page-id-35733 .sw-npc-sources a{
color:#9ccaff!important;
text-decoration:underline;
text-underline-offset:2px;
}
body.page-id-35733 .sw-npc-field-notes a:hover, body.page-id-35733 .sw-npc-play-guide a:hover, body.page-id-35733 .sw-npc-sources a:hover{
color:#ffffff!important;
}
body.page-id-35733 .sw-npc-field-notes table, body.page-id-35733 .sw-npc-play-guide table{
width:100%;
border-collapse:collapse;
background:#202531;
}
body.page-id-35733 .sw-npc-field-notes th, body.page-id-35733 .sw-npc-field-notes td, body.page-id-35733 .sw-npc-play-guide th, body.page-id-35733 .sw-npc-play-guide td{
border:1px solid #485063;
padding:0.7rem 0.8rem;
text-align:left;
vertical-align:top;
}
body.page-id-35733 .sw-npc-field-notes aside{
background:#202531;
border:1px solid #3c4354;
border-radius:8px;
padding:1rem;
}
body.page-id-35733 .sw-npc-field-notes ul, body.page-id-35733 .sw-npc-play-guide ul, body.page-id-35733 .sw-npc-play-guide ol{
padding-left:1.5rem;
}
body.page-id-35733 .sw-npc-field-notes li, body.page-id-35733 .sw-npc-play-guide li{
margin-bottom:0.55rem;
}
@media (max-width: 600px) {
body.page-id-35733 .sw-npc-field-notes, body.page-id-35733 .sw-npc-play-guide, body.page-id-35733 .sw-npc-sources{
padding:16px;
margin:1.1rem 0;
}
body.page-id-35733 .sw-npc-field-notes th, body.page-id-35733 .sw-npc-field-notes td, body.page-id-35733 .sw-npc-play-guide th, body.page-id-35733 .sw-npc-play-guide td{
padding:0.5rem;
font-size:max(16px, 0.95rem);
}
}
/* SW CREATURE DIRECTORY — START — 2026-10-22 */
.entry-content details.sw-creature-directory{
margin:1rem 0;
border:1px solid #bca061;
border-radius:8px;
background:#fffdf8;
color:#332f28;
}
.entry-content .sw-creature-directory > summary{
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem;
min-height:72px;
box-sizing:border-box;
padding:.85rem 1rem;
border-radius:7px;
background:#f1e7cf;
color:#332712;
cursor:pointer;
list-style:none;
}
.entry-content .sw-creature-directory > summary::marker{
content:"";
}
.entry-content .sw-creature-directory > summary::-webkit-details-marker{
display:none;
}
.entry-content .sw-creature-directory > summary:focus-visible{
outline:3px solid #865b00;
outline-offset:3px;
}
.sw-creature-directory__label{
min-width:0;
}
.sw-creature-directory__label strong{
display:block;
line-height:1.4;
}
.sw-creature-directory__count{
display:block;
margin-top:.15rem;
color:#665638;
font-size:.85rem;
line-height:1.4;
}
.sw-creature-directory__toggle{
display:inline-flex;
flex-shrink:0;
align-items:center;
gap:.65rem;
padding:.4rem .7rem;
border:1px solid #9e7a26;
border-radius:5px;
background:#fffaf0;
color:#513900;
font-size:.85rem;
font-weight:700;
line-height:1.4;
white-space:nowrap;
}
.sw-creature-directory__hide{
display:none;
}
.sw-creature-directory[open] .sw-creature-directory__show{
display:none;
}
.sw-creature-directory[open] .sw-creature-directory__hide{
display:inline;
}
.sw-creature-directory__icon::before{
content:"+";
font-size:1.25rem;
line-height:1;
}
.sw-creature-directory[open] .sw-creature-directory__icon::before{
content:"−";
}
.entry-content .sw-creature-directory > p{
margin:1rem 1.25rem;
color:inherit;
}
.entry-content .sw-creature-directory > ul.sw-creature-directory__links{
columns:15rem 3;
column-gap:1.5rem;
margin:0 1.25rem 1.25rem;
padding:0;
list-style:none;
}
.entry-content .sw-creature-directory__links > li{
break-inside:avoid;
margin:0;
padding:0;
}
.entry-content .sw-creature-directory__links > li > a{
display:block;
min-height:44px;
box-sizing:border-box;
padding:7px 5px;
border-bottom:1px solid #e8dfcc;
color:#6f4c00;
line-height:1.4;
overflow-wrap:anywhere;
text-decoration:underline;
text-underline-offset:.15em;
}
.entry-content .sw-creature-directory__links > li > a:hover, .entry-content .sw-creature-directory__links > li > a:focus-visible{
background:#f2ead7;
color:#3c2900;
outline:2px solid #865b00;
outline-offset:1px;
}
@media (max-width: 600px) {
.entry-content .sw-creature-directory > summary{
flex-direction:column;
align-items:flex-start;
gap:.6rem;
}
.entry-content .sw-creature-directory > ul.sw-creature-directory__links{
column-count:1;
}
}
/* SW CREATURE DIRECTORY — END */
/* Legacy direct location h2/table/emblem layout. */
/* Older location pages place the h2, table and emblem directly in one section. */
@media (min-width: 901px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-location > section:has(> h2:first-child + table.sw-glance + figure.sw-emblem){
display:grid!important;
grid-template-columns:minmax(0, 1.65fr) minmax(220px, .75fr)!important;
grid-template-areas:"heading emblem" "table emblem"!important;
gap:0 clamp(18px, 2.5vw, 32px)!important;
align-items:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-location > section:has(> h2:first-child + table.sw-glance + figure.sw-emblem) > h2:first-child{
grid-area:heading!important;
margin-top:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-location > section:has(> h2:first-child + table.sw-glance + figure.sw-emblem) > table.sw-glance{
grid-area:table!important;
display:table!important;
width:100%!important;
min-width:0!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-location > section:has(> h2:first-child + table.sw-glance + figure.sw-emblem) > figure.sw-emblem{
grid-area:emblem!important;
justify-self:center!important;
align-self:start!important;
width:100%!important;
max-width:300px!important;
margin:0!important;
text-align:center!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-location > section:has(> h2:first-child + table.sw-glance + figure.sw-emblem) > figure.sw-emblem img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
object-fit:contain!important;
}
}
/* SpiralWorlds — shared location showcase layout migrated from Lübeck pilot, 23 October 2026 */
/* SpiralWorlds location pilot, scoped to Lübeck only, awaiting shared-CSS consolidation */
.sw-location-showcase{
--loc-bg:#101319;
--loc-gold:#d6ac61;
--loc-ink:#f4f0e8;
--loc-rule:#5c4931;
position:relative;
left:50%;
transform:translateX(-50%);
width:min(1420px,calc(100vw - 20px));
max-width:none;
background:var(--loc-bg);
color:var(--loc-ink);
border:1px solid var(--loc-rule);
padding:0 0 2.25rem;
box-sizing:border-box;
color-scheme:dark;
font-family:Georgia,serif;
line-height:1.62;
overflow:hidden;
}
.sw-location-showcase *, .sw-location-showcase *::before,.sw-location-showcase *::after{
box-sizing:border-box;
}
.sw-location-showcase p,.sw-location-showcase li{
color:var(--loc-ink);
text-align:left;
}
.sw-location-showcase a{
color:#f3ce8b;
text-underline-offset:3px;
}
.sw-location-showcase a:focus-visible{
outline:3px solid #f3ce8b;
outline-offset:2px;
}
.sw-location-showcase h1,.sw-location-showcase h2,.sw-location-showcase h3{
font-family:Cinzel,Georgia,serif;
color:var(--loc-ink);
text-align:left;
line-height:1.28;
}
.sw-location-showcase h2{
font-size:clamp(1.4rem,2vw,2rem);
border-bottom:1px solid var(--loc-rule);
padding-bottom:.35rem;
margin:1.4rem 0 .8rem;
}
.sw-location-showcase img{
max-width:100%;
height:auto;
}
.sw-location-showcase .sw-location-hero{
min-height:clamp(260px,31vw,435px);
position:relative;
display:flex;
align-items:end;
padding:clamp(1.2rem,3vw,3rem);
isolation:isolate;
border-bottom:2px solid var(--loc-gold);
background:#232a33;
}
.sw-location-showcase .sw-location-hero>img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 43%;
z-index:-2;
}
.sw-location-showcase .sw-location-hero::after{
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(0deg,rgba(8,10,14,.96),rgba(8,10,14,.55) 47%,rgba(8,10,14,.04) 100%);
pointer-events:none;
}
.sw-location-showcase .sw-location-hero h1{
color:#fff;
font-size:clamp(2.6rem,5.4vw,5.25rem);
line-height:1.1;
margin:0;
border:0;
padding:0;
text-shadow:0 2px 10px #000;
}
.sw-location-showcase .sw-location-hero .sw-location-deck{
color:#efd098;
font:700 clamp(1.05rem,2vw,1.7rem)/1.25 Cinzel,Georgia,serif;
text-transform:uppercase;
margin:.2rem 0;
}
.sw-location-showcase .sw-location-hero .sw-location-subtitle{
color:#fff;
margin:.2rem 0 0;
max-width:65ch;
text-shadow:0 2px 9px #000;
}
.sw-location-showcase .sw-location-hero-source{
text-align:right!important;
color:#bfbab0!important;
font-size:.73rem;
padding:.35rem 1.2rem;
margin:0!important;
}
.sw-location-showcase .sw-entry.sw-location{
color:inherit;
max-width:none;
width:auto;
margin:0;
padding:0;
}
.sw-location-showcase section.sw-identity{
margin:1rem clamp(.8rem,2vw,2rem);
padding:clamp(.75rem,1.4vw,1.1rem);
border:1px solid var(--loc-rule);
background:linear-gradient(115deg,#171b21,#111419);
}
body .sw-location-showcase section.sw-identity>.sw-identity-grid{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(165px,215px)!important;
gap:1.4rem!important;
align-items:start!important;
}
.sw-location-showcase section.sw-identity .sw-identity-main{
min-width:0!important;
}
.sw-location-showcase section.sw-identity h2{
color:var(--loc-gold);
margin:0 0 .5rem!important;
}
.sw-location-showcase table.sw-glance{
table-layout:auto;
border-collapse:collapse;
width:100%;
background:transparent!important;
color:var(--loc-ink)!important;
font-size:.89em;
line-height:1.35;
}
.sw-location-showcase table.sw-glance th,.sw-location-showcase table.sw-glance td{
color:var(--loc-ink)!important;
background:transparent!important;
border:0!important;
border-bottom:1px solid #333940!important;
padding:.4rem .5rem!important;
text-align:left!important;
vertical-align:top;
}
.sw-location-showcase table.sw-glance th{
color:#eac480!important;
width:27%;
}
.sw-location-showcase figure.sw-emblem{
width:100%!important;
max-width:215px!important;
margin:0 auto!important;
justify-self:center!important;
text-align:center!important;
}
.sw-location-showcase figure.sw-emblem img{
display:block!important;
width:100%!important;
max-height:250px!important;
height:auto!important;
object-fit:contain!important;
}
.sw-location-showcase figure.sw-emblem figcaption{
font-size:.72em!important;
line-height:1.4!important;
color:#d1c9bb!important;
text-align:center!important;
}
.sw-location-showcase .sw-location-nav{
display:flex;
overflow-x:auto;
scrollbar-width:thin;
gap:0;
padding:0;
margin:1rem clamp(.8rem,2vw,2rem) 0;
border-bottom:2px solid var(--loc-gold);
}
.sw-location-showcase .sw-location-nav a{
flex:0 0 auto;
padding:.7rem 1rem;
color:#f1e8d8;
background:#171b20;
border:1px solid #40434a;
border-bottom:0;
text-decoration:none;
font:600 .81em/1.3 Cinzel,Georgia,serif;
white-space:nowrap;
}
.sw-location-showcase .sw-location-nav a:hover,.sw-location-showcase .sw-location-nav a:focus-visible{
background:#6b532d;
color:#fff;
}
.sw-location-showcase .sw-location-nav a[aria-current="location"]{
background:#65502d;
border-color:var(--loc-gold);
color:#fff;
}
.sw-location-showcase .sw-location-body{
padding:0 clamp(.8rem,2vw,2rem);
}
.sw-location-showcase .sw-location-body>section{
scroll-margin-top:4rem;
}
.sw-location-showcase .sw-location-body>section p{
max-width:80ch;
}
.sw-location-showcase .sw-location-overview-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);
gap:1.4rem;
align-items:start;
}
.sw-location-showcase .sw-location-overview-grid figure{
margin:0;
}
.sw-location-showcase .sw-location-overview-grid figure img{
display:block;
border:1px solid var(--loc-gold);
width:100%;
height:auto;
}
.sw-location-showcase .sw-location-overview-grid figcaption{
font-size:.75rem;
color:#d1c9bb;
font-style:italic;
}
@media(max-width:840px){
body .sw-location-showcase section.sw-identity>.sw-identity-grid{
grid-template-columns:minmax(0,1fr)!important;
}
.sw-location-showcase figure.sw-emblem{
max-width:170px!important;
}
.sw-location-showcase .sw-location-overview-grid{
grid-template-columns:1fr;
}
}
@media(max-width:480px){
.sw-location-showcase{
width:calc(100vw - 10px);
}
.sw-location-showcase .sw-location-hero{
min-height:255px;
padding:1rem;
}
.sw-location-showcase .sw-location-hero h1{
font-size:clamp(2.3rem,12vw,3.2rem);
}
.sw-location-showcase table.sw-glance th,.sw-location-showcase table.sw-glance td{
padding:.38rem .24rem!important;
}
}
@media(prefers-reduced-motion:reduce){
.sw-location-showcase *{
scroll-behavior:auto!important;
}
}
/* END SpiralWorlds shared location showcase layout */
/* SpiralWorlds God Workflow v1.5 — readable deity alignment (2026-10-23).
   Scoped to actual deity entries; no change to hero artwork, emblem placement, or stat numbers. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity{
text-align:left!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity :is(h1,h2,h3,h4,p,ul,ol,li){
text-align:left!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity :is(h1,h2,h3,h4){
margin-left:0!important;
margin-right:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-glance :is(th,td), html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spells :is(th,td){
text-align:left!important;
vertical-align:top;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-tab-labels{
justify-content:flex-start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-tab-labels label{
text-align:center!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity > p:not(.sw-kicker){
max-width:85ch;
margin-left:0!important;
margin-right:auto!important;
}
/* END SpiralWorlds God Workflow v1.5 deity alignment */
/* SpiralWorlds shared visual QA — Japanese pantheon paintings, spells and directory.
   Scoped classes; this does not alter site-wide figure sizing or page titles. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity figure.sw-hero-historic{
display:block!important;
width:min(100%, 1000px)!important;
max-width:100%!important;
margin:0 auto 1.2rem!important;
text-align:center!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity figure.sw-hero-historic > img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:min(68vh, 540px)!important;
object-fit:contain!important;
object-position:center center!important;
margin:0 auto!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity figure.sw-hero-historic figcaption{
max-width:80ch;
margin:.5rem auto .8rem!important;
text-align:center!important;
font-size:.78rem!important;
line-height:1.4!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spell-tables{
min-width:0!important;
margin:1.5rem 0!important;
padding:clamp(.75rem, 2vw, 1.25rem)!important;
border:1px solid currentColor;
border-radius:6px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spells{
margin:1rem 0;
min-width:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spells .sw-table-wrap{
width:100%!important;
max-width:100%!important;
overflow-x:auto!important;
-webkit-overflow-scrolling:touch;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spells table{
width:100%!important;
min-width:min(480px, 100%)!important;
table-layout:auto;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity .sw-domain-spells :is(th,td){
text-align:left!important;
vertical-align:top!important;
white-space:normal!important;
overflow-wrap:anywhere;
}
html body:not(.wp-admin) .entry-content .sw-pantheon-grid{
display:grid!important;
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
gap:.7rem 1.25rem!important;
margin:1rem 0 1.75rem!important;
padding-left:1.4rem!important;
}
html body:not(.wp-admin) .entry-content .sw-pantheon-grid li{
min-width:0;
padding:.1rem .3rem!important;
}
@media (max-width: 740px) {
html body:not(.wp-admin) .entry-content .sw-pantheon-grid{
grid-template-columns:1fr!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-deity figure.sw-hero-historic > img{
max-height:420px!important;
}
}
/* END Japanese deity publication visual QA — 2026-10-23 */
/* NPC workflow 1.7 — shared portrait, reading and keyboard containment, 23 October 2026 */
html body:not(.wp-admin) .entry-content :is(.sw-npc-entry,.sw-npc-after-stats,.sw-npc-license){
box-sizing:border-box!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
float:none!important;
clear:both;
overflow-wrap:break-word;
text-align:left;
}
html body:not(.wp-admin) .entry-content :is(.sw-npc-entry,.sw-npc-after-stats,.sw-npc-license) :is(p,li,a,td,th){
min-width:0;
max-width:100%;
white-space:normal;
overflow-wrap:anywhere;
line-height:1.65;
}
html body:not(.wp-admin) .entry-content :is(.sw-npc-entry,.sw-npc-after-stats,.sw-npc-license){
background:#15171c;
color:#f7f3ed;
}
html body:not(.wp-admin) .entry-content :is(.sw-npc-entry,.sw-npc-after-stats,.sw-npc-license) :is(h2,h3,h4,summary){
color:#f1d18e!important;
-webkit-text-fill-color:#f1d18e!important;
background:transparent!important;
text-align:left!important;
line-height:1.3!important;
}
html body:not(.wp-admin) .entry-content :is(.sw-npc-entry,.sw-npc-after-stats,.sw-npc-license) a{
color:#f1d18e;
text-decoration:underline;
text-underline-offset:.14em;
}
html body:not(.wp-admin) .entry-content .sw-npc-profile-intro{
display:grid!important;
grid-template-columns:minmax(0,300px) minmax(0,1fr);
gap:clamp(1rem,3vw,2rem);
align-items:start;
min-width:0;
margin:0 0 1.6rem;
}
html body:not(.wp-admin) .entry-content .sw-npc-profile-intro > *{
min-width:0;
}
html body:not(.wp-admin) .entry-content .sw-npc-portrait{
float:none!important;
width:100%;
max-width:300px;
margin:0;
}
html body:not(.wp-admin) .entry-content .sw-npc-portrait img{
display:block;
width:100%;
height:auto;
max-height:440px;
object-fit:contain;
object-position:top;
}
html body:not(.wp-admin) .entry-content .sw-npc-glance{
padding:1rem;
background:#1d2631;
border:1px solid #46515a;
border-radius:8px;
color:#f7f4ee;
}
html body:not(.wp-admin) .entry-content .sw-npc-glance h2{
margin:0 0 .8rem;
font-size:1.35rem;
}
html body:not(.wp-admin) .entry-content .sw-npc-glance dl{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.8rem 1.1rem;
margin:0;
}
html body:not(.wp-admin) .entry-content .sw-npc-glance dt{
color:#f1d18e;
font-weight:700;
}
html body:not(.wp-admin) .entry-content .sw-npc-glance dd{
margin:0;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-ability :is(strong,span){
display:block;
}
html body:not(.wp-admin) .entry-content .sw-npc-art{
max-width:680px;
margin:1.5rem auto;
}
html body:not(.wp-admin) .entry-content .sw-npc-art img{
display:block;
width:100%;
height:auto;
}
html body:not(.wp-admin) .entry-content .sw-npc-portrait figcaption, html body:not(.wp-admin) .entry-content .sw-npc-art figcaption{
font-size:.82rem;
line-height:1.5;
margin:.4rem 0;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs :is(.sw-edition-panels,.sw-edition-panel,.sw-statblock){
min-width:0;
max-width:100%;
box-sizing:border-box;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(1):focus-visible~.sw-edition-nav>label:nth-child(1){
outline:3px solid #f1d18e;
outline-offset:3px;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(2):focus-visible~.sw-edition-nav>label:nth-child(2){
outline:3px solid #f1d18e;
outline-offset:3px;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(3):focus-visible~.sw-edition-nav>label:nth-child(3){
outline:3px solid #f1d18e;
outline-offset:3px;
}
html body:not(.wp-admin) .entry-content .sw-npc-stat-entry .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(4):focus-visible~.sw-edition-nav>label:nth-child(4){
outline:3px solid #f1d18e;
outline-offset:3px;
}
@media(max-width:760px) {
html body:not(.wp-admin) .entry-content .sw-npc-profile-intro{
grid-template-columns:minmax(0,1fr);
}
html body:not(.wp-admin) .entry-content .sw-npc-portrait{
justify-self:center;
}
}
@media(max-width:480px) {
html body:not(.wp-admin) .entry-content .sw-npc-glance dl{
grid-template-columns:minmax(0,1fr);
}
}
/* END shared NPC workflow 1.7 containment */
/* BEGIN SW WORKFLOW WEAPON MODULE 20261024 v1.0
   One shared source; existing swg-/swb- markup remains supported.
   Carries forward working edition isolation, keyboard focus, table containment
   and uncropped artwork. Does not change article content or other page types. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon{
--sw-weapon-bg:#151d28;
--sw-weapon-paper:#f6f1e8;
--sw-weapon-gold:#f3d38a;
--sw-weapon-border:#64748a;
color:var(--sw-weapon-paper);
max-width:100%;
min-width:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon *{
box-sizing:border-box;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(p,li,dd,figcaption){
line-height:1.65;
overflow-wrap:anywhere;
min-width:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(h2,h3){
color:var(--sw-weapon-gold);
text-align:left;
margin:24px 0 10px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon a{
color:var(--sw-weapon-gold);
text-decoration:underline;
text-underline-offset:.14em;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-lead,.swg-lead,.swb-lead){
font-size:1.11rem;
max-width:79ch;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-overview,.swg-overview,.swb-overview){
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
margin:22px 0;
align-items:start;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-glance,.sw-weapon-art,.swg-facts,.swg-art,.swb-facts,.swb-art){
background:var(--sw-weapon-bg);
border:1px solid var(--sw-weapon-border);
border-radius:8px;
padding:16px;
margin:0;
min-width:0;
color:var(--sw-weapon-paper);
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-glance,.swg-facts,.swb-facts) h2{
margin:0 0 12px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-glance,.swg-facts,.swb-facts) dl{
display:grid;
grid-template-columns:minmax(0,39%) minmax(0,1fr);
gap:10px;
margin:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon dt{
font-weight:750;
color:var(--sw-weapon-gold);
overflow-wrap:anywhere;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon dd{
margin:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-art,.swg-art,.swb-art) img{
display:block;
width:100%;
height:auto;
max-height:440px;
object-fit:contain;
background:#f5f1ea;
border-radius:4px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon figcaption{
font-size:.84rem;
line-height:1.52;
margin:10px 0 0;
color:var(--sw-weapon-paper);
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-editions{
position:relative;
border:1px solid var(--sw-weapon-border);
border-radius:8px;
background:#161f2b;
overflow:hidden;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:3px;
padding:4px;
background:#0a111b;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker input[type="radio"]{
position:absolute;
opacity:0;
width:1px;
height:1px;
clip-path:inset(50%);
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker label{
display:flex;
justify-content:center;
align-items:center;
min-width:0;
min-height:48px;
padding:12px 6px;
background:#34445c;
color:#fff;
border-radius:4px;
text-align:center;
cursor:pointer;
font-weight:700;
font-size:clamp(12px,1.1vw,16px);
line-height:1.3;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker label:hover{
background:#536c8b;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker input[type="radio"]:checked+label{
background:#dfb669;
color:#121922;
box-shadow:inset 0 -3px 0 currentColor;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker input[type="radio"]:focus-visible+label{
outline:3px solid #fff;
outline-offset:-3px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-panel{
display:none;
padding:14px;
color:var(--sw-weapon-paper);
min-width:0;
max-width:100%;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-editions:has(> .sw-weapon-picker > input[id$="-2024"]:checked) > .sw-weapon-panel[data-edition="2024"], html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-editions:has(> .sw-weapon-picker > input[id$="-2014"]:checked) > .sw-weapon-panel[data-edition="2014"], html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-editions:has(> .sw-weapon-picker > input[id$="-pf"]:checked) > .sw-weapon-panel[data-edition="pf"], html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-editions:has(> .sw-weapon-picker > input[id$="-35"]:checked) > .sw-weapon-panel[data-edition="35"]{
display:block;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-scroll,.swg-scroll,.swb-scroll){
overflow-x:auto;
max-width:100%;
min-width:0;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon table{
border-collapse:collapse;
min-width:670px;
width:100%;
background:#202c3b;
color:#f6f1e8;
font-size:.94rem;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon table caption{
padding:0 0 10px;
text-align:left;
font-weight:700;
color:var(--sw-weapon-gold);
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon table :is(th,td){
background:#202c3b;
color:#f6f1e8;
width:auto!important;
text-align:left;
vertical-align:top;
padding:10px;
border:1px solid #64748a;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon table th{
background:#36465e;
color:#fff;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-panel p{
margin:12px 0 2px;
}
@media(max-width:700px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-overview,.swg-overview,.swb-overview){
grid-template-columns:minmax(0,1fr);
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker{
grid-template-columns:repeat(2,minmax(0,1fr));
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-panel{
padding:8px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon .sw-weapon-picker label{
font-size:.87rem;
}
}
@media(max-width:400px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-glance,.swg-facts,.swb-facts) dl{
grid-template-columns:minmax(0,1fr);
gap:4px;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-weapon :is(.sw-weapon-glance,.swg-facts,.swb-facts) dd{
margin:0 0 10px;
}
}
/* END SW WORKFLOW WEAPON MODULE 20261024 v1.0 */
/* BEGIN SW SPELL REFERENCE MODULE 20261024 v1.0
   Opt-in spell layout: preserve manuscript order, responsive artwork and focus.
   Uses the existing canonical palette, edition controls and panel rules. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry.sw-spell-reference{
display:block!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry.sw-spell-reference :is(.sw-hero,.sw-figure) img{
width:100%!important;
height:auto!important;
aspect-ratio:auto 3 / 2!important;
object-fit:contain!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry.sw-spell-reference .sw-two-col{
align-items:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(1):focus-visible ~ .sw-tab-labels > label:nth-child(1), html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(2):focus-visible ~ .sw-tab-labels > label:nth-child(2), html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(3):focus-visible ~ .sw-tab-labels > label:nth-child(3), html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry .sw-tabs > input.sw-tab-radio:nth-of-type(4):focus-visible ~ .sw-tab-labels > label:nth-child(4){
outline:3px solid var(--sw-c-focus,#ffe1a9)!important;
outline-offset:3px!important;
}
@media(max-width:600px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-spell-entry.sw-spell-reference{
width:100%!important;
padding-inline:0!important;
}
}
/* END SW SPELL REFERENCE MODULE 20261024 v1.0 */
/* BEGIN SHARED NPC IDENTITY 20261024 v1.1 — facts + painted portrait */
html body:not(.wp-admin) .entry-content .wp-block-group.sw-npc-identity > .wp-block-group__inner-container{
display:grid!important;
grid-template-columns:minmax(0,1.35fr) minmax(240px,.85fr)!important;
grid-template-areas:"heading heading" "facts portrait";
align-items:start!important;
column-gap:clamp(1rem,3vw,2.25rem)!important;
row-gap:.85rem!important;
width:100%!important;
max-width:100%!important;
margin:1.4rem 0 2rem!important;
padding:0!important;
clear:both;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > h2.wp-block-heading{
grid-area:heading;
color:inherit!important;
font-family:Cinzel, Georgia, serif!important;
font-size:clamp(1.5rem,2.4vw,2.05rem)!important;
line-height:1.3!important;
text-align:left!important;
letter-spacing:.018em!important;
margin:0!important;
padding:0 0 .5rem!important;
border-bottom:2px solid rgba(207,166,91,.68);
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > ul.wp-block-list{
grid-area:facts;
display:block!important;
list-style:none!important;
min-width:0;
width:100%!important;
margin:0!important;
padding:clamp(.8rem,2vw,1.2rem)!important;
background:rgba(146,135,120,.10);
border:1px solid rgba(174,151,109,.44);
border-radius:10px;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > ul.wp-block-list > li{
display:block!important;
list-style:none!important;
margin:0!important;
padding:.43rem .15rem!important;
line-height:1.5!important;
overflow-wrap:break-word;
border-bottom:1px solid rgba(158,144,118,.28);
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > ul.wp-block-list > li:last-child{
border-bottom:0;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > ul.wp-block-list > li::marker{
content:"";
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > ul.wp-block-list strong{
color:inherit!important;
font-weight:700!important;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > figure.wp-block-image{
grid-area:portrait;
display:block!important;
float:none!important;
clear:none!important;
justify-self:center!important;
width:100%!important;
max-width:360px!important;
min-width:0!important;
margin:0!important;
padding:0!important;
text-align:center;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > figure.wp-block-image img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
object-fit:contain!important;
border-radius:8px;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > figure.wp-block-image figcaption{
margin:.5rem 0 0!important;
font-size:.83rem!important;
line-height:1.4!important;
text-align:center!important;
}
@media (max-width: 760px) {
html body:not(.wp-admin) .entry-content .wp-block-group.sw-npc-identity > .wp-block-group__inner-container{
grid-template-columns:minmax(0,1fr)!important;
grid-template-areas:"heading" "facts" "portrait";
row-gap:1rem!important;
}
html body:not(.wp-admin) .entry-content .sw-npc-identity > .wp-block-group__inner-container > figure.wp-block-image{
max-width:320px!important;
}
}
/* NPC page-section heading contrast — matches later headings after identity */
html body:not(.wp-admin) .entry-content > .sw-npc-identity ~ :is(h2.wp-block-heading,h3.wp-block-heading){
color:#f2eff5!important;
-webkit-text-fill-color:currentColor!important;
}
html[data-theme="light"] body:not(.wp-admin) .entry-content > .sw-npc-identity ~ :is(h2.wp-block-heading,h3.wp-block-heading), html body.light-mode:not(.wp-admin) .entry-content > .sw-npc-identity ~ :is(h2.wp-block-heading,h3.wp-block-heading), html body.ast-light-mode:not(.wp-admin) .entry-content > .sw-npc-identity ~ :is(h2.wp-block-heading,h3.wp-block-heading){
color:#302b38!important;
}
/* END SHARED NPC IDENTITY 20261024 v1.1 */
/* SW ISEULT OF THE FORD NPC STYLES 20261025 — page-scoped four-edition tabs */
#sw-iseult-npc{
max-width:100%;
min-width:0;
text-align:left;
line-height:1.58;
}
#sw-iseult-npc .sw-lead{
font-size:clamp(18px,1.5vw,22px);
line-height:1.55;
margin:1.2rem 0 1.5rem;
}
#sw-iseult-npc .sw-npc-facts{
background:#252126;
color:#f4eadd;
border:1px solid #725e43;
border-radius:7px;
padding:clamp(14px,2vw,26px);
margin:1.5rem 0;
}
#sw-iseult-npc .sw-npc-facts h2{
color:#e9c98f!important;
text-align:left;
}
#sw-iseult-npc .sw-npc-facts dl{
display:grid;
grid-template-columns:minmax(110px,.28fr) minmax(0,.72fr);
gap:9px 15px;
margin:0;
}
#sw-iseult-npc .sw-npc-facts dt{
font-weight:bold;
color:#e5c38e;
}
#sw-iseult-npc .sw-npc-facts dd{
margin:0;
}
#sw-iseult-npc .sw-edition-tabs{
position:relative!important;
margin:1.2rem 0 2rem;
max-width:100%;
}
#sw-iseult-npc .sw-edition-choice{
position:absolute!important;
width:1px!important;
height:1px!important;
left:0!important;
overflow:hidden!important;
clip-path:inset(50%)!important;
opacity:0!important;
margin:0!important;
padding:0!important;
}
#sw-iseult-npc .sw-edition-nav{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:8px!important;
margin:0 0 1rem!important;
}
#sw-iseult-npc .sw-edition-nav label{
display:flex!important;
align-items:center;
justify-content:center;
text-align:center;
cursor:pointer;
min-height:49px;
padding:10px 7px;
border:1px solid #916f49;
border-radius:6px;
background:#322b27;
color:#f6e9d2;
font-weight:700;
line-height:1.35;
}
#sw-iseult-npc .sw-edition-nav label:hover{
background:#463529;
}
#sw-iseult-npc #if-ed-2024:checked~.sw-edition-nav label[for="if-ed-2024"],#sw-iseult-npc #if-ed-2014:checked~.sw-edition-nav label[for="if-ed-2014"],#sw-iseult-npc #if-ed-pf:checked~.sw-edition-nav label[for="if-ed-pf"],#sw-iseult-npc #if-ed-35:checked~.sw-edition-nav label[for="if-ed-35"]{
background:#886137!important;
border-color:#d7b681!important;
color:#fff!important;
box-shadow:inset 0 -3px #dfbc86;
}
#sw-iseult-npc #if-ed-2024:focus-visible~.sw-edition-nav label[for="if-ed-2024"],#sw-iseult-npc #if-ed-2014:focus-visible~.sw-edition-nav label[for="if-ed-2014"],#sw-iseult-npc #if-ed-pf:focus-visible~.sw-edition-nav label[for="if-ed-pf"],#sw-iseult-npc #if-ed-35:focus-visible~.sw-edition-nav label[for="if-ed-35"]{
outline:3px solid #f0ca8b;
outline-offset:2px;
}
#sw-iseult-npc .sw-edition-panel{
display:none!important;
background:#221e20;
color:#f4eadd;
border:1px solid #624e38;
border-radius:7px;
padding:clamp(14px,2vw,27px);
min-width:0;
max-width:100%;
box-sizing:border-box;
}
#sw-iseult-npc #if-ed-2024:checked~.sw-edition-panels #if-panel-2024,#sw-iseult-npc #if-ed-2014:checked~.sw-edition-panels #if-panel-2014,#sw-iseult-npc #if-ed-pf:checked~.sw-edition-panels #if-panel-pf,#sw-iseult-npc #if-ed-35:checked~.sw-edition-panels #if-panel-35{
display:block!important;
}
#sw-iseult-npc .sw-npc-monster-block{
border-left:4px solid #ac7a49;
padding-left:clamp(8px,1.4vw,22px);
max-width:100%;
box-sizing:border-box;
text-align:left;
}
#sw-iseult-npc .sw-npc-monster-block h3{
font-size:clamp(22px,2.1vw,30px);
color:#ecc58b!important;
text-align:left;
margin:0 0 1rem;
}
#sw-iseult-npc .sw-npc-monster-block h4{
color:#ebc890!important;
border-bottom:1px solid #7c5e3c;
padding-bottom:.25rem;
margin:1.25rem 0 .5rem;
text-align:left;
}
#sw-iseult-npc .sw-npc-monster-block p{
font-size:clamp(15px,1.16vw,18px);
line-height:1.56;
margin:.7rem 0;
}
#sw-iseult-npc .sw-stat-rule{
border-bottom:1px solid #604b36;
margin-bottom:.8rem;
padding-bottom:.7rem;
}
#sw-iseult-npc .sw-stat-overflow{
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
#sw-iseult-npc .sw-monster-abilities{
min-width:410px;
width:100%;
border-collapse:collapse;
text-align:center;
table-layout:fixed;
}
#sw-iseult-npc .sw-monster-abilities td,#sw-iseult-npc .sw-monster-abilities th{
padding:.55rem .3rem;
border:1px solid #6c553a;
white-space:nowrap;
}
#sw-iseult-npc .sw-monster-abilities th{
background:#443426;
color:#ecd3a7;
}
#sw-iseult-npc .sw-monster-abilities td{
background:#29242a;
color:#f5eadd;
}
#sw-iseult-npc .sw-stat-note{
border-top:1px solid #785d40;
padding-top:.5rem;
font-size:14px!important;
font-style:italic;
}
#sw-iseult-npc a{
color:#ebc481;
text-underline-offset:3px;
}
@media(max-width:620px){
#sw-iseult-npc .sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#sw-iseult-npc .sw-edition-panel{
padding:11px;
}
#sw-iseult-npc .sw-npc-facts dl{
grid-template-columns:1fr;
gap:2px;
}
#sw-iseult-npc .sw-npc-facts dd{
margin-bottom:8px;
}
}
/* END SW ISEULT OF THE FORD NPC STYLES 20261025 */
/* Garm WP10256: accessible four-edition tab focus and phone sizing; shared stylesheet, 2026-10-25. */
body.page-id-10256 .entry-content #garm-rulebook > input.sw-tab-radio:nth-of-type(1):focus-visible ~ .sw-tab-labels > label:nth-child(1), body.page-id-10256 .entry-content #garm-rulebook > input.sw-tab-radio:nth-of-type(2):focus-visible ~ .sw-tab-labels > label:nth-child(2), body.page-id-10256 .entry-content #garm-rulebook > input.sw-tab-radio:nth-of-type(3):focus-visible ~ .sw-tab-labels > label:nth-child(3), body.page-id-10256 .entry-content #garm-rulebook > input.sw-tab-radio:nth-of-type(4):focus-visible ~ .sw-tab-labels > label:nth-child(4){
outline:3px solid #ffe1a9!important;
outline-offset:3px!important;
}
@media (max-width: 640px) {
body.page-id-10256 .entry-content #garm-rulebook > .sw-tab-labels{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
}
}
/* END GARM WP10256 TAB FOCUS AND PHONE GRID */
/* SpiralWorlds Location Identity — shared direct and nested layouts, 13 Nov 2026.
   Facts 2/3, heraldry 1/3. A nested grid spans the outer grid. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > :is(.sw-identity,.sw-location-identity), html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location > section.sw-identity, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > .sw-identity-grid, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > :is(.sw-identity,.sw-location-identity) > .sw-identity-grid, html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location > section.sw-identity > .sw-identity-grid{
display:grid!important;
grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;
align-items:start!important;
gap:clamp(16px,2vw,24px)!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
box-sizing:border-box!important;
float:none!important;
clear:both!important;
margin:0 0 1.4rem!important;
padding:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > :is(.sw-identity,.sw-location-identity) > .sw-identity-grid, html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location > section.sw-identity > .sw-identity-grid{
grid-column:1 / -1!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) > :is(.sw-identity-main,.sw-at-a-glance,.sw-location-glance), html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location .sw-identity-grid > :first-child{
grid-column:1!important;
grid-row:1!important;
order:0;
min-width:0!important;
max-width:100%!important;
width:100%!important;
margin:0!important;
float:none!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) > :is(.sw-identity-main,.sw-at-a-glance,.sw-location-glance):only-child{
grid-column:1 / -1!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) .sw-identity-main > h2:first-child, html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location .sw-identity-grid > :first-child > h2:first-child{
margin:0 0 1rem!important;
padding:0!important;
text-align:left!important;
line-height:1.25!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) > :is(figure.sw-emblem,figure.sw-heraldry,.sw-identity-heraldry), html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location .sw-identity-grid > figure.sw-emblem{
display:block!important;
grid-column:2!important;
grid-row:1!important;
order:1;
justify-self:center!important;
align-self:start!important;
width:100%!important;
max-width:320px!important;
min-width:0!important;
float:none!important;
clear:none!important;
margin:0!important;
box-sizing:border-box!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) :is(figure.sw-emblem,figure.sw-heraldry,.sw-identity-heraldry) img, html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location .sw-identity-grid > figure.sw-emblem img{
display:block!important;
width:100%!important;
max-width:320px!important;
height:auto!important;
max-height:none!important;
aspect-ratio:1 / 1!important;
object-fit:contain!important;
margin:0 auto!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) :is(figure.sw-emblem,figure.sw-heraldry,.sw-identity-heraldry) figcaption{
height:auto;
max-height:none;
margin:.55rem auto 0!important;
font-size:.85rem;
line-height:1.45;
text-align:center!important;
overflow-wrap:break-word;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) .sw-identity-main .sw-stat-overflow{
display:block!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
overflow-x:auto!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) .sw-identity-main table.sw-glance{
display:table!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
table-layout:auto!important;
border-collapse:collapse!important;
margin:0!important;
}
@media(max-width:900px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > :is(.sw-identity,.sw-location-identity), html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location > section.sw-identity, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > .sw-identity-grid, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) > :is(.sw-identity,.sw-location-identity) > .sw-identity-grid, html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location > section.sw-identity > .sw-identity-grid{
grid-template-columns:minmax(0,1fr)!important;
gap:1rem!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-location,.sw-location-entry) :is(.sw-identity,.sw-location-identity,.sw-identity-grid) > :is(figure.sw-emblem,figure.sw-heraldry,.sw-identity-heraldry), html body:not(.wp-admin) .entry-content .sw-location-showcase .sw-location .sw-identity-grid > figure.sw-emblem{
grid-column:1!important;
grid-row:2!important;
justify-self:center!important;
width:min(100%,320px)!important;
}
}
/* END SpiralWorlds Location Identity */
html body.page-id-268410 .entry-content #sw-location-calais > header.sw-calais-cover{
display:block!important;
position:relative!important;
padding:0!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
min-height:0!important;
overflow:hidden!important;
}
html body.page-id-268410 .entry-content #sw-location-calais > header.sw-calais-cover > img{
display:block!important;
position:static!important;
float:none!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:none!important;
object-fit:cover!important;
margin:0!important;
border-radius:0!important;
}
html body.page-id-268410 .entry-content #sw-location-calais > header.sw-calais-cover > .sw-calais-cover-caption{
position:absolute!important;
left:0!important;
right:0!important;
bottom:0!important;
top:auto!important;
display:block!important;
max-width:none!important;
}
@media(max-width:760px){
html body.page-id-268410 .entry-content #sw-location-calais > header.sw-calais-cover > .sw-calais-cover-caption{
padding:35px 14px 13px!important;
}
}
/* SpiralWorlds — Calais final title and larger crest, 26 Oct 2026.
   Scoped to Calais: other location layouts stay unchanged. */
html body.page-id-268410 .site-content header.entry-header, html body.page-id-268410 .site-content header.entry-header .entry-title{
text-align:center!important;
width:100%!important;
max-width:none!important;
}
html body.page-id-268410 .site-content header.entry-header .entry-title{
margin:0 auto 1.15rem!important;
padding:0 12px!important;
box-sizing:border-box!important;
text-wrap:balance;
}
/* END SpiralWorlds Calais enlarged shield and centered title */
/* SpiralWorlds London–Paris location presentation v1 — 26 Oct 2026.
   Consistent outer H1; proportional shield without shrinking the facts. */
html body:is(.page-id-55747,.page-id-268133,.page-id-268134,.page-id-268135,.page-id-268410,.page-id-268411,.page-id-268137,.page-id-268138,.page-id-268412,.page-id-268413,.page-id-57075) .site-content .entry-header > h1.entry-title{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0 auto 1rem!important;
text-align:center!important;
text-wrap:balance!important;
}
/* END SpiralWorlds London–Paris location presentation v1 */
/* SpiralWorlds — route hero covers, 26 Oct 2026.
   Unlike .sw-location-showcase (a legacy WHOLE PAGE wrapper), this class is ONLY an image header. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover{
position:relative!important;
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
min-height:0!important;
margin:0 0 1.4rem!important;
padding:0!important;
overflow:hidden!important;
box-sizing:border-box!important;
background:#0c0d12!important;
border-radius:8px!important;
border:1px solid #806b50!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > img{
display:block!important;
position:static!important;
float:none!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:none!important;
aspect-ratio:16/9!important;
object-fit:cover!important;
object-position:center!important;
margin:0!important;
padding:0!important;
border:0!important;
border-radius:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > div:last-child{
display:block!important;
position:absolute!important;
inset:auto 0 0!important;
box-sizing:border-box!important;
width:100%!important;
max-width:none!important;
padding:55px 20px 20px!important;
margin:0!important;
text-align:center!important;
background:linear-gradient(0deg,rgba(8,9,14,.97),rgba(8,9,14,.60) 50%,transparent)!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > div:last-child > p{
text-align:center!important;
max-width:none!important;
margin:0 auto 5px!important;
}
@media(max-width:760px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > img{
min-height:240px!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > div:last-child{
padding:40px 12px 12px!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-location-entry > header.sw-route-cover > div:last-child > p:first-child{
font-size:clamp(24px,6vw,32px)!important;
}
}
/* END SpiralWorlds route hero covers */
/* BEGIN SpiralWorlds shared edition tabs */
html body .entry-content .sw-tabs[data-sw-editions]{
position:relative;
margin:1.5rem 0;
}
html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[type="radio"]{
position:absolute!important;
left:0!important;
top:0!important;
width:1px!important;
height:1px!important;
min-width:0!important;
margin:0!important;
padding:0!important;
border:0!important;
opacity:.001!important;
clip:rect(0,0,0,0)!important;
clip-path:inset(50%)!important;
overflow:hidden!important;
white-space:nowrap!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.6rem!important;
width:100%!important;
margin:0 0 1rem!important;
padding:0!important;
border:0!important;
background:transparent!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-labels > label{
display:flex!important;
align-items:center!important;
justify-content:center!important;
min-width:0!important;
min-height:48px!important;
width:auto!important;
max-width:none!important;
margin:0!important;
padding:.75rem .9rem!important;
border:1px solid var(--sw-line,#55505e)!important;
border-radius:7px!important;
background:var(--sw-panel,#1b1a20)!important;
color:var(--sw-text,#eee4ce)!important;
font-weight:700!important;
line-height:1.25!important;
text-align:center!important;
cursor:pointer!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-panels{
margin:0!important;
padding:0!important;
border:0!important;
background:transparent!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-panels > .sw-tab-panel{
display:none!important;
visibility:hidden!important;
height:0!important;
min-height:0!important;
max-height:0!important;
margin:0!important;
padding:0!important;
overflow:hidden!important;
border:0!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-55"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-55"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2024"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2024"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-5e"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-5e"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2014"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-2014"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf1"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-pf1"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-35"]:checked ~ .sw-tab-panels > .sw-tab-panel[id$="-35"]{
display:block!important;
visibility:visible!important;
height:auto!important;
min-height:0!important;
max-height:none!important;
margin:0 0 1.4rem!important;
padding:clamp(1rem,2vw,1.5rem)!important;
overflow:visible!important;
border:1px solid var(--sw-line,#55505e)!important;
border-top:3px solid var(--sw-gold,#e6c68e)!important;
border-radius:8px!important;
background:var(--sw-panel,#1b1a20)!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-55"]:checked ~ .sw-tab-labels > label[for$="-55"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2024"]:checked ~ .sw-tab-labels > label[for$="-2024"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-5e"]:checked ~ .sw-tab-labels > label[for$="-5e"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2014"]:checked ~ .sw-tab-labels > label[for$="-2014"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf"]:checked ~ .sw-tab-labels > label[for$="-pf"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf1"]:checked ~ .sw-tab-labels > label[for$="-pf1"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-35"]:checked ~ .sw-tab-labels > label[for$="-35"]{
background:var(--sw-gold,#e6c68e)!important;
border-color:var(--sw-gold,#e6c68e)!important;
color:#17130c!important;
}
html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-55"]:focus-visible ~ .sw-tab-labels > label[for$="-55"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2024"]:focus-visible ~ .sw-tab-labels > label[for$="-2024"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-5e"]:focus-visible ~ .sw-tab-labels > label[for$="-5e"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-2014"]:focus-visible ~ .sw-tab-labels > label[for$="-2014"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf"]:focus-visible ~ .sw-tab-labels > label[for$="-pf"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-pf1"]:focus-visible ~ .sw-tab-labels > label[for$="-pf1"], html body .entry-content .sw-tabs[data-sw-editions] > input.sw-tab-radio[id$="-35"]:focus-visible ~ .sw-tab-labels > label[for$="-35"]{
outline:3px solid var(--sw-gold,#e6c68e)!important;
outline-offset:3px!important;
}
@media(max-width:780px){
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}
@media(max-width:520px){
html body .entry-content .sw-tabs[data-sw-editions] > .sw-tab-labels{
grid-template-columns:1fr!important;
}
}
/* END SpiralWorlds shared edition tabs */
/* Shared native reference blocks on the dark site canvas — 13 Nov 2026.
   Direct Gutenberg content only; bespoke light cards keep their own palette. */
html body:not(.home):not(.wp-admin) .entry-content > :is(p,ul,ol,blockquote):not(.has-background){
color:#e8e6eb!important;
line-height:1.65;
}
html body:not(.home):not(.wp-admin) .entry-content > p.sw-lead:not(.has-background){
font-size:1.1em;
}
html body:not(.home):not(.wp-admin) .entry-content > :is(h2,h3,h4,h5,h6):not(.has-background){
color:#f2eff5!important;
line-height:1.25;
margin-block:1.7em .65em;
text-wrap:balance;
}
html body:not(.home):not(.wp-admin) .entry-content > :is(p,ul,ol,blockquote):not(.has-background) :is(li,strong,b,em){
color:inherit!important;
}
html body:not(.home):not(.wp-admin) .entry-content > :is(p,ul,ol,blockquote):not(.has-background) a{
color:#e6c68e!important;
}
html body:not(.home):not(.wp-admin) .entry-content > :is(p,ul,ol,blockquote):not(.has-background) a:focus-visible{
outline:3px solid #ffe1a9;
outline-offset:3px;
}
html body:not(.home):not(.wp-admin) .entry-content > figure.wp-block-table:not(.has-background){
max-width:100%;
overflow-x:auto;
color:#e8e6eb;
}
html body:not(.home):not(.wp-admin) .entry-content > figure.wp-block-table:not(.has-background) :is(th,td){
color:#e8e6eb!important;
border-color:#55505e;
vertical-align:top;
}
html body:not(.home):not(.wp-admin) .entry-content > figure.wp-block-table:not(.has-background) th{
background:#25232b!important;
}
html body:not(.home):not(.wp-admin) .entry-content > figure.wp-block-table:not(.has-background) td{
background:#1b1a20!important;
}
html body:not(.home):not(.wp-admin) .entry-content > figure.wp-block-table:not(.has-background) a{
color:#e6c68e!important;
}
/* END shared native reference blocks */
/* Shared deity identity: table 2/3, sacred symbol 1/3. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
gap:24px!important;
align-items:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity > .sw-at-a-glance, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity > .sw-heraldry{
min-width:0!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity > .sw-at-a-glance > h2:first-child{
margin-top:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity .sw-glance-table{
width:100%!important;
table-layout:fixed;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity .sw-glance-table th{
width:30%;
overflow-wrap:anywhere;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity .sw-glance-table td{
overflow-wrap:anywhere;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity > .sw-heraldry img{
width:100%!important;
height:auto!important;
max-width:100%!important;
max-height:none!important;
aspect-ratio:1 / 1;
object-fit:contain;
}
@media (max-width: 900px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity{
grid-template-columns:minmax(0, 1fr)!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry.sw-deity > section.sw-identity > .sw-heraldry{
max-width:320px!important;
justify-self:center!important;
}
}
/* Shared deity identity columns */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) > .sw-identity-layout{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
gap:24px!important;
align-items:start!important;
width:100%!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) > .sw-identity-layout > .sw-identity-text, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) > .sw-identity-layout > .sw-identity-art{
min-width:0!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-text > .sw-glance-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
width:100%!important;
max-width:none!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-text > h2:first-child{
margin-top:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-text > .sw-glance-grid > div > h3{
margin:0 0 6px!important;
font-size:18px!important;
line-height:1.25!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-text > .sw-glance-grid > div > p{
margin:0!important;
font-size:17px!important;
line-height:1.5!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-art .sw-god-symbol{
width:100%!important;
max-width:none!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-art .sw-god-symbol img{
display:block;
width:100%!important;
max-width:100%!important;
height:auto!important;
max-height:none!important;
aspect-ratio:1 / 1;
object-fit:contain;
}
@media (max-width: 900px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) > .sw-identity-layout{
grid-template-columns:minmax(0, 1fr)!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) > .sw-identity-layout > .sw-identity-art{
max-width:320px!important;
justify-self:center!important;
}
}
@media (max-width: 480px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-identity-text > .sw-glance-grid{
grid-template-columns:minmax(0, 1fr)!important;
}
}
/* Shared deity identity section: top-aligned details (2/3) and emblem (1/3) */
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
align-items:start!important;
gap:24px!important;
width:100%!important;
max-width:none!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-text, html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-art{
min-width:0!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-text > .sw-glance-grid{
grid-template-columns:repeat(2, minmax(0, 1fr))!important;
width:100%!important;
max-width:none!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-art .sw-god-symbol{
width:100%!important;
max-width:none!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-art img{
display:block;
width:100%!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:1/1;
object-fit:contain;
}
@media (max-width: 900px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout{
grid-template-columns:minmax(0, 1fr)!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-art{
max-width:320px!important;
justify-self:center!important;
}
}
@media (max-width: 480px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-entry:is(.sw-god-entry,.sw-deity) .sw-at-a-glance > .sw-identity-layout > .sw-identity-text > .sw-glance-grid{
grid-template-columns:minmax(0, 1fr)!important;
}
}
/* Shared native page titles — one existing H1, no generated headings. */
html body.page:not(.home) .entry-header > h1.entry-title, html body.page:not(.home) .entry-content > h1.entry-title.sw-indexing-title{
font-size:clamp(2rem,3.6vw,3.25rem)!important;
line-height:1.15!important;
text-align:center!important;
text-wrap:balance;
letter-spacing:-.015em;
}
.entry-content .sw-entry > :is(h1.sw-page-title,h1.sw-entry-title):not(.has-text-align-left), .entry-content .sw-entry > header > :is(h1.sw-page-title,h1.sw-entry-title):not(.has-text-align-left){
text-align:center!important;
text-wrap:balance;
line-height:1.15;
}
.entry-content .sw-entry h1.has-text-align-left{
text-align:left!important;
}
/* Shared regional-atlas location layout: reusable on .sw-location-atlas entries. */
html body .entry-content .sw-entry.sw-location-atlas{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
padding:0;
line-height:1.7;
}
html body .entry-content .sw-entry.sw-location-atlas, html body .entry-content .sw-entry.sw-location-atlas *{
box-sizing:border-box;
}
html body .entry-content .sw-entry.sw-location-atlas h1{
text-align:center;
line-height:1.1;
margin:0 0 1.25rem;
}
html body .entry-content .sw-entry.sw-location-atlas h2{
margin:2.4rem 0 .9rem;
line-height:1.2;
}
html body .entry-content .sw-entry.sw-location-atlas h3{
margin:1.8rem 0 .65rem;
line-height:1.25;
}
html body .entry-content .sw-entry.sw-location-atlas p{
margin:0 0 1rem;
}
html body .entry-content .sw-entry.sw-location-atlas a{
text-underline-offset:.15em;
}
.sw-entry.sw-location-atlas .sw-lede{
font-size:1.12em;
}
.sw-entry.sw-location-atlas .sw-kicker{
margin:-.35rem auto 1.35rem;
max-width:860px;
text-align:center;
font-style:italic;
font-size:1.05em;
}
.sw-entry.sw-location-atlas .sw-figure{
margin:0 0 1.6rem;
}
.sw-entry.sw-location-atlas .sw-figure img{
display:block;
width:100%;
height:auto;
}
.sw-entry.sw-location-atlas .sw-figure figcaption{
margin-top:.55rem;
font-size:.9em;
line-height:1.45;
opacity:.82;
text-align:center;
}
.sw-entry.sw-location-atlas .sw-hero img{
aspect-ratio:16/9;
object-fit:cover;
}
.sw-entry.sw-location-atlas .sw-map img{
height:auto;
object-fit:contain;
}
.sw-entry.sw-location-atlas .sw-identity-heading{
margin:1.6rem 0 .75rem!important;
}
html body .entry-content .sw-entry.sw-entry.sw-location-atlas > .sw-identity{
display:grid!important;
grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;
gap:24px!important;
align-items:start!important;
margin:0 0 2rem!important;
padding:0!important;
width:100%!important;
}
.sw-entry.sw-location-atlas .sw-identity-main, .sw-entry.sw-location-atlas .sw-identity-heraldry{
min-width:0;
margin:0;
padding:0;
align-self:start;
}
.sw-entry.sw-location-atlas .sw-identity-main > :first-child, .sw-entry.sw-location-atlas .sw-identity-heraldry > :first-child{
margin-top:0!important;
}
.sw-entry.sw-location-atlas .sw-heraldry-frame{
margin:0;
width:100%;
aspect-ratio:1/1;
overflow:hidden;
}
.sw-entry.sw-location-atlas .sw-heraldry-frame img{
display:block;
width:100%;
height:100%;
object-fit:contain;
margin:0;
}
html body .entry-content .sw-entry.sw-location-atlas table.sw-glance, html body .entry-content .sw-entry.sw-location-atlas table.sw-hooks{
display:table!important;
width:100%;
border-collapse:collapse;
margin:0;
}
.sw-entry.sw-location-atlas .sw-glance th, .sw-entry.sw-location-atlas .sw-glance td, .sw-entry.sw-location-atlas .sw-hooks th, .sw-entry.sw-location-atlas .sw-hooks td{
padding:.65rem .75rem;
border:1px solid rgba(127,127,127,.35);
vertical-align:top;
text-align:left;
}
.sw-entry.sw-location-atlas .sw-glance th{
width:30%;
font-weight:700;
}
.sw-entry.sw-location-atlas .sw-hooks th:first-child, .sw-entry.sw-location-atlas .sw-hooks td:first-child{
width:56px;
text-align:center;
white-space:nowrap;
}
.sw-entry.sw-location-atlas .sw-callout{
margin:1.4rem 0;
padding:1rem 1.15rem;
border-left:4px solid currentColor;
background:rgba(127,127,127,.08);
}
.sw-entry.sw-location-atlas .sw-callout p:last-child{
margin-bottom:0;
}
.sw-entry.sw-location-atlas .sw-related{
display:flex;
flex-wrap:wrap;
gap:.55rem .85rem;
margin:1rem 0 0;
}
.sw-entry.sw-location-atlas .sw-sources{
margin-top:2.5rem;
padding-top:1.2rem;
border-top:1px solid rgba(127,127,127,.35);
font-size:.95em;
}
@media (max-width:782px) {
html body .entry-content .sw-entry.sw-location-atlas{
width:calc(100% - 24px);
}
html body .entry-content .sw-entry.sw-entry.sw-location-atlas > .sw-identity{
grid-template-columns:minmax(0,1fr)!important;
gap:18px!important;
}
.sw-entry.sw-location-atlas .sw-identity-heraldry{
width:min(100%,420px);
margin:0 auto;
}
.sw-entry.sw-location-atlas .sw-glance, .sw-entry.sw-location-atlas .sw-hooks{
font-size:.95em;
}
.sw-entry.sw-location-atlas .sw-glance :is(th,td), .sw-entry.sw-location-atlas .sw-hooks :is(th,td){
padding:.55rem .6rem;
}
}
@media (max-width:520px) {
.sw-entry.sw-location-atlas .sw-glance :is(th,td){
display:block;
width:100%;
}
.sw-entry.sw-location-atlas .sw-glance th{
border-bottom:0;
padding-bottom:.25rem;
}
.sw-entry.sw-location-atlas .sw-glance td{
padding-top:.25rem;
}
.sw-entry.sw-location-atlas .sw-hooks :is(th,td):first-child{
width:44px;
}
}
/* End shared regional-atlas layout. */
/* Shared regional-atlas compatibility with the legacy global entry rules. */
html body .entry-content .sw-entry.sw-location-atlas :is(.sw-hero,.sw-map){
width:100%!important;
max-width:100%!important;
margin:0 auto 1.6rem!important;
}
html body .entry-content .sw-entry.sw-location-atlas .sw-kicker{
font-size:1.05em!important;
font-weight:400!important;
font-style:italic!important;
letter-spacing:normal!important;
margin:-.35rem auto 1.35rem!important;
}
html body .entry-content .sw-entry.sw-location-atlas .sw-identity{
max-width:100%!important;
}
html body .entry-content .sw-entry.sw-location-atlas table.sw-glance > tbody{
display:table-row-group!important;
}
html body .entry-content .sw-entry.sw-location-atlas table.sw-glance tr{
display:table-row!important;
}
html body .entry-content .sw-entry.sw-location-atlas table.sw-glance :is(th,td){
display:table-cell!important;
}
@media (max-width:520px) {
html body .entry-content .sw-entry.sw-location-atlas table.sw-glance :is(th,td){
display:block!important;
width:100%!important;
}
}
/* End regional-atlas compatibility. */
/* Shared NPC workflow formats — fixes outer identity width and presentation, 2026-11-02. */
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-identity.sw-npc-identity{
display:block!important;
grid-template-columns:none!important;
grid-template-areas:none!important;
width:100%!important;
max-width:100%!important;
min-width:0!important;
margin:1.5rem 0 2rem!important;
padding:0!important;
float:none!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-grid{
grid-column:1/-1!important;
width:100%!important;
max-width:100%!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity table.sw-glance{
table-layout:auto!important;
border-collapse:collapse!important;
width:100%!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity table.sw-glance th{
width:25%!important;
min-width:110px;
vertical-align:top!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity table.sw-glance td{
width:75%!important;
vertical-align:top!important;
overflow-wrap:break-word;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-side > h2{
font-size:clamp(1.25rem,2vw,1.75rem)!important;
line-height:1.25!important;
overflow-wrap:normal!important;
margin:0 0 .9rem!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-side p{
color:#f0e9e1!important;
font-size:clamp(.95rem,1.25vw,1.08rem)!important;
line-height:1.55!important;
margin:0 0 .8rem!important;
}
@media(max-width:780px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-identity.sw-npc-identity{
display:block!important;
width:100%!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-grid{
grid-template-columns:minmax(0,1fr)!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity table.sw-glance th{
min-width:0!important;
}
}
/* Shared edition-correct NPC stat-block presentation (four-system workflows). */
html body .entry-content .sw-entry .sw-official-statblock{
display:block;
width:100%;
min-width:0;
max-width:100%;
background:#1b1920;
color:#eee9f2;
border:1px solid #685c6a;
border-top:4px solid #d9b575;
border-radius:8px;
padding:clamp(1rem,2.5vw,1.65rem);
line-height:1.55;
overflow-wrap:break-word;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-name{
margin:0 0 .2rem;
color:#f2ca86;
font-size:clamp(1.4rem,2.2vw,1.8rem);
line-height:1.2;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-type{
font-style:italic;
margin:0 0 .8rem;
color:#ded5df;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-section{
margin:1.15rem 0 0;
padding-top:.9rem;
border-top:1px solid #67576b;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-section > h4{
color:#f2ca86;
font-size:1.08rem;
margin:0 0 .65rem;
line-height:1.35;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-fields{
margin:.6rem 0;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.25rem 1.1rem;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-fields > div{
display:flex;
flex-wrap:wrap;
gap:.4rem;
padding:.35rem 0;
border-bottom:1px solid rgba(180,167,183,.24);
min-width:0;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-fields dt{
font-weight:700;
color:#f1c986;
margin:0;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-fields dd{
margin:0;
color:#efeaf1;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-ability-wrap{
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
margin:.75rem 0;
}
html body .entry-content .sw-entry .sw-official-statblock table.sw-stat-abilities{
width:100%!important;
min-width:540px;
table-layout:fixed!important;
border-collapse:collapse!important;
margin:0!important;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-abilities :is(th,td){
width:16.666%!important;
padding:.5rem .3rem!important;
text-align:center!important;
border:1px solid rgba(185,170,186,.45);
background:transparent;
color:#efeaf1;
vertical-align:middle;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-abilities th{
background:#2a242b;
color:#efca8c;
font-weight:700;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-abilities td small{
display:block;
opacity:.9;
font-size:.82em;
line-height:1.45;
}
html body .entry-content .sw-entry .sw-official-statblock p{
margin:.55rem 0;
color:#eee9f2;
}
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-action{
margin:.7rem 0 0;
padding:.15rem 0;
}
@media(max-width:600px){
html body .entry-content .sw-entry .sw-official-statblock .sw-stat-fields{
grid-template-columns:minmax(0,1fr);
}
}
/* End shared NPC workflow formats. */
/* Shared NPC identity — responsive facts and companion panel (2026-11-02). */
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity > .sw-identity-grid{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
gap:clamp(18px, 2.4vw, 32px)!important;
align-items:start!important;
width:100%!important;
max-width:100%!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity > .sw-identity-grid > *{
min-width:0!important;
width:100%!important;
max-width:100%!important;
margin:0!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-main > h2:first-child{
margin-top:0!important;
}
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity .sw-identity-main > table.sw-glance{
display:table!important;
width:100%!important;
max-width:100%!important;
}
@media (max-width: 900px) {
html body:not(.wp-admin) .entry-content .sw-entry.sw-npc-entry .sw-npc-identity > .sw-identity-grid{
grid-template-columns:minmax(0, 1fr)!important;
gap:1.25rem!important;
}
}
/* End shared NPC identity. */
/* Shared Arthurian NPC tabs and contrast — 2026-11-07.
   Applies only to rebuilt sw-entry sw-npc pages; no per-page CSS. */
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc{
width:calc(100% - 32px);
max-width:1180px;
margin-inline:auto;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-hero{
width:100%;
max-width:760px;
margin:0 auto 1.4rem;
text-align:center;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-hero img{
display:block;
width:100%;
height:auto;
max-width:100%;
margin-inline:auto;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-hero figcaption{
font-size:.875rem;
line-height:1.5;
margin:.5rem 0;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity{
display:grid;
grid-template-columns:minmax(0,2fr) minmax(0,1fr);
gap:1.35rem;
align-items:start;
margin:1.5rem 0;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity>*{
min-width:0;
margin-top:0;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity>.sw-npc-heraldry{
justify-self:center;
text-align:center;
width:100%;
max-width:310px;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity>.sw-npc-heraldry img{
display:block;
width:100%;
height:auto;
max-height:340px;
object-fit:contain;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs{
width:100%;
min-width:0;
max-width:100%;
position:relative;
margin:1.2rem 0 2rem;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice{
position:absolute!important;
width:1px!important;
height:1px!important;
left:0!important;
opacity:0!important;
overflow:hidden!important;
clip-path:inset(50%)!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-nav{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.45rem!important;
margin:0 0 .7rem!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-nav>label{
display:flex;
justify-content:center;
align-items:center;
text-align:center;
min-width:0;
min-height:46px;
padding:.65rem .4rem;
cursor:pointer;
color:#f5eddf!important;
background:#29252a!important;
border:1px solid #8a704f!important;
border-radius:5px!important;
font:700 clamp(.79rem,1.12vw,1rem)/1.35 Georgia,serif;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-panels{
min-width:0;
max-width:100%;
padding:clamp(.8rem,2vw,1.4rem);
color:#f6ede2!important;
background:#14171f!important;
border:1px solid #6d5944!important;
border-radius:6px;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-panels>.sw-edition-panel{
display:none!important;
min-width:0!important;
max-width:100%!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(1):checked~.sw-edition-panels>.sw-edition-panel:nth-child(1), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(2):checked~.sw-edition-panels>.sw-edition-panel:nth-child(2), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(3):checked~.sw-edition-panels>.sw-edition-panel:nth-child(3), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(4):checked~.sw-edition-panels>.sw-edition-panel:nth-child(4){
display:block!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-panels .sw-statblock{
box-sizing:border-box;
min-width:0;
max-width:100%;
color:#f6ede2!important;
background:#1a1d25!important;
border:1px solid #705b43;
border-radius:6px;
padding:clamp(.75rem,1.5vw,1.25rem);
overflow-wrap:anywhere;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs .sw-statblock :is(h3,h4,h5){
color:#f1ce9a!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs .sw-statblock :is(p,li,td,dt,dd){
color:#f6ede2!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs .sw-ability-table{
width:100%;
max-width:100%;
border-collapse:collapse;
table-layout:auto;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs .sw-ability-table :is(th,td){
text-align:center;
min-width:0;
padding:.5rem .2rem;
border:1px solid #76634d;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:focus-visible~.sw-edition-nav{
outline:3px solid #e9b978;
outline-offset:3px;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(1):checked~.sw-edition-nav>label:nth-child(1), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(2):checked~.sw-edition-nav>label:nth-child(2), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(3):checked~.sw-edition-nav>label:nth-child(3), html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>input.sw-edition-choice:nth-of-type(4):checked~.sw-edition-nav>label:nth-child(4){
background:#51402f!important;
border-color:#e2bb80!important;
color:#fff2d7!important;
}
@media(max-width:720px){
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity{
grid-template-columns:minmax(0,1fr);
gap:1rem;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc>.sw-npc-identity>.sw-npc-heraldry{
width:min(100%,300px);
justify-self:center;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-nav{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-npc .sw-npc-edition-tabs>.sw-edition-panels{
padding:.65rem!important;
}
}
/* End shared Arthurian NPC tabs and contrast 2026-11-07. */
/* Shared legacy deity identity pairing — five inline-emblem layouts and the Ahura Mazda wrapped layout; 2026-11-08. */
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > section.sw-glance > .sw-glance-grid{
display:grid!important;
grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)!important;
align-items:start!important;
gap:24px!important;
width:100%!important;
max-width:none!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > section.sw-glance > .sw-glance-grid > div{
min-width:0!important;
width:100%!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > section.sw-glance > .sw-glance-grid > figure.sw-symbol, html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > .sw-identity-layout > .sw-identity-art > figure.sw-symbol{
min-width:0!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
align-self:start!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity figure.sw-symbol img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:1 / 1;
object-fit:contain;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > .sw-identity-layout > .sw-identity-text > section.sw-glance > .sw-glance-grid{
display:block!important;
width:100%!important;
max-width:none!important;
margin:0!important;
padding:0!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > .sw-identity-layout > .sw-identity-text > section.sw-glance > .sw-glance-grid table{
width:100%!important;
}
@media (max-width: 782px) {
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > section.sw-glance > .sw-glance-grid{
grid-template-columns:minmax(0, 1fr)!important;
}
html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > section.sw-glance > .sw-glance-grid > figure.sw-symbol, html body:not(.wp-admin) .entry-content article.sw-entry.sw-deity > .sw-identity-layout > .sw-identity-art > figure.sw-symbol{
max-width:320px!important;
justify-self:center!important;
}
}
/* End shared legacy deity identity pairing. */
/* Shared Races workflow: four-edition CSS-only mechanics tabs — Nov 2026. */
html body .sw-entry.sw-race-entry .sw-rules-tabs{
position:relative;
min-width:0;
max-width:100%;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:.5rem!important;
width:100%;
margin:0 0 1rem!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs > .sw-tab-labels > label{
display:flex!important;
align-items:center;
justify-content:center;
text-align:center;
min-height:3rem;
min-width:0;
cursor:pointer;
padding:.6rem .35rem!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4){
display:block!important;
visibility:visible!important;
min-height:0!important;
height:auto!important;
overflow:visible!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(1):checked ~ .sw-tab-labels > label:nth-of-type(1), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(2):checked ~ .sw-tab-labels > label:nth-of-type(2), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(3):checked ~ .sw-tab-labels > label:nth-of-type(3), html body .sw-entry.sw-race-entry .sw-rules-tabs > input.sw-tab-radio:nth-of-type(4):checked ~ .sw-tab-labels > label:nth-of-type(4){
text-decoration:underline!important;
text-underline-offset:.22em!important;
border-bottom-width:3px!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table{
width:100%;
max-width:100%;
border-collapse:collapse;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table-scroll{
overflow-x:auto;
max-width:100%;
-webkit-overflow-scrolling:touch;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-lineage-table{
min-width:660px;
}
@media(max-width:600px){
html body .sw-entry.sw-race-entry .sw-rules-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table),html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table) > tbody,html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table) > tbody > tr{
display:block!important;
width:100%!important;
box-sizing:border-box;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table) > tbody > tr{
margin:0 0 .6rem;
border:1px solid #777;
border-radius:.35rem;
overflow:hidden;
}
html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table) > tbody > tr > th,html body .sw-entry.sw-race-entry .sw-rules-tabs .sw-table:not(.sw-lineage-table) > tbody > tr > td{
display:block!important;
width:100%!important;
min-width:0;
box-sizing:border-box;
padding:.5rem .7rem!important;
overflow-wrap:break-word;
}
}
/* Shared publication components: book heroes and elven Bestiary encounters, 11 November 2026. */
html body figure.sw-book-hero{
float:none!important;
clear:both;
max-width:720px!important;
width:100%!important;
margin:0 auto 1.5rem!important;
text-align:center;
}
html body figure.sw-book-hero img{
display:block!important;
float:none!important;
width:auto!important;
max-width:100%!important;
height:auto!important;
max-height:580px!important;
aspect-ratio:auto!important;
object-fit:contain!important;
margin:0 auto!important;
}
html body figure.sw-book-hero figcaption{
font-size:.85rem;
line-height:1.5;
margin-top:.6rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
min-width:0;
overflow-wrap:break-word;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-hero{
text-align:center;
margin:0 auto 1.5rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-hero img{
display:block!important;
width:auto!important;
max-width:100%!important;
height:auto!important;
max-height:580px!important;
aspect-ratio:auto!important;
object-fit:contain!important;
margin:0 auto!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-hero figcaption{
font-size:.85rem;
line-height:1.5;
margin-top:.6rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs{
position:relative;
min-width:0;
max-width:100%;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input.sw-tab-radio{
display:block!important;
position:absolute!important;
width:1px!important;
height:1px!important;
overflow:hidden!important;
clip:rect(0,0,0,0);
clip-path:inset(50%);
white-space:nowrap;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > .sw-tab-labels{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin:1rem 0;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > .sw-tab-labels label{
display:flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:.65rem .4rem;
border:1px solid currentColor;
border-radius:.35rem;
cursor:pointer;
text-align:center;
font:600 .95rem/1.35 system-ui,sans-serif;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(1):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(1), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(2):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(2), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(3):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(3), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(4):checked ~ .sw-tab-panels > .sw-tab-panel:nth-of-type(4){
display:block!important;
visibility:visible!important;
height:auto!important;
max-height:none!important;
overflow:visible!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(1):checked ~ .sw-tab-labels label:nth-of-type(1), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(2):checked ~ .sw-tab-labels label:nth-of-type(2), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(3):checked ~ .sw-tab-labels label:nth-of-type(3), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(4):checked ~ .sw-tab-labels label:nth-of-type(4){
text-decoration:underline;
text-underline-offset:.25em;
border-bottom-width:3px;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(1):focus-visible ~ .sw-tab-labels label:nth-of-type(1), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(2):focus-visible ~ .sw-tab-labels label:nth-of-type(2), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(3):focus-visible ~ .sw-tab-labels label:nth-of-type(3), html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > input:nth-of-type(4):focus-visible ~ .sw-tab-labels label:nth-of-type(4){
outline:3px solid currentColor;
outline-offset:3px;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock{
min-width:0;
margin:1rem 0 1.75rem;
padding:1rem;
border:1px solid currentColor;
border-radius:.4rem;
font:400 1rem/1.6 system-ui,sans-serif!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock h3,html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock h4{
color:inherit!important;
text-align:left;
font-family:system-ui,sans-serif!important;
text-transform:none!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock h3{
font-size:1.2rem!important;
line-height:1.4!important;
margin:0 0 .7rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock h4{
font-size:1.05rem!important;
line-height:1.4!important;
margin:1rem 0 .4rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock .sw-table{
display:table!important;
width:100%!important;
max-width:100%;
table-layout:fixed;
border-collapse:collapse;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock th,html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock td{
padding:.45rem;
text-align:left;
overflow-wrap:break-word;
vertical-align:top;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-legacy-stat-table th{
width:30%;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-stat-table-wrap{
min-width:0;
max-width:100%;
overflow-x:auto;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-at-a-glance .sw-table{
width:100%;
table-layout:fixed;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-at-a-glance th{
width:28%;
}
@media(max-width:680px){
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-elf-bestiary-tabs > .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock{
padding:.65rem;
font-size:.95rem;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock th,html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock td{
padding:.3rem;
}
}
@media(prefers-color-scheme:dark){
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock{
background:#171925;
color:#f4f0e8;
}
html body .sw-entry.sw-monster-entry.sw-elf-bestiary-entry .sw-statblock a{
color:#9dd9ff;
}
}
/* End shared publication components. */
/* Dragonborn & Tieflings — shared race tabs, scoped to these two entries */
:is(#dragonborn,#tieflings){
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.7;
}
:is(#dragonborn,#tieflings) h1{
text-align:center;
line-height:1.18;
}
:is(#dragonborn,#tieflings) .sw-hero{
margin:1.2rem auto 1.5rem;
}
:is(#dragonborn,#tieflings) .sw-hero img{
display:block;
width:100%;
height:auto;
border-radius:12px;
}
:is(#dragonborn,#tieflings) .sw-table-wrap{
overflow-x:auto;
}
:is(#dragonborn,#tieflings) table{
width:100%;
border-collapse:collapse;
}
:is(#dragonborn,#tieflings) th,:is(#dragonborn,#tieflings) td{
padding:.7rem .8rem;
border:1px solid rgba(170,170,170,.25);
text-align:left;
vertical-align:top;
}
:is(#dragonborn,#tieflings) .sw-grid-2{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem;
}
:is(#dragonborn,#tieflings) .sw-tabs{
position:relative;
margin:1rem auto;
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-radio{
position:absolute;
inline-size:1px;
block-size:1px;
opacity:0;
overflow:hidden;
clip-path:inset(50%);
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.45rem;
margin-bottom:.8rem;
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-labels label{
display:block;
padding:.6rem .55rem;
text-align:center;
border:1px solid rgba(180,160,110,.4);
border-radius:7px;
cursor:pointer;
line-height:1.3;
background:rgba(160,130,65,.08);
color:inherit;
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-labels label:hover{
background:rgba(160,130,65,.17);
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-radio:focus-visible ~ .sw-tab-labels label{
outline-offset:2px;
}
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-panels .sw-tab-panel{
display:none!important;
}
#sw-dragonborn-n24:checked ~ .sw-tab-panels #sw-dragonborn-panel-n24, #sw-dragonborn-n14:checked ~ .sw-tab-panels #sw-dragonborn-panel-n14, #sw-dragonborn-pf:checked ~ .sw-tab-panels #sw-dragonborn-panel-pf, #sw-dragonborn-n35:checked ~ .sw-tab-panels #sw-dragonborn-panel-n35, #sw-tieflings-n24:checked ~ .sw-tab-panels #sw-tieflings-panel-n24, #sw-tieflings-n14:checked ~ .sw-tab-panels #sw-tieflings-panel-n14, #sw-tieflings-pf:checked ~ .sw-tab-panels #sw-tieflings-panel-pf, #sw-tieflings-n35:checked ~ .sw-tab-panels #sw-tieflings-panel-n35{
display:block!important;
}
#sw-dragonborn-n24:checked ~ .sw-tab-labels label[for="sw-dragonborn-n24"], #sw-dragonborn-n14:checked ~ .sw-tab-labels label[for="sw-dragonborn-n14"], #sw-dragonborn-pf:checked ~ .sw-tab-labels label[for="sw-dragonborn-pf"], #sw-dragonborn-n35:checked ~ .sw-tab-labels label[for="sw-dragonborn-n35"], #sw-tieflings-n24:checked ~ .sw-tab-labels label[for="sw-tieflings-n24"], #sw-tieflings-n14:checked ~ .sw-tab-labels label[for="sw-tieflings-n14"], #sw-tieflings-pf:checked ~ .sw-tab-labels label[for="sw-tieflings-pf"], #sw-tieflings-n35:checked ~ .sw-tab-labels label[for="sw-tieflings-n35"]{
border-color:#d3ad67;
background:rgba(174,130,59,.19);
font-weight:700;
}
@media(max-width:650px){
:is(#dragonborn,#tieflings) .sw-tabs .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
:is(#dragonborn,#tieflings) .sw-grid-2{
grid-template-columns:1fr;
}
}
/* End Dragonborn & Tieflings race tabs */
/* VIRILITY FEAT — reusable edition tabs, scoped to canonical page 747 */
body.page-id-747 .sw-entry.sw-feat-entry{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.7;
}
body.page-id-747 .sw-entry.sw-feat-entry h1{
text-align:center;
line-height:1.2;
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-hero{
margin:1.2rem auto 1.6rem;
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-hero img{
display:block;
width:100%;
height:auto;
border-radius:12px;
}
body.page-id-747 .sw-entry.sw-feat-entry table{
max-width:100%;
border-collapse:collapse;
}
body.page-id-747 .sw-entry.sw-feat-entry th,body.page-id-747 .sw-entry.sw-feat-entry td{
padding:.65rem .85rem;
text-align:left;
vertical-align:top;
border:1px solid rgba(165,165,165,.3);
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tabs{
position:relative;
margin:1.25rem auto;
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
overflow:hidden;
clip-path:inset(50%);
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin-bottom:.85rem;
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-labels label{
display:block;
cursor:pointer;
padding:.75rem .5rem;
text-align:center;
line-height:1.35;
border:1px solid rgba(160,145,112,.65);
border-radius:7px;
color:inherit;
background:rgba(149,125,76,.1);
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-labels label:hover{
background:rgba(149,125,76,.23);
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-panels>.sw-tab-panel{
display:none!important;
}
body.page-id-747 #vir-55:checked ~ .sw-tab-panels #vir-panel-55, body.page-id-747 #vir-2014:checked ~ .sw-tab-panels #vir-panel-2014, body.page-id-747 #vir-pf:checked ~ .sw-tab-panels #vir-panel-pf, body.page-id-747 #vir-35:checked ~ .sw-tab-panels #vir-panel-35{
display:block!important;
}
body.page-id-747 #vir-55:checked ~ .sw-tab-labels label[for="vir-55"], body.page-id-747 #vir-2014:checked ~ .sw-tab-labels label[for="vir-2014"], body.page-id-747 #vir-pf:checked ~ .sw-tab-labels label[for="vir-pf"], body.page-id-747 #vir-35:checked ~ .sw-tab-labels label[for="vir-35"]{
background:rgba(169,130,60,.23);
border-color:#d6b36a;
font-weight:700;
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-panel{
padding:1rem 1.2rem;
border:1px solid rgba(170,170,170,.25);
border-radius:8px;
}
@media(max-width:650px){
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
body.page-id-747 .sw-entry.sw-feat-entry .sw-tab-panel{
padding:.8rem;
}
body.page-id-747 .sw-entry.sw-feat-entry table{
display:block;
overflow-x:auto;
}
}
/* End Virility feat edition tabs */
/* ENKIMDU — four-edition mechanics tabs, scoped to canonical page */
body.page-id-177126 #enkimdu-rules{
position:relative;
max-width:1180px;
width:100%;
margin:1.5rem auto;
}
body.page-id-177126 #enkimdu-rules .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
clip-path:inset(50%);
overflow:hidden;
}
body.page-id-177126 #enkimdu-rules .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin-bottom:1rem;
}
body.page-id-177126 #enkimdu-rules .sw-tab-labels label{
display:block;
padding:.75rem .6rem;
text-align:center;
line-height:1.35;
cursor:pointer;
border:1px solid rgba(170,151,109,.6);
border-radius:7px;
background:rgba(152,130,69,.1);
color:inherit;
}
body.page-id-177126 #enkimdu-rules .sw-tab-labels label:hover{
background:rgba(164,143,76,.22);
}
body.page-id-177126 #enkimdu-rules .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
body.page-id-177126 #enkimdu-2024:checked ~ .sw-tab-panels #enkimdu-panel-2024, body.page-id-177126 #enkimdu-2014:checked ~ .sw-tab-panels #enkimdu-panel-2014, body.page-id-177126 #enkimdu-pf1:checked ~ .sw-tab-panels #enkimdu-panel-pf1, body.page-id-177126 #enkimdu-35:checked ~ .sw-tab-panels #enkimdu-panel-35{
display:block!important;
}
body.page-id-177126 #enkimdu-2024:checked ~ .sw-tab-labels label[for="enkimdu-2024"], body.page-id-177126 #enkimdu-2014:checked ~ .sw-tab-labels label[for="enkimdu-2014"], body.page-id-177126 #enkimdu-pf1:checked ~ .sw-tab-labels label[for="enkimdu-pf1"], body.page-id-177126 #enkimdu-35:checked ~ .sw-tab-labels label[for="enkimdu-35"]{
background:rgba(160,128,59,.25);
border-color:#ddbd75;
font-weight:700;
}
body.page-id-177126 #enkimdu-rules .sw-tab-panel{
padding:1rem 1.2rem;
border:1px solid rgba(176,176,176,.28);
border-radius:9px;
min-width:0;
overflow-wrap:break-word;
}
body.page-id-177126 #enkimdu-rules .sw-tab-panel table{
max-width:100%;
border-collapse:collapse;
}
body.page-id-177126 #enkimdu-rules .sw-tab-panel th,body.page-id-177126 #enkimdu-rules .sw-tab-panel td{
padding:.55rem .7rem;
text-align:left;
vertical-align:top;
border:1px solid rgba(180,180,180,.26);
}
@media(max-width:680px){
body.page-id-177126 #enkimdu-rules .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
body.page-id-177126 #enkimdu-rules .sw-tab-panel{
padding:.7rem;
}
body.page-id-177126 #enkimdu-rules .sw-tab-panel table{
display:block;
overflow-x:auto;
}
}
/* End Enkimdu edition tabs */
/* ANSHAR — four-edition divine encounter tabs, scoped to canonical page 61296 */
body.page-id-61296 .entry-title{
text-align:center!important;
}
body.page-id-61296 #anshar-game-manifestations{
max-width:1180px;
width:calc(100% - 32px);
margin:1.5rem auto;
}
body.page-id-61296 #anshar-editions{
position:relative;
margin:1.25rem auto;
}
body.page-id-61296 #anshar-editions .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
clip-path:inset(50%);
overflow:hidden;
}
body.page-id-61296 #anshar-editions .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin-bottom:1rem;
}
body.page-id-61296 #anshar-editions .sw-tab-labels label{
display:block;
text-align:center;
cursor:pointer;
padding:.7rem .55rem;
border:1px solid rgba(177,154,113,.6);
border-radius:7px;
background:rgba(153,132,74,.1);
color:inherit;
line-height:1.35;
}
body.page-id-61296 #anshar-editions .sw-tab-labels label:hover{
background:rgba(173,139,74,.21);
}
body.page-id-61296 #anshar-editions .sw-tab-panels > .sw-tab-panel{
display:none!important;
}
body.page-id-61296 #anshar-2024:checked ~ .sw-tab-panels #anshar-panel-2024, body.page-id-61296 #anshar-2014:checked ~ .sw-tab-panels #anshar-panel-2014, body.page-id-61296 #anshar-pf1:checked ~ .sw-tab-panels #anshar-panel-pf1, body.page-id-61296 #anshar-35:checked ~ .sw-tab-panels #anshar-panel-35{
display:block!important;
}
body.page-id-61296 #anshar-2024:checked ~ .sw-tab-labels label[for="anshar-2024"], body.page-id-61296 #anshar-2014:checked ~ .sw-tab-labels label[for="anshar-2014"], body.page-id-61296 #anshar-pf1:checked ~ .sw-tab-labels label[for="anshar-pf1"], body.page-id-61296 #anshar-35:checked ~ .sw-tab-labels label[for="anshar-35"]{
background:rgba(180,142,65,.25);
border-color:#d7b274;
font-weight:700;
}
body.page-id-61296 #anshar-editions .sw-tab-panel{
padding:1rem 1.2rem;
border:1px solid rgba(164,164,164,.3);
border-radius:8px;
min-width:0;
overflow-wrap:break-word;
}
body.page-id-61296 #anshar-editions .sw-table-wrap{
max-width:100%;
overflow-x:auto;
}
body.page-id-61296 #anshar-editions .sw-stat-table{
width:100%;
border-collapse:collapse;
table-layout:auto;
}
body.page-id-61296 #anshar-editions .sw-stat-table th,body.page-id-61296 #anshar-editions .sw-stat-table td{
border:1px solid rgba(165,165,165,.27);
padding:.65rem .75rem;
text-align:left;
vertical-align:top;
overflow-wrap:break-word;
}
body.page-id-61296 #anshar-editions .sw-stat-table th{
width:30%;
}
body.page-id-61296 #anshar-heralds{
max-width:1180px;
width:calc(100% - 32px);
margin:1.5rem auto;
}
body.page-id-61296 #anshar-heralds .sw-art-pair{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1.25rem;
}
body.page-id-61296 #anshar-heralds .sw-art-pair figure{
margin:0;
min-width:0;
}
body.page-id-61296 #anshar-heralds .sw-art-pair img{
display:block;
width:100%;
height:auto;
max-width:512px;
margin:auto;
border-radius:9px;
}
body.page-id-61296 #anshar-heralds .sw-art-pair figcaption{
text-align:center;
font-size:.9rem;
padding:.5rem;
}
@media(max-width:700px){
body.page-id-61296 #anshar-editions .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
body.page-id-61296 #anshar-editions .sw-tab-panel{
padding:.7rem;
}
body.page-id-61296 #anshar-heralds .sw-art-pair{
grid-template-columns:1fr;
}
}
/* End Anshar edition tabs */
/* DEITY IDENTITY — native section layout, two-thirds facts / one-third painted symbol */
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity > .sw-identity-layout{
display:grid!important;
grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;
gap:clamp(16px,2.5vw,30px)!important;
align-items:start!important;
width:100%!important;
max-width:100%!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity > .sw-identity-layout > :is(.sw-identity-text,.sw-identity-art){
display:block!important;
min-width:0!important;
width:100%!important;
max-width:100%!important;
align-self:start!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity .sw-identity-text > h2{
margin-top:0!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity .sw-identity-text > table.sw-glance-grid{
display:table!important;
width:100%!important;
max-width:100%!important;
table-layout:fixed!important;
border-collapse:collapse!important;
margin:0!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity table.sw-glance-grid > tbody{
display:table-row-group!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity table.sw-glance-grid tr{
display:table-row!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity table.sw-glance-grid :is(th,td){
display:table-cell!important;
padding:.55rem .7rem!important;
border:1px solid rgba(188,175,149,.32)!important;
vertical-align:top!important;
text-align:left!important;
overflow-wrap:anywhere!important;
word-break:normal!important;
color:inherit!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity table.sw-glance-grid th{
width:31%!important;
font-weight:700!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity > .sw-identity-layout > .sw-identity-art figure.sw-symbol{
display:block!important;
width:100%!important;
max-width:360px!important;
margin:0 auto!important;
min-width:0!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity .sw-identity-art figure.sw-symbol img{
display:block!important;
width:100%!important;
max-width:100%!important;
height:auto!important;
aspect-ratio:1 / 1;
object-fit:contain;
border-radius:8px;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity .sw-identity-art figure.sw-symbol figcaption{
display:block!important;
text-align:center!important;
font-size:.9rem!important;
line-height:1.45!important;
margin:.55rem 0 0!important;
color:inherit!important;
}
html body:not(.wp-admin) .entry-content #anshar-identity + p.sw-lede{
color:#eee6d7!important;
max-width:100%;
margin:1rem auto 1.5rem;
line-height:1.7;
}
@media(max-width:900px){
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity > .sw-identity-layout{
grid-template-columns:minmax(0,1fr)!important;
gap:1.2rem!important;
}
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity > .sw-identity-layout > .sw-identity-art figure.sw-symbol{
width:min(100%,320px)!important;
max-width:320px!important;
margin:0 auto!important;
}
}
@media(max-width:420px){
html body:not(.wp-admin) .entry-content section.sw-entry.sw-identity table.sw-glance-grid :is(th,td){
padding:.45rem .5rem!important;
font-size:.92rem!important;
}
}
/* End native deity identity layout */
/* Igigi divine assembly and herald — shared workflow components */
html body:not(.wp-admin) .entry-content .sw-igigi-page{
max-width:1180px;
width:calc(100% - 32px);
margin:0 auto;
line-height:1.68;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page>h1{
text-align:center;
line-height:1.2;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-kicker{
color:#d7b471;
font-weight:700;
letter-spacing:.04em;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-lede{
font-size:1.1rem;
line-height:1.7;
color:inherit;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-hero{
margin:1rem auto 1.6rem;
max-width:900px;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-hero img{
display:block;
max-width:100%;
height:auto;
margin:0 auto;
border-radius:10px;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-hero figcaption{
margin:.5rem auto;
text-align:center;
color:inherit;
font-size:.92rem;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-table-wrap{
max-width:100%;
overflow-x:auto;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table{
width:100%;
max-width:100%;
table-layout:auto;
border-collapse:collapse;
display:table!important;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table tbody{
display:table-row-group!important;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table tr{
display:table-row!important;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table :is(th,td){
display:table-cell!important;
min-width:0;
padding:.57rem .75rem;
border:1px solid rgba(180,170,143,.35);
vertical-align:top;
text-align:left;
overflow-wrap:anywhere;
color:inherit;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table th{
font-weight:700;
width:29%;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs{
position:relative;
margin:1.5rem 0;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-radio{
position:absolute;
width:1px;
height:1px;
opacity:0;
clip-path:inset(50%);
overflow:hidden;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-labels{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:.5rem;
margin-bottom:.8rem;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-labels label{
display:block;
cursor:pointer;
text-align:center;
padding:.75rem .5rem;
border:1px solid rgba(173,151,105,.65);
border-radius:7px;
line-height:1.35;
color:inherit;
background:rgba(154,125,67,.1);
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-labels label:hover{
background:rgba(176,142,70,.2);
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-panels>.sw-tab-panel{
display:none!important;
padding:1rem 1.2rem;
border:1px solid rgba(169,157,133,.29);
border-radius:8px;
min-width:0;
overflow-wrap:break-word;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-2024:checked ~ .sw-tab-panels #igigi-divine-tabs-2024-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-2014:checked ~ .sw-tab-panels #igigi-divine-tabs-2014-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-pf1:checked ~ .sw-tab-panels #igigi-divine-tabs-pf1-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-35:checked ~ .sw-tab-panels #igigi-divine-tabs-35-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-2024:checked ~ .sw-tab-panels #igigi-herald-tabs-2024-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-2014:checked ~ .sw-tab-panels #igigi-herald-tabs-2014-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-pf1:checked ~ .sw-tab-panels #igigi-herald-tabs-pf1-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-35:checked ~ .sw-tab-panels #igigi-herald-tabs-35-panel{
display:block!important;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-2024:checked ~ .sw-tab-labels label[for="igigi-divine-tabs-2024"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-2014:checked ~ .sw-tab-labels label[for="igigi-divine-tabs-2014"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-pf1:checked ~ .sw-tab-labels label[for="igigi-divine-tabs-pf1"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-divine-tabs #igigi-divine-tabs-35:checked ~ .sw-tab-labels label[for="igigi-divine-tabs-35"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-2024:checked ~ .sw-tab-labels label[for="igigi-herald-tabs-2024"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-2014:checked ~ .sw-tab-labels label[for="igigi-herald-tabs-2014"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-pf1:checked ~ .sw-tab-labels label[for="igigi-herald-tabs-pf1"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
html body:not(.wp-admin) #igigi-herald-tabs #igigi-herald-tabs-35:checked ~ .sw-tab-labels label[for="igigi-herald-tabs-35"]{
background:rgba(176,140,68,.23);
border-color:#d6b16b;
font-weight:700;
}
@media(max-width:680px){
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-labels{
grid-template-columns:repeat(2,minmax(0,1fr));
}
html body:not(.wp-admin) .entry-content .sw-igigi-page .sw-tabs .sw-tab-panels>.sw-tab-panel{
padding:.75rem;
}
html body:not(.wp-admin) .entry-content .sw-igigi-page table.sw-igigi-table :is(th,td){
padding:.45rem .5rem;
}
}
/* End Igigi assembly and herald tabs */
