/* Treasure Islands Halloween 2026
   A visual-only layer: no page layout, scrolling, visibility or controller
   rules live here. Everything is scoped to the seasonal data attribute. */

html[data-season="halloween"]{
  min-width:0!important;
  color-scheme:dark;
  --ink:#fff4e7;
  --muted:#d8c0dd;
  --paper:#2d1940;
  --paper-2:#3a2050;
  --paper-3:#241330;
  --glass:rgba(45,25,64,.96);
  --line:#8d5ab0;
  --sh:#170a24;
  --green:#ff8a2b;
  --green-dark:#b54d18;
  --mint:#442557;
  --mint-2:#533063;
  --mint-3:#352043;
  --teal:#d389ff;
  --deep:#160b22;
  --blue:#9a5bd6;
  --gold:#ffb342;
  --coral:#f05fba;
  --purple:#d389ff;
  --surface-soft:#321b45;
  --gold-soft:#5c304c;
  --shadow:rgba(5,0,12,.55);
  --backdrop:rgba(7,2,13,.76);
  --mig-ink:#fff4e7;
  --mig-muted:#d8c0dd;
  --mig-paper:#2d1940;
  --mig-paper-2:#3a2050;
  --mig-paper-3:#241330;
  --mig-line:#8d5ab0;
  --mig-green:#ff8a2b;
  --mig-green-dark:#b54d18;
  --mig-mint:#442557;
  --mig-teal:#d389ff;
  --mig-deep:#160b22;
  --mig-blue:#9a5bd6;
  --mig-gold:#ffb342;
  --mig-coral:#f05fba;
  --mig-purple:#d389ff;
  --home-paper:#2d1940;
  --home-paper-2:#3a2050;
  --home-line:#8d5ab0;
  --home-ink:#fff4e7;
  --home-muted:#d8c0dd;
  --home-green:#ff8a2b;
  --home-green-dark:#b54d18;
  --home-coral:#f05fba;
  --home-coral-dark:#a73b7f;
  --home-teal:#d389ff;
  --home-mint:#442557;
  --home-gold:#ffb342;
}

