/* Hidden Halloween child style. The masthead owns the figurative artwork;
   reading surfaces and the reserved ad area use quiet theme materials. */
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] {
  --wf50-canvas: #76533b;
  --wf50-surface: #c6b1a0;
  --wf50-subtle: #baa08a;
  --wf50-ink: #2c1f18;
  --wf50-secondary: #443228;
  --wf50-muted: #443228;
  --wf50-border: #9b7a61;
  --wf50-divider: rgba(82, 52, 32, .22);
  --wf50-accent: #6b3417;
  --wf50-accent-hover: #492511;
  --wf50-accent-soft: #d6b592;
  --wf50-on-accent: #fff7ed;
  --wf50-overlay-shadow: 0 10px 32px rgba(39, 22, 12, .28);
  --wf-halloween-chrome: #4b3022;
  --wf-halloween-header-border: #845c3e;
  --wf-halloween-nav: #76533b;
  --wf-halloween-nav-ink: #f8e9d3;
  --wf-halloween-nav-active: #936544;
  --wf-halloween-nav-accent: #f0b46b;
  --wf-halloween-search: #bba18b;
  --wf-halloween-panel: rgba(198, 177, 160, .96);
  --wf-halloween-reader: rgba(205, 187, 172, .98);
  --wf-halloween-panel-shadow: 0 4px 16px rgba(36, 19, 10, .17);
  --wf-halloween-badge: #7a3f20;
  --wf-halloween-badge-ink: #fff2e0;
  --wf-halloween-masthead: url('/styles/wf_halloween/halloween-masthead-light-5cb5cfac421ec932.webp');
  --wf-panel: var(--wf50-surface);
  --wf-panel-alt: var(--wf50-subtle);
  --wf-ink: var(--wf50-ink);
  --wf-ink2: var(--wf50-secondary);
  --wf-muted: var(--wf50-muted);
  --wf-ink-muted: var(--wf50-muted);
  --wf-line: var(--wf50-border);
  --wf-line-faint: var(--wf50-divider);
  --wf-accent: var(--wf50-accent);
  --wf-accent-soft: var(--wf50-accent-soft);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"][data-color-scheme="dark"] {
  --wf50-canvas: #15111b;
  --wf50-surface: #211927;
  --wf50-subtle: #302335;
  --wf50-ink: #f6edf4;
  --wf50-secondary: #dfceda;
  --wf50-muted: #c2adbd;
  --wf50-border: #514052;
  --wf50-divider: #3a2b3b;
  --wf50-accent: #ffba80;
  --wf50-accent-hover: #ffce9f;
  --wf50-accent-soft: #4a2b28;
  --wf50-on-accent: #21121b;
  --wf50-overlay-shadow: 0 12px 36px rgba(0, 0, 0, .42);
  --wf-halloween-chrome: #2f122c;
  --wf-halloween-header-border: #51304b;
  --wf-halloween-nav: #17121d;
  --wf-halloween-nav-ink: #dfceda;
  --wf-halloween-nav-active: #3a2630;
  --wf-halloween-nav-accent: #ffb36b;
  --wf-halloween-search: #302233;
  --wf-halloween-panel: rgba(33, 25, 39, .97);
  --wf-halloween-reader: rgba(33, 25, 39, .99);
  --wf-halloween-panel-shadow: 0 4px 18px rgba(0, 0, 0, .20);
  --wf-halloween-badge: #9a3c0b;
  --wf-halloween-badge-ink: #fff1df;
  --wf-halloween-masthead: url('/styles/wf_halloween/halloween-masthead-dark-b8b7df0f89326008.webp');
}
@media (prefers-color-scheme: dark) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not([data-variation]):not([data-color-scheme]) {
    --wf50-canvas: #15111b;
    --wf50-surface: #211927;
    --wf50-subtle: #302335;
    --wf50-ink: #f6edf4;
    --wf50-secondary: #dfceda;
    --wf50-muted: #c2adbd;
    --wf50-border: #514052;
    --wf50-divider: #3a2b3b;
    --wf50-accent: #ffba80;
    --wf50-accent-hover: #ffce9f;
    --wf50-accent-soft: #4a2b28;
    --wf50-on-accent: #21121b;
    --wf50-overlay-shadow: 0 12px 36px rgba(0, 0, 0, .42);
    --wf-halloween-chrome: #2f122c;
    --wf-halloween-header-border: #51304b;
    --wf-halloween-nav: #17121d;
    --wf-halloween-nav-ink: #dfceda;
    --wf-halloween-nav-active: #3a2630;
    --wf-halloween-nav-accent: #ffb36b;
    --wf-halloween-search: #302233;
    --wf-halloween-panel: rgba(33, 25, 39, .97);
    --wf-halloween-reader: rgba(33, 25, 39, .99);
    --wf-halloween-panel-shadow: 0 4px 18px rgba(0, 0, 0, .20);
    --wf-halloween-badge: #9a3c0b;
    --wf-halloween-badge-ink: #fff1df;
    --wf-halloween-masthead: url('/styles/wf_halloween/halloween-masthead-dark-b8b7df0f89326008.webp');
  }
}

