/* ============================================================================
   Halloween theme for the New-UI layout on the inner pages: the menu panel,
   the header bar and the footer. Seasonal and UI only.

   GENERATED from new_ui_halloween.css with the same selector rewrite
   new_ui_layout.css gets from new_ui_home.css: `:root` and `.app` become
   `.nu-layout`, everything else is nested under it, and every selector
   carries :where(:not(.nu-content *)) so nothing reaches the page inside the
   layout. Declarations are verbatim. Do not hand-edit: change
   new_ui_halloween.css and regenerate. tests/test_new_ui_halloween_theme.py
   pins it.

   _partials/new_ui_layout_open.html loads it on an inner page only while
   `halloween_theme` is true (seasonal_theme.py).

   Left out: `body` and `::selection` (on an inner page they are the page's),
   and the nodes the homepage script hangs off <body> (the show, bats, embers,
   flying ghost), which the script never creates on a page without the hero.

   The wrapper rule carries no z-index (new_ui_halloween.css explains why): a
   stacking context there would put the Bootstrap modals inside an inner page
   under the backdrop Bootstrap appends to <body>.
   ========================================================================== */

/* The theme re-points the colour tokens on the wrapper, and custom properties
   inherit -- so without this the page inside .nu-content would turn dark too.
   The page keeps the light values it had before the theme. :where() keeps
   this at zero specificity, so a page that restates its own tokens on
   .nu-content (profile.css, fantasy_landing.css) still wins. */