html[data-season="halloween"] body{
  /* Keep the decorative negative layer above the body paint but beneath all
     page content, including non-positioned maintenance/error-page cards. */
  isolation:isolate;
  min-width:0!important;
  --ink:#fff4e7;--ink-2:#d8c0dd;--muted:#d8c0dd;
  --paper:#2d1940;--paper-2:#3a2050;--paper-3:#241330;--sand:#3a2050;
  --glass:rgba(45,25,64,.96);--line:#8d5ab0;--sh:#170a24;
  --green:#ff8a2b;--green-dark:#b54d18;--mint:#442557;--mint-2:#533063;--mint-3:#352043;
  --teal:#d389ff;--deep:#160b22;--blue:#9a5bd6;--gold:#ffb342;--coral:#f05fba;--coral-2:#a73b7f;--purple:#d389ff;
  --surface-soft:#321b45;--gold-soft:#5c304c;--shadow:rgba(5,0,12,.55);--backdrop:rgba(7,2,13,.76);
  --sky-1:#12091d;--sky-2:#21102f;--sky-3:#321b45;--sun:#f5cc79;--sun-glow:rgba(255,199,104,.35);
  --grass-a:#3a2050;--grass-b:#2d1940;--scene:brightness(.5) saturate(.72);--dim:rgba(8,2,14,.34);
  color:var(--ink)!important;
  background-color:#1c102a!important;
  background-image:radial-gradient(ellipse at 50% 5%,#3b204c,transparent 65%)!important;
  background-attachment:fixed!important;
}

html[data-season="halloween"] body::before{
  background:linear-gradient(180deg,rgba(15,6,24,.12),rgba(8,2,14,.34))!important;
}

/* The patterned backdrop replaces only the old decorative world. */
html[data-season="halloween"] body .world{
  visibility:hidden!important;
}

html[data-season="halloween"] body :is(h1,h2,h3,h4,h5,h6,strong,b,.title,.card-title){
  color:var(--ink);
}

html[data-season="halloween"] body :is(p,small,.muted,.dim,.sub,.hint,.help,.note){
  color:var(--muted);
}

html[data-season="halloween"] body a{color:#ffd29c}
html[data-season="halloween"] body a:hover{color:#fff0d6}

/* Shared paper surfaces. These rules only repaint; their existing dimensions,
   positioning and overflow behaviour are deliberately left alone. */
html[data-season="halloween"] body :is(
  .surface,.panel,.card,.dash-paper,.passport-wallet,.access-board,
  .service-tile,.catalogue-card,.island-card,.island-section,.finder,
  .home-checkin,.home-finder,.home-map-section,.signin-panel,.member-summary,
  .packs,.pick-bar,.ord-wrap,.basket,.drop-tray,.drop-picker-workspace,
  .vmodal-card,.modal-card,.preview-dialog,.lb-inner,.info-inner,.cf-body,
  .cookie-card,.legal-card,.maintenance-card
){
  color:var(--ink)!important;
  border-color:color-mix(in srgb,#d389ff 58%,#ff8a2b)!important;
  background-color:rgba(45,25,64,.97)!important;
  background-image:linear-gradient(145deg,rgba(58,32,80,.98),rgba(36,19,48,.98))!important;
  box-shadow:0 6px 0 rgba(17,7,27,.9),0 18px 40px rgba(5,0,12,.42)!important;
}

html[data-season="halloween"] body :is(
  .card-head,.bk-head,.ord-head,.isl-head,.lb-bar,.packs-head,
  .access-board-head,.finder-head,.finder-heading,.section-heading
){
  color:var(--ink)!important;
  border-color:#a85fc4!important;
  background-color:#4b275b!important;
  background-image:linear-gradient(105deg,#6a2e50,#4a2863)!important;
}

html[data-season="halloween"] body :is(
  .bk-body,.bk-board,.bk-scroll,.bk-list,.cf-actions,.info-body,.vlb-body,
  .activity-list,.passport-inner,.finder-layout,.finder-route,.home-wrap
){
  color:var(--ink);
  border-color:#73488e;
}

/* Current canonical header, including readable selected/hover states. */
html[data-season="halloween"] body .universal-header{
  border-color:#8d5ab0!important;
  background:linear-gradient(105deg,rgba(42,22,58,.98),rgba(64,31,76,.98))!important;
  box-shadow:0 7px 0 #170c21,0 0 0 4px rgba(255,126,34,.08),0 20px 42px rgba(5,0,12,.5)!important;
}

html[data-season="halloween"] body .universal-header::after{
  border-color:rgba(255,176,68,.34)!important;
}

html[data-season="halloween"] body .universal-header :is(
  .unified-header-link,.unified-header-more-button,.unified-header-label,
  .unified-header-brand,.unified-header-mobile-more>a
){color:#fff4e7!important;text-shadow:0 1px 2px rgba(14,5,19,.95)!important}

html[data-season="halloween"] body .universal-header :is(
  .unified-header-link,.unified-header-more-button,.unified-header-theme,
  .unified-header-notification,.unified-header-profile,.unified-header-mobile-toggle
){border-color:#765091!important;background-color:#352047!important}

html[data-season="halloween"] body .universal-header :is(
  .unified-header-link,.unified-header-more-button
):is(:hover,:focus-visible,.active,.current){
  color:#fff8ec!important;
  border-color:#ff9a3f!important;
  background:linear-gradient(145deg,#71354e,#4c285b)!important;
  box-shadow:inset 0 0 18px rgba(255,153,63,.13),0 4px 0 #1a0b24!important;
}

html[data-season="halloween"] body .universal-header :is(
  .unified-header-link,.unified-header-more-button
):is(:hover,:focus-visible,.active,.current) .unified-header-label{color:#fff8ec!important}

html[data-season="halloween"] body .universal-header .unified-header-premium{
  border-color:#a76057!important;
  background:linear-gradient(180deg,rgba(117,51,77,.92),rgba(65,31,73,.94))!important;
}

html[data-season="halloween"] body .universal-header .unified-header-premium:is(:hover,.active){
  border-color:#ff9a3f!important;
  background:linear-gradient(180deg,#ad4e48,#6d315f)!important;
}

html[data-season="halloween"] body .universal-header .unified-header-badge{
  color:#fff8e8!important;
  background:#d7641c!important;
}

html[data-season="halloween"] body .universal-header :is(.unified-header-more-menu,.unified-header-account-menu,.unified-header-nav){
  color:var(--ink)!important;
  border-color:#8d5ab0!important;
  background-color:#2d1940!important;
}

html[data-season="halloween"] body .universal-header :is(.unified-header-more-menu,.unified-header-account-menu,.unified-header-mobile-more)>a:is(:hover,.on){
  color:#fff8ec!important;
  background:#512b60!important;
}

html[data-season="halloween"] body .universal-header-search{
  border-color:#8357a0!important;
  background:#241330!important;
}

/* Controls: strong contrast is retained for hover, active and selected states. */
html[data-season="halloween"] body :is(input,select,textarea,.pick-search,.pick-cat,.finder-search,.finder-input){
  color:#fff4e7!important;
  border-color:#80539b!important;
  background-color:#241330!important;
  box-shadow:none!important;
}

html[data-season="halloween"] body :is(input,textarea)::placeholder{color:#c7adc9!important;opacity:1}
html[data-season="halloween"] body select option{color:#fff4e7;background:#241330}

html[data-season="halloween"] body :is(
  button,.btn,.button,.info-btn,.vo-action,.oauth-button,.pk-openall,.view-all,
  .dialog-close,.modal-x,.f-plan,.subscriber-map-actions a
){
  border-color:#80539b;
}

html[data-season="halloween"] body :is(
  button,.btn,.button,.info-btn,.vo-action,.oauth-button,.pk-openall,.view-all,
  .dialog-close,.modal-x,.f-plan,.subscriber-map-actions a
):is(:hover,:focus-visible){
  color:#fff8ec!important;
  border-color:#ff9a3f!important;
  background-color:#57305f!important;
}

html[data-season="halloween"] body :is(.btn.primary,.button.primary,.btn:not(.ghost):not(.gold):not(.danger):not(.twitch):not(.discord),.place-order,[data-primary],.subscriber-dodo){
  color:#2a1026!important;
  border-color:#ffb14c!important;
  background:linear-gradient(180deg,#ffb34f,#ef731d)!important;
  box-shadow:0 4px 0 #963811,0 0 18px rgba(255,130,31,.25)!important;
  text-shadow:none!important;
}

html[data-season="halloween"] body :is(.button.gold,.btn.gold){
  color:#2a1026!important;
  border-color:#ffb14c!important;
  background:linear-gradient(180deg,#ffc160,#f18a29)!important;
  box-shadow:0 4px 0 #963811!important;
}

html[data-season="halloween"] body :is(.btn.ghost,.button.ghost,.clear-order){
  color:#fff4e7!important;
  border-color:#81529c!important;
  background:#321b43!important;
}

html[data-season="halloween"] body :is(.tabs2,.order-utility-tabs,.order-service-dock,.drop-service-tabs,.seg3,.houseSeg){
  border-color:#74498e!important;
  background:#241330!important;
}

html[data-season="halloween"] body :is(
  .tabs2 button,.order-mode-tab,.order-utility-tab,.drop-service-tab,.seg3 button,.houseSeg button
){color:#fff4e7!important;border-color:#70468a!important;background:#321b43!important}

html[data-season="halloween"] body :is(
  .tabs2 button,.order-mode-tab,.order-utility-tab,.drop-service-tab,.seg3 button,.houseSeg button
):is(:hover,.on,.active,[aria-selected="true"]){
  color:#fff8ec!important;
  border-color:#ff9a3f!important;
  background:linear-gradient(145deg,#71354e,#4c285b)!important;
  text-shadow:0 1px 2px #160919!important;
}

/* Item, villager, pack and island cards gain depth without changing their
   grid measurements or image fitting rules. */
html[data-season="halloween"] body :is(.icard,.item-card,.vcard,.villager-card,.pk-card,.pack-card,.pa-card,.isl-card,.free-card){
  color:var(--ink)!important;
  border-color:#765094!important;
  background-color:#311b42!important;
  background-image:linear-gradient(160deg,#3a204b,#291536)!important;
  box-shadow:0 4px 0 #170a20,0 13px 24px rgba(5,0,12,.28)!important;
}

html[data-season="halloween"] body :is(.icard,.item-card,.vcard,.villager-card,.pk-card,.pack-card,.pa-card,.isl-card,.free-card):hover{
  border-color:#ff9a3f!important;
  background-image:linear-gradient(160deg,#51264d,#3b1c48)!important;
  box-shadow:0 6px 0 #170a20,0 0 20px rgba(255,132,39,.2)!important;
}

html[data-season="halloween"] body :is(.fav-star,.order-mode-star,.drop-service-star,.fav-heading-star){
  color:#ffc155!important;
  border-color:#a861b4!important;
  background:#2a1537!important;
  text-shadow:0 0 9px rgba(255,174,57,.42)!important;
}

html[data-season="halloween"] body :is(.fav-star,.order-mode-star,.drop-service-star):is(:hover,.on,[aria-pressed="true"]){
  color:#ffe089!important;
  border-color:#ff9d3d!important;
  background:#7a344b!important;
}

html[data-season="halloween"] body :is(.pill,.bk-pill,.count-lab,.section-count,.map-count,.service-tier,.variant-badge,.f-chip){
  color:#ffe3ba!important;
  border-color:#9560a8!important;
  background:#45244e!important;
}

html[data-season="halloween"] body :is(.online,.service-live,.dot){
  color:#b9f2bd!important;
}

/* Preserve semantic queue colours while harmonising their surfaces. */
html[data-season="halloween"] body :is(.bk-queue,.queue-note,.now-serving){
  color:#e8f9e9!important;
  border-color:#5eaa72!important;
  background:#293c3e!important;
}

html[data-season="halloween"] body :is(.up-next,.queue-next){
  color:#fff0c9!important;
  border-color:#e89c42!important;
  background:#573943!important;
}

html[data-season="halloween"] body :is(.preview-modal,.modal,.vmodal,.lb,.fvlb,.ti-confirm){
  background-color:rgba(7,2,13,.78)!important;
  backdrop-filter:blur(7px) saturate(.8);
}

html[data-season="halloween"] body :is(.announcement-ribbon,.announcement,.member-note,.signin-guidance,.v-warn,.cf-tip){
  color:#fff1df!important;
  border-color:#a95cc4!important;
  background:linear-gradient(90deg,#412455,#59284a)!important;
}

html[data-season="halloween"] body :is(.passport-wallet,.access-board){
  background-image:linear-gradient(145deg,#59304f,#382049)!important;
}

html[data-season="halloween"] body :is(.music-player,.ambient.tb-float){
  color:#fff4e7!important;
  border-color:#9a5bd6!important;
  background:linear-gradient(145deg,#442557,#2b183b)!important;
  box-shadow:0 5px 0 #15091f,0 13px 30px rgba(5,0,12,.45)!important;
}

html[data-season="halloween"] body :is(.stream-sign,.stream-hero,.stream-finder,.vo-feature,.home-hero-shell,.home-hero){
  color:var(--ink)!important;
  border-color:#8d5ab0!important;
  background-color:rgba(45,25,64,.95)!important;
  background-image:linear-gradient(145deg,rgba(58,32,80,.97),rgba(36,19,48,.97))!important;
}

html[data-season="halloween"] body .stream-sign{
  color:#fff4e7!important;
  text-shadow:0 2px 0 #170a20,0 0 14px rgba(255,138,43,.2)!important;
}

html[data-season="halloween"] body .vo-feature :is(b,strong,h2,h3,p,small){color:inherit}

html[data-season="halloween"] body :is(.eyebrow,.home-kicker,.kicker,.gold-eye){
  color:#ffc06c!important;
  border-color:#a56243!important;
  background:#562943!important;
}

html[data-season="halloween"] body :is(.dashboard-stat,.access-ticket,.signin-route,.service-status,.f-sug,.activity-list>*){
  color:var(--ink)!important;
  border-color:#71488b!important;
  background-color:#321b43!important;
}

/* Access summary: replace the daytime gradient as well as its base colour.
   Keep these overrides visual-only; account and service eligibility are unchanged. */
html[data-season="halloween"] body .access-board .access-ticket{
  background:#321b43!important;
  color:#fff4e7!important;
  border-color:#ad79ca!important;
}

html[data-season="halloween"] body .access-board .access-ticket::after{
  border-color:rgba(211,137,255,.3)!important;
}

html[data-season="halloween"] body .access-board .access-ticket :is(span,h3,.ticket-code){
  color:#fff4e7!important;
}

html[data-season="halloween"] body .access-board .access-ticket p{
  color:#e5cdeb!important;
}

html[data-season="halloween"] body .access-board .ticket-code{
  border-color:#ad79ca!important;
}

html[data-season="halloween"] body .access-board .access-level{
  background:#442557!important;
  color:#ffd29c!important;
  border-color:#c18d56!important;
}

html[data-season="halloween"] body .access-board .access-list .top-tier{
  background:#422440!important;
  border-color:#c18d56!important;
}

html[data-season="halloween"] body .access-board .access-list>div>span{
  background:#2f7048!important;
  color:#fff4e7!important;
}

html[data-season="halloween"] body .access-board .access-list .top-tier>span{
  background:#ffb342!important;
  color:#241330!important;
}

html[data-season="halloween"] body .access-board .access-list em{
  background:#442557!important;
  color:#ffd29c!important;
}

/* Halloween contrast pass, 1 October 2026. Paint only: keep all existing
   dimensions, scroll containers, visibility, hit targets and state logic. */
html[data-season="halloween"] body tr.liverow td{
  background:#442557!important;
  color:#fff4e7!important;
}
html[data-season="halloween"] body :is(.ocount.ok,.service-live){
  background:#263d38!important;
  color:#c4f5cf!important;
  border-color:#68b887!important;
}
html[data-season="halloween"] body .ocount.ok b{color:#c4f5cf!important}
html[data-season="halloween"] body .ocount.bad{
  background:#56263e!important;
  color:#ffd5df!important;
  border-color:#df86a5!important;
}
html[data-season="halloween"] body .ocount.bad b{color:#ffd5df!important}
html[data-season="halloween"] body .ostat.ready{
  background:#24643e!important;color:#fff4e7!important;
}
html[data-season="halloween"] body :is(.ostat.queued,.ostat.review){
  background:#ffb342!important;color:#241330!important;
}

/* Daytime pastel notices and selected/success surfaces occur in several
   dynamic states, not only in the initial page view. */
html[data-season="halloween"] body :is(
  .gate-note,.notice.warn,.code-msg.wait,.ord-msg.warn,.sw-note,.vwiz
){background:#492c43!important;color:#fff4e7!important;border-color:#c18d56!important}
html[data-season="halloween"] body :is(
  .bk-vill,.vopt.chosen,.vopt.on,.vpick-card.on,.vdone,
  .goal.done,.cat-line.done,#ordLive.ready
){background:#293c3e!important;color:#fff4e7!important;border-color:#68b887!important}
html[data-season="halloween"] body :is(#ordLive .ol-code,.gate-note a){color:#c4f5cf!important}
html[data-season="halloween"] body :is(.code-out,.subscriber-code-card){
  background:#321b43!important;color:#fff4e7!important;border-color:#ad79ca!important;
}
html[data-season="halloween"] body :is(.code-out b,.subscriber-code-card>strong){color:#fff4e7!important}
html[data-season="halloween"] body .code-out b.changed{background:#57305f!important}
html[data-season="halloween"] body :is(.code-note,.subscriber-code-card>small){color:#e5cdeb!important}
html[data-season="halloween"] body .isl-meta .m-live{color:#c4f5cf!important}
html[data-season="halloween"] body .basket .bk-body{background:#2d1940!important}
html[data-season="halloween"] body .code-out button{
  background:#ffb342!important;color:#241330!important;border-color:#c18d56!important;
}
html[data-season="halloween"] body .code-out button:is(:hover,:focus-visible){background:#ffc66e!important;color:#241330!important}
html[data-season="halloween"] body :is(.fly-opt em,.dodo-identity button){color:#ffd29c!important}
html[data-season="halloween"] body :is(.sw-note,.vwiz,.vdone,.bk-vill) :is(b,strong,span){color:#fff4e7!important}

/* Calendar current-month/event text must not reuse the dark mint surface
   token as a foreground. The event bars retain their category colours. */
html[data-season="halloween"] body .month.now{border-color:#c18d56!important}
html[data-season="halloween"] body .month.now .month-head{background:#442557!important}
html[data-season="halloween"] body.migration-calendar #todayBox{background:#321b43!important}
html[data-season="halloween"] body .mrow :is(.d,.n){color:#e5cdeb!important}
html[data-season="halloween"] body .mrow.on :is(.d,.n){color:#c4f5cf!important}

html[data-season="halloween"] body .pp-ign em{background:#442557!important;color:#ffd29c!important}
html[data-season="halloween"] body .pp-ign.on em{background:#263d38!important;color:#c4f5cf!important}
html[data-season="halloween"] body :is(.migration-page-eyebrow,.subscriber-eyebrow,.dc-lab){color:#ffd29c!important}
html[data-season="halloween"] body :is(.migration-page-eyebrow,.subscriber-eyebrow){background:#321b43!important}
html[data-season="halloween"] body .migration-standard-hero .sub{color:#d8c0dd!important}
html[data-season="halloween"] body :is(.passport-account-line>span,#favCount){color:#ffd29c!important;background:#442557!important}
html[data-season="halloween"] body .ffa-flight-guide>li>b{color:#fff4e7!important;background:#71334f!important}
html[data-season="halloween"] body :is(.pf-banner.t0,.pf-banner.t1){background:#442557!important}
html[data-season="halloween"] body .pf-banner :is(h1,p,.pf-handle){color:#fff4e7!important}

/* Map links remain buttons/links; only their paint is changed. */
html[data-season="halloween"] body .free-card :is(.map-link,.map-link[data-imap],.dodo-link),
html[data-season="halloween"] body .subscriber-dodo-route{
  color:#fff4e7!important;background:#442557!important;border-color:#ad79ca!important;
}
html[data-season="halloween"] body :is(.free-card .blurb-more,.finder-total,.finder-count){color:#ffd29c!important}
html[data-season="halloween"] body :is(.f-album-eyebrow,.seg3-lab){color:#ffd29c!important}
html[data-season="halloween"] body :is(.f-variant,.f-album-island){background:#321b43!important;color:#fff4e7!important}
html[data-season="halloween"] body .f-variant.selected{background:#442557!important;border-color:#ffb342!important}
html[data-season="halloween"] body :is(.f-variant,.f-album-island):is(:hover,:focus-visible){background:#57305f!important;color:#fff4e7!important}
html[data-season="halloween"] body .f-album-island small{background:#ffb342!important;color:#241330!important}
html[data-season="halloween"] body .free-card :is(.map-link,.dodo-link):is(:hover,:focus-visible),
html[data-season="halloween"] body .subscriber-dodo-route:is(:hover,:focus-visible){
  color:#fff4e7!important;background:#57305f!important;border-color:#ffb342!important;
}
html[data-season="halloween"] body :is(.free-card .tag,.vo-ribbon,.stream-hero-pills a,.vo-copy em i){
  color:#fff4e7!important;background:#71334f!important;border-color:#d98cbb!important;
}
html[data-season="halloween"] body .vo-copy>small{
  color:#c4f5cf!important;background:#263d38!important;border-color:#68b887!important;
}
html[data-season="halloween"] body .vo-action strong{
  color:#fff4e7!important;background:#71334f!important;border-color:#d98cbb!important;
}
html[data-season="halloween"] body[data-migration-page="maintenance"] .links a{
  background:#442557!important;color:#fff4e7!important;border-color:#ad79ca!important;
}

/* Orange is a bright accent: use deep-purple text rather than white on it. */
html[data-season="halloween"] body :is(
  #placeBtn,#dropBtn,#injectBtn,.f-album-pin,#sizeSeg button[aria-pressed="true"],
  #houseSeg button[aria-pressed="true"],#vFilterSeg button[aria-pressed="true"],
  .seg2 button[aria-pressed="true"],.fchip.gold[aria-pressed="true"],
  .member-links a,.profile-section-heading>span,.dc-vis
){background:#ffb342!important;color:#241330!important;border-color:#c18d56!important;text-shadow:none!important}
html[data-season="halloween"] body :is(.dc-vis,.member-links a) :is(span,b,strong){color:#241330!important}
html[data-season="halloween"] body[data-migration-page="drop-bot"] #villPanel :is(#injectBtn,.houseSeg button[aria-pressed="true"]){
  background:#ffb342!important;color:#241330!important;border-color:#c18d56!important;
}
html[data-season="halloween"] body[data-migration-page="drop-bot"] #villPanel #injectBtn:is(:hover,:focus-visible){background:#ffc66e!important;color:#241330!important}
html[data-season="halloween"] body :is(#placeBtn,#dropBtn,#injectBtn,.f-album-pin,.member-links a):is(:hover,:focus-visible){
  background:#ffc66e!important;color:#241330!important;
}
html[data-season="halloween"] body :is(.btn.primary,.button.primary,.btn:not(.ghost):not(.gold):not(.danger):not(.twitch):not(.discord),.button.gold,.btn.gold):is(:hover,:focus-visible){color:#241330!important}
html[data-season="halloween"] body .universal-header .unified-header-badge{
  color:#241330!important;background:#ffb342!important;
}
html[data-season="halloween"] body .universal-header .unified-header-brand :is(b,strong,span){color:#fff4e7!important}
html[data-season="halloween"] body :is(.bc.warn,.bc.tban,#muWarn,#muTban){color:#ffd29c!important}
html[data-season="halloween"] body :is(.bc.ban,#muBan,.bot-row .bc){color:#ffc4cb!important}
html[data-season="halloween"] body .playing-history-btn{color:#c4f5cf!important}

/* The order utility buttons have a high-specificity daytime gradient. Match
   that selector so it cannot show through under light seasonal labels. */
html[data-season="halloween"] body[data-migration-page="order-bot"] .order-service-dock .order-utility-tab{
  color:#fff4e7!important;background:#442557!important;border-color:#ad79ca!important;
  box-shadow:0 4px 0 #170a24!important;
}
html[data-season="halloween"] body[data-migration-page="order-bot"] .order-service-dock .order-utility-tab:is(:hover,:focus-visible,.is-open){
  color:#fff4e7!important;background:#57305f!important;border-color:#ffb342!important;
  box-shadow:0 6px 0 #170a24!important;
}
html[data-season="halloween"] body[data-migration-page="order-bot"] .order-utility-tab .order-tab-copy :is(b,small){color:#fff4e7!important}

/* Dark map shell from the loading frame through the existing map fade-in.
   The embedded maps use their own pre-paint night palette; their controls,
   dimensions and data are unchanged. */
html[data-season="halloween"] body :is(#streamMapModal,#lb) :is(.map-modal-card,.lb-inner,.map-modal-header,.lb-bar){
  background:#2d1940!important;
  border-color:#8d5ab0!important;
  color:#fff4e7!important;
}
html[data-season="halloween"] body :is(#streamMapModal,#lb) :is(.map-modal-stage,.map-modal-stage>iframe){
  background:#241330!important;
  color-scheme:dark;
}
html[data-season="halloween"] body :is(#streamMapModal,#lb) :is(.map-modal-title b,.lb-title b,.map-modal-loader b){
  color:#fff4e7!important;
}
html[data-season="halloween"] body :is(#streamMapModal,#lb) :is(.map-modal-title small,.lb-title small){
  color:#ffc06c!important;
}
html[data-season="halloween"] body :is(#streamMapModal,#lb) .map-modal-loader{
  background:#241330!important;
  color:#d8c0dd!important;
}
html[data-season="halloween"] body :is(#streamMapModal,#lb) .map-modal-loader::before{
  border-color:#70438e;
  border-top-color:#ffc06c;
}
html[data-season="halloween"] body :is(#streamMapModal .fvlb-x,#lb .lb-bar button){
  background:#442557!important;
  color:#fff4e7!important;
  border-color:#8d5ab0!important;
}
html[data-season="halloween"] body :is(#streamMapModal .fvlb-x,#lb .lb-bar button):is(:hover,:focus-visible){
  background:#57305f!important;
  border-color:#ffc06c!important;
}
@media(prefers-reduced-motion:reduce){
  html[data-season="halloween"] body :is(#streamMapModal,#lb) .map-modal-stage>iframe{transition:none}
  html[data-season="halloween"] body :is(#streamMapModal,#lb) .map-modal-loader::before{animation:none}
}

/* Seasonal layer */
.ti-halloween-effects{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  contain:strict;
  background:radial-gradient(ellipse at 50% 5%,#3b204c,transparent 65%),#1c102a;
}

.ti-halloween-pattern{
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(45deg,transparent 48.5%,#b684d3 49%,#b684d3 50%,transparent 50.5%),
    linear-gradient(-45deg,transparent 48.5%,#b684d3 49%,#b684d3 50%,transparent 50.5%);
  background-size:88px 88px;
}

.ti-wallpaper-mark{
  position:absolute;
  width:38px;height:38px;
  left:var(--mark-x);top:var(--mark-y);
  transform:rotate(var(--mark-turn,0deg));
  opacity:.63;
}

.ti-wallpaper-bat-mark{
  height:21px;background:#b997d2;
  clip-path:polygon(0 0,16% 12%,34% 42%,40% 28%,43% 7%,50% 24%,57% 7%,60% 28%,66% 42%,84% 12%,100% 0,94% 38%,82% 43%,77% 67%,64% 67%,59% 83%,50% 100%,41% 83%,36% 67%,23% 67%,18% 43%,6% 38%);
  animation:ti-wallpaper-bob 8s ease-in-out var(--mark-delay,0s) infinite;
}

.ti-wallpaper-spark-mark{
  width:11px;height:11px;background:#b794ce;opacity:.46;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
}

.ti-wallpaper-pumpkin{position:relative;display:block;width:100%;height:100%}
.ti-wallpaper-pumpkin::before{
  content:"";position:absolute;inset:16% 0 3%;border-radius:42% 42% 45% 45%;
  background:linear-gradient(90deg,#a44628,#d9682e 18%,#de7c36 35%,#ec9042 49%,#d36831 69%,#b75229);
  box-shadow:inset 3px 0 0 #8e3b2766,inset -3px 0 0 #8e3b2766,0 3px 0 #120b1c;
}
.ti-wallpaper-pumpkin::after{
  content:"";position:absolute;left:44%;top:0;width:15%;height:25%;border-radius:6px 3px 0 0;
  background:#787148;transform:rotate(15deg);
}
.ti-wallpaper-face{
  position:absolute;inset:36% 18% 20%;color:#ffe0a0;
  filter:drop-shadow(0 0 3px #ffb54f);
  animation:ti-wallpaper-glow 5s ease-in-out var(--mark-delay,0s) infinite;
}
.ti-wallpaper-face::before{
  content:"";position:absolute;inset:0;background:currentColor;
  clip-path:polygon(5% 38%,21% 0,36% 38%,5% 38%,64% 38%,79% 0,95% 38%,64% 38%);
}
.ti-wallpaper-face::after{
  content:"";position:absolute;inset:52% 2% 0;background:currentColor;
  clip-path:polygon(0 5%,23% 30%,25% 0,40% 3%,42% 41%,66% 31%,68% 0,80% 0,81% 20%,100% 0,88% 74%,65% 96%,39% 100%,14% 71%);
}
.ti-wallpaper-tree{
  position:absolute;width:150px;height:250px;bottom:13px;left:-29px;
  color:#68427d;opacity:.7;transform:rotate(-6deg);
}
.ti-wallpaper-tree.right{left:auto;right:-34px;transform:scaleX(-1) rotate(-6deg)}
.ti-wallpaper-trunk{
  position:absolute;left:46%;bottom:0;width:11px;height:100%;border-radius:90% 10% 0 0;
  background:currentColor;transform:rotate(7deg);
}
.ti-wallpaper-branch{
  position:absolute;left:47%;width:8px;height:85px;background:currentColor;
  transform-origin:bottom;bottom:var(--branch-y);transform:rotate(var(--branch-turn));border-radius:90% 10% 0 0;
}
.ti-wallpaper-branch::before{
  content:"";position:absolute;top:8px;left:0;width:5px;height:31px;transform:rotate(-39deg);
  transform-origin:bottom;background:currentColor;border-radius:80% 10% 0 0;
}
.ti-wallpaper-corner{position:absolute;bottom:20px;left:29px;width:55px;height:53px;transform:rotate(-8deg)}
.ti-wallpaper-corner.right{left:auto;right:34px;bottom:26px;width:47px;height:45px;transform:rotate(9deg)}

.ti-halloween-lights{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:50px;
  display:flex;
  justify-content:space-around;
  border-top:4px solid #18101f;
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.42));
}

.ti-halloween-lights i{
  position:relative;
  width:14px;
  height:20px;
  margin-top:5px;
  border-radius:50% 50% 45% 45%;
  color:#ff8a2b;
  background:currentColor;
  box-shadow:0 0 9px 3px currentColor;
  animation:ti-halloween-twinkle 1.7s ease-in-out infinite alternate;
}

.ti-halloween-lights i:nth-child(3n+2){color:#d389ff;animation-delay:-.6s}
.ti-halloween-lights i:nth-child(3n){color:#f7d052;animation-delay:-1.1s}
.ti-halloween-lights i::before{content:"";position:absolute;left:5px;top:-9px;width:5px;height:10px;border-radius:3px;background:#31213b}

/* The patterned decorations stay in the low background-effects layer, but the
   bulbs need to sit on the front edge of the page chrome. Keeping only this
   strand separate avoids raising decorative effects over controls. It never
   accepts pointer input, and real menus/dialogs retain their higher stacking
   level inside the header or their existing overlay layer. */
.ti-halloween-lights.ti-season-lights-overlay{
  z-index:6;
  pointer-events:none;
}

.universal-header>.ti-halloween-lights.ti-season-lights-overlay{
  position:absolute;
  left:-2px;
  right:-2px;
  top:-18px;
  height:38px;
}

body>.ti-halloween-lights.ti-season-lights-overlay{
  position:fixed;
  top:max(0px,env(safe-area-inset-top));
}

/* Toggle is inserted into the existing menus where possible. */
.ti-season-toggle{
  width:100%;
  min-height:46px;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1.5px solid #9a5bd6!important;
  border-radius:13px;
  color:#fff4e7!important;
  background:#3a2050!important;
  font:900 13px/1.15 Nunito,system-ui,sans-serif;
  text-align:left;
  cursor:pointer;
}

.ti-season-toggle:hover,.ti-season-toggle:focus-visible{border-color:#ff9a3f!important;background:#57305f!important}
.ti-season-toggle small{color:#ffc06c!important;font-size:10px}
.ti-season-compact-toggle{
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  min-height:42px;
  height:42px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:13px;
  font-size:19px;
}
.ti-season-compact-toggle small{display:none}
.ti-season-floating-toggle{
  position:fixed;
  left:max(12px,env(safe-area-inset-left));
  bottom:max(12px,env(safe-area-inset-bottom));
  z-index:880;
  width:auto;
  max-width:220px;
  box-shadow:0 5px 0 #16091f,0 12px 26px rgba(5,0,12,.42);
}

@keyframes ti-wallpaper-glow{0%,100%{opacity:.72}48%{opacity:1}60%{opacity:.92}}
@keyframes ti-wallpaper-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes ti-halloween-twinkle{from{filter:brightness(.7);transform:translateY(0)}to{filter:brightness(1.3);transform:translateY(2px)}}
@media(max-width:820px){
  .ti-halloween-effects{z-index:-1}
  .ti-halloween-lights i:nth-child(even){display:none}
  .ti-wallpaper-tree{width:115px;height:195px;opacity:.54}
  .ti-wallpaper-mark:nth-child(even){display:none}
  .ti-halloween-pattern{background-size:70px 70px}
  .ti-season-floating-toggle{max-width:180px;min-height:42px;padding:8px 10px;font-size:11px}
  html[data-season="halloween"] body .universal-header .unified-header-nav{
    background:#2d1940!important;
    box-shadow:0 20px 40px rgba(5,0,12,.55)!important;
  }
}

@media(max-width:390px){
  .ti-halloween-lights i:nth-child(3n){display:none}
}

@media(prefers-reduced-motion:reduce){
  .ti-halloween-effects *{animation:none!important}
  html[data-season="halloween"] .ti-season-lights-overlay i{animation:none!important}
}

@media(forced-colors:active){
  .ti-halloween-effects{display:none!important}
  .ti-season-toggle{border:2px solid ButtonText!important}
}