#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellHeader {
  color: #fff1df;
  background: var(--wf-halloween-chrome);
  border-color: var(--wf-halloween-header-border);
  box-shadow: 0 2px 10px rgba(23, 11, 22, .22);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .p-pageWrapper {
  background-color: var(--wf50-canvas) !important;
  background-image: none !important;
  background-attachment: scroll;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .p-body-inner.wf4-shellCanvas {
  background: transparent;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .p-body-inner {
  margin-top: 0;
  padding-top: 0;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] #wf-ad-breadcrumb {
  margin-bottom: 12px;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellSearch-main {
  color: var(--wf50-ink);
  background: var(--wf-halloween-search);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellSearch-input.input:focus {
  background: transparent;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellSearch-ask span {
  color: var(--wf50-secondary);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav {
  color: var(--wf-halloween-nav-ink);
  background: var(--wf-halloween-nav);
  border-color: var(--wf-halloween-header-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav :is(.p-nav, .wf-appNav-contextLink, .wf-appNav-utilities a, .wf-appNav-disclosure, .wf4-shellNavToggle),
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav .p-navEl,
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav .p-navEl > .p-navEl-link.wf-appNav-groupLabel {
  color: var(--wf-halloween-nav-ink);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav .p-navEl.is-selected,
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav .p-navEl:not(.is-selected) > .p-navEl-link:hover,
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav-contextLink.is-selected {
  color: var(--wf-halloween-nav-accent);
  background: var(--wf-halloween-nav-active);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .p-navEl.is-selected::before {
  background: var(--wf-halloween-nav-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf4-shellNav .wf-appNav-contextLink.is-selected {
  box-shadow: inset 3px 0 var(--wf-halloween-nav-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.button--primary, a.button--primary) {
  color: var(--wf50-on-accent);
  background: var(--wf50-accent);
  border-color: var(--wf50-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.button--primary, a.button--primary):hover {
  color: var(--wf50-on-accent);
  background: var(--wf50-accent-hover);
  border-color: var(--wf50-accent-hover);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .node--newIndicator {
  color: var(--wf-halloween-badge-ink);
  background: var(--wf-halloween-badge);
  border-color: var(--wf-halloween-badge);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :focus-visible {
  outline: 2px solid var(--wf50-accent);
  outline-offset: 2px;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.p-footer, .pre-footer) {
  color: var(--wf-halloween-nav-ink);
  background: var(--wf-halloween-chrome);
  border-color: var(--wf-halloween-header-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.p-footer, .pre-footer) :is(a, .wf-footerCol-head) {
  color: var(--wf-halloween-nav-ink);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-footerBrand-name, .wf-footerBrand-name span, .wf-footerBrand-blurb) {
  color: var(--wf-halloween-nav-ink);
}

/* The desktop material is a single panel boundary. Ordinary inner rows stay
   transparent; selected, deleted, hover and moderation states retain XF cues. */
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) :is(.block-container:not(:has(> .block-body > .message)):not(.block-container .block-container), .p-body-header, .wf-sideCard:not(.block-container .wf-sideCard)) {
  color: var(--wf50-ink);
  background: var(--wf50-surface);
  border-color: var(--wf50-border);
  box-shadow: var(--wf-halloween-panel-shadow);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .p-body-header {
  padding: 14px 16px;
  border: 1px solid var(--wf50-border);
  border-radius: var(--wf50-radius);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .message.message--post:not(.is-mod-selected):not(.is-highlighted) {
  background-color: var(--wf50-surface);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-sideCard-head,
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .block-container :is(.block-header, .block-minorHeader, .block-tabHeader),
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .block-container .node-body:not(:hover),
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .block-container .structItem--thread:not(:hover):not(.is-deleted):not(.is-mod-selected):not(.is-highlighted) {
  color: inherit;
  background: transparent;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-sideCard :is(.wf-meta, .wf-sideCard-foot a) {
  color: var(--wf50-muted);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .p-breadcrumbs {
  color: var(--wf50-secondary);
  background: var(--wf50-surface);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .p-breadcrumbs a {
  color: inherit;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) :is(.block-container:not(:has(> .block-body > .message)):not(.block-container .block-container), .p-body-header, .wf-sideCard:not(.block-container .wf-sideCard)) {
    background: var(--wf-halloween-panel);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .message.message--post:not(.is-mod-selected):not(.is-highlighted) {
    background-color: var(--wf-halloween-reader);
  }
}

/* Editorial fronts, article supplements and search widgets carry some of
   their own XF colors. Map those known surfaces to the same theme tokens. */
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeIntro, .wf-homeAction, .wf-sectionToggle) {
  color: var(--wf50-ink);
  background: var(--wf50-surface);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-homeIntro {
  padding: 16px;
  border: 1px solid var(--wf50-border);
  border-radius: var(--wf50-radius);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeIntro-title, .wf-homeSectionTitle, .wf-heroCard-title a, .wf-topStory-title a, .wf-tutorialCard-title a, .wf-securityRow-title a, .wf-newsRow-title, .wf-simRow-title, .wf-rankList a) {
  color: var(--wf50-ink);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeIntro-deck, .wf-dek, .wf-tutorialCard-deck, .wf-securityRow-deck, .wf-lede, .wf-aiSummaryServer) {
  color: var(--wf50-secondary);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeIntro-eyebrow, .wf-homeSectionKicker, .wf-meta, .wf-readTime, .wf-threadCoverage, .wf-buildUnavailable, .message-lastEdit, .message-attribution, .formRow-explain) {
  color: var(--wf50-muted);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .p-body-pageContent > p.formRow-explain {
  padding: 12px 16px;
  color: var(--wf50-secondary);
  background: var(--wf50-surface);
  border: 1px solid var(--wf50-border);
  border-radius: var(--wf50-radius);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeSection, .wf-homeTopStories, .wf-heroCard, .wf-buildRibbon, .wf-homeSectionHeader, .wf-tutorialCard) {
  color: var(--wf50-ink);
  background: var(--wf50-surface);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-tutorialGrid {
  background: var(--wf50-divider);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-heroCard-art, .wf-topStory-art, .wf-tutorialCard-art, .wf-newsRow-art) {
  background-color: var(--wf50-subtle);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeSectionMore, .wf-metaLink, .wf-aiSummaryToggle, .wf-sectionToggle-btn:hover, .wf-sectionToggle-btn:focus-visible) {
  color: var(--wf50-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf-homeAction:hover, .wf-homeSectionMore:hover, .wf-newsRow:hover) {
  color: var(--wf50-ink);
  background: var(--wf50-subtle);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-homeAction > i {
  color: var(--wf50-accent);
  background: var(--wf50-accent-soft);
  border-color: var(--wf50-border);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-sectionToggle-btn {
  color: var(--wf50-secondary);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-sectionToggle-btn[aria-pressed="true"] {
  color: var(--wf50-on-accent);
  background: var(--wf50-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .message-body .bbCodeBlock-expandLink a {
  color: var(--wf50-ink);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .message--article .message-body .bbWrapper h2.bbHeading::before {
  background: var(--wf50-accent);
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"] .xfai-badge__beta {
  color: var(--wf50-on-accent);
  background: var(--wf50-accent);
  border-color: var(--wf50-accent);
}

/* The scene and every figure have their own space above the ad wrapper. */
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead {
  position: relative;
  height: 132px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  isolation: isolate;
  margin-block: 0 16px;
  border: 1px solid var(--wf-halloween-header-border);
  border-radius: 10px;
  background-color: var(--wf-halloween-chrome);
  background-image: var(--wf-halloween-masthead);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead :is(.wf-halloweenMasthead-pumpkin, .wf-halloweenMasthead-witch, .wf-halloweenMasthead-web--left, .wf-halloweenMasthead-web--right) {
  position: absolute;
  display: block;
  height: auto;
  object-fit: contain;
  max-height: calc(100% - 8px);
  pointer-events: none;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-pumpkin {
  width: 112px;
  left: 20px;
  bottom: 4px;
  z-index: 2;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-witch {
  width: 190px;
  right: 24px;
  bottom: 8px;
  z-index: 1;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-web--left {
  width: 88px;
  left: 0;
  top: 0;
  z-index: 3;
}
#XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-web--right {
  width: 88px;
  right: 0;
  top: 0;
  z-index: 3;
  transform: scaleX(-1);
}
@media (min-width: 901px) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead { height: 160px; }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-pumpkin { width: 176px; left: 28px; }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-witch { width: 220px; right: 32px; }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-web--left,
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-web--right { width: 100px; }
}
@media (min-width: 1600px) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead { height: 180px; }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-pumpkin { width: 192px; left: 36px; }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead-witch { width: 244px; right: 40px; }
}
@media (min-width: 2200px) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) .wf-halloweenMasthead { height: 196px; }
}
@media (prefers-reduced-transparency: reduce) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"]:not(.wf-phone) :is(.block-container, .p-body-header, .wf-sideCard, .message.message--post) {
    background: var(--wf50-surface) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
@media (forced-colors: active) {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"] :is(.wf4-shellHeader, .wf4-shellNav, .wf4-shellSearch-main, .block-container, .p-body-header, .wf-sideCard, .message.message--post, .p-breadcrumbs) {
    color: CanvasText !important;
    background: Canvas !important;
    border-color: CanvasText !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-halloweenMasthead { display: none; }
}
@media print {
  #XF[data-wf-shell="4.1"][data-wf-halloween="1"] .wf-halloweenMasthead { display: none; }
}
