html[data-xc-season="halloween"] {
  --color-accent-50: 248, 245, 255 !important;
  --color-accent-100: 237, 229, 255 !important;
  --color-accent-200: 218, 202, 255 !important;
  --color-accent-300: 196, 173, 255 !important;
  --color-accent-400: 177, 146, 255 !important;
  --color-accent-500: 141, 103, 255 !important;
  --color-accent-600: 113, 75, 235 !important;
  --color-accent-700: 92, 54, 198 !important;
  --color-accent-800: 73, 42, 153 !important;
  --color-accent-900: 48, 28, 93 !important;
  --color-accent-950: 29, 18, 52 !important;
  --color-on-accent: 255, 255, 255 !important;
  --xc-line: rgba(194, 169, 226, .25);
  --xc-line-strong: rgba(219, 183, 250, .32);
  --xc-line-hi: rgba(211, 177, 255, .43);
}
html.dark[data-xc-season="halloween"] {
  --color-dark-950: 9, 8, 17 !important;
  --color-dark-900: 15, 13, 25 !important;
  --color-dark-850: 22, 18, 34 !important;
  --color-dark-800: 29, 24, 43 !important;
  --color-dark-700: 48, 39, 62 !important;
  --color-dark-600: 78, 65, 92 !important;
  --color-dark-500: 157, 147, 171 !important;
  --color-dark-400: 191, 182, 204 !important;
  --color-dark-300: 215, 207, 228 !important;
  --color-dark-200: 233, 226, 242 !important;
  --color-dark-100: 245, 240, 252 !important;
  --color-dark-50: 252, 249, 255 !important;
  background: #090811;
}
html.dark[data-xc-season="halloween"] body { background: #090811; }
#xc-halloween-decor { display: none; }
html[data-xc-season="halloween"] #root { position: relative; z-index: 1; }
html[data-xc-season="halloween"] #xc-halloween-decor {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
  background: #05050a;
  contain: strict;
}
#xc-halloween-decor picture { display: block; position: absolute; inset: -5px; }
.xc-halloween-art {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: .8;
  transform: translate(var(--scene-x, 0px), var(--scene-y, 0px));
  transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
}
.xc-halloween-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 6, 14, .1), rgba(7, 6, 14, .55) 23%, rgba(7, 6, 14, .6) 76%, rgba(7, 6, 14, .12));
}
.xc-halloween-sheen {
  position: absolute;
  left: -65%;
  top: 0;
  height: 100%;
  width: 60%;
  opacity: 0;
  background: linear-gradient(110deg, transparent 20%, rgba(193, 162, 255, .065) 50%, transparent 80%);
}
html[data-xc-season="halloween"] :is(.xc-glow-layer, .xc-auth-glow) { display: none; }
html[data-xc-season="halloween"] .xc-grain-layer { opacity: .07 !important; }
html[data-xc-season="halloween"] :is(.xc-card, .xc-tile, .bento-card, .card) {
  background-color: rgba(16, 13, 27, .82);
  transition: border-color 200ms ease, background-color 200ms ease;
}
html[data-xc-season="halloween"] :is(.xc-card, .xc-tile, .bento-card, .card):hover {
  border-color: rgba(192, 154, 255, .55) !important;
}
html[data-xc-season="halloween"] .xc-header { background: rgba(11, 8, 20, .94); }
html[data-xc-season="halloween"] .xc-sheet { background-image: none; }
html[data-xc-season="halloween"] .xc-brandmark {
  border-color: rgba(203, 173, 255, .45);
  box-shadow: 0 0 0 1px rgba(184, 144, 250, .06);
}
html.light[data-xc-season="halloween"] {
  --color-accent-400: 109, 59, 191 !important;
  --color-accent-500: 100, 46, 181 !important;
  --color-accent-600: 91, 37, 169 !important;
  --xc-line: rgba(90, 58, 116, .24);
  --xc-line-strong: rgba(90, 58, 116, .32);
}
html.light[data-xc-season="halloween"] #xc-halloween-decor { background: #f5effa; }
html.light[data-xc-season="halloween"] .xc-halloween-art { opacity: .15; }
html.light[data-xc-season="halloween"] .xc-halloween-shade { background: rgba(249, 244, 252, .5); }
html.light[data-xc-season="halloween"] :is(.xc-card, .xc-tile, .bento-card, .card) { background-color: rgba(255, 252, 255, .91); }
html.light[data-xc-season="halloween"] .xc-header { background: rgba(250, 246, 253, .96); }
#xc-halloween-toggle {
  position: fixed;
  left: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 35;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 12px 0 5px;
  border: 1px solid rgba(174, 148, 195, .32);
  border-radius: 8px;
  background: #181321;
  color: #ddd4e7;
  font: 500 11px/1 Manrope, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}
#xc-halloween-toggle img { width: 30px; height: 30px; object-fit: contain; }
#xc-halloween-toggle[aria-pressed="false"] { background: #171720; color: #b9b3c2; }
#xc-halloween-toggle:hover { border-color: #c9acff; background: #24182b; }
#xc-halloween-toggle:focus-visible { outline: 2px solid #c9acff; outline-offset: 3px; }
html[data-xc-arrival="true"] .xc-halloween-art { animation: xc-scene-arrive 1200ms ease-out both; }
html[data-xc-arrival="true"] .xc-halloween-sheen { animation: xc-scene-sheen 1600ms ease-in-out both; }
@keyframes xc-scene-arrive {
  from { opacity: 0; transform: scale(1.025); }
  to { opacity: .8; transform: scale(1); }
}
@keyframes xc-scene-sheen {
  0% { opacity: 0; transform: translateX(0); }
  35% { opacity: 1; }
  100% { opacity: 0; transform: translateX(340%); }
}
@media (max-width: 1023px) {
  #xc-halloween-toggle { position: relative; left: auto; bottom: auto; margin: 12px 16px calc(90px + env(safe-area-inset-bottom)); }
  .xc-halloween-art { opacity: .55; object-position: 70% bottom; transition: none; }
  .xc-halloween-shade { background: rgba(7, 6, 14, .45); }
  html[data-xc-arrival="true"] .xc-halloween-art { animation-name: xc-mobile-arrive; }
}
@keyframes xc-mobile-arrive { from { opacity: 0; } to { opacity: .55; } }
@media (prefers-reduced-motion: reduce) {
  html[data-xc-season="halloween"] .xc-halloween-art { animation: none; transition: none; transform: none; }
  .xc-halloween-sheen { display: none; }
}
html.reduce-motion[data-xc-season="halloween"] .xc-halloween-art { animation: none; transition: none; transform: none; }
html.reduce-motion[data-xc-season="halloween"] .xc-halloween-sheen { display: none; }
@media print { #xc-halloween-decor, #xc-halloween-toggle { display: none !important; } }
