/* Config-driven release announcements (/updates/<id>, tools/build-release-announcement.cjs). Builds on the site.css
   tokens (the site is dark-only) with a warm "foxfire" accent: ember orange next to the logo gold. */
.rl-page{--fox:#ff9a4a;--fox-soft:#ffd6ad;--fox-deep:#3b1d0e;--fox-line:#5a3420;--fox-surface:#1f140e;--fox-surface-2:#2a1a11;--fox-glow:#ff8a3d55}
.rl-page main{padding-top:0}
.rl-page .lead{font-size:var(--fs-md);line-height:1.6;color:var(--text-soft)}

/* Hero: full-bleed key visual */
.rl-hero{position:relative;isolation:isolate;margin-inline:calc(50% - 50vw);padding:clamp(48px,8vw,104px) max(var(--gutter),calc(50vw - var(--page-width)/2 + var(--gutter))) clamp(56px,7vw,96px);min-height:min(78vh,700px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--fox-line)}
.rl-hero-bg{position:absolute;inset:0;z-index:-2}
.rl-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 60%}
.rl-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#120a06f0 0%,#150c07d6 36%,#1a0e0870 66%,#1a0e0820 100%),linear-gradient(180deg,#0000 55%,var(--bg) 100%),radial-gradient(ellipse 50% 60% at 80% 45%,#ff8a3d30,transparent 70%)}
.rl-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--space-6);align-items:center;width:100%;max-width:calc(var(--page-width) - 2*var(--gutter));margin:0 auto}
.rl-hero .eyebrow,.rl-warm .eyebrow{color:var(--fox)}
.rl-hero .eyebrow:before,.rl-warm .eyebrow:before{background:var(--fox);box-shadow:0 0 10px var(--fox-glow)}
.rl-hero h1{margin:var(--space-3) 0 var(--space-4);line-height:.95}
.rl-title-main{display:block;font-size:clamp(52px,8.4vw,112px);letter-spacing:-.02em;background:linear-gradient(180deg,#fff8ec 8%,#ffd29a 52%,#ff8f3f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 24px #000a)}
.rl-title-sub{display:block;margin-top:12px;font-size:clamp(20px,2.6vw,30px);color:var(--accent-soft);font-style:italic;font-weight:600}
.rl-hero .intro{font-size:19px;color:#f1e6d6;max-width:580px;text-shadow:0 1px 8px #000a}
.rl-headlines{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:10px;max-width:580px}
.rl-headlines li{position:relative;padding:10px 14px 10px 44px;border:1px solid #ff9a4a33;border-radius:var(--radius);background:#1a0f09b8;backdrop-filter:blur(4px);color:var(--text-soft);font-size:14.5px;line-height:1.45}
.rl-headlines li:before{content:'';position:absolute;left:16px;top:16px;width:12px;height:12px;transform:rotate(45deg);background:linear-gradient(135deg,#fff3dc,var(--fox));box-shadow:0 0 12px var(--fox)}
.rl-headlines strong{display:block;color:var(--text);font:700 17px/1.3 var(--font-heading)}
.rl-hero .hero-actions{margin-top:var(--space-5)}
/* Three challenge badges floating on the right */
.rl-hero-art{position:relative;height:clamp(260px,30vw,380px)}
.rl-float{position:absolute;display:grid;place-items:center;width:clamp(96px,11vw,140px);aspect-ratio:1;filter:drop-shadow(0 18px 30px #000c) drop-shadow(0 0 22px #ff8a3d55)}
.rl-float img{width:100%;height:auto}
.rl-float-0{left:4%;top:6%;transform:rotate(-9deg);animation:rl-float 7s ease-in-out infinite}
.rl-float-1{right:2%;top:24%;width:clamp(120px,14vw,176px);transform:rotate(6deg);animation:rl-float 8s ease-in-out -2s infinite}
.rl-float-2{left:24%;bottom:0;transform:rotate(-2deg);animation:rl-float 9s ease-in-out -4s infinite}
@keyframes rl-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
/* Rising embers: small warm dots drifting up. Off with reduced motion. */
.rl-embers{position:absolute;inset:0 0 -120px;z-index:-1;pointer-events:none;opacity:.6;background-image:radial-gradient(2px 2px at 30px 200px,#ffb15e,transparent),radial-gradient(1.5px 1.5px at 150px 120px,#ffd29a,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#ff8a3dcc,transparent),radial-gradient(1.5px 1.5px at 90px 60px,#ffcf8f,transparent);background-size:280px 240px;animation:rl-embers 16s linear infinite}
@keyframes rl-embers{to{transform:translateY(-240px)}}
@media(prefers-reduced-motion:reduce){.rl-embers,.rl-float{animation:none}}

/* Stats strip + contents */
.rl-stats{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:calc(-1*var(--space-6)) 0 0;padding:0;position:relative;z-index:2;border:1px solid var(--fox-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--fox-line);box-shadow:var(--shadow-lg)}
.rl-stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;background:linear-gradient(180deg,var(--fox-surface-2),var(--fox-surface));color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.rl-stats b{color:var(--fox-soft);font:700 28px/1.1 var(--font-heading);letter-spacing:0;text-transform:none}
.rl-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-6) 0 0;scroll-margin-top:calc(var(--header-height) + 8px)}
.rl-toc a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-size:14px;font-weight:600;transition:border-color .15s,color .15s,background .15s}
.rl-toc a:hover{border-color:var(--fox-line);color:var(--fox-soft);background:var(--fox-surface)}

/* Sections: alternate plain and warm bands */
.rl-section{padding-top:var(--space-8);scroll-margin-top:calc(var(--header-height) + 8px)}
.rl-section.rl-warm{margin-top:var(--space-8);padding:var(--space-7) var(--space-6);border:1px solid var(--fox-line);border-radius:24px;background:radial-gradient(ellipse 70% 60% at 0% 0%,#ff8a3d1c,transparent 70%),linear-gradient(180deg,var(--fox-surface-2),var(--fox-surface) 70%);box-shadow:var(--shadow)}
.rl-head{max-width:820px;margin-bottom:var(--space-6)}
.rl-head h2{font-size:var(--fs-2xl);margin:var(--space-2) 0 var(--space-3)}
.rl-head .lead{margin:0}
.rl-section h3{font-size:23px;margin:0 0 var(--space-3)}
.rl-section h4{margin:0;font:700 17px/1.3 var(--font-heading);color:var(--text)}
.rl-section p{color:var(--text-soft)}
.rl-section strong{color:var(--text)}
.rl-section p a,.rl-section li a,.rl-head a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}
.rl-section code{padding:1px 6px;border-radius:5px;background:var(--surface-3);border:1px solid var(--border-soft);color:var(--accent-soft);font-size:.92em}
.rl-note{padding:10px 14px;border-left:3px solid var(--fox);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ff8a3d14;font-size:15px}
.rl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-6);align-items:start;margin-top:var(--space-6)}
.rl-split.rl-reverse>.rl-col:first-child{order:2}
.rl-split:first-child{margin-top:0}
.rl-col>:first-child{margin-top:0}

/* Lists */
.rl-bullets{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rl-bullets li{position:relative;padding-left:24px;color:var(--text-soft);font-size:15.5px;line-height:1.55}
.rl-bullets li:before{content:'';position:absolute;left:3px;top:9px;width:8px;height:8px;transform:rotate(45deg);background:var(--fox);box-shadow:0 0 8px var(--fox-glow)}
.rl-steps{counter-reset:step;list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-4)}
.rl-steps li{counter-increment:step;position:relative;min-height:36px;padding-left:52px;color:var(--text-soft);line-height:1.55}
.rl-steps li:before{content:counter(step);position:absolute;left:0;top:-3px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--fox);background:radial-gradient(circle at 50% 30%,#5a2c12,#2a160b);color:var(--fox-soft);font:700 17px var(--font-heading);box-shadow:0 0 14px var(--fox-glow)}
.rl-chips{list-style:none;margin:var(--space-3) 0 var(--space-4);padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rl-chips li{padding:5px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-size:13.5px;font-weight:600}
.rl-warm .rl-chips li{border-color:var(--fox-line);background:#140c08}

/* Screenshots (zoomable) */
.rl-shot{margin:0}
.rl-shot img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--radius);border:1px solid var(--fox-line);background:#120b07;box-shadow:var(--shadow)}
.rl-shot figcaption{margin-top:var(--space-2);color:var(--muted);font-size:13.5px;line-height:1.5}
.rl-zoom{display:block;border-radius:var(--radius);cursor:zoom-in}
.rl-zoom img{transition:transform .25s,box-shadow .25s,border-color .25s}
.rl-zoom:hover img{transform:translateY(-2px);border-color:#a8653a;box-shadow:0 18px 40px #000a}
.rl-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-6)}

/* Challenge cards */
.rl-challenges{list-style:none;margin:0 0 var(--space-7);padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}
.rl-challenges li{flex:0 1 calc((100% - 2*var(--space-4))/3);min-width:min(100%,280px);display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:linear-gradient(160deg,#2e1c12,#1a110c 70%);box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s}
.rl-challenges li:hover{transform:translateY(-2px);border-color:#a8653a}
.rl-ch-icon{flex:none;width:68px;height:68px;filter:drop-shadow(0 6px 10px #000a)}
.rl-ch-icon img{width:100%;height:auto}
.rl-ch-body p{margin:4px 0 0;font-size:14.5px;line-height:1.45}
.rl-ch-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px!important}
.rl-bonus,.rl-tag{padding:1px 9px;border-radius:var(--radius-pill);font-size:12px;font-weight:700}
.rl-bonus{background:#4a2a10;border:1px solid #a8653a;color:var(--fox-soft)}
.rl-tag{background:#1f3b2c;border:1px solid var(--leaf-deep);color:#bfe3a4}
.rl-icon-row{list-style:none;margin:0 0 var(--space-5);padding:var(--space-4);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);border:1px dashed var(--fox-line);border-radius:var(--radius-lg)}
.rl-icon-row li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.3}
.rl-icon-row img{width:52px;height:auto;filter:drop-shadow(0 4px 8px #000a)}

/* Icon strips (items, class heads) */
.rl-icons{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.rl-icons li{display:flex;flex-direction:column;align-items:center;gap:4px;width:calc(var(--icon) + 30px);color:var(--muted);font-size:11.5px;line-height:1.25;text-align:center}
.rl-icons img{width:var(--icon);height:var(--icon);object-fit:contain;padding:4px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-soft)}
.rl-warm .rl-icons img{background:#140c08;border-color:var(--fox-line)}
#website .rl-icons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;gap:14px 8px}
#website .rl-icons img{border-radius:50%;padding:6px}

/* Feature cards */
.rl-cards{--cols:3;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}
.rl-card{flex:0 1 calc((100% - (var(--cols) - 1)*var(--space-4))/var(--cols));min-width:min(100%,260px);display:flex;flex-direction:column;border:1px solid var(--border);border-top:3px solid var(--fox);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.rl-warm .rl-card{border-color:var(--fox-line);border-top-color:var(--fox);background:#170f0a}
.rl-card:nth-child(4n+2){border-top-color:var(--accent)}
.rl-card:nth-child(4n+3){border-top-color:var(--leaf)}
.rl-card:nth-child(4n){border-top-color:var(--sky)}
.rl-card>div{padding:var(--space-4) var(--space-5) var(--space-5)}
.rl-card h3{margin:0 0 var(--space-2);font-size:19px}
.rl-card p{margin:0;font-size:14.5px;line-height:1.55}
.rl-card-art{border-radius:0;background:#120b07;border-bottom:1px solid var(--border-soft)}
.rl-card-art img{display:block;width:100%;height:180px;object-fit:cover;object-position:50% 0}
.rl-card-art.rl-fit-small{background:#cfc6a4}
.rl-card-art.rl-fit-small img{object-fit:scale-down;object-position:50% 50%}

/* Already live, FAQ, CTA */
.rl-already{margin-top:var(--space-8);padding:var(--space-5) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}
.rl-already h2{margin:0 0 var(--space-3);font-size:22px}
.rl-already ul{margin:0;padding-left:20px;color:var(--text-soft)}
.rl-already li::marker{color:var(--accent)}
.rl-already p{margin:var(--space-3) 0 0;color:var(--muted);font-size:14px}
.rl-already a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}
.rl-faq{display:grid;gap:var(--space-3);max-width:860px}
.rl-faq details{padding:4px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.rl-faq details[open]{border-color:var(--fox-line);padding-bottom:var(--space-2)}
.rl-faq summary{font:700 17px/1.4 var(--font-heading);color:var(--text);cursor:pointer;padding:10px 0}
.rl-cta{margin-top:var(--space-8);padding:var(--space-7) var(--space-5);text-align:center;border-radius:24px;border:1px solid var(--fox-line);background:radial-gradient(ellipse at 50% 0%,#ff8a3d2e,transparent 70%),linear-gradient(180deg,var(--fox-surface-2),var(--surface))}
.rl-cta h2{margin:0 0 var(--space-2);font-size:var(--fs-2xl)}
.rl-cta p{color:var(--text-soft)}
.rl-cta .hero-actions{justify-content:center;margin-bottom:0}

/* Lightbox */
.rl-lightbox{max-width:min(96vw,1240px);max-height:94vh;padding:0;border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:#0f0906;color:var(--text);box-shadow:var(--shadow-lg);overflow:hidden}
.rl-lightbox::backdrop{background:#070403d9}
.rl-lightbox img{display:block;max-width:100%;max-height:calc(94vh - 56px);width:auto;height:auto;margin:0 auto}
.rl-lightbox p{margin:0;padding:12px 56px 14px 16px;color:var(--text-soft);font-size:14px}
.rl-close{position:absolute;right:10px;bottom:8px;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text);font-size:22px;line-height:1;cursor:pointer}

/* Responsive */
@media(max-width:960px){
 .rl-hero{min-height:0}
 .rl-hero-inner{grid-template-columns:1fr}
 .rl-hero-art{order:-1;height:clamp(150px,34vw,240px);max-width:520px;width:100%;margin:0 auto}
 .rl-float{width:clamp(80px,17vw,120px)}.rl-float-1{width:clamp(96px,21vw,150px)}
 .rl-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-5)}
 .rl-split{grid-template-columns:1fr}
 .rl-split.rl-reverse>.rl-col:first-child{order:0}
 .rl-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rl-challenges li,.rl-card{flex-basis:calc((100% - var(--space-4))/2)}
}
@media(max-width:700px){
 .rl-section.rl-warm{padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg)}
 .rl-gallery{grid-template-columns:1fr}
 .rl-challenges li,.rl-card{flex-basis:100%}
 .rl-icon-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 #website .rl-icons{grid-template-columns:repeat(4,minmax(0,1fr))}
 .rl-faq details{padding:4px 16px}
 .rl-already{padding:var(--space-4)}
}
@media(max-width:560px){
 .rl-hero{padding-inline:var(--gutter)}
 .rl-hero .intro{font-size:var(--fs-md)}
 .rl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rl-stats b{font-size:24px}
 .rl-challenges li{padding:var(--space-3)}
 .rl-ch-icon{width:56px;height:56px}
 .rl-card-art img{height:auto}
}
@media print{.rl-hero-bg,.rl-embers,.rl-lightbox{display:none}}

/* ---------------------------------------------------------------------------------------------------------------
   Class release theme (body.rl-theme-huppermage, /updates/huppermage): the teal and gold of the Huppermage outfit
   instead of the foxfire orange, the game's four element colours, and the portrait hero, rune flow, combination map,
   spell book and recap panel blocks (tools/announcements/release-page.cjs). Every rule below is scoped to classes that
   the other announcement pages do not use. The page links this file with a content hash (?v=), so a returning visitor
   never pairs the page with an older copy. */
.rl-page{--el-earth:#b98a4e;--el-earth-text:#f0c68c;--el-fire:#f06a3c;--el-fire-text:#ffa283;--el-water:#4b9df0;--el-water-text:#9fcbff;--el-air:#62c04e;--el-air-text:#aee89c}
.rl-el-earth{--el:var(--el-earth);--el-text:var(--el-earth-text)}
.rl-el-fire{--el:var(--el-fire);--el-text:var(--el-fire-text)}
.rl-el-water{--el:var(--el-water);--el-text:var(--el-water-text)}
.rl-el-air{--el:var(--el-air);--el-text:var(--el-air-text)}
.rl-el-rune{--el:var(--th-accent);--el-text:var(--th-soft)}
.rl-el-portal{--el:var(--th-accent);--el-text:var(--th-soft)}
.rl-el-move{--el:#8ea8ff;--el-text:#bccbff}
.rl-el-support{--el:#e9c15a;--el-text:#f3d78e}
.rl-el-summon{--el:#a98cf0;--el-text:#cbb9ff}
.rl-t-earth{color:var(--el-earth-text)}.rl-t-fire{color:var(--el-fire-text)}.rl-t-water{color:var(--el-water-text)}.rl-t-air{color:var(--el-air-text)}
.rl-from-earth{--a:var(--el-earth)}.rl-from-fire{--a:var(--el-fire)}.rl-from-water{--a:var(--el-water)}.rl-from-air{--a:var(--el-air)}
.rl-to-earth{--b:var(--el-earth)}.rl-to-fire{--b:var(--el-fire)}.rl-to-water{--b:var(--el-water)}.rl-to-air{--b:var(--el-air)}
.rl-sep{display:none}

.rl-theme-huppermage{--fox:#5ed3c6;--fox-soft:#c8f4ee;--fox-deep:#0d2e2b;--fox-line:#28554f;--fox-surface:#0f1f1d;--fox-surface-2:#132d2a;--fox-glow:#5ed3c655;--gold:#f1c55a;--th-accent:#5ed3c6;--th-soft:#9ae8de;--th-a08:#5ed3c614;--th-a10:#5ed3c61a;--th-a18:#5ed3c62e;--th-a20:#5ed3c633;--th-a33:#5ed3c655;--th-a50:#5ed3c680;--th-glass:#0a1816c4;--th-card:#0c1917;--th-card-hi:#132623;--th-deep:#0a1513;--th-deepest:#08110f;--th-stat1:#14302c;--th-stat2:#0e1d1b;--th-fit:#1d3f3a;--th-zoom:#4aa79c;--th-hover:#3f7d74;--th-hero1:#06100ff2;--th-hero2:#081412dc;--th-hero3:#0a171574;--th-hero4:#0a171528}
.rl-theme-eliotrope{--fox:#56d8f5;--fox-soft:#c9f3ff;--fox-deep:#0b2a36;--fox-line:#26506a;--fox-surface:#0d1d26;--fox-surface-2:#112a36;--fox-glow:#56d8f555;--gold:#f1c55a;--th-accent:#56d8f5;--th-soft:#a5e9fb;--th-a08:#56d8f514;--th-a10:#56d8f51a;--th-a18:#56d8f52e;--th-a20:#56d8f533;--th-a33:#56d8f555;--th-a50:#56d8f580;--th-glass:#0a1720c4;--th-card:#0c1a22;--th-card-hi:#12283a;--th-deep:#0a151c;--th-deepest:#070f15;--th-stat1:#112c3a;--th-stat2:#0c1c26;--th-fit:#173a4a;--th-zoom:#4aa6c4;--th-hover:#3f7a94;--th-hero1:#050c12f2;--th-hero2:#07111adc;--th-hero3:#0a162074;--th-hero4:#0a162028}
/* New lands (body.rl-theme-lands, /updates/new-lands): jade forests and island seas. */
.rl-theme-lands{--fox:#7fd39a;--fox-soft:#d3f4dc;--fox-deep:#0e2a1b;--fox-line:#2c5640;--fox-surface:#0f1d16;--fox-surface-2:#142a1f;--fox-glow:#7fd39a55;--gold:#f1c55a;--th-accent:#7fd39a;--th-soft:#b0e8c0;--th-a08:#7fd39a14;--th-a10:#7fd39a1a;--th-a18:#7fd39a2e;--th-a20:#7fd39a33;--th-a33:#7fd39a55;--th-a50:#7fd39a80;--th-glass:#0a1811c4;--th-card:#0c1912;--th-card-hi:#13261b;--th-deep:#0a1510;--th-deepest:#08110c;--th-stat1:#14301f;--th-stat2:#0e1d15;--th-fit:#1d3f2b;--th-zoom:#4fa772;--th-hover:#3f7d58;--th-hero1:#06100af2;--th-hero2:#08140ddc;--th-hero3:#0a171074;--th-hero4:#0a171028}
.rl-themed .rl-hero:before{background:linear-gradient(90deg,var(--th-hero1) 0%,var(--th-hero2) 38%,var(--th-hero3) 68%,var(--th-hero4) 100%),linear-gradient(180deg,#0000 55%,var(--bg) 100%),radial-gradient(ellipse 45% 60% at 78% 48%,var(--th-a20),transparent 70%)}
/* Title: sized from its own column (container units), with room on the right for the last glyph's overhang, so it
   never clips at any width or zoom. The vw sizes are the fallback for browsers without container units. */
.rl-themed .rl-hero-copy{min-width:0}
.rl-themed .rl-title-main{font-size:min(80px,5.2vw);padding:0 .16em .08em 0;margin-right:-.16em;background:linear-gradient(180deg,#fffdf4 10%,#f6e2a2 52%,#e2a93c 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#f6e2a2}
@media(max-width:960px){.rl-themed .rl-title-main{font-size:min(80px,12.5vw)}}
@supports (font-size:1cqi){
 .rl-themed .rl-hero-copy{container-type:inline-size}
 .rl-themed .rl-title-main{font-size:clamp(36px,13.6cqi,92px)}
}
.rl-themed .rl-title-sub{color:var(--th-soft)}
.rl-themed .rl-hero .intro{color:#e9f1ea}
.rl-themed .rl-headlines li{border-color:var(--th-a20);background:var(--th-glass)}
.rl-themed .rl-headlines li:nth-child(1):before{background:linear-gradient(135deg,#fff3dc,var(--el-earth));box-shadow:0 0 12px var(--el-earth)}
.rl-themed .rl-headlines li:nth-child(2):before{background:linear-gradient(135deg,#fff3dc,var(--el-water));box-shadow:0 0 12px var(--el-water)}
.rl-themed .rl-headlines li:nth-child(3):before{background:linear-gradient(135deg,#fff3dc,var(--el-fire));box-shadow:0 0 12px var(--el-fire)}
.rl-themed .rl-embers{opacity:.55;background-image:radial-gradient(2px 2px at 30px 200px,#f0c68c,transparent),radial-gradient(2px 2px at 150px 120px,#ffa283,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#9fcbffcc,transparent),radial-gradient(2px 2px at 90px 60px,#aee89c,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#fff6dc,transparent)}
.rl-themed .rl-section.rl-warm{background:radial-gradient(ellipse 70% 60% at 0% 0%,var(--th-a10),transparent 70%),radial-gradient(ellipse 50% 50% at 100% 100%,#f1c55a0f,transparent 70%),linear-gradient(180deg,var(--fox-surface-2),var(--fox-surface) 70%)}
.rl-themed .rl-note{background:var(--th-a08)}
.rl-themed .rl-shot img,.rl-themed .rl-card-art{background:var(--th-deep)}
.rl-themed .rl-zoom:hover img{border-color:var(--th-zoom)}
.rl-themed .rl-card{border-top-color:var(--el-earth)}
.rl-themed .rl-card:nth-child(4n+2){border-top-color:var(--el-water)}
.rl-themed .rl-card:nth-child(4n+3){border-top-color:var(--gold)}
.rl-themed .rl-card h3{color:var(--text)}
.rl-themed .rl-card-art.rl-fit-small{background:radial-gradient(circle at 50% 45%,var(--th-fit),var(--th-deep) 70%)}
.rl-themed .rl-card-art.rl-fit-small img{padding:14px}
.rl-themed .rl-cards+.rl-note,.rl-themed .rl-combo-wrap+.rl-note{margin-top:var(--space-5)}
.rl-themed .rl-cta{background:radial-gradient(ellipse at 50% 0%,var(--th-a18),transparent 70%),linear-gradient(180deg,var(--fox-surface-2),var(--surface))}
.rl-themed .rl-faq details[open]{border-color:var(--fox-line)}
.rl-themed .rl-lightbox{background:var(--th-deepest)}
.rl-themed .rl-stats b{color:#f6e2a2}
.rl-themed .rl-stats li{background:linear-gradient(180deg,var(--th-stat1),var(--th-stat2))}
.rl-themed #krosmic-balance .rl-split{align-items:center}

/* Portrait hero: a box with a fixed shape that scales with its column; the emblem, the two portraits and the four
   element orbs are placed in percentages of it, so the whole composition always stays inside. */
@media(min-width:961px){.rl-themed .rl-hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.rl-themed .rl-hero-art.rl-portraits{position:relative;order:0;width:100%;max-width:540px;height:auto;aspect-ratio:25/23;margin:0 auto}
@supports not (aspect-ratio:1){.rl-themed .rl-hero-art.rl-portraits{height:clamp(280px,34vw,480px)}}
.rl-portraits .rl-emblem{position:absolute;left:50%;top:48%;width:58%;transform:translate(-50%,-50%);opacity:.3;filter:drop-shadow(0 0 40px var(--th-a50))}
.rl-portraits img{display:block;width:100%;height:auto}
.rl-portraits .rl-portrait{position:absolute;filter:drop-shadow(0 20px 34px #000d)}
.rl-portraits .rl-portrait-0{left:0;top:0;width:58%;animation:rl-float 9s ease-in-out -3s infinite}
.rl-portraits .rl-portrait-1{right:0;bottom:0;width:66%;animation:rl-float 8s ease-in-out infinite}
.rl-portraits .rl-orbit{position:absolute;inset:0;pointer-events:none}
.rl-orb{position:absolute;width:18px;height:26px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(160deg,#fff 0%,var(--el) 45%,var(--el) 100%);filter:drop-shadow(0 0 10px var(--el));animation:rl-float 6s ease-in-out infinite}
.rl-orb.rl-el-earth{left:6%;bottom:16%;animation-delay:-1s}
.rl-orb.rl-el-fire{right:6%;top:6%;animation-delay:-2s}
.rl-orb.rl-el-water{left:56%;top:2%;animation-delay:-3s}
.rl-orb.rl-el-air{left:30%;bottom:4%;animation-delay:-4s}
@media(prefers-reduced-motion:reduce){.rl-portrait,.rl-orb{animation:none}}
@media(max-width:960px){.rl-themed .rl-hero-art.rl-portraits{order:-1;max-width:460px}}

/* Rune flow: Mark, Hold, Combine, Empower */
.rl-flow{counter-reset:flow;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);position:relative}
.rl-flow:before{content:'';position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:linear-gradient(180deg,var(--el-earth),var(--el-water),var(--el-fire),var(--el-air));opacity:.55}
.rl-flow li{counter-increment:flow;position:relative;padding:0 0 0 64px;min-height:44px}
.rl-flow li:before{content:counter(flow);position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle at 50% 30%,#fff8,transparent 60%),var(--el);color:#0b1210;font:800 17px var(--font-heading)}
.rl-section .rl-flow h3{margin:2px 0 4px;font-size:20px;color:var(--el-text)}
.rl-flow p{margin:0;font-size:15.5px;line-height:1.55}
.rl-art{display:grid;place-items:center;position:relative}
.rl-art:before{content:'';position:absolute;inset:10% 5%;background:radial-gradient(ellipse at 50% 45%,var(--th-a18),transparent 65%)}
.rl-art img{position:relative;display:block;max-width:100%;height:auto;filter:drop-shadow(0 18px 30px #000b)}
.rl-art-statue img{width:min(100%,330px)}

/* Combination map + cards */
.rl-combo-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-6);align-items:center}
.rl-combo-fig{margin:0}
.rl-combo-map{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;border-radius:24px;box-shadow:inset 0 0 0 1px var(--fox-line),var(--shadow)}
.rl-combos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.rl-combo{position:relative;display:flex;gap:14px;align-items:flex-start;padding:18px 16px 16px;border:1px solid var(--fox-line);border-radius:var(--radius);background:linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%);overflow:hidden;transition:transform .2s,border-color .2s}
.rl-combo:hover{transform:translateY(-2px);border-color:var(--th-hover)}
.rl-combo:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--a,var(--th-accent)),var(--b,#f1c55a))}
.rl-combo:after{content:'';position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--b,var(--th-accent)) 22%,transparent),transparent 70%);pointer-events:none}
.rl-section .rl-combo h3{margin:0;font-size:19px;color:var(--text)}
.rl-combo p{margin:3px 0 0;font-size:15px;line-height:1.45}
.rl-combo p strong{color:#fff4d6}
.rl-combo .rl-pair-label{margin-top:2px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.rl-pair{flex:none;position:relative;width:44px;height:38px;margin-top:2px}
.rl-dot{position:absolute;top:0;width:24px;height:36px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(160deg,#fff 0%,var(--el) 42%)}
.rl-dot:first-child{left:0}.rl-dot+.rl-dot{left:18px}

/* Spell book: level bands of cards; each card is one link */
.rl-band+.rl-band{margin-top:var(--space-6)}
.rl-section .rl-band-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 var(--space-3);padding-bottom:8px;border-bottom:1px solid var(--fox-line);font-size:21px;color:#f6e2a2}
.rl-band-title small{font:600 14px var(--font-body);color:var(--muted)}
.rl-spells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-3)}
.rl-section .rl-spell a{display:flex;gap:14px;align-items:flex-start;height:100%;padding:14px;border:1px solid var(--fox-line);border-left:4px solid var(--el);border-radius:var(--radius);background:linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%);color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.rl-section .rl-spell a:hover,.rl-section .rl-spell a:focus-visible{transform:translateY(-2px);border-color:var(--el);box-shadow:0 10px 24px #0008,0 0 0 1px var(--el)}
.rl-spell-icon{flex:none;width:56px;height:56px;border-radius:12px;background:var(--th-deepest);box-shadow:inset 0 0 0 1px #ffffff1a,0 0 16px color-mix(in srgb,var(--el) 35%,transparent)}
.rl-spell-icon img{display:block;width:100%;height:100%;border-radius:12px}
.rl-spell-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.rl-spell-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rl-lvl{padding:1px 8px;border-radius:var(--radius-pill);background:#f1c55a1f;border:1px solid #f1c55a55;color:#f6e2a2}
.rl-kind{padding:1px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--el) 16%,transparent);border:1px solid color-mix(in srgb,var(--el) 45%,transparent);color:var(--el-text)}
.rl-spell-name{font:700 18px/1.25 var(--font-heading);color:var(--text)}
.rl-spell-text{font-size:14px;line-height:1.5;color:var(--text-soft)}
.rl-spell.rl-el-summon{grid-column:1/-1}
.rl-section .rl-spell.rl-el-summon a{align-items:center;padding:18px 20px;background:radial-gradient(ellipse 60% 140% at 0% 50%,#a98cf02e,transparent 70%),linear-gradient(160deg,#17222b,var(--th-card) 70%)}
.rl-spell.rl-el-summon .rl-spell-icon{width:72px;height:72px}
.rl-spell.rl-el-summon .rl-spell-name{font-size:22px}

/* Update recap panels */
.rl-panels{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:var(--space-4)}
.rl-panel{padding:var(--space-5);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:var(--th-card)}
.rl-panel:first-child{grid-row:span 2}
.rl-section .rl-panel h3{display:flex;align-items:center;gap:12px;margin:0 0 var(--space-4);font-size:21px}
.rl-panel-icon{flex:none;width:44px;height:auto;filter:drop-shadow(0 4px 8px #000a)}

@media(max-width:960px){
 .rl-combo-wrap{grid-template-columns:1fr}
 .rl-art-statue img{width:min(64%,300px)}
 .rl-panels{grid-template-columns:1fr}
 .rl-panel:first-child{grid-row:auto}
}
@media(max-width:560px){
 .rl-combos{grid-template-columns:1fr}
 .rl-flow li{padding-left:58px}
 .rl-panel{padding:var(--space-4)}
 .rl-spell.rl-el-summon .rl-spell-icon{width:56px;height:56px}
}

/* Animated statue (block "statue"): the five crystal clusters float on their own, each with a soft glow in its
   colour, over a very faint runic aura. Units inside the SVG are source pixels (the drawing is ~0.35x on screen, so a
   16-unit drift is ~5px). Transform/opacity only; static with prefers-reduced-motion. */
.rl-statue svg{position:relative;display:block;width:min(100%,330px);height:auto;overflow:visible}
.rl-statue .rl-cr{transform-box:fill-box;transform-origin:50% 50%;will-change:transform}
.rl-statue .rl-cr-glow{opacity:.7;animation:rl-glow 5s ease-in-out infinite}
.rl-statue .rl-cr-0{animation:rl-bob-a 6.8s ease-in-out -1s infinite}
.rl-statue .rl-cr-1{animation:rl-bob-b 7.9s ease-in-out -3s infinite}
.rl-statue .rl-cr-2{animation:rl-bob-c 8.7s ease-in-out -5s infinite}
.rl-statue .rl-cr-3{animation:rl-bob-b 7.3s ease-in-out -2s infinite reverse}
.rl-statue .rl-cr-4{animation:rl-bob-a 9.4s ease-in-out -6s infinite reverse}
.rl-statue .rl-cr-1 .rl-cr-glow{animation-duration:6.2s;animation-delay:-2s}
.rl-statue .rl-cr-2 .rl-cr-glow{animation-duration:4.6s;animation-delay:-1s}
.rl-statue .rl-cr-3 .rl-cr-glow{animation-duration:5.6s;animation-delay:-3s}
.rl-statue .rl-cr-4 .rl-cr-glow{animation-duration:6.8s;animation-delay:-4s}
@keyframes rl-bob-a{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(5px,-18px) rotate(-3deg)}}
@keyframes rl-bob-b{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(-7px,-12px) rotate(2.5deg)}66%{transform:translate(4px,-22px) rotate(-1.5deg)}}
@keyframes rl-bob-c{0%,100%{transform:translate(0,-4px) rotate(1deg)}50%{transform:translate(-5px,-20px) rotate(-2.5deg)}}
@keyframes rl-glow{0%,100%{opacity:.4}50%{opacity:1}}
.rl-statue .rl-aura{opacity:.75;animation:rl-aura 12s ease-in-out infinite}
@keyframes rl-aura{0%,100%{opacity:.55}50%{opacity:1}}
.rl-statue .rl-rune{opacity:.14;animation:rl-rune 13s linear infinite}
.rl-statue .rl-rune-1{animation-duration:15s;animation-delay:-4s}
.rl-statue .rl-rune-2{animation-duration:12s;animation-delay:-8s}
.rl-statue .rl-rune-3{animation-duration:14s;animation-delay:-2s}
.rl-statue .rl-rune-4{animation-duration:16s;animation-delay:-11s}
.rl-statue .rl-rune-5{animation-duration:13.5s;animation-delay:-6s}
.rl-statue .rl-rune-6{animation-duration:15.5s;animation-delay:-9s}
.rl-statue .rl-rune-7{animation-duration:12.5s;animation-delay:-3s}
@keyframes rl-rune{0%{opacity:0;transform:translateY(24px)}25%{opacity:.3}75%{opacity:.18}100%{opacity:0;transform:translateY(-48px)}}
@media(prefers-reduced-motion:reduce){.rl-statue .rl-cr,.rl-statue .rl-cr-glow,.rl-statue .rl-aura,.rl-statue .rl-rune{animation:none}}
@media(max-width:960px){.rl-statue svg{width:min(64%,300px);margin:0 auto}}

/* Portal statue effects (statue fx "portals"): two flattened wakfu rings turning slowly behind the statue. */
.rl-statue .rl-ring{transform-box:fill-box;transform-origin:50% 50%;animation:rl-spin 48s linear infinite}
.rl-statue .rl-ring-1{animation-duration:64s;animation-direction:reverse}
@keyframes rl-spin{to{transform:rotate(360deg)}}

/* Portal network diagram (block "portalMap"): colours live in the SVG itself; the spark is SMIL, hidden with reduced motion. */
.rl-portal-map{margin:0 0 var(--space-6)}
.rl-portal-map svg{display:block;width:100%;height:auto;max-width:760px;margin:0 auto;border-radius:24px;box-shadow:inset 0 0 0 1px var(--fox-line),var(--shadow)}
.rl-portal-map figcaption{max-width:760px;margin:var(--space-3) auto 0;color:var(--muted);font-size:14.5px;line-height:1.55}
@media(max-width:560px){.rl-portal-map{overflow-x:auto;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}.rl-portal-map svg{min-width:540px}}
@media(prefers-reduced-motion:reduce){.rl-statue .rl-ring{animation:none}.rl-pm-spark{display:none}}
.rl-themed .rl-warm .rl-card{background:var(--th-card)}
.rl-pm-hint{display:none;margin:0 0 var(--space-2);color:var(--muted);font-size:13.5px}
@media(max-width:560px){.rl-pm-hint{display:block}}

/* Forgelance theme (body.rl-theme-forgelance): forge gold and ember on warm dark steel. */
.rl-theme-forgelance{--fox:#f3b04b;--fox-soft:#ffe3b0;--fox-deep:#3a220c;--fox-line:#5c4124;--fox-surface:#1a130d;--fox-surface-2:#241a11;--fox-glow:#f3b04b55;--gold:#f1c55a;--th-accent:#f3b04b;--th-soft:#ffd68f;--th-a08:#f3b04b14;--th-a10:#f3b04b1a;--th-a18:#f3b04b2e;--th-a20:#f3b04b33;--th-a33:#f3b04b55;--th-a50:#f3b04b80;--th-glass:#1a120bc4;--th-card:#17110c;--th-card-hi:#2a1d12;--th-deep:#140e09;--th-deepest:#0f0a07;--th-stat1:#2a1d12;--th-stat2:#1a120c;--th-fit:#3a2814;--th-zoom:#c48a3c;--th-hover:#8a6232;--th-hero1:#0f0906f2;--th-hero2:#140c07dc;--th-hero3:#1a100874;--th-hero4:#1a100828}
.rl-el-lance{--el:#f1c55a;--el-text:#ffe19a}
.rl-el-best{--el:#e8e2d0;--el-text:#f4efe2}
/* Forge statue effects (statue fx "forge"): the stone flames glow and flicker, embers rise, a glint runs along the lance. */
.rl-statue .rl-flame{transform-box:fill-box;transform-origin:50% 60%;opacity:.6;animation:rl-flicker 2.6s ease-in-out infinite}
.rl-statue .rl-flame-1{animation-duration:3.1s;animation-delay:-1s}
.rl-statue .rl-flame-2{animation-duration:2.2s;animation-delay:-.5s}
.rl-statue .rl-flame-3{animation-duration:3.6s;animation-delay:-2s}
@keyframes rl-flicker{0%,100%{opacity:.5;transform:scale(1)}30%{opacity:.9;transform:scale(1.07)}55%{opacity:.62;transform:scale(.96)}75%{opacity:.8;transform:scale(1.03)}}
.rl-statue .rl-glint{opacity:0;animation:rl-glint 7s ease-in-out infinite}
@keyframes rl-glint{0%{opacity:0;transform:translateX(0)}6%{opacity:1}34%{opacity:.9;transform:translateX(820px)}40%,100%{opacity:0;transform:translateX(820px)}}
@media(prefers-reduced-motion:reduce){.rl-statue .rl-flame{animation:none}.rl-statue .rl-glint{animation:none;opacity:0}}
.rl-lance-map svg{max-width:900px}.rl-lance-map figcaption{max-width:900px}
.rl-themed .rl-col .rl-bullets+h3{margin-top:var(--space-6)}
.rl-panels-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.rl-panels-grid .rl-panel:first-child{grid-row:auto}
@media(max-width:960px){.rl-panels-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------------------------------------------------
   Masqueraider and Ouginak (one release, two pages: body.rl-theme-masqueraider, body.rl-theme-ouginak). Every rule
   below is scoped to the two themes or to classes only their blocks use (maskMap, rageMap, summonCard, duo, statue fx
   "glow"), so the other announcement pages render as before. */
.rl-theme-masqueraider{--fox:#f2605a;--fox-soft:#ffd6d0;--fox-deep:#3a1214;--fox-line:#5e2c2d;--fox-surface:#1b1011;--fox-surface-2:#271517;--fox-glow:#f2605a55;--gold:#f1c55a;--th-accent:#f2605a;--th-soft:#ffb3ab;--th-a08:#f2605a14;--th-a10:#f2605a1a;--th-a18:#f2605a2e;--th-a20:#f2605a33;--th-a33:#f2605a55;--th-a50:#f2605a80;--th-glass:#1a0e0fc4;--th-card:#180f10;--th-card-hi:#2b1719;--th-deep:#140b0c;--th-deepest:#0f0809;--th-stat1:#2b1719;--th-stat2:#1a0f10;--th-fit:#3d1a1d;--th-zoom:#c4504c;--th-hover:#8a3a3a;--th-hero1:#0f0707f2;--th-hero2:#140909dc;--th-hero3:#1a0c0c74;--th-hero4:#1a0c0c28}
.rl-theme-ouginak{--fox:#f0923e;--fox-soft:#ffdfbd;--fox-deep:#3a220c;--fox-line:#54452f;--fox-surface:#191611;--fox-surface-2:#242018;--fox-glow:#f0923e55;--gold:#f1c55a;--th-accent:#f0923e;--th-soft:#ffc995;--th-a08:#f0923e14;--th-a10:#f0923e1a;--th-a18:#f0923e2e;--th-a20:#f0923e33;--th-a33:#f0923e55;--th-a50:#f0923e80;--th-glass:#17130dc4;--th-card:#16130e;--th-card-hi:#2a2318;--th-deep:#13100b;--th-deepest:#0e0c08;--th-stat1:#2a2318;--th-stat2:#19150f;--th-fit:#3a2d18;--th-zoom:#c47f3e;--th-hover:#8a6236;--th-hero1:#0e0b07f2;--th-hero2:#130f09dc;--th-hero3:#1a140c74;--th-hero4:#1a140c28}
.rl-theme-masqueraider .rl-title-main{background-image:linear-gradient(180deg,#fffaf2 12%,#ffd9cf 50%,#f2605a 100%);color:#ffd9cf}
.rl-theme-ouginak .rl-title-main{background-image:linear-gradient(180deg,#fffbf0 12%,#ffe0a8 50%,#f0923e 100%);color:#ffe0a8}
.rl-theme-masqueraider .rl-embers{background-image:radial-gradient(2px 2px at 30px 200px,#ff8a80,transparent),radial-gradient(2px 2px at 150px 120px,#fff1d6,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#f2605acc,transparent),radial-gradient(2px 2px at 90px 60px,#f1c55a,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#fff6dc,transparent)}
.rl-theme-ouginak .rl-embers{background-image:radial-gradient(2px 2px at 30px 200px,#ffc995,transparent),radial-gradient(2px 2px at 150px 120px,#fff1d6,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#f0923ecc,transparent),radial-gradient(2px 2px at 90px 60px,#f1c55a,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#fff6dc,transparent)}
.rl-el-mask,.rl-el-rage{--el:var(--th-accent);--el-text:var(--th-soft)}
.rl-el-multi{--el:#e8e2d0;--el-text:#f4efe2}
.rl-el-pet{--el:#a98cf0;--el-text:#cbb9ff}
.rl-el-prey{--el:#ff6a5c;--el-text:#ffb8ae}

/* Mechanic diagrams (blocks "maskMap", "rageMap"): the SVG carries its own colours; the cards beside it reflow. */
.rl-dg{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:var(--space-6);align-items:start}
.rl-dg-fig{margin:0}
.rl-dg-fig svg{display:block;width:100%;height:auto;max-width:600px;margin:0 auto;border-radius:24px;box-shadow:inset 0 0 0 1px var(--fox-line),var(--shadow)}
.rl-dg-fig figcaption{max-width:600px;margin:var(--space-3) auto 0;color:var(--muted);font-size:14.5px;line-height:1.55}
.rl-dg-cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.rl-dg-card,.rl-dg-summon{--c:var(--th-accent);--c-text:var(--th-soft);position:relative;border:1px solid var(--fox-line);border-radius:var(--radius);background:linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%);overflow:hidden}
.rl-dg-card{padding:16px 18px 16px 24px}
.rl-dg-card:before,.rl-dg-summon:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.rl-section .rl-dg-card h3,.rl-section .rl-dg-summon h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 10px;font-size:21px;color:var(--c-text)}
.rl-dg-card h3 small,.rl-dg-summon h3 small{padding:2px 10px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c-text);font:700 11.5px/1.5 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.rl-dg-card dl{margin:0;display:grid;gap:8px}
.rl-dg-card dl div{display:grid;grid-template-columns:minmax(0,148px) minmax(0,1fr);gap:2px 14px}
.rl-dg-card dt{padding-top:3px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}
.rl-dg-card dd{margin:0;color:var(--text-soft);font-size:15.5px;line-height:1.5}
.rl-c-intrepid{--c:#f1c55a;--c-text:#ffe7a3}.rl-c-coward{--c:#7fd6c4;--c-text:#c4f2e8}.rl-c-psychopath{--c:#ff5a52;--c-text:#ffb3ab}.rl-c-any{--c:#d9cfc0;--c-text:#f4efe2}
.rl-c-prey{--c:#ff6a5c;--c-text:#ffb8ae}.rl-c-rage{--c:#f0a14a;--c-text:#ffd7a6}.rl-c-form{--c:#ffd36b;--c-text:#ffe9b0}.rl-c-yapper{--c:#d9a866;--c-text:#ecd6b0}
.rl-dg-summon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-5);align-items:start;margin-top:var(--space-5);padding:var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + 5px)}
.rl-dg-summon-art svg{display:block;width:128px;height:auto;filter:drop-shadow(0 10px 18px #000a)}
.rl-dg-summon-body>p{margin:0 0 var(--space-3)}
.rl-dg-summon .rl-chips{margin:0 0 var(--space-3)}
.rl-dg-rows{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:8px}
.rl-dg-rows li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:2px 16px;padding:9px 14px;border-left:4px solid var(--c);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--c) 9%,transparent)}
.rl-dg-rows b{color:var(--c-text);font-size:15px;line-height:1.5}
.rl-dg-rows span{color:var(--text-soft);font-size:15px;line-height:1.5}
.rl-dg+.rl-split,.rl-dg-summon+.rl-split{margin-top:var(--space-7)}
@media(min-width:961px){.rl-dg-fig{position:sticky;top:calc(var(--header-height) + var(--space-4))}}
@media(max-width:960px){.rl-dg{grid-template-columns:1fr}}
@media(max-width:480px){.rl-dg-fig svg{width:calc(100% + 2*var(--gutter) - 12px);max-width:none;margin-inline:calc(6px - var(--gutter));border-radius:18px}}
@media(max-width:700px){
 .rl-dg-summon{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) + 5px)}
 .rl-dg-summon-art svg{width:92px}
 .rl-dg-rows li{grid-template-columns:1fr}
}
@media(max-width:560px){.rl-dg-card dl div{grid-template-columns:1fr}.rl-dg-card dt{padding-top:0}}

/* The other announcement of the same release (block "duo"). */
.rl-duo{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:var(--space-5);align-items:center;margin-top:var(--space-6);padding:var(--space-5) var(--space-6);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:radial-gradient(ellipse 55% 130% at 0% 50%,var(--th-a18),transparent 70%),linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%)}
.rl-duo-art{display:block}
.rl-duo-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 24px #000b);transition:transform .25s}
.rl-duo-art:hover img{transform:translateY(-3px) scale(1.02)}
.rl-duo .eyebrow{color:var(--fox)}
.rl-duo .eyebrow:before{background:var(--fox);box-shadow:0 0 10px var(--fox-glow)}
.rl-section .rl-duo h3{margin:var(--space-2) 0;font-size:26px}
.rl-duo-body p{margin:0}
.rl-duo .rl-duo-action{margin-top:var(--space-4)}
@media(max-width:700px){.rl-duo{grid-template-columns:1fr;padding:var(--space-4);text-align:center}.rl-duo-art{width:min(56%,190px);margin:0 auto}.rl-duo .eyebrow{justify-content:center}}

/* Statue fx "glow": lights pulsing over the stone and a sheen of light crossing it (masked by the statue itself). */
.rl-statue .rl-pulse{transform-box:fill-box;transform-origin:50% 50%;opacity:.5;animation:rl-pulse 3.6s ease-in-out infinite}
.rl-statue .rl-pulse-1{animation-delay:-.2s}.rl-statue .rl-pulse-2{animation-delay:-1.4s}
@keyframes rl-pulse{0%,100%{opacity:.3;transform:scale(.88)}12%{opacity:1;transform:scale(1.14)}24%{opacity:.5;transform:scale(.96)}36%{opacity:.92;transform:scale(1.08)}62%{opacity:.34;transform:scale(.9)}}
.rl-statue .rl-sheen{opacity:0;animation:rl-sheen 9s ease-in-out infinite}
@keyframes rl-sheen{0%{opacity:0;transform:translateX(0)}8%{opacity:1}40%{opacity:.9;transform:translateX(2300px)}46%,100%{opacity:0;transform:translateX(2300px)}}
@media(prefers-reduced-motion:reduce){.rl-statue .rl-pulse{animation:none}.rl-statue .rl-sheen{animation:none;opacity:0}.rl-duo-art img{transition:none}}

/* ---------------------------------------------------------------------------------------------------------------
   Professions minor update (body.rl-theme-professions, /updates/professions): brass, copper and tempered steel on
   graphite, the anvil hero and the pf- blocks of tools/announcements/release-page.cjs (fuse, where, track, ladder,
   yield, titles, also). Every rule below is scoped to the theme or to pf- classes only that page uses. */
.rl-theme-professions{--fox:#e2bf72;--fox-soft:#f7e6bd;--fox-deep:#33281a;--fox-line:#4d4334;--fox-surface:#16130f;--fox-surface-2:#201c16;--fox-glow:#e2bf7255;--gold:#e2bf72;--th-accent:#e2bf72;--th-soft:#f2d99c;--th-a08:#e2bf7214;--th-a10:#e2bf721a;--th-a18:#e2bf722e;--th-a20:#e2bf7233;--th-a33:#e2bf7255;--th-a50:#e2bf7280;--th-glass:#15120ec7;--th-card:#15120e;--th-card-hi:#241e17;--th-deep:#120f0c;--th-deepest:#0d0b09;--th-stat1:#241e17;--th-stat2:#16130f;--th-fit:#382e20;--th-zoom:#c49a52;--th-hover:#8a6f42;--th-hero1:#0d0b08f2;--th-hero2:#110e0adc;--th-hero3:#17120c70;--th-hero4:#17120c24;--pf-copper:#d98457;--pf-steel:#8fb4cc;--pf-leaf:#9fcf7a}
.rl-theme-professions .rl-title-main{background-image:linear-gradient(180deg,#fffdf6 8%,#f2dca4 48%,#d98457 100%);color:#f2dca4}
@supports (font-size:1cqi){.rl-theme-professions .rl-title-main{font-size:clamp(34px,11.4cqi,84px)}}
.rl-theme-professions .rl-hero .intro{color:#efe6d6}
.rl-theme-professions .rl-hero .eyebrow{flex-wrap:wrap;row-gap:2px}
.rl-theme-professions .rl-headlines li:nth-child(1):before{background:linear-gradient(135deg,#fff3dc,var(--fox));box-shadow:0 0 12px var(--fox)}
.rl-theme-professions .rl-headlines li:nth-child(2):before{background:linear-gradient(135deg,#fff3dc,var(--pf-copper));box-shadow:0 0 12px var(--pf-copper)}
.rl-theme-professions .rl-headlines li:nth-child(3):before{background:linear-gradient(135deg,#fff3dc,var(--pf-steel));box-shadow:0 0 12px var(--pf-steel)}
.rl-theme-professions .rl-embers{opacity:.6;background-image:radial-gradient(2px 2px at 30px 200px,#ffd38a,transparent),radial-gradient(2px 2px at 150px 120px,#fff1d6,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#ffb35ccc,transparent),radial-gradient(2px 2px at 90px 60px,#e2bf72,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#fff6dc,transparent)}
.rl-theme-professions .rl-stats b{color:#f7e6bd}
.rl-theme-professions .rl-section.rl-warm{background:radial-gradient(ellipse 70% 60% at 0% 0%,#d984571a,transparent 70%),radial-gradient(ellipse 50% 50% at 100% 100%,#8fb4cc0f,transparent 70%),linear-gradient(180deg,var(--fox-surface-2),var(--fox-surface) 70%)}
.rl-theme-professions .rl-section>.rl-note,.rl-theme-professions .pf-track+.rl-note{margin-top:var(--space-4)}
.rl-theme-professions .rl-section>h3,.rl-theme-professions .rl-split+h3{margin-top:var(--space-7)}

/* Anvil hero: one SVG scaled to its column (no layout shift); motion is transform/opacity on classes. */
.rl-hero-art.pf-anvil{height:auto;width:100%;max-width:500px;margin:0 auto}
.pf-anvil svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 24px 40px #000b)}
.pf-anvil .pf-ring{transform-box:fill-box;transform-origin:50% 50%;animation:rl-spin 60s linear infinite}
.pf-anvil .pf-ring-b{animation-duration:90s;animation-direction:reverse}
.pf-anvil .pf-item{animation:pf-bob 6s ease-in-out infinite}
.pf-anvil .pf-medal{animation:pf-bob 8s ease-in-out infinite}
.pf-anvil .pf-medal-1{animation-delay:-2s}.pf-anvil .pf-medal-2{animation-delay:-4s;animation-duration:9s}.pf-anvil .pf-medal-3{animation-delay:-6s;animation-duration:7s}
.pf-anvil .pf-spark{opacity:0;animation:pf-spark 2.8s ease-out infinite}
.pf-anvil .pf-spark-1{animation-delay:-.5s;animation-duration:3.2s}.pf-anvil .pf-spark-2{animation-delay:-1s}.pf-anvil .pf-spark-3{animation-delay:-1.6s;animation-duration:2.4s}.pf-anvil .pf-spark-4{animation-delay:-2.1s;animation-duration:3.4s}.pf-anvil .pf-spark-5{animation-delay:-2.5s}
.pf-anvil .pf-spark-0,.pf-anvil .pf-spark-3{--dx:-26px}.pf-anvil .pf-spark-2,.pf-anvil .pf-spark-5{--dx:30px}
@keyframes pf-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pf-spark{0%{opacity:0;transform:translate(0,0)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx,14px),-120px)}}
@media(prefers-reduced-motion:reduce){.pf-anvil .pf-ring,.pf-anvil .pf-item,.pf-anvil .pf-medal{animation:none}.pf-anvil .pf-spark{animation:none;opacity:0}}
@media(max-width:960px){.rl-hero-art.pf-anvil{order:-1;height:auto;max-width:340px}}

/* Fusion: two copies in, one a level higher out. */
.pf-fuse{margin:0 0 var(--space-5);padding:var(--space-5) var(--space-4);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:radial-gradient(ellipse 60% 80% at 82% 40%,#ffb35c1f,transparent 70%),var(--th-card)}
.pf-fuse-row{display:flex;align-items:flex-start;justify-content:center;gap:clamp(6px,1.6vw,14px)}
.pf-slot{display:flex;flex-direction:column;align-items:center;gap:6px;width:clamp(64px,19vw,112px);min-width:0;text-align:center}
.pf-slot-art{display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid var(--fox-line);border-radius:14px;background:radial-gradient(circle at 50% 40%,#2c241b,#120f0c 72%);box-shadow:inset 0 1px 0 #ffffff12}
.pf-slot-art img{display:block;width:84%;height:auto;filter:drop-shadow(0 6px 10px #000a)}
.pf-slot b{padding:1px 10px;border-radius:var(--radius-pill);background:#2a2219;border:1px solid var(--fox-line);color:var(--fox-soft);font:700 15px/1.4 var(--font-heading)}
.pf-slot small{color:var(--muted);font-size:12px;line-height:1.3}
.pf-out .pf-slot-art{border-color:#ffb35c;background:radial-gradient(circle at 50% 40%,#5a3a1e,#1a120b 72%);box-shadow:0 0 0 1px #ffb35c55,0 0 26px #ffb35c44}
.pf-out b{background:linear-gradient(180deg,#ffe2a0,#e2a35a);border-color:#fff0c8;color:#3a1d0c}
.pf-out small{color:var(--fox-soft)}
.pf-op{flex:none;align-self:flex-start;display:grid;place-items:center;height:clamp(64px,19vw,112px);color:var(--fox);font:700 26px/1 var(--font-heading)}
.pf-op-to svg{display:block;width:clamp(26px,5vw,40px);height:auto}
.pf-fuse figcaption{margin-top:var(--space-4);color:var(--muted);font-size:14px;line-height:1.5;text-align:center}

/* Where to masterwork */
.pf-where{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.pf-where li{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border:1px solid var(--fox-line);border-left:4px solid var(--fox);border-radius:var(--radius);background:linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%)}
.pf-where li+li{border-left-color:var(--pf-steel)}
.pf-glyph{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#100d0a;box-shadow:inset 0 0 0 1px var(--fox-line)}
.pf-glyph svg{display:block;width:44px;height:44px}
.rl-section .pf-where h4{margin:2px 0 4px;font-size:18px}
.pf-where p{margin:0;font-size:15px;line-height:1.55}

/* Stat track: crafted, then +1 to +5 */
.pf-track{padding:var(--space-4);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:var(--th-card)}
.pf-track-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}
.pf-track-head img{flex:none;width:56px;height:56px;filter:drop-shadow(0 6px 10px #000a)}
.pf-track-head p{margin:0;display:flex;flex-direction:column;line-height:1.35}
.pf-track-head strong{font:700 19px/1.3 var(--font-heading)}
.pf-track-head span{color:var(--muted);font-size:14px}
.pf-lvs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}
.pf-lv{--h:#9aa3ad;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 12px 10px;border:1px solid var(--fox-line);border-top:3px solid var(--h);border-radius:var(--radius);background:linear-gradient(180deg,#1e1913,#14110d)}
.pf-lv-1{--h:#b39a83}.pf-lv-2{--h:#d07f5a}.pf-lv-3{--h:#ec7440}.pf-lv-4{--h:#f8a245}.pf-lv-5{--h:#ffe7a6;background:radial-gradient(ellipse 90% 60% at 50% 0%,#ffb35c26,transparent 70%),linear-gradient(180deg,#261c12,#14110d)}
.pf-lv-tag{align-self:flex-start;padding:1px 9px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--h) 18%,transparent);border:1px solid color-mix(in srgb,var(--h) 55%,transparent);color:var(--h);font:700 14px/1.4 var(--font-heading)}
.pf-lv-name{color:var(--muted);font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.pf-lv-vals{display:flex;flex-direction:column;gap:1px;color:var(--text-soft);font-size:13.5px;line-height:1.35}
.pf-lv-vals b{color:var(--text);font:700 21px/1.1 var(--font-heading)}
.pf-lv-5 .pf-lv-vals b{color:#ffe7a6}
.pf-meter{display:block;width:100%;height:8px;border-radius:4px}
.pf-lv-pct{color:var(--muted);font-size:12px;font-weight:600}

/* Exotic ladder and gathering curve */
.pf-ladder,.pf-yield{margin:0 auto var(--space-5);max-width:640px}
.pf-ladder svg,.pf-yield svg{display:block;width:100%;height:auto;border-radius:24px;box-shadow:inset 0 0 0 1px var(--fox-line),var(--shadow)}
.pf-ladder figcaption,.pf-yield figcaption{margin-top:var(--space-3);color:var(--muted);font-size:14px;line-height:1.55}
.pf-yield{max-width:none;margin-bottom:0}
.pf-lines{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}
.pf-lines b{padding:2px 12px;border-radius:var(--radius-pill);border:1px solid #ffb35c66;background:#ffb35c14;color:#ffd9a8;font-size:13px;letter-spacing:.04em}
.pf-ladder .pf-hot{animation:pf-hot 3.2s ease-in-out infinite}
@keyframes pf-hot{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.pf-ladder .pf-hot{animation:none}}
#exotic .rl-bullets{max-width:640px;margin-inline:auto}

/* Master title plaques */
.pf-titles{display:grid;gap:var(--space-6)}
.pf-tgroup{--g:var(--fox)}
.pf-t-gathering{--g:var(--pf-leaf)}.pf-t-smithmagic{--g:var(--pf-steel)}
.rl-section .pf-tgroup h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 var(--space-3);padding-bottom:8px;border-bottom:1px solid var(--fox-line);font-size:22px;color:var(--g)}
.pf-tgroup h3 small{padding:1px 10px;border:1px solid color-mix(in srgb,var(--g) 45%,transparent);border-radius:var(--radius-pill);color:var(--g);font:700 12px/1.6 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.pf-tgroup ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,262px),1fr));gap:var(--space-3)}
.pf-title{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:12px 18px 12px 12px;border:1px solid #4d4334;border-left:3px solid var(--g);border-radius:12px;
 background:radial-gradient(circle at calc(100% - 9px) 9px,#c9a46a 0 2px,#0000 2.5px),radial-gradient(circle at calc(100% - 9px) calc(100% - 9px),#c9a46a 0 2px,#0000 2.5px),linear-gradient(160deg,#2a2219,#16120e 75%);
 box-shadow:inset 0 1px 0 #ffffff12,0 6px 14px #0006;transition:transform .2s,border-color .2s,box-shadow .2s}
.pf-title:hover{transform:translateY(-2px) rotate(-.6deg);border-color:color-mix(in srgb,var(--g) 60%,#4d4334);box-shadow:inset 0 1px 0 #ffffff1a,0 12px 24px #0008,0 0 0 1px color-mix(in srgb,var(--g) 35%,transparent)}
.pf-title-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#3a3024,#120f0c 75%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--g) 50%,transparent)}
.pf-title-icon img{display:block;width:40px;height:40px}
.pf-title-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.pf-title-text small{color:var(--g);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pf-title-text strong{color:#f6efe0;font:italic 700 18px/1.25 var(--font-heading);overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.pf-title{transition:none}.pf-title:hover{transform:none}}

/* Also in this update */
.pf-also{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.pf-also li{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--th-card-hi),var(--th-card) 70%)}
.pf-also-icon{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#100d0a;box-shadow:inset 0 0 0 1px var(--fox-line)}
.pf-also-icon img{display:block;width:52px;height:52px}
.pf-also-icon svg{display:block;width:48px;height:48px}
.rl-section .pf-also h3{margin:0 0 6px;font-size:19px}
.pf-also p{margin:0;font-size:15px;line-height:1.55}

@media(max-width:960px){
 .pf-lvs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pf-also{grid-template-columns:1fr}
 .pf-also li{flex-direction:row;align-items:flex-start}
}
@media(max-width:560px){
 .pf-track{padding:var(--space-3)}
 .pf-lv{padding:10px 10px 8px}
 .pf-lv-vals b{font-size:19px}
 .pf-where li{padding:var(--space-3);gap:var(--space-3)}
 .pf-glyph{width:48px;height:48px}.pf-glyph svg{width:38px;height:38px}
 .pf-also li{padding:var(--space-4)}
 .pf-also-icon{width:52px;height:52px}.pf-also-icon img{width:42px;height:42px}.pf-also-icon svg{width:40px;height:40px}
 .pf-op{font-size:20px}
 .pf-slot small{display:none}
 .pf-lv-name{display:none}
}
@media(max-width:380px){.pf-lvs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------------------------------------------------------------------------------------------------------------
   New-lands blocks (tools/announcements/release-page.cjs "cast" and "facts"): a land's bosses, monsters and NPCs as
   native sprite tiles, and its key facts (travel, levels, dungeons) as a definition grid. */
.rl-cast{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-3)}
.rl-cast li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 12px;text-align:center;border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 38%,var(--th-a10,#ffffff10),transparent 70%),var(--th-card,#16100c)}
.rl-cast .rl-cast-art{display:block;width:100%;max-width:132px;aspect-ratio:1}
.rl-cast img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 10px #000b)}
.rl-cast strong{font-size:14px;line-height:1.25;color:var(--text,#f3ead8)}
.rl-cast small{font-size:12px;line-height:1.3;color:var(--muted)}
.rl-cast .rl-cast-boss{border-color:var(--gold,#f1c55a);box-shadow:inset 0 0 0 1px #f1c55a33}
.rl-cast .rl-cast-boss strong{color:var(--gold,#f1c55a)}
.rl-facts{margin:var(--space-5) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.rl-facts div{padding:var(--space-4);border:1px solid var(--fox-line);border-radius:var(--radius-lg);background:var(--th-card,#16100c)}
.rl-facts dt{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fox)}
.rl-facts dd{margin:0;line-height:1.55}
@media(max-width:700px){.rl-facts{grid-template-columns:1fr}.rl-cast{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rl-cast li{padding:8px 4px 10px}.rl-cast .rl-cast-art{max-width:96px}.rl-cast strong{font-size:12.5px}.rl-cast small{font-size:11px}}
.rl-theme-lands .rl-section>h3{margin-top:var(--space-7,48px)}
.rl-theme-lands .rl-split+h3{margin-top:var(--space-6,32px)}
.rl-facts+.rl-bullets,.rl-facts+.rl-note,.rl-facts+p{margin-top:var(--space-5)}
.rl-split .rl-facts:first-child{margin-top:0}
/* ---------------------------------------------------------------------------------------------------------------
   Bellaphone (body.rl-theme-bellaphone): Source teal with Crimson embers. Scoped to the theme or to classes only its
   blocks use (resonanceMap, the lineage tones), so the other announcement pages render as before. */
.rl-theme-bellaphone{--fox:#3cc8c0;--fox-soft:#c8f4ef;--fox-deep:#0c2a2a;--fox-line:#2e4a48;--fox-surface:#0f1817;--fox-surface-2:#16231f;--fox-glow:#3cc8c055;--gold:#f1c55a;--th-accent:#3cc8c0;--th-soft:#9fe8e0;--th-a08:#3cc8c014;--th-a10:#3cc8c01a;--th-a18:#3cc8c02e;--th-a20:#3cc8c033;--th-a33:#3cc8c055;--th-a50:#3cc8c080;--th-glass:#0c1514c4;--th-card:#0f1716;--th-card-hi:#18282a;--th-deep:#0c1312;--th-deepest:#080e0d;--th-stat1:#18282a;--th-stat2:#0f1817;--th-fit:#173332;--th-zoom:#3aa8a0;--th-hover:#2f7a74;--th-hero1:#070d0cf2;--th-hero2:#0a1211dc;--th-hero3:#0d181674;--th-hero4:#0d181628}
.rl-theme-bellaphone .rl-title-main{background-image:linear-gradient(180deg,#f6fffd 12%,#bdf2ea 50%,#3cc8c0 100%);color:#bdf2ea}
.rl-theme-bellaphone .rl-embers{background-image:radial-gradient(2px 2px at 30px 200px,#9fe8e0,transparent),radial-gradient(2px 2px at 150px 120px,#fff1d6,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#e0503ccc,transparent),radial-gradient(2px 2px at 90px 60px,#f1c55a,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#e8fffb,transparent)}
.rl-theme-bellaphone .rl-orb.rl-el-earth,.rl-theme-bellaphone .rl-orb.rl-el-air{display:none}
.rl-el-lineage{--el:#3cc8c0;--el-text:#9fe8e0}
.rl-el-dual{--el:#e0503c;--el-text:#bdf2ea}
.rl-el-chosen{--el:#f1c55a;--el-text:#ffe7a3}
.rl-el-heal{--el:#5cc060;--el-text:#b9eab0}
.rl-c-resonance{--c:#f1c55a;--c-text:#ffe7a3}.rl-c-crimson{--c:#e0503c;--c-text:#ffb3a6}.rl-c-turquoise{--c:#3cc8c0;--c-text:#9fe8e0}.rl-c-emerald{--c:#5cc060;--c-text:#b9eab0}
.rl-c-ochre{--c:#d8a838;--c-text:#f3d58e}.rl-c-ivory{--c:#e8e0c8;--c-text:#f7f2e4}.rl-c-ebony{--c:#9a7cc0;--c-text:#d4c2ec}
.rl-theme-bellaphone .rl-dg-fig svg{max-width:640px}.rl-theme-bellaphone .rl-dg-fig figcaption{max-width:640px}
/* Sram rework 2026-10 ("The Venom Architect", body.rl-theme-sram): toxic green on shadow-violet black, scoped to that theme only. */
.rl-theme-sram{--fox:#8fd14f;--fox-soft:#dcf5c4;--fox-deep:#1f2a12;--fox-line:#3c4a2e;--fox-surface:#12140f;--fox-surface-2:#1b1f16;--fox-glow:#8fd14f55;--gold:#d9c46a;--th-accent:#8fd14f;--th-soft:#c6ec9f;--th-a08:#8fd14f14;--th-a10:#8fd14f1a;--th-a18:#8fd14f2e;--th-a20:#8fd14f33;--th-a33:#8fd14f55;--th-a50:#8fd14f80;--th-glass:#100f14c4;--th-card:#121115;--th-card-hi:#211f27;--th-deep:#0f0e12;--th-deepest:#0a090d;--th-stat1:#211f27;--th-stat2:#141318;--th-fit:#26301c;--th-zoom:#7ab843;--th-hover:#56783a;--th-hero1:#0a090df2;--th-hero2:#0e0d12dc;--th-hero3:#13121874;--th-hero4:#13121828}
.rl-theme-sram .rl-title-main{background-image:linear-gradient(180deg,#f6fbef 12%,#d6f0b8 50%,#8fd14f 100%);color:#d6f0b8}
.rl-theme-sram .rl-embers{background-image:radial-gradient(2px 2px at 30px 200px,#b4e57e,transparent),radial-gradient(2px 2px at 150px 120px,#eef7e2,transparent),radial-gradient(2.5px 2.5px at 230px 40px,#8fd14fcc,transparent),radial-gradient(2px 2px at 90px 60px,#9b7fd1,transparent),radial-gradient(1.5px 1.5px at 200px 170px,#f4f9ec,transparent)}
