/* Rise of Legends v2.20.150 — Halloween / NOCTURNE.
   Top-web overlap fix: one corner-web layer only, no doubled webs.
   Decorative presentation only. The existing site layout, contents, links,
   components and winter/spring themes stay exactly as they were.
   New artwork is self-hosted SVG. No emoji stickers. No backdrop-filter. */
html[data-festival="halloween"]{
  --festival-accent:#b7835b;
  --festival-secondary:#e2c0a0;
  --festival-highlight:#af7b54;
  --festival-light:rgba(132,72,48,.13);
  --festival-ambient:rgba(104,53,42,.18);
  --festival-hero:url('/assets/festivals/premium-halloween-hero.svg');
  --festival-scene:url('/assets/festivals/premium-halloween-edges.svg');
  --festival-garland:url('/assets/festivals/premium-halloween-garland.svg');
}
/* The drawing is pinned to the sides: page content remains fully legible. */
html[data-festival="halloween"] #rol-festival-scene .rol-festival-backdrop{
  opacity:.76;
  background-image:url('/assets/festivals/premium-halloween-edges.svg');
  background-size:100% 100%;
  background-position:center;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 9%,rgba(0,0,0,.22) 19%,transparent 30%,transparent 70%,rgba(0,0,0,.22) 81%,#000 91%,#000 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 9%,rgba(0,0,0,.22) 19%,transparent 30%,transparent 70%,rgba(0,0,0,.22) 81%,#000 91%,#000 100%);
}
html[data-festival="halloween"] #rol-festival-scene .rol-festival-garland{
  background-image:url('/assets/festivals/premium-halloween-garland.svg');
  top:52px;height:184px;opacity:.74;
  background-size:100% auto;background-position:top center;
}
html[data-festival="halloween"] #rol-festival-scene .rol-festival-badge{
  border-color:rgba(199,137,87,.42);
  background:#171716ee;
  color:#e8c9a9;
}
html[data-festival="halloween"] body[data-design="legends-120"]{
  background-image:radial-gradient(ellipse 52% 45% at 5% 35%,rgba(100,54,47,.12),transparent 78%),
    radial-gradient(ellipse 43% 33% at 96% 20%,rgba(115,63,41,.16),transparent 75%),
    linear-gradient(#10151a,#0b1016 60%,#0b1015);
}
html[data-festival="halloween"] .rol120-home{
  background-image:radial-gradient(ellipse 40% 24% at 3% 28%,rgba(127,63,43,.09),transparent 80%),
    radial-gradient(ellipse 55% 33% at 100% 72%,rgba(104,51,39,.10),transparent 83%),
    linear-gradient(180deg,#10161b 0%,#0c1217 70%,#101115);
}
/* Hero still uses the ORIGINAL Rise of Legends castle and content. */
html[data-festival="halloween"] .rol120-hero-art{
  filter:saturate(.79) sepia(.12) brightness(.79) contrast(1.1);
}
html[data-festival="halloween"] .rol120-hero::before{
  background-image:url('/assets/festivals/premium-halloween-hero.svg'),
     radial-gradient(ellipse 43% 75% at 89% 95%,rgba(168,82,41,.28),transparent 76%);
  background-size:auto 155%,cover;
  background-position:right -3px bottom -96px,center;
  background-repeat:no-repeat;
  opacity:.80;
}
html[data-festival="halloween"] .rol120-hero::after{
  background:linear-gradient(0deg,#0a1116 0%,transparent 21%),
    linear-gradient(90deg,rgba(7,14,20,.92) 0%,rgba(8,13,19,.55) 36%,transparent 66%,rgba(8,12,15,.20));
}
html[data-festival="halloween"] .rol120-hero{border-bottom:1px solid #8f5839}
html[data-festival="halloween"] .rol120-hero-copy{position:relative;z-index:1}
html[data-festival="halloween"] .rol120-hero-side{z-index:1;position:relative;color:#e2b992}
/* A copper glow on all familiar cards, without changing their dimensions. */
html[data-festival="halloween"] :is(.rol120-feature,.rol120-news-card,.rol120-rank-box,.rol120-wiki-cover,.rol120-promo,.rol120-event-grid article){
  border-color:rgba(149,98,67,.62);
  box-shadow:inset 0 1px rgba(213,162,103,.075),0 5px 18px rgba(0,0,0,.23);
}
html[data-festival="halloween"] :is(.rol120-feature,.rol120-news-card,.rol120-wiki-cover,.rol120-promo):hover{
  border-color:rgba(205,147,92,.86)
}
/* Delicate filigree at the corners of the feature row. */
html[data-festival="halloween"] .rol120-feature-row{
  position:relative;isolation:isolate;
}
html[data-festival="halloween"] .rol120-feature-row::after{
  content:"";pointer-events:none;position:absolute;
  right:-64px;top:-60px;width:165px;height:145px;z-index:2;
  background:url('/assets/festivals/premium-halloween-branch.svg') right top/contain no-repeat;
  opacity:.45;
}
html[data-festival="halloween"] .rol120-feature:first-child{
  background-image:linear-gradient(90deg,#14222be9,#0e1a20ed 78%),url('/assets/rol120/news-1.webp');
}
/* Ornate separators sit OUTSIDE the existing grid items. */
html[data-festival="halloween"] .rol120-home-grid,
html[data-festival="halloween"] .rol120-bottom-promos,
html[data-festival="halloween"] .rol120-event-schedule{position:relative;isolation:isolate}
html[data-festival="halloween"] .rol120-home-grid::before{
  content:"";pointer-events:none;position:absolute;
  top:-39px;left:calc(50% - 153px);width:306px;height:34px;
  background:url('/assets/festivals/premium-halloween-divider.svg') center/contain no-repeat;
  opacity:.70;
}
html[data-festival="halloween"] .rol120-home-grid::after{
  content:"";pointer-events:none;position:absolute;z-index:-1;
  right:-127px;bottom:-100px;width:250px;height:270px;
  background:url('/assets/festivals/premium-halloween-stilllife.svg') bottom right/contain no-repeat;
  opacity:.30;
}
html[data-festival="halloween"] .rol120-home-news,
html[data-festival="halloween"] .rol120-home-rank,
html[data-festival="halloween"] .rol120-home-wiki{position:relative;min-width:0}
html[data-festival="halloween"] .rol120-home-news::before{
  content:"";pointer-events:none;position:absolute;z-index:2;
  left:-46px;top:15px;width:102px;height:115px;
  background:url('/assets/festivals/premium-halloween-edges.svg') left top/600px auto no-repeat;
  opacity:.29;
}
html[data-festival="halloween"] .rol120-home-rank::before,
html[data-festival="halloween"] .rol120-home-wiki::before{
  content:"";pointer-events:none;position:absolute;right:0;top:-14px;
  width:88px;height:17px;
  background:url('/assets/festivals/premium-halloween-divider.svg') right center/auto 17px no-repeat;
  opacity:.44;
}
html[data-festival="halloween"] .rol120-section-title h2{
  color:#dfae7b;text-shadow:0 0 20px rgba(159,80,46,.12)
}
html[data-festival="halloween"] .rol120-section-title{
  border-bottom:1px solid rgba(169,108,64,.22);padding-bottom:5px;margin-bottom:10px;
}
html[data-festival="halloween"] .rol120-news-card .rol120-news-image{
  border-bottom:1px solid rgba(199,124,71,.25)
}
html[data-festival="halloween"] .rol120-bottom-promos{margin-top:30px}
html[data-festival="halloween"] .rol120-bottom-promos::before{
  content:"";position:absolute;left:calc(50% - 126px);top:-30px;
  width:252px;height:32px;pointer-events:none;
  background:url('/assets/festivals/premium-halloween-divider.svg') center/contain no-repeat;opacity:.58;
}
html[data-festival="halloween"] .rol120-bottom-promos::after{
  content:"";position:absolute;right:-108px;top:24px;width:146px;height:165px;pointer-events:none;
  background:url('/assets/festivals/premium-halloween-stilllife.svg') bottom right/contain no-repeat;opacity:.30;
}
html[data-festival="halloween"] .rol120-event-schedule{
  padding-top:22px;border-top:1px solid rgba(152,89,52,.26);margin-top:40px;
}
html[data-festival="halloween"] .rol120-event-schedule::before{
  content:"";position:absolute;top:-15px;left:calc(50% - 130px);
  width:260px;height:31px;pointer-events:none;
  background:url('/assets/festivals/premium-halloween-divider.svg') center/contain no-repeat;opacity:.72;
}
html[data-festival="halloween"] .rol120-event-grid article{
  background:linear-gradient(128deg,#1e2225,#131820 85%);
  border-top-color:rgba(182,112,70,.68);
}
/* Footer is framed by cemetery silhouettes, candles and web filaments. */
html[data-festival="halloween"] .site-footer{
  position:relative;isolation:isolate;
  background-image:radial-gradient(ellipse 65% 45% at 70% 100%,rgba(117,67,43,.14),transparent 78%),
    linear-gradient(170deg,#12181bee,#080e12 88%);
  border-top:1px solid rgba(176,111,71,.62);
}
html[data-festival="halloween"] .site-footer::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('/assets/festivals/premium-halloween-footer.svg') center bottom/100% auto no-repeat;
  opacity:.48;
}
html[data-festival="halloween"] .site-footer::after{
  content:"";position:absolute;left:calc(50% - 170px);top:-19px;width:340px;height:40px;
  background:url('/assets/festivals/premium-halloween-divider.svg') center/contain no-repeat;
  pointer-events:none;opacity:.72;
}
/* Interior pages retain their original structure; a smaller gothic illustration
   appears at the far edge of the header and a fine border unifies the cards. */
html[data-festival="halloween"] .page-hero.compact::before{
  background-image:url('/assets/festivals/premium-halloween-stilllife.svg');
  background-size:auto 115%;background-position:right bottom;
  opacity:.16;
}
html[data-festival="halloween"] body.is-subpage :is(.panel,.news-card,.faq-card,.account-card,.download-card,.wiki-category-card){
  border-color:rgba(158,101,74,.38)
}
/* The registration page has a different body layout; only ambient decoration. */
html[data-festival="halloween"] body:not([data-design]){
  background-image:radial-gradient(ellipse 40% 30% at 96% 12%,rgba(130,69,43,.16),transparent 84%),
    linear-gradient(140deg,#10151a,#0b1218);
}
html[data-festival="halloween"] body:not([data-design]) #rol-festival-scene .rol-festival-backdrop{opacity:.28}
/* Responsive: section graphics retreat rather than obscure text. */
@media(max-width:1100px){
 html[data-festival="halloween"] .rol120-hero::before{background-size:auto 132%,cover;background-position:right bottom -76px,center;opacity:.65}
 html[data-festival="halloween"] #rol-festival-scene .rol-festival-garland{height:135px;opacity:.62}
 html[data-festival="halloween"] .rol120-feature-row::after{right:-22px;width:105px;height:100px;opacity:.3}
 html[data-festival="halloween"] .rol120-home-grid::after{right:-15px;width:160px;opacity:.22}
}
@media(max-width:700px){
 html[data-festival="halloween"] #rol-festival-scene .rol-festival-backdrop{opacity:.33}
 html[data-festival="halloween"] #rol-festival-scene .rol-festival-garland{top:64px;height:88px;opacity:.44}
 html[data-festival="halloween"] .rol120-hero::before{background-size:auto 80%,cover;background-position:right bottom -30px,center;opacity:.34}
 html[data-festival="halloween"] .rol120-feature-row::after,
 html[data-festival="halloween"] .rol120-home-grid::after,
 html[data-festival="halloween"] .rol120-bottom-promos::after,
 html[data-festival="halloween"] .rol120-home-news::before{display:none}
 html[data-festival="halloween"] .rol120-section-title{padding-bottom:3px;margin-bottom:7px}
 html[data-festival="halloween"] .rol120-home-grid::before{opacity:.45}
 html[data-festival="halloween"] .site-footer::before{background-size:auto 70%;opacity:.26}
}
@media(prefers-reduced-motion:reduce){
 html[data-festival="halloween"] #rol-festival-scene .rol-halloween-mist{animation:none}
}