:where(.nu-layout .nu-content){--bg:#f3f5fb;--surface:#ffffff;--surface-2:#f7f8fc;--line:#e6e9f2;--text:#0f172a;--text-2:#475569;--muted:#8a94a8;--navy:#0f1b3d;--navy-2:#162552;--navy-3:#1e2f66;--pink-100:#ffe4ee;--green-100:#dcf7ec;--gold-2:#ffd66b;--shadow-sm:0 1px 2px rgba(15,23,42,.05),0 4px 14px -6px rgba(15,23,42,.08);--shadow-md:0 10px 30px -12px rgba(15,23,42,.18);--shadow-lg:0 30px 60px -24px rgba(15,27,61,.45);color-scheme:normal}

.nu-layout
{--night:#140c2a;  --crypt:#1f1440;  --crypt-2:#281a4f;  --fog:#33265f; --bone:#f3eeff;   --pumpkin:#ff7a1a; --pumpkin-2:#ffa34d; --candle:#ffc94d; --pumpkin-glow:rgba(255,122,26,.42); --bg:var(--night); --surface:var(--crypt); --surface-2:var(--crypt-2); --line:var(--fog); --text:var(--bone); --text-2:#c9bfe6; --muted:#9d90c4; --navy:#170d33; --navy-2:#22164a; --navy-3:#2e1e5e; --pink-100:rgba(238,27,99,.17); --green-100:rgba(18,179,124,.18); --gold-2:var(--candle); --shadow-sm:0 1px 2px rgba(0,0,0,.35),0 6px 18px -8px rgba(0,0,0,.55); --shadow-md:0 14px 34px -12px rgba(0,0,0,.7); --shadow-lg:0 30px 60px -24px rgba(0,0,0,.85); color-scheme:dark;}
.nu-layout .sidebar:where(:not(.nu-content *)) { background:linear-gradient(180deg,#1c1239 0%,#170f30 100%);border-right-color:var(--fog) }
.nu-layout .header:where(:not(.nu-content *)) { background:rgba(20,12,42,.82) }
.nu-layout .chip.price i:where(:not(.nu-content *)),
.nu-layout .nav-price i:where(:not(.nu-content *)) { box-shadow:0 0 0 4px rgba(18,179,124,.25) }
.nu-layout .btn-light:where(:not(.nu-content *)) { background:var(--bone);color:#1a0f38 }
.nu-layout .btn-light:hover:where(:not(.nu-content *)) { background:#fff }
.nu-layout .avatar:where(:not(.nu-content *)) { border-color:var(--fog) }
.nu-layout .user-menu .danger:hover:where(:not(.nu-content *)) { background:rgba(255,59,92,.14) }
.nu-layout .side-scroll:where(:not(.nu-content *)) { scrollbar-color:var(--fog) transparent }
.nu-layout .slide .shade:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(20,12,42,.97) 0%,rgba(20,12,42,.93) 40%,rgba(20,12,42,.74) 70%,rgba(20,12,42,.5) 100%) }
.nu-layout .slide.flash .shade:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(20,12,42,.97) 0%,rgba(20,12,42,.9) 44%,rgba(20,12,42,.55) 70%,rgba(20,12,42,.12) 100%) }
.nu-layout .slide.guest-promo:where(:not(.nu-content *)) { background:#1d1240 }
.nu-layout .slide.guest-promo .shade:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(24,14,52,.86) 0%,rgba(24,14,52,.7) 32%,rgba(24,14,52,.28) 52%,rgba(24,14,52,0) 68%) }
@media (max-width:720px)
{
	.nu-layout .slide.flash .shade:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(20,12,42,.96) 0%,rgba(20,12,42,.86) 55%,rgba(20,12,42,.5) 100%) }
}
.nu-layout .fo-clock:where(:not(.nu-content *)) { background:rgba(20,12,42,.66) }
.nu-layout .slider-arrows button:where(:not(.nu-content *)) { background:rgba(20,12,42,.66) }
.nu-layout .fo-ticks i:where(:not(.nu-content *)) { background:#170d33 }
.nu-layout .tickets:where(:not(.nu-content *)) { background:radial-gradient(120% 90% at 100% 0%,#3a1240 0%,#1d1144 46%,#120a2a 100%) }
.nu-layout .tk-scrim:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(16,9,34,.94) 0%,rgba(16,9,34,.86) 32%,rgba(16,9,34,.62) 62%,rgba(16,9,34,.42) 88%,rgba(16,9,34,.38) 100%) }
.nu-layout .wof:where(:not(.nu-content *)) { background:radial-gradient(115% 95% at 8% 8%,#5a1f8f 0%,#3a1570 30%,#21104a 58%,#140a2c 100%) }
.nu-layout .wof .orbs:where(:not(.nu-content *))::after { background:var(--pumpkin);opacity:.3 }
.nu-layout .wheel-face:where(:not(.nu-content *)) { background:conic-gradient(from -22.5deg,#ff7a1a 0 45deg,#3b1670 45deg 90deg,#ff7a1a 90deg 135deg,#3b1670 135deg 180deg,#ff7a1a 180deg 225deg,#3b1670 225deg 270deg,#ff7a1a 270deg 315deg,#3b1670 315deg 360deg) }
.nu-layout .wheel-face:where(:not(.nu-content *))::after { background:conic-gradient(var(--candle),#ff7a1a,var(--candle),#ee1b63,var(--candle)) }
.nu-layout .wheel-edge:where(:not(.nu-content *)) { background:#2a1246;box-shadow:0 0 0 4px #5a2a12 }
.nu-layout .wheel-glow:where(:not(.nu-content *)) { background:radial-gradient(circle,rgba(255,122,26,.55),transparent 65%) }
.nu-layout .slide .gp-title em:where(:not(.nu-content *)),
.nu-layout .slide :is(h1,h2) em:where(:not(.nu-content *)),
.nu-layout .slide .fo-title em:where(:not(.nu-content *)) { font-family:"Rubik Wet Paint","Poppins",system-ui,sans-serif;font-weight:400;letter-spacing:.01em }
.nu-layout .slide .gp-title em:where(:not(.nu-content *)) { background:linear-gradient(100deg,#ffd27a 0%,#ff9a3c 55%,#ffc94d 100%);-webkit-background-clip:text;background-clip:text }
.nu-layout .slide :is(h1,h2) em:where(:not(.nu-content *)) { color:#ff9a3c }
.nu-layout .slide :is(h1,h2) em.orange:where(:not(.nu-content *)) { color:#ffb15c }
.nu-layout .slide .fo-title em:where(:not(.nu-content *)) { color:var(--candle) }
.nu-layout .hero:where(:not(.nu-content *)) { position:relative }
@keyframes hwflap{0%,100%{transform:rotate(36deg) scale(.8,1)}45%{transform:rotate(-32deg) scale(1,.9)}}
@keyframes hwbatbob{0%,100%{transform:translateY(2px)}45%{transform:translateY(-3.5px)}}
.nu-layout .section-head h2 .mark:where(:not(.nu-content *)) { background:linear-gradient(150deg,#ffb35c 0%,#ff7a1a 55%,#e85d0c 100%);color:#2b1300; box-shadow:0 6px 16px -6px var(--pumpkin-glow) }
.nu-layout .gcard:hover:where(:not(.nu-content *)) { box-shadow:0 26px 44px -18px rgba(255,122,26,.45),0 0 0 1.5px rgba(255,122,26,.6) }
.nu-layout .jcard:hover:where(:not(.nu-content *)) { box-shadow:0 28px 44px -20px rgba(255,122,26,.4),0 0 0 1.5px rgba(255,122,26,.5) }
.nu-layout .fgcard:hover:where(:not(.nu-content *)),
.nu-layout .fgcard:focus-visible:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.6);box-shadow:0 22px 40px -20px rgba(255,122,26,.45) }
.nu-layout .bcard:hover:where(:not(.nu-content *)),
.nu-layout .bcard:focus-visible:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.6);box-shadow:0 22px 40px -20px rgba(255,122,26,.4) }
.nu-layout .bcard:hover h3:where(:not(.nu-content *)),
.nu-layout .bcard:focus-visible h3:where(:not(.nu-content *)) { color:var(--pumpkin-2) }
.nu-layout .earn-card:hover:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.5);box-shadow:0 22px 40px -24px rgba(255,122,26,.45),var(--shadow-sm) }
.nu-layout .exch-tile:hover:where(:not(.nu-content *)),
.nu-layout .exch-tile:focus-visible:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.55) }
.nu-layout .join-eyebrow:where(:not(.nu-content *)) { color:var(--pumpkin-2) }
.nu-layout .jackpot:where(:not(.nu-content *)) { background:radial-gradient(60% 90% at 100% 110%,rgba(255,122,26,.2) 0%,transparent 60%),radial-gradient(85% 130% at 6% -12%,#4a1d8f 0%,#2a1163 34%,#151041 64%,#0e0a26 100%) }
.nu-layout .link:where(:not(.nu-content *)) { color:#ff5c93 }
.nu-layout .chip.balance small:where(:not(.nu-content *)) { color:#ff5c93 }
.nu-layout .tok-trigger:where(:not(.nu-content *)) { background:var(--crypt-2) }
.nu-layout .kpi:where(:not(.nu-content *)) { background:var(--crypt-2);border-color:var(--fog) }
.nu-layout .tabs button.is-active:where(:not(.nu-content *)) { background:var(--bone);color:#1a0f38 }
.nu-layout .bcard .cat-tag:where(:not(.nu-content *)) { background:rgba(20,12,42,.9);color:#ff8fb6 }
.nu-layout .pstat-grid:where(:not(.nu-content *)) { background:rgba(255,255,255,.03) }
.nu-layout .ec-media:where(:not(.nu-content *)) { background:radial-gradient(58% 60% at 50% 40%,rgba(255,122,26,.16) 0%,rgba(255,122,26,0) 72%),linear-gradient(180deg,#2c1b56 0%,#1f1440 100%) }
.nu-layout .ec-media:where(:not(.nu-content *))::after { background:radial-gradient(closest-side,rgba(255,122,26,.34),rgba(255,122,26,0)) }
.nu-layout .ec-media img:where(:not(.nu-content *)) { filter:drop-shadow(0 12px 16px rgba(0,0,0,.5)) }
.nu-layout.is-guest .fun-band .exch:where(:not(.nu-content *)) { background:linear-gradient(100deg,#2b1442 0%,#1f1440 30%,#1f1440 72%,#2b1a2e 100%) padding-box, linear-gradient(100deg,rgba(238,27,99,.6) 0%,rgba(238,27,99,.25) 45%,rgba(255,122,26,.7) 100%) border-box; box-shadow:0 16px 32px -26px rgba(255,122,26,.5) }
.nu-layout.is-guest .fun-band .exch-tile:where(:not(.nu-content *)) { background:var(--crypt-2);box-shadow:none }
.nu-layout.is-guest .fun-band .exch-tile:hover:where(:not(.nu-content *)),
.nu-layout.is-guest .fun-band .exch-tile:focus-visible:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.6);box-shadow:0 10px 20px -14px rgba(255,122,26,.55) }
.nu-layout .exch-go:where(:not(.nu-content *)) { stroke:var(--pumpkin-2) }
.nu-layout.is-guest .fun-band .dep-l .ic:where(:not(.nu-content *)) { color:#ff5c93 }
.nu-layout.is-guest .fun-band .dep-offer:where(:not(.nu-content *)),
.nu-layout .op-tier.is-done .op-badge:where(:not(.nu-content *)) { color:#5ff0b0 }
.nu-layout .join-err:where(:not(.nu-content *)) { color:#ff7a93 }
@media (max-width:1100px)
{
	.nu-layout .slide.guest-promo .shade:where(:not(.nu-content *)) { background:linear-gradient(90deg,rgba(24,14,52,.9) 0%,rgba(24,14,52,.8) 44%,rgba(24,14,52,.34) 70%,rgba(24,14,52,0) 88%) }
}
@media (max-width:720px)
{
	.nu-layout .slide.guest-promo:where(:not(.nu-content *)) { background:#1d1240 }
	.nu-layout .slide.guest-promo .shade:where(:not(.nu-content *)) { background:linear-gradient(180deg,rgba(29,18,64,0) 0%,rgba(29,18,64,0) 36%,rgba(29,18,64,.72) 48%,rgba(26,16,58,.9) 60%,rgba(22,13,50,.95) 100%) }
}
.nu-layout .op-flash:where(:not(.nu-content *)) { --op-tint:rgba(238,27,99,.18);--op-ink:#ff8fb6 }
.nu-layout .op-plinko:where(:not(.nu-content *)) { --op-tint:rgba(255,138,31,.18);--op-ink:#ffb15c }
.nu-layout .op-head:where(:not(.nu-content *))::before { background:linear-gradient(90deg,rgba(20,12,42,.97) 0%,rgba(20,12,42,.9) 44%,rgba(20,12,42,.5) 72%,rgba(20,12,42,.2) 100%) }
@media (max-width:720px)
{
	.nu-layout .op-head:where(:not(.nu-content *))::before { background:linear-gradient(180deg,rgba(20,12,42,.55) 0%,rgba(20,12,42,.88) 50%,rgba(20,12,42,.97) 100%) }
}
.nu-layout .op-rail:where(:not(.nu-content *)) { background:rgba(255,255,255,.12) }
.nu-layout .op-rail .mk:where(:not(.nu-content *)) { background:var(--bone);border-color:#6f5fa8 }
.nu-layout .op-tier:where(:not(.nu-content *)) { background:var(--crypt-2);box-shadow:none }
.nu-layout .op-tier:where(:not(.nu-content *))::before,
.nu-layout .op-tier:where(:not(.nu-content *))::after { background:var(--surface) }
.nu-layout .op-stub:where(:not(.nu-content *)) { border-right-color:rgba(255,255,255,.16) }
.nu-layout .op-lbl:where(:not(.nu-content *)),
.nu-layout .op-wv i:where(:not(.nu-content *)),
.nu-layout .op-badge.lock:where(:not(.nu-content *)) { color:#a596cf }
.nu-layout .op-mini:where(:not(.nu-content *)) { background:rgba(255,255,255,.1) }
.nu-layout .op-mini i:where(:not(.nu-content *)) { background:rgba(255,255,255,.28) }
.nu-layout .op-foot:where(:not(.nu-content *)) { background:rgba(31,20,64,.94) }
.nu-layout .au-gift:where(:not(.nu-content *)) { background:radial-gradient(130px 90px at 100% 0%,rgba(255,122,26,.16),transparent 70%),linear-gradient(180deg,#2c1950,#241645);border-color:rgba(238,27,99,.3) }
.nu-layout .dp-overlay:where(:not(.nu-content *)) { --pink-100:rgba(238,27,99,.17);--navy:#170d33;--navy-2:#22164a;--navy-3:#2e1e5e;--green-100:rgba(18,179,124,.18);--gold-2:#ffc94d; --surface:#1f1440;--surface-2:#281a4f;--line:#33265f;--text:#f3eeff;--text-2:#c9bfe6;--muted:#9d90c4; --shadow-lg:0 30px 60px -24px rgba(0,0,0,.85);background:rgba(10,6,22,.62) }
.nu-layout .dp-spins:where(:not(.nu-content *)) { background:radial-gradient(130px 90px at 100% 0%,rgba(255,122,26,.16),transparent 70%),linear-gradient(180deg,#2c1950 0%,#241645 100%) }
.nu-layout .dp-status.is-live:where(:not(.nu-content *)),
.nu-layout .dp-sub b:where(:not(.nu-content *)),
.nu-layout .dp-sub .ic:where(:not(.nu-content *)) { color:#5ff0b0 }
.nu-layout .dp-qr:where(:not(.nu-content *)) { background:#fff;border-color:#fff }
.nu-layout:where(:not(.nu-content *)) { position:relative;overflow-x:clip }
.nu-layout .brand:where(:not(.nu-content *)),
.nu-layout .hbrand:where(:not(.nu-content *)) { position:relative }
.nu-layout .hw-hat:where(:not(.nu-content *)) { position:absolute;left:11px;top:-16px;width:28px;height:28px;pointer-events:none; background:url("assets/new-ui/halloween/deco-witch-hat.webp") center/contain no-repeat;transform:rotate(-14deg); filter:drop-shadow(0 3px 4px rgba(0,0,0,.5)) }
.nu-layout.is-collapsed .brand .hw-hat:where(:not(.nu-content *)) { left:19px;top:-14px;width:23px;height:23px }
@media (min-width:721px) and (max-width:1240px)
{
	.nu-layout:not(.is-expanded) .brand .hw-hat:where(:not(.nu-content *)) { left:19px;top:-14px;width:23px;height:23px }
}
.nu-layout .hbrand .hw-hat:where(:not(.nu-content *)) { left:4px;top:-14px;width:17px;height:17px }
.nu-layout .brand .hw-ghost:where(:not(.nu-content *)) { position:absolute;left:146px;top:-3px;width:38px;height:38px;opacity:0;pointer-events:none; background:url("assets/new-ui/halloween/deco-ghost.webp") center/contain no-repeat; filter:drop-shadow(0 0 10px rgba(200,170,255,.45));transition:opacity .3s }
.nu-layout .brand .hw-ghost.is-on:where(:not(.nu-content *)) { opacity:1;animation:hwbob 3.4s ease-in-out infinite }
.nu-layout .brand:hover .hw-ghost.is-on:where(:not(.nu-content *)) { animation:hwwave .9s ease-in-out 1,hwbob 3.4s ease-in-out .9s infinite }
@keyframes hwbob{50%{transform:translateY(-4px) rotate(3deg)}}
@keyframes hwwave{20%{transform:rotate(-14deg) scale(1.1)}45%{transform:rotate(12deg) scale(1.1)}70%{transform:rotate(-8deg)}}
.nu-layout.is-collapsed .brand .hw-ghost:where(:not(.nu-content *)) { display:none }
@media (min-width:721px) and (max-width:1240px)
{
	.nu-layout:not(.is-expanded) .brand .hw-ghost:where(:not(.nu-content *)) { display:none }
}
@keyframes hwdraw{to{stroke-dashoffset:0}}
@keyframes hwdew{60%{opacity:1;transform:scale(1.6)}to{opacity:.85}}
@keyframes hwbigweb{0%,70%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.05)}}
.nu-layout .hw-web:where(:not(.nu-content *)) { position:absolute;z-index:6;pointer-events:none;color:rgba(232,224,255,.42) }
.nu-layout .hw-web .web:where(:not(.nu-content *)) { display:block;width:100%;height:100%;overflow:visible }
.nu-layout .hw-web .web path:where(:not(.nu-content *)) { fill:none;stroke:currentColor;stroke-width:.9;vector-effect:non-scaling-stroke }
.nu-layout .hw-web-hero:where(:not(.nu-content *)) { display:none;top:-3px;right:-3px;width:86px;height:86px }
@media (min-width:1241px)
{
	.nu-layout .hw-web-hero:where(:not(.nu-content *)) { display:block }
}
@media (min-width:721px)
{
	.nu-layout.is-guest .hw-web-hero:where(:not(.nu-content *)) { display:block;width:104px;height:104px }
}
.nu-layout .hw-spider:where(:not(.nu-content *)) { position:absolute;left:44px;top:9px;width:16px;transform-origin:50% 0;animation:hwswing 5.5s ease-in-out infinite }
.nu-layout.is-guest .hw-spider:where(:not(.nu-content *)) { left:56px;top:11px }
.nu-layout .hw-spider .thread:where(:not(.nu-content *)) { display:block;width:1px;height:38px;margin:0 auto;transform-origin:50% 0; background:linear-gradient(rgba(232,224,255,.65),rgba(232,224,255,.35));animation:hwthread 7s ease-in-out infinite }
.nu-layout .hw-spider svg:where(:not(.nu-content *)) { display:block;width:16px;height:16px;margin-top:-2px;color:#1a0b2e; filter:drop-shadow(0 0 1.2px rgba(255,190,120,.95)) drop-shadow(0 0 6px rgba(255,122,26,.5));animation:hwdrop 7s ease-in-out infinite }
@keyframes hwswing{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}
@keyframes hwthread{0%,100%{transform:scaleY(.62)}45%,60%{transform:scaleY(1)}}
@keyframes hwdrop{0%,100%{transform:translateY(-14.4px)}45%,60%{transform:translateY(0)}}
.nu-layout .footer:where(:not(.nu-content *)) { position:relative;margin-top:96px;border-top:1px solid rgba(255,122,26,.2) }
.nu-layout .hw-ground:where(:not(.nu-content *)) { position:absolute;left:0;right:0;bottom:calc(100% - 6px);height:156px;overflow:hidden;pointer-events:none }
.nu-layout .hw-pl:where(:not(.nu-content *)),
.nu-layout .hw-pr:where(:not(.nu-content *)) { position:absolute;bottom:0;isolation:isolate;height:min(138px,12vw);aspect-ratio:760/388; background:url("assets/new-ui/halloween/deco-pumpkins-left.webp") left bottom/contain no-repeat }
.nu-layout .hw-pl:where(:not(.nu-content *)) { left:4px }
.nu-layout .hw-pr:where(:not(.nu-content *)) { right:4px;aspect-ratio:760/365;background-image:url("assets/new-ui/halloween/deco-pumpkins-right.webp");background-position:right bottom }
.nu-layout .hw-pl:where(:not(.nu-content *))::before,
.nu-layout .hw-pr:where(:not(.nu-content *))::before { content:"";position:absolute;inset:25% 8% -6%;z-index:-1;border-radius:50%; background:radial-gradient(closest-side,rgba(255,140,40,.38),transparent);filter:blur(12px);animation:hwflicker 3.2s ease-in-out infinite }
.nu-layout .hw-pr:where(:not(.nu-content *))::before { animation-delay:-1.4s }
@keyframes hwflicker{0%,100%{opacity:.75}30%{opacity:1}55%{opacity:.6}75%{opacity:.95}}
.nu-layout .hw-fog:where(:not(.nu-content *)) { position:absolute;left:-8%;right:-8%;bottom:-2px;height:58px;opacity:.6;filter:blur(7px); background:radial-gradient(30% 60% at 18% 72%,rgba(190,170,240,.34),transparent 70%), radial-gradient(26% 55% at 52% 82%,rgba(190,170,240,.28),transparent 70%), radial-gradient(32% 60% at 86% 74%,rgba(190,170,240,.32),transparent 70%); animation:hwfog 24s ease-in-out infinite alternate }
@keyframes hwfog{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
@media (max-width:720px)
{
	.nu-layout .footer:where(:not(.nu-content *)) { margin-top:70px }
	.nu-layout .hw-pl:where(:not(.nu-content *)),
	.nu-layout .hw-pr:where(:not(.nu-content *)) { height:78px }
	.nu-layout .hw-ground:where(:not(.nu-content *)) { height:100px }
}
@keyframes hwember{0%{transform:translate(0,0);opacity:0}10%{opacity:var(--o)}50%{transform:translate(var(--sx),-55vh)}
  88%{opacity:var(--o)}100%{transform:translate(calc(var(--sx) * -.4),-112vh);opacity:0}}
.nu-layout .wheel-hub.hw-jack:where(:not(.nu-content *)) { background:radial-gradient(circle at 38% 30%,#ffb35c,#ff7a1a 52%,#b4470a); box-shadow:0 0 0 2px #2a1246,0 0 12px rgba(255,160,60,.6),0 5px 12px rgba(0,0,0,.5) }
.nu-layout .wheel-hub.hw-jack svg:where(:not(.nu-content *)) { width:80%;height:80%;filter:drop-shadow(0 0 2px rgba(255,214,107,.9)) }
.nu-layout .wheel-hub.hw-jack:where(:not(.nu-content *))::before { content:"";position:absolute;left:50%;top:-3px;width:4px;height:5px;margin-left:-2px; border-radius:2px 2px 1px 1px;background:#4c7a2c }
.nu-layout .hw-pk:where(:not(.nu-content *)) { flex:none;display:inline-block;width:58px;height:58px;margin:-20px -6px -16px -4px;pointer-events:none; background:center/contain no-repeat;transform-origin:50% 90%; filter:drop-shadow(0 6px 8px rgba(0,0,0,.45)) drop-shadow(0 0 10px rgba(255,122,26,.3));animation:hwpk 4.2s ease-in-out infinite }
@keyframes hwpk{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-2px)}}
.nu-layout .pk-coins:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-coins.webp") }
.nu-layout .pk-crown:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-crown.webp");animation-delay:-.7s }
.nu-layout .pk-dice:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-dice.webp");animation-delay:-1.4s }
.nu-layout .pk-tickets:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-tickets.webp");animation-delay:-2.1s }
.nu-layout .pk-ticket:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-ticket.webp");animation-delay:-2.8s }
.nu-layout .pk-bucket:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-bucket.webp");animation-delay:-3.5s }
.nu-layout .pk-bat:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-bat.webp");animation-name:hwpkfly;animation-duration:3s }
.nu-layout .pk-book:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-book.webp");animation-delay:-1s }
.nu-layout .pk-hat:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-hat.webp");animation-delay:-2s }
@keyframes hwpkfly{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(5deg)}}
.nu-layout .hw-pk.hw-perch:where(:not(.nu-content *)) { position:absolute;z-index:3;width:68px;height:68px;margin:0 }
.nu-layout .deposit>.hw-perch:where(:not(.nu-content *)) { left:-22px;top:-50px }
.nu-layout.is-guest .fun-band .exch:where(:not(.nu-content *)) { position:relative }
.nu-layout .exch>.hw-perch:where(:not(.nu-content *)) { right:-12px;top:-42px }
.nu-layout .join:where(:not(.nu-content *)) { position:relative }
.nu-layout .join>.hw-perch:where(:not(.nu-content *)) { right:28px;top:-48px;width:72px;height:72px }
.nu-layout .jhead .hw-pk:where(:not(.nu-content *)) { width:78px;height:78px;margin:-14px -6px -14px 0 }
.nu-layout.is-guest .jhead .hw-pk:where(:not(.nu-content *)) { width:52px;height:52px;margin:-14px 0 -12px }
@media (max-width:720px)
{
	.nu-layout .hw-pk:where(:not(.nu-content *)) { width:38px;height:38px;margin:-12px -12px -10px -6px }
	.nu-layout .hw-pk.hw-perch:where(:not(.nu-content *)) { width:50px;height:50px }
	.nu-layout .deposit>.hw-perch:where(:not(.nu-content *)) { left:-6px;top:-32px }
	.nu-layout .exch>.hw-perch:where(:not(.nu-content *)) { right:-4px;top:-32px }
	.nu-layout .join>.hw-perch:where(:not(.nu-content *)) { right:14px;top:-38px;width:56px;height:56px }
	.nu-layout .jhead .hw-pk:where(:not(.nu-content *)) { width:56px;height:56px }
}
.nu-layout .hw-menu-scene:where(:not(.nu-content *)) { flex:0 1 156px;min-height:64px;margin:auto 0 0;pointer-events:none; background:url("assets/new-ui/halloween/deco-menu-scene.webp") center bottom/contain no-repeat; filter:drop-shadow(0 0 18px rgba(255,140,40,.22)) }
.nu-layout .hw-menu-scene+.sidebar-foot:where(:not(.nu-content *)) { margin-top:0 }
.nu-layout.is-collapsed .hw-menu-scene:where(:not(.nu-content *)) { flex-basis:52px;min-height:40px }
@media (min-width:721px) and (max-width:1240px)
{
	.nu-layout:not(.is-expanded) .hw-menu-scene:where(:not(.nu-content *)) { flex-basis:52px;min-height:40px }
}
@media (prefers-reduced-motion:reduce)
{
	.nu-layout .hw-pk:where(:not(.nu-content *)) { animation:none }
	.nu-layout .brand .hw-ghost:where(:not(.nu-content *)) { opacity:1;animation:none!important }
	.nu-layout .hw-spider:where(:not(.nu-content *)),
	.nu-layout .hw-spider .thread:where(:not(.nu-content *)),
	.nu-layout .hw-spider svg:where(:not(.nu-content *)),
	.nu-layout .hw-fog:where(:not(.nu-content *)),
	.nu-layout .hw-pl:where(:not(.nu-content *))::before,
	.nu-layout .hw-pr:where(:not(.nu-content *))::before { animation:none }
}
.nu-layout .fan-art:where(:not(.nu-content *)) { border-right-color:rgba(232,224,255,.26) }
@media (max-width:720px)
{
	.nu-layout .fan-art:where(:not(.nu-content *)) { border-bottom-color:rgba(232,224,255,.26) }
}
.nu-layout .fantasy:hover:where(:not(.nu-content *)) { border-color:rgba(255,122,26,.45) }
.nu-layout .fan-eyebrow:where(:not(.nu-content *)) { display:flex;align-items:center;gap:6px;color:var(--pumpkin-2) }
.nu-layout .fan-prize:where(:not(.nu-content *)) { border:1px solid rgba(255,201,77,.22);box-shadow:0 14px 28px -16px rgba(0,0,0,.7) }
.nu-layout .fan-closes:where(:not(.nu-content *)) { color:#5ff0b0 }
.nu-layout .fan-facts dd.fan-closes:where(:not(.nu-content *)) { color:#5ff0b0 }
.nu-layout .fan-entries:where(:not(.nu-content *)) { background:rgba(255,255,255,.05) }
.nu-layout .pk-ball:where(:not(.nu-content *)) { background-image:url("assets/new-ui/halloween/deco-pk-ball.webp");animation-delay:-1.6s }
.nu-layout .fan-eyebrow .hw-pk:where(:not(.nu-content *)) { width:56px;height:56px;margin:-20px 0 -16px }
@media (max-width:720px)
{
	.nu-layout .fan-eyebrow .hw-pk:where(:not(.nu-content *)) { width:38px;height:38px;margin:-12px 0 -10px }
}
@media (min-width:721px)
{
	.nu-layout .slide.guest-promo:where(:not(.nu-content *))::before { background-image:url("assets/new-ui/halloween/banner-guest-hero.webp") }
}

/* Inner pages only, not from new_ui_halloween.css: the header bar is 82%
   opaque night purple, which reads as night over the dark homepage but turns
   a muddy grey-purple over an inner page's light content. Near-opaque here;
   last in the file, so it wins over the lifted .header rule above. */
.nu-layout .header:where(:not(.nu-content *)) { background:rgba(20,12,42,.97) }
