/* Nexus City winter skin: gold / crimson / pine. Not a light overlay. */

html.nc-xmas {
  --nc-bg: #07140f;
  --nc-cyan: #e0b64a;
  --nc-purple: #c42b3a;
  --nc-blue: #2f6b4a;
  --nc-glass: rgba(8, 22, 16, 0.84);
  --nc-xmas-gold: #e0b64a;
  --nc-xmas-gold-2: #f3d48a;
  --nc-xmas-red: #c42b3a;
  --nc-xmas-pine: #163326;
  --nc-xmas-pine-2: #1f4a36;
  --nc-xmas-night: #07140f;
  color-scheme: dark;
  background: var(--nc-xmas-night);
}

html.nc-xmas body {
  background-color: var(--nc-xmas-night) !important;
  background-image:
    radial-gradient(ellipse 80% 50% at 12% 0%, rgba(196, 43, 58, 0.18), transparent 58%),
    radial-gradient(ellipse 70% 46% at 92% 8%, rgba(224, 182, 74, 0.16), transparent 55%),
    linear-gradient(180deg, #0b1d16 0%, #07140f 42%, #050f0b 100%);
  color: #f4efe4;
}

html.nc-xmas .nc-header {
  background: linear-gradient(180deg, rgba(12, 32, 24, 0.94), rgba(7, 20, 15, 0.88));
  border-bottom: 1px solid rgba(224, 182, 74, 0.38);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(196, 43, 58, 0.35);
}

html.nc-xmas .nc-header.is-scrolled {
  background: rgba(8, 22, 16, 0.94);
}

html.nc-xmas .nc-brand__tag {
  color: var(--nc-xmas-gold-2);
}

html.nc-xmas .nc-brand__emblem {
  box-shadow: 0 0 0 1px rgba(224, 182, 74, 0.45), 0 0 18px rgba(196, 43, 58, 0.25);
}

html.nc-xmas .nc-nav__link {
  color: #efe6d4;
}

html.nc-xmas .nc-nav__link:hover,
html.nc-xmas .nc-nav__link.is-active {
  color: var(--nc-xmas-gold-2);
  background: rgba(31, 74, 54, 0.55);
}

html.nc-xmas .nc-nav__link--shop,
html.nc-xmas .nc-nav__link--cases {
  color: var(--nc-xmas-gold);
}

html.nc-xmas .nc-btn-cta {
  background: linear-gradient(135deg, #e0b64a, #c42b3a) !important;
  color: #1a1208 !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(196, 43, 58, 0.32);
}

html.nc-xmas .nc-lang__btn.is-active,
html.nc-xmas .nc-lang a.is-active {
  background: rgba(31, 74, 54, 0.9);
  color: var(--nc-xmas-gold-2);
  border-color: rgba(224, 182, 74, 0.45);
}

html.nc-xmas .nc-btn-icon {
  color: var(--nc-xmas-gold-2);
  border-color: rgba(224, 182, 74, 0.28);
}

html.nc-xmas .nc-hv2-e2e-notice__inner {
  border-color: rgba(224, 182, 74, 0.35);
  background: linear-gradient(90deg, rgba(22, 51, 38, 0.82), rgba(12, 32, 24, 0.86));
}

html.nc-xmas .wiki-hub,
html.nc-xmas .wiki-shell,
html.nc-xmas .wiki-hub-body .wiki-hub {
  --wh-cyan: #e0b64a;
  --wh-purple: #c42b3a;
  --wh-gold: #f3d48a;
  --wh-ink: #07140f;
}

html.nc-xmas .wiki-nav-bar {
  background: linear-gradient(90deg, rgba(8, 22, 16, 0.96), rgba(12, 32, 24, 0.9));
  border-bottom-color: rgba(224, 182, 74, 0.22);
}

html.nc-xmas .wiki-nav-open,
html.nc-xmas .wiki-nav-close {
  border-color: rgba(224, 182, 74, 0.45);
  background: rgba(224, 182, 74, 0.12);
  color: #f4efe4;
}

html.nc-xmas body.wiki-shell-body,
html.nc-xmas .wiki-shell-body .wiki-hub {
  background: #07140f;
}

html.nc-xmas .nc-nav__dropdown {
  background: rgba(10, 28, 20, 0.96);
  border-color: rgba(224, 182, 74, 0.28);
}

html.nc-xmas .nc-mobile-bar {
  background: rgba(8, 22, 16, 0.94);
  border-top: 1px solid rgba(224, 182, 74, 0.28);
}

html.nc-xmas .nc-mobile-bar__btn--cta {
  color: #1a1208;
  background: linear-gradient(135deg, #e0b64a, #c42b3a);
}

html.nc-xmas footer,
html.nc-xmas .nc-footer {
  background: linear-gradient(180deg, #0a1c15, #07140f);
  border-top: 1px solid rgba(224, 182, 74, 0.22);
}

html.nc-xmas .text-cyan-400,
html.nc-xmas .text-cyan-300,
html.nc-xmas .hover\:text-cyan-400:hover,
html.nc-xmas .hover\:text-cyan-300:hover {
  color: #e8c86a !important;
}

html.nc-xmas body.nc-body-home-v2.nc-home-cinematic {
  --hv2-bg: #0a1c15;
  --hv2-card: rgba(14, 36, 26, 0.58);
  --hv2-cyan: #e0b64a;
  --hv2-purple: #c42b3a;
  background-color: #0a1c15;
}

html.nc-xmas body.nc-body-home-v2.nc-home-cinematic::before {
  background-color: #0a1c15;
  background-image:
    linear-gradient(180deg,
      rgba(7, 20, 15, 0.18) 0%,
      rgba(10, 28, 20, 0.32) 28%,
      rgba(8, 22, 16, 0.52) 62%,
      rgba(5, 14, 11, 0.78) 100%),
    radial-gradient(ellipse 90% 58% at 18% 22%, rgba(224, 182, 74, 0.22), transparent 62%),
    radial-gradient(ellipse 60% 48% at 88% 12%, rgba(196, 43, 58, 0.16), transparent 55%),
    url("/assets/gallery/spawn-winter/02-tree.jpg");
  background-repeat: no-repeat;
  background-position: 0 0, 0 0, 0 0, center 42%;
  background-size: auto, auto, auto, cover;
}

html.nc-xmas .nc-home-v2 {
  --hv2-cyan: #e0b64a;
  --hv2-purple: #c42b3a;
  --hv2-amber: #e0b64a;
  --hv2-rose: #c42b3a;
  --hv2-emerald: #4ade80;
  --hv2-bg: #07140f;
  --hv2-card: rgba(14, 36, 26, 0.72);
}

html.nc-xmas .nc-hv2-poster__still,
html.nc-xmas .nc-hv2-hero__media {
  background: #0a1c15;
}

html.nc-xmas .nc-hv2-poster__line,
html.nc-xmas .nc-hv2-poster__name,
html.nc-xmas .nc-hv2-hero h1 .grad,
html.nc-xmas .nc-hv2-hero h1 .line-accent {
  color: var(--nc-xmas-gold-2);
}

html.nc-xmas .nc-hv2-poster__ip,
html.nc-xmas .nc-hv2-btn--primary {
  background: linear-gradient(135deg, #e0b64a, #c9a227);
  color: #1a1208;
  border: 0;
  box-shadow: 0 10px 28px rgba(196, 43, 58, 0.28);
}

html.nc-xmas .nc-hv2-poster__ghost,
html.nc-xmas .nc-hv2-btn--ghost,
html.nc-xmas .nc-hv2-btn--purple {
  border-color: rgba(224, 182, 74, 0.4);
  color: #f4efe4;
  background: rgba(22, 51, 38, 0.55);
}

html.nc-xmas .nc-hv2-pill {
  background: rgba(22, 51, 38, 0.72);
  border-color: rgba(224, 182, 74, 0.28);
  color: #efe6d4;
}

html.nc-xmas .nc-hv2-pill--cyan,
html.nc-xmas .nc-hv2-pill--live {
  color: var(--nc-xmas-gold-2);
}

html.nc-xmas .nc-hv2-card,
html.nc-xmas .nc-hv2-lust__card,
html.nc-xmas .nc-hv2-cal__card,
html.nc-xmas .nc-hv2-boerse__panel,
html.nc-xmas .nc-hv2-world,
html.nc-xmas a.nc-v3-pin {
  background: rgba(14, 36, 26, 0.72);
  border-color: rgba(224, 182, 74, 0.22);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

html.nc-xmas .nc-hv2-section__label,
html.nc-xmas .nc-hv2-cal__kicker,
html.nc-xmas .nc-hv2-lust__tag {
  color: var(--nc-xmas-gold);
}

html.nc-xmas .nc-hv2-live-dot,
html.nc-xmas .nc-v3-dot {
  background: #4ade80;
  box-shadow: 0 0 10px #4ade80;
}

html.nc-xmas .nc-header-spacer {
  background: transparent;
}

.nc-xmas-snow {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 40;
  overflow: hidden;
}

.nc-xmas-snow span {
  position: absolute;
  top: -12px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.45);
  animation: nc-xmas-fall linear infinite;
  opacity: 0.55;
}

@keyframes nc-xmas-fall {
  0% { transform: translate3d(0, -8vh, 0); opacity: 0; }
  12% { opacity: 0.6; }
  100% { transform: translate3d(18px, 108vh, 0); opacity: 0.05; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-xmas-snow { display: none; }
}

.nc-jingle {
  position: fixed;
  right: 1rem;
  bottom: 5.5rem;
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.28rem;
  max-width: 16rem;
}

.nc-jingle__btn {
  appearance: none;
  border: 1px solid rgba(224, 182, 74, 0.5);
  background: rgba(10, 28, 20, 0.92);
  color: #f4efe4;
  font: 650 0.82rem/1.1 Rajdhani, system-ui, sans-serif;
  letter-spacing: 0.04em;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.nc-jingle__btn[aria-pressed="true"] {
  background: linear-gradient(135deg, #2f6b4a, #163326);
  border-color: rgba(224, 182, 74, 0.7);
  color: var(--nc-xmas-gold-2);
}

.nc-jingle__hint {
  font-size: 0.68rem;
  color: rgba(244, 239, 228, 0.62);
  text-align: right;
  padding-right: 0.4rem;
}

@media (max-width: 720px) {
  .nc-jingle {
    right: 0.7rem;
    bottom: 5.8rem;
  }
  .nc-jingle__hint { display: none; }
}
