/* EINHERJAR seasonal/event ornament system · lightweight, no intensity levels.
   The base black/red Einherjar identity remains visible beneath each festival. */
html[data-ein-theme="HALLOWEEN"]{--event-a:#f88c35;--event-b:#ad63e4;--event-dark:rgba(105,47,144,.20);--event-stripe:repeating-linear-gradient(110deg,#eb772e 0 16px,#1a101b 16px 26px,#8445a9 26px 34px)}
html[data-ein-theme="CHRISTMAS"]{--event-a:#67d4a1;--event-b:#e85866;--event-dark:rgba(27,110,69,.22);--event-stripe:repeating-linear-gradient(115deg,#427b55 0 15px,#f4c16b 15px 20px,#c54454 20px 34px)}
html[data-ein-theme="ADVENT"]{--event-a:#e3bb7d;--event-b:#b49aff;--event-dark:rgba(98,70,149,.23);--event-stripe:repeating-linear-gradient(120deg,#b69add 0 18px,#eecb90 18px 23px,#514371 23px 38px)}
html[data-ein-theme="NEW_YEARS_EVE"]{--event-a:#f7d47f;--event-b:#af80ff;--event-dark:rgba(83,64,151,.25);--event-stripe:repeating-linear-gradient(120deg,#eabf65 0 18px,#6f57af 18px 32px,#faf4cb 32px 35px)}
html[data-ein-theme="NEW_YEAR"]{--event-a:#80d7ff;--event-b:#c8a0fb;--event-dark:rgba(66,115,161,.23);--event-stripe:repeating-linear-gradient(110deg,#6caddd 0 18px,#e1e9ff 18px 21px,#8a69b2 21px 34px)}
html[data-ein-theme="EASTER"]{--event-a:#f5add1;--event-b:#91dca8;--event-dark:rgba(167,85,130,.20);--event-stripe:repeating-linear-gradient(110deg,#eaa4c9 0 13px,#b6e5ae 13px 26px,#f4d68b 26px 38px)}
html[data-ein-theme="CARNIVAL"]{--event-a:#ffc060;--event-b:#e875d2;--event-dark:rgba(109,62,151,.24);--event-stripe:repeating-linear-gradient(110deg,#e36e76 0 11px,#f5ca70 11px 22px,#69b6d5 22px 33px,#b27bcb 33px 44px)}
html[data-ein-theme="OKTOBERFEST"]{--event-a:#6db2ee;--event-b:#f5c975;--event-dark:rgba(54,95,151,.22);--event-stripe:repeating-linear-gradient(135deg,#f1f3ff 0 10px,#5590d6 10px 20px,#f0f2ff 20px 30px,#5590d6 30px 40px)}
html[data-ein-theme="GERMAN_UNITY"]{--event-a:#f7c862;--event-b:#e66b64;--event-dark:rgba(154,76,41,.19);--event-stripe:linear-gradient(90deg,#171717 0 33.33%,#cb3439 33.33% 66.66%,#e6ba47 66.66% 100%)}
html.ein-event-active {
  --event-border:color-mix(in srgb,var(--event-a) 48%,transparent);
  --event-glow:color-mix(in srgb,var(--event-a) 22%,transparent);
}
/* Site-wide seasonal ambience without canvas, particles, blur or looped animations. */
html.ein-event-active body {background-image:radial-gradient(ellipse 44% 26% at 0% 15%,var(--event-dark),transparent),radial-gradient(ellipse 38% 28% at 98% 76%,var(--event-dark),transparent),radial-gradient(circle at 50% -10%,#3d1112 0,transparent 32%),linear-gradient(180deg,#0d0808,#070606 60%,#0b0707)!important;}
html.ein-event-active .site-header {border-bottom:1px solid var(--event-border)!important;box-shadow:0 9px 28px rgba(0,0,0,.45),0 7px 24px var(--event-glow)!important;}
html.ein-event-active .site-header::before {content:"";height:3px;position:absolute;top:0;left:0;right:0;pointer-events:none;background:var(--event-stripe);z-index:9;opacity:.92;}
html.ein-event-active .preview-brand img {filter:drop-shadow(0 0 10px var(--event-a))!important;}
html.ein-event-active :is(.preview-sidebar,.preview-sidebar-global,.preview-panel,.panel,.hub-card,.tool-card,.data-card,.advanced-card,.calc-card,.monster-data-card,.patch-hero){border-color:var(--event-border)!important;}
html.ein-event-active :is(.panel,.hub-card,.tool-card,.data-card,.advanced-card,.calc-card,.monster-data-card,.patch-hero){box-shadow:0 8px 26px rgba(0,0,0,.26),0 0 15px color-mix(in srgb,var(--event-a) 7%,transparent);}
html.ein-event-active :is(h1,h2,.section-title,.preview-section-title,.kicker,.portal-rune){text-shadow:0 0 18px var(--event-glow);}
/* Neutral idle controls: buttons use the original Einherjar background and surfaces.
   Only interaction adds a subtle seasonal halo; no solid event fill or persistent glow. */
html.ein-event-active :is(button,.btn,.button,.nav-link,.entrance-portal-link,.header-search,.round-button,a[class*="button"]):not([disabled]){
  transition:box-shadow .20s ease,border-color .20s ease,background-color .20s ease;
}
html.ein-event-active :is(button,.btn,.button,.nav-link,.entrance-portal-link,.header-search,.round-button,a[class*="button"]):not([disabled]):hover,
html.ein-event-active :is(button,.btn,.button,.nav-link,.entrance-portal-link,.header-search,.round-button,a[class*="button"]):focus-visible{
  border-color:color-mix(in srgb,var(--event-a) 28%,#583a32)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--event-a) 18%,transparent),0 0 10px color-mix(in srgb,var(--event-a) 15%,transparent)!important;
}
/* Keep navigation selections in their native black/red scheme as well. */
/* Larger event ornaments: visually prominent without interfering with clicks. */
html.ein-event-active .ein-event-ornamented{position:relative!important;isolation:isolate;}
.ein-event-ornament {position:absolute;top:-11px;right:-10px;z-index:3;line-height:1;font-size:30px;font-weight:normal;pointer-events:none;user-select:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85)) drop-shadow(0 0 4px var(--event-glow));transform:rotate(9deg);}
html.ein-event-active :is(.preview-sidebar,.preview-sidebar-global) .ein-event-ornament{font-size:23px;top:-7px;right:-4px;}
html.ein-event-active .ein-event-ornamented:is(.hub-card,.tool-card) .ein-event-ornament{font-size:38px;top:-9px;right:3px;}
/* A small, non-interactive season label integrated with the global header. */
html.ein-event-active .ein-event-crest{position:absolute;right:12px;bottom:-33px;z-index:18;display:flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--event-border);border-top:0;border-radius:0 0 10px 10px;background:#141015;color:var(--event-a);font-size:12px;font-weight:700;letter-spacing:.07em;box-shadow:0 9px 21px rgba(0,0,0,.35);pointer-events:none;max-width:220px;white-space:nowrap;}
html.ein-event-active .ein-event-crest span:first-child{font-size:30px;line-height:1;}
/* Distinct festival details, not a universal colour swap. */
html[data-ein-theme="HALLOWEEN"] .site-header{background-image:linear-gradient(120deg,rgba(111,51,148,.10),transparent 58%,rgba(254,131,39,.08))!important;}
html[data-ein-theme="CHRISTMAS"] :is(.site-header,.preview-sidebar){background-image:linear-gradient(115deg,rgba(29,109,60,.10),transparent 60%,rgba(185,31,57,.10))!important;}
html[data-ein-theme="ADVENT"] .site-header{background-image:linear-gradient(110deg,rgba(191,148,80,.12),transparent 55%,rgba(108,74,154,.10))!important;}
html[data-ein-theme="EASTER"] .site-header{background-image:linear-gradient(110deg,rgba(227,142,191,.12),transparent 60%,rgba(124,193,129,.12))!important;}
html[data-ein-theme="GERMAN_UNITY"] .ein-event-crest{border-bottom:3px solid #e1ba46;}
html[data-ein-theme="OKTOBERFEST"] .ein-event-crest{background-image:repeating-linear-gradient(135deg,rgba(115,159,214,.18) 0 9px,transparent 9px 18px);}
html[data-ein-theme="CARNIVAL"] .ein-event-crest{background-image:linear-gradient(115deg,rgba(231,77,125,.18),rgba(76,160,197,.13),rgba(232,182,84,.17));}
html[data-ein-theme="NEW_YEAR"] .ein-event-crest,html[data-ein-theme="NEW_YEARS_EVE"] .ein-event-crest{background-image:linear-gradient(130deg,rgba(83,75,173,.25),rgba(188,156,74,.09));}
@media(max-width:900px){html.ein-event-active .ein-event-crest{right:6px;font-size:11px;padding:5px 9px;bottom:-29px;}html.ein-event-active .ein-event-crest span:first-child{font-size:25px;}.ein-event-ornament{font-size:24px;top:-8px;right:-5px;}html.ein-event-active :is(.preview-sidebar,.preview-sidebar-global) .ein-event-ornament{font-size:20px;top:-6px;right:-3px;}html.ein-event-active .ein-event-ornamented:is(.hub-card,.tool-card) .ein-event-ornament{font-size:32px;top:-7px;right:3px;}}
@media(max-width:560px){html.ein-event-active .ein-event-crest{max-width:155px;overflow:hidden;text-overflow:ellipsis;}html.ein-event-active .ein-event-crest span:first-child{font-size:23px;}.ein-event-ornament{font-size:21px;top:-6px;right:-3px;}html.ein-event-active :is(.preview-sidebar,.preview-sidebar-global) .ein-event-ornament{font-size:18px;top:-5px;right:-2px;}html.ein-event-active .ein-event-ornamented:is(.hub-card,.tool-card) .ein-event-ornament{font-size:28px;top:-5px;right:3px;}}
@media(prefers-reduced-motion:reduce){html.ein-event-active :is(button,.btn,.button,.nav-link,.header-search,.round-button){transition:none!important;}}

/* ===== Event navigation hover fix / WoE frost finish (v4) =====
   The original header has an animated red ::before underline and an inset
   hover shadow. Don't stack those with the event glow: each portal draws one
   contained hover treatment without transforming or reflowing the button. */
html .preview-header .entrance-portal-nav > a.entrance-portal-link {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  transition: color .22s ease, box-shadow .24s ease, background-color .24s ease !important;
}

/* Keep the large seasonal icons INSIDE the header rather than clipping them
   against the striped top edge. Their size remains readable. */
html.ein-event-active .preview-header .entrance-portal-nav > a.entrance-portal-link .ein-event-ornament {
  top: 6px;
  right: 6px;
  font-size: 28px;
  line-height: 1;
  z-index: 4;
  opacity: .92;
}

/* Remove the original thick red footer-line in this portal bar. A faint,
   contained underline is displayed only while hovering or keyboard focusing. */
html .preview-header .entrance-portal-nav > a.entrance-portal-link::before {
  content: "";
  position: absolute;
  left: 23%;
  right: 23%;
  bottom: 5px;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(221,117,105,.62),transparent);
  box-shadow: none !important;
  opacity: 0;
  transform: scaleX(.55);
  z-index: 2;
  pointer-events: none;
  transition: opacity .24s ease, transform .3s ease, background .24s ease !important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link:not([href="/woe/"]):is(:hover,:focus-visible) {
  color: #eadbcf !important;
  background: rgba(145,64,65,.035) !important;
  box-shadow: inset 0 0 0 1px rgba(191,77,75,.10), inset 0 -12px 18px -18px rgba(211,92,89,.14) !important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link:not([href="/woe/"]):is(:hover,:focus-visible)::before {
  opacity: .67;
  transform: scaleX(1);
}

/* WoE Castle Map: frosted glass slowly climbs the panel on hover.
   Pseudo-elements are pointer-events:none and never cover the link label. */
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] {
  --ein-frost-edge: rgba(160,230,255,.61);
  --ein-frost-soft: rgba(102,197,246,.17);
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] > :not(.ein-event-ornament) {
  position: relative;
  z-index: 3;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]::before {
  left: 8%;
  right: 8%;
  bottom: 4px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #7bdbf9 22%, #e0f9ff 50%, #7bdbf9 78%, transparent) !important;
  box-shadow: none !important;
  transform: scaleX(.4);
  opacity: 0;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  clip-path: inset(100% 0 0 0);
  background:
    linear-gradient(139deg, transparent 24%, rgba(174,238,255,.17) 25%, transparent 27%) 0 0 / 37px 45px,
    linear-gradient(47deg, transparent 23%, rgba(115,200,242,.18) 24%, transparent 26%) 9px 5px / 41px 51px,
    radial-gradient(ellipse 96% 64% at 50% 105%, rgba(102,202,245,.39), rgba(51,122,154,.18) 58%, transparent 100%),
    linear-gradient(0deg, rgba(56,129,168,.18), transparent 88%);
  transition: opacity .25s ease, clip-path .46s cubic-bezier(.19,.84,.25,1) !important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible) {
  color: #e5faff !important;
  background: linear-gradient(180deg, rgba(16,35,49,.15), rgba(26,73,104,.24)) !important;
  box-shadow:
    inset 0 0 0 1px var(--ein-frost-edge),
    inset 0 0 17px var(--ein-frost-soft),
    inset 0 -3px 9px rgba(114,210,247,.16),
    0 0 12px rgba(91,180,233,.09) !important;
  text-shadow: 0 0 8px rgba(140,220,255,.25);
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible)::before {
  opacity: .94;
  transform: scaleX(1);
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible)::after {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible) .portal-rune {
  color: #a9eaff !important;
  text-shadow: 0 0 9px rgba(127,217,255,.65);
}
@media (prefers-reduced-motion:reduce) {
  html .preview-header .entrance-portal-nav > a.entrance-portal-link,
  html .preview-header .entrance-portal-nav > a.entrance-portal-link::before,
  html .preview-header .entrance-portal-nav > a.entrance-portal-link::after {
    transition: none !important;
  }
}


/* ===== WoE genuine ice crystal bloom v5: visible dendrites, not a blue glow ===== */
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:transparent!important;
  transform:none!important;
  transition:background-color .28s ease,box-shadow .28s ease,color .28s ease!important;
}
/* Suppress the old red underline and its plain blue-gradient approximation. */
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]::before,
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]::after {
  content:none!important;
  display:none!important;
  animation:none!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] .ein-woe-crystal-canvas {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:2!important;
  opacity:0;
  pointer-events:none!important;
  mix-blend-mode:screen;
  transform:none!important;
  transition:opacity .34s ease-out!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"].ein-woe-freezing .ein-woe-crystal-canvas {
  opacity:1;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] > :not(.ein-woe-crystal-canvas):not(.ein-event-ornament) {
  position:relative!important;
  z-index:4!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] .ein-event-ornament {
  z-index:5!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible,.ein-woe-freezing) {
  color:#f6fcff!important;
  background:linear-gradient(180deg,rgba(34,75,98,.22),rgba(99,180,218,.20))!important;
  box-shadow:inset 0 0 0 1px rgba(211,246,255,.75),inset 0 0 14px rgba(188,238,255,.35),0 0 15px rgba(125,211,245,.18)!important;
  text-shadow:0 1px 3px #00111b,0 0 6px #00111b,0 0 11px rgba(224,250,255,.35)!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"]:is(:hover,:focus-visible,.ein-woe-freezing) .portal-rune {
  color:#d7faff!important;
  text-shadow:0 0 9px #9de7ff!important;
}
html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"].ein-woe-freezing > span:nth-of-type(2) {
  background:rgba(5,21,31,.58);
  border-radius:3px;
  padding:3px 5px;
  margin:-3px -5px;
  box-shadow:0 0 9px 3px rgba(5,21,31,.38);
}
@media(prefers-reduced-motion:reduce) {
  html .preview-header .entrance-portal-nav > a.entrance-portal-link[href="/woe/"] .ein-woe-crystal-canvas {
    transition:none!important;
  }
}
